动作提示词别乱写:给 Wan2.2-Animate 写"动作指令"的 18 个实用套路
【免费下载链接】Wan2.2-Animate-2-14B项目地址: https://ai.gitcode.com/hf_mirrors/Wan-AI/Wan2.2-Animate-2-14B
Wan-Animate-2 是阿里通义实验室开源的端到端角色动画框架,模型权重(Wan2.2-Animate-2-14B)以 Apache 2.0 协议发布。和"输入一句话就生成一段舞蹈"的通用视频生成模型不同,它的核心设计是直接消费驱动视频:参考图提供外观,驱动视频提供动作,文本提示词负责外观描述、动作锚点与机位控制。仓库里 README.md 的 Introduction 写得很清楚——框架通过重新设计的 Diffusion Transformer 直接吃进驱动视频,彻底移除了中间运动提取器,并额外引入文本驱动的视角控制,把输出机位与驱动视频解耦。
这意味着一个很多人没意识到的真相:动作不是"写"出来的,是"喂"进去的。提示词里堆再多"跳舞、挥手、转身",也创造不出动作;真正决定动作上限的是驱动视频,而文本提示词是在做"锚定、对齐、再创作"。不理解这个分工,就会陷入"提示词越写越长,画面越来越崩"的循环。
本文基于仓库源码与官方推理配置,拆解动作提示词的四要素骨架,给出 18 个可直接套用的写法,以及一套从"崩坏"到"可用"的迭代心法。
一、为什么你的"动作指令"总在崩坏:先读懂输入分工
Wan-Animate-2 的推理入口(见 README.md 的 Quick Start)有三个关键输入:
--refer-img-file:参考图,锁定人物外观;--refer-video-file:驱动视频,提供全部动作;--prompt:文本提示词,与--prompt-ref(官方默认值"人物动作的参考视频")一起构成语义上下文。
仓库配套模型目录也印证了这一分工:videomodel/Wan-AI/下同时挂载了umt5-xxl文本编码器、xlm-roberta-largeCLIP 文本侧、vae.pth与models_t5_umt5-xxl-enc-bf16.pth。注意umt5-xxl的text_len为 512,意味着提示词上下文是有限且宝贵的——写得越碎,锚定越弱。
由此得到三条铁律:
- 外观段禁用动作词。官方在 README.md 中给出了一个必须先做的步骤:用 LLM(如 Qwen3.7-Plus)按固定范式生成图片描述,范式明确要求"人物外观描述,不描述动作行为;背景描述,忽略主观评价和情绪推测"。外观段掺入动作词,会让模型在参考图与文本之间产生冲突信号。
- 动作靠"驱动视频 + 动作锚点文本"双通道。动作细节由视频给,文本只需做语义锚定——告诉模型"这段视频里的人在做什么动作、什么节奏、什么幅度"。
- 机位是文本唯一能"凭空创造"的维度。官方框架支持文本驱动的视角控制,把输出相机视角从驱动视频中解耦,这是提示词最能出彩的地方。
二、动作提示词的骨架:动词 + 幅度 + 节奏 + 镜头
任何一条动作指令,都可以拆成四个槽位,缺哪个补哪个,多则删:
| 要素 | 作用 | 词库示例 | 常见错误 |
|---|---|---|---|
| 动词 | 定义动作本体 | 跳、转、挥、走、击掌、鞠躬、推门 | 用"做动作""表现力强"等空词 |
| 幅度 | 定义位移与力度 | 轻微、中幅、大幅度、挥至头顶、转身 90° | 只写形容词不给参照物 |
| 节奏 | 定义时间分布 | 匀速、急促、先慢后快、结尾定格、顿挫 | 节奏词与视频帧率不匹配 |
| 镜头 | 定义机位与运动 | 正面、侧面、俯拍、缓慢推近、环绕、静止机位 | 抽象词:"更有电影感" |
一个完整的动作锚点长这样:
人物正在跳一支完整的爵士舞,步伐中幅,先慢后快,正面机位,缓慢推近。
它同时填满了四个槽位,且主语明确(人物)、时态明确(正在)、动作单一(一支舞)。
三、18 个实用套路
以下套路按五个场景分组,编号即套路名,可直接复制修改。
组一:把外观和动作拆开写(1–4)
套路 1|官方 LLM 画像范式生成外观段。直接复用 README.md 给出的提示词,让 LLM 输出"人物外观描述 + 背景描述"两段式画像。注意它明令禁止描述动作,这正是为了把文本通道的职责收敛到外观上。
套路 2|升级 prompt_ref,把默认锚点改成具体动作名。推理脚本中--prompt-ref的默认值是"人物动作的参考视频",这是一个弱锚点。把它升级为"视频中人物正在跳一支完整的爵士舞,步伐中幅",等于提前告诉模型"参考视频的动作语义是什么",对齐成本大幅下降。
套路 3|动作锚点用"现在时态 + 完整动作名"。写"人物正在做 X",不要写"人物好像/似乎在/应该在做 X"。模型对确定性陈述的跟随远好于推测性语言。
套路 4|一句话只装一个动作,主谓宾完整。"谁 + 做什么 + 幅度/方向"是标准句式。多条动作请拆成多轮生成或用分句隔开,切忌一句里塞三个动作。
组二:动作动词的细化(5–9)
套路 5|动词加类别限定。"跳舞"升级为"跳一支完整的爵士舞","挥手"升级为"举起右手向镜头挥手致意"。动作类型越具体,与驱动视频的匹配检查越容易。
套路 6|幅度给参照物。"大幅度挥手"不如"手臂挥至头顶"或"手臂从身体侧面摆至正上方"可执行。角度、肢体位置、位移方向都是好参照物。
套路 7|部位定向。动作指定到部位:"右手握拳、左手自然下垂""腰部带动身体向左转"。部位词能显著减少肢体错位类崩坏。
套路 8|方向与轨迹。"向右转身 90°""向镜头走近两步""绕圈一周"。方向词要可验证——生成后逐帧看轨迹是否符合描述。
套路 9|空间交互动作。"坐下""推开门""拿起桌上的水杯""与同伴击掌"。交互动作比孤立动作更容易产出物理上合理的画面,因为空间约束会倒逼模型保持体态一致性。
组三:节奏与时序(10–12)
套路 10|节奏词控制时间分布。"匀速、缓急交替、先慢后快、结尾定格"这类词会改变动作在时间轴上的能量分配,适合把驱动视频的平淡节奏"重新演绎"。
套路 11|记住帧数与帧率预算。仓库推理配置中默认frame_num为 37、sample_fps为 16,演示脚本默认clip_len=81、fps=24。短片段下,"一个动作"的可控性远高于"一段完整剧情"——节奏词必须与片段时长匹配。
套路 12|微动作与表情收尾。"眨眼、嘴角上扬、轻微点头"这类微动作放在动作描述末尾,作为体态细节的补充锚点,能显著提升"活人感"。
组四:机位与镜头(13–15)
套路 13|机位词用确定性坐标。"正面、侧面、斜 45°、俯拍、仰拍"比"有电影感"有效得多。这正是 Wan-Animate-2 文本驱动视角控制的主场:机位可以脱离驱动视频自由指定。
套路 14|镜头运动单独成句。"静止机位""缓慢推近""环绕人物一周""跟拍人物移动"。镜头运动与人物动作是两条独立通道,分开写、分开验证。
套路 15|写清人物-环境关系。"坐在沙发上""站在落地窗前""面向观众"。关系词同时锚定了空间位置与朝向,能减少"人物悬浮""朝向漂移"类问题。
组五:多人、负面与参数(16–18)
套路 16|多人动作对齐句式。官方支持单人驱动到多人、多人到多人的动画范式。写清主从关系:"所有人同步做同一动作"或"主角做动作 X,配角做出反应 Y"。多人同框时每增加一个人物,动作锚点就少写一层细节。
套路 17|负面提示词直接复用官方清单并加动作项。仓库内置的负向提示词覆盖了"静态、静止不动的画面、形态畸形的肢体、手指融合、倒着走"等(见推理配置中的sample_neg_prompt),生成时可整体复用,并针对动作场景追加"动作僵硬、肢体错位、鬼影、关节扭曲"。
套路 18|参数与提示词要配套调。Base 版默认 40 步、sample_guide_scale=3.0;蒸馏版只需 10 步、guidance_scale=1.0、flow_solver="euler"(见 README.md 的 Diffusers 推理示例)。CFG 越强,文本对动作的"拽"得越狠;蒸馏版 CFG 近乎为零,文本更像是"描述者"而非"控制者"——同样的提示词,在两套参数下表现不同,迭代时先锁定参数再改词。
四、从崩坏到可用:一套可复现的迭代流程
把常见崩坏现象做成诊断表,对号入座,只改该改的:
| 崩坏现象 | 根因 | 处方 |
|---|---|---|
| 动作几乎不动或幅度极小 | 驱动视频本身动作幅度小 | 换驱动视频,不要改提示词 |
| 人物不像、外观漂移 | 外观段混入动作词/机位词 | 用官方 LLM 范式重写外观段 |
| 肢体扭曲、多手多腿 | 动作锚点过载(多动作+多部位+多人) | 拆成单一动作、单角色 |
| 机位不听指挥 | 机位词太抽象 | 换成确定性机位坐标词 |
| 画面糊、有鬼影 | 未挂负面提示词 | 复用官方负向词清单 |
| 动作与描述对不上 | 文本锚点与驱动视频冲突 | 让 prompt_ref 与视频内容完全一致 |
迭代的核心纪律是单变量法:固定随机种子(--seed从 -1 改为固定值),每次只改一个要素(动词、幅度、节奏、机位、负面词中的一项),输出对比后决定保留还是回退。种子固定后,任何画面差异都可以归因到提示词改动上,这是从"玄学调参"走向"工程调参"的关键一步。
再叠加一条双通道对齐检查:因为动作主体来自驱动视频,先确认视频本身动作符合预期,再检查文本锚点是否与视频语义一致。文本与视频打架,是大部分崩坏的真正来源——不是模型不行,是两条输入通道互相矛盾。
最后给一个可复用的完整工作流:① 用官方 LLM 范式生成外观段(只描外观与背景)→ ② 人工写动作锚点段(动词+幅度+节奏,单动作单句)→ ③ 追加机位段(确定性机位词+镜头运动)→ ④ 挂上官方负面清单 → ⑤ 固定种子,单变量迭代三到五轮。这一套流程跑下来,Wan2.2-Animate 的输出稳定性会有质的提升——前提始终是那句被低估的话:动作质量的上限,由驱动视频决定;提示词的职责,是把这条上限准确地翻译给模型。
【免费下载链接】Wan2.2-Animate-2-14B项目地址: https://ai.gitcode.com/hf_mirrors/Wan-AI/Wan2.2-Animate-2-14B
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考