news 2026/11/3 19:05:59

动作提示词别乱写:给 Wan2.2-Animate 写“动作指令“的 18 个实用套路

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
动作提示词别乱写:给 Wan2.2-Animate 写“动作指令“的 18 个实用套路

动作提示词别乱写:给 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,意味着提示词上下文是有限且宝贵的——写得越碎,锚定越弱。

由此得到三条铁律:

  1. 外观段禁用动作词。官方在 README.md 中给出了一个必须先做的步骤:用 LLM(如 Qwen3.7-Plus)按固定范式生成图片描述,范式明确要求"人物外观描述,不描述动作行为;背景描述,忽略主观评价和情绪推测"。外观段掺入动作词,会让模型在参考图与文本之间产生冲突信号。
  2. 动作靠"驱动视频 + 动作锚点文本"双通道。动作细节由视频给,文本只需做语义锚定——告诉模型"这段视频里的人在做什么动作、什么节奏、什么幅度"。
  3. 机位是文本唯一能"凭空创造"的维度。官方框架支持文本驱动的视角控制,把输出相机视角从驱动视频中解耦,这是提示词最能出彩的地方。

二、动作提示词的骨架:动词 + 幅度 + 节奏 + 镜头

任何一条动作指令,都可以拆成四个槽位,缺哪个补哪个,多则删:

要素作用词库示例常见错误
动词定义动作本体跳、转、挥、走、击掌、鞠躬、推门用"做动作""表现力强"等空词
幅度定义位移与力度轻微、中幅、大幅度、挥至头顶、转身 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),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/11/3 19:04:13

熵债相图扫描流水线实现

# TAB013-G-003 / TAB013-G-004 合并流水线 # 约束钉死:8项合并校验规则全部落实 # 运行顺序:smoke -> smoke_meta写入 -> 主扫描 -> 锚点校验 -> 合并归档 -> 绘图 import numpy as np from scipy.integrate import solve_ivp from scip…

作者头像 李华
网站建设 2026/11/3 18:54:44

UVa 771 Flying Stars

题目描述 给定若干机场以及每日循环的航班信息。每个机场有固定的时区偏移和登机 / 转机耗时。从起点机场的某个本地时刻出发,需要经过一系列航班抵达终点机场。要求计算从出发时刻到抵达终点时刻的总旅行时间(以天、小时、分钟表示)&#xf…

作者头像 李华
网站建设 2026/11/3 18:54:40

UVa 792 Program Modules

题目描述 给定一个程序中的所有函数及其直接调用关系,定义关系 A→BA \rightarrow BA→B 表示函数 AAA 直接调用 BBB,A⇒BA \Rightarrow BA⇒B 表示 AAA 可传递地调用 BBB(直接或间接)。已知 →\rightarrow→ 是 ⇒\Rightarrow⇒ …

作者头像 李华
网站建设 2026/11/3 18:54:18

Github Copilot 智能编程辅助效果实测

在日常开发中,我们常常花费大量时间在重复性的代码编写上:从定义基础的数据结构,到为每个函数撰写繁琐的单元测试,再到面对一段陈旧的遗留代码时不知从何下手进行重构。这些机械劳动不仅消耗了开发者的精力,也拖慢了整…

作者头像 李华
网站建设 2026/11/3 18:53:27

Ponytail 项目落地指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华