正文
获取原文件references/motion-recipe.md
目录
- 目的、输入与权属
- 起止边界清单
- 运动说明的七个部分
- 从结构化规格到自然语言
- 输出、常见问题与检查
本文负责的规则
VID-01— 把已确认的起点、终点、时长、对白和下一镜状态视为只读内容。 运动规格只实现这个区间,不能改写它。VID-02— 按需填写起点、有序动作、表演变化、摄影机、环境/声音和时间, 最后输出结束报告。VID-03— 先区分文生视频与图生视频。只有真实参考帧已作为输入时,运动提示词才可省略它已 说明的外观和构图;没有真实图片时必须把静态视觉锚点写进可复制正文,不得假设执行端看过分镜。VID-12— 补拍版/替代版逐项绑定原文要求,说明本版本没有承担哪些内容, 并明确它是补充母版,还是请求经审查后替代母版;范围变小不等于完整覆盖。
字段必须填写本镜的具体内容
VID-08 · reviewed_invariant:结构化运动规格必须写出本镜准确的主体、动作、
接触和结果;本镜确有可见表演变化时,再写承担变化的演员,不能只放可复制的占位句。
字段说明不是镜头内容。每个 ordered_subject_motion 都要写本镜准确的角色绑定、
触发条件、可见动作、方向/路径、接触对象、阶段结果和顺序。不得在所有镜头复制
“已确认主体”“已确认动作”“到达已确认终点”。若使用 performance_arcs[],只写这次
变化真正需要的触发、处理、选择或落点,不为字段齐全复制一套固定步骤。
判断方法:若一条结构化记录原样复制到下一镜仍然成立,它多半没有写出本镜的具体内容。 保留字段,把值换成本镜事实,并删掉无关物件和动作。
选择性变换边界
VID-11 · reviewed_invariant:当一段运动只让环境或主体的一部分折叠、消失、
替换、破碎、复原或改变形态时,必须写清:
- 触发:哪个已确认的动作、状态或声音开始变换;
- 目标范围:精确到哪一个人、物、表面、空间构件或局部,沿什么路径变化;
- 结束几何/状态:变换后留下、占据或暴露什么,不只写“消失了”;
- 保持项
preserve_set:同框但不参与变换的人物、手持道具、文字所在表面和空间锚点, 要保持什么位置、数量和连续性状态。
这需要审查内容是否正确、动作是否能执行,不能靠关键词检查证明。若目标模型会把邻近物一起 吞掉,先缩小目标范围、拆成多个运动阶段或增加阶段边界;不要只堆“其他不变”之类空泛的负面词。
参考图用途与补拍范围
每张参考声明准确的稳定 REF-... 槽位、顺序、项目相对路径、中文名称、用途、允许控制、不得控制与观察状态,
且视频文档必须与分镜原文一致。起始帧可以决定本镜起始构图和
可见状态,却不能
提供尚未发生的终点;构图、尺度、效果参考也不能带入图中没有来源的人物、文字、
道具或事件。只有创作者/参考图权利人的可核对说明,或运行环境获授权后形成的准确
观察说明才能支持像素/文字结论;只有文本引用时保持“未验证”。
VID-12 · reviewed_invariant:普通母版不写覆盖清单;只有局部补拍或替代实现才在同一
MOTION-... 章节下写“版本关系”。用稳定 ID 指明母版与补拍,逐项列出动作、反应、对白、揭示、
结束边界和项目要求由本版本、母版、另一补拍承担,还是必须退回分镜。运动提示词只能提出替代;
reviewer 结合完整故事义务决定,不能让未承担内容随更短提示词消失。
末镜交接
VID-09 · structural_invariant:下一镜存在时直接引用真实 SHOT-... 起点。最后一镜可对照
已有分集规划;下一集尚未建立时明确写“下一集起点未定”,不得伪造一个不存在的 ID 并声称匹配。
1. 目的、输入与权属
视频提示词不负责“想一个更精彩的镜头”,而是把已确认镜头的变化写成能按时间执行的过程。 输入包括:镜头与关键帧、准确的资产引用、时长、镜头目的、起止边界、对白、画外音、音效和声音引用、 进出连续性、视觉/声音方向和可选的制作能力配置。
分镜负责地点/时间、资产版本、构图意图、时长、对白、起止姿态/位置/目光/双手/持物、 连续性终点和下一镜起点。运动规格对这些内容只读,只能报告当前描述是否到达要求的终点。
2. 起止边界清单
写提示词前先做内部卡片:
镜头/关键帧:准确的 `SHOT-...`;`IMG-...` 只定位图片提示词条目,不表示已有关键帧图片
镜头目的:观众的注意、信息或情绪要怎样改变
时长:已确认时长
起点:姿态 / 重心 / 目光 / 双手 / 持物 / 空间关系
终点:同一组字段的已确认 `end_boundary`
对白/声音:准确来源引用 + 已确认的表演或声源要求
持续关系:限制本镜动作空间的身体—物件—空间关系及有效范围
下一镜:下一镜起点引用(只用于比较)
最少但够用的起点信息
只重复“开始运动必须知道”的状态:
- 重心在哪只脚、身体面向和是否坐/倚/跪;
- 目光落点与注意对象;
- 双手的位置、哪只手持什么、接触是否已发生;
- 与门、桌、人等行动相关对象的距离/方位;
- 正在持续的运动(若关键帧冻结的是运动中瞬间)。
真实参考帧已作为输入并包含脸、服装全貌、墙面材料等内容时不重复。craft_default 是“图生视频
只重述动作所需条件,不重述整份视觉设定”。文生视频没有这种省略资格,必须提供足以独立建立本镜
人物、造型、地点、构图与光线的静态视觉锚点;若提示词离开参考帧会把左右手或物体搞错,图生视频
也应保留这些局部事实。没有起始帧、只挂身份或地点图时也没有这种省略资格:取景要写具体,见
目标模型能力档案。
3. 运动说明的七个部分
3.1 起点 start_anchor
用现在时、静态句准确写出起点,避免“她准备站起来”这种已经加入未来动作的写法。 若关键帧与镜头起点不一致,先请求分镜环节解决,不能任选其一。
3.2 有序动作 ordered_subject_motion
每个动作阶段说明:谁行动、做什么、方向/路径、对象/接触、先后条件和到达状态。优先按因果关系连接:
听见门外金属碰响后 → 目光先移向门缝 → 左手停止翻页并压住记录本 → 身体才从椅背离开
而非:
她转头、翻书、站起、走向门、微笑、震惊,所有动作同时自然发生
“缓缓、自然、电影感”不能替代路径与结果。只描述画面内可见动作;心理词要落为呼吸、 注视、肌肉张力、停顿、话语节奏或明确的画外音。
先把起点中的持续关系翻译成动作自由度:用正向状态写清贯穿本镜的支撑、固定、接触或空间关系,
再只安排允许的身体/物件通道。关系变化必须来自已接受动作并落到已接受终点;否则按 VID-01
保持只读。可复制正文写清持续状态和允许动作,避免重复约束;必要的排除条件可以保留。
成稿后在正文内直接改掉残留的这类否定结构,不另建检查步骤或报告。
craft_default:一条运动提示词优先只有一个主导的戏剧变化,必要反应、环境与摄影
都服务这项变化;这不是固定动作数量。若同一镜必须同时完成互不依赖的交接、追逐、身份
揭示和大范围效果,先向 storyboard 请求按注意或力学边界拆镜。反过来,也不能为了变短
删掉逐字对白、关键反应或终点义务;短与长都不是质量指标,可执行的因果路径才是。
若该动作包含选择性变换,按 VID-11 把触发、目标范围、结束几何/状态和 preserve_set
写进相应动作阶段;不能让相邻非目标人物、道具或已批准文字跟随目标一起改变。
3.3 表演过程 performance_arcs[]
表演不是表情标签序列。找到最小变化:
- 触发:外部声音/动作/台词或内部决定(来源可追溯);
- 接收:注意被什么抓住;
- 处理:一个读得出的信号,而非面部部件清单;外放到什么程度见下文的表演强度;
- 决定:角色采取/抑制什么行动;
- 结果:到达已确认终点的情绪与身体状态。
craft_default:把副词换成节奏和行为,“愤怒地说”可具体为先压低音量、吞回半句话、最后直呼对方全名——前提是符合台词与人物。reviewed_invariant:不能发明新信息、关系转变或角色意图。审查者对照镜头目的和剧本资料判断。taste_option:强度与外显程度可从克制到爆发,由导演选择,不强制“先微表情后爆发”。craft_default · VID-26:没有导演选择时,表演强度跟随制作形态与题材。漫剧和爽文的峰值,关键姿态和表情 外放:表情变化大到一眼读得出,手势用整条手臂,情绪落在上身和整张脸上,仍按可生成性写成 常见的整体动作,剧情不压在微表情上。AI 真人剧保持生活化的克制,但峰值也要有一个读得出的表演拍,例如一次 明显的变脸、一次猛地停住或转身,不让整集只剩静脸。形态读视觉设定.md的制作形态,或已接受节奏档案的form。
3.4 摄影机 camera
选择有明确目的的固定机位或一条主要运动路径。移动机位要写动机、开始条件、运动方向/速度和
终点景别;例如“当信封被推入光区时,机位做一次短促前移,停在手与印章的近景”,
比“镜头电影感推进”更清楚。详见 camera-audio-continuity.md。
3.5 环境与声音
只让环境中对故事或连续性有意义的元素动:风推动窗帘、远处警示灯扫过墙、杯中水因桌面撞击晃动。 不要给每个背景物同时加动作。声音部分引用准确的对白、画外音和音效,说明表演方式、同步要求、 空间声源和层级,不改台词。
目标执行端同轨生成声音时,把音频写成一个完整时间线:
- 按发生顺序列出本镜全部对白、VO、OS、必要非语言发声和 SFX;
- 每条台词同时标说话人、声源性质、口语语言和逐字文本,发声从原文首字开始、到末字结束;
- 所列事件之外只保留已声明的 ambience 或静默;相邻两句之间若有停顿,也明确回到这一底声;
- 用实际存在的声音层总结时间线,避免模板与本镜内容矛盾。
无对白镜写清底声或静默及覆盖区间。必要的「无对白」声明可以保留, 人物嘴部状态由本镜表演决定。非画内配乐的空形式按目标方言填写。
确有叹气、吸气、笑声或重叠说话时,把它作为有来源的事件列入。声音不同轨时仍只写后期职责。
3.6 时间 timing_plan
默认把这几秒写成一条读得出先后的节拍链:
首先<起手状态>;接着<动作、方向与终点接触>;随后<这个动作造成的结果>;与此同时<另一条通道>;最终<结束状态>
- 动作停在哪里,用接触点或画面里的地标写。“指尖碰到杯沿后停住”“视线落到桌面签名处” “右手停在伞柄上”说的是本镜要拍成什么样,直接写,不必等上游先给数字。厘米和度数不写: H3 一镜的小样本里,写「约二十厘米后停住」的 4 次中 3 次仍伸到杯子并接触, 写「指尖碰到杯沿后停住」的 4 次全部停在杯沿。写不出终点接触什么、停在哪个地标, 通常说明这一拍还没想清楚——先把动作想清楚,再回来写这一句。
- 可以钉一到两个锚点秒数:起手保持多久、终点定格多久、一次运镜走多久(“起手不动约半秒”
“结束姿态定住约一秒”)。锚点是写在正文里的散文标注——不拆成
timing_plan分段、不把mode写成explicit、不参与VID-04求和。所有锚点相加应当明显小于镜头时长,链条其余 部分留给相对先后;锚点多到要铺满整镜时,改写成下面的显式分段。 - 并行通道由“与此同时”显式标出,一条链只给一条,且落在串行链没占用的通道上:另一个 角色、主体的另一处身体通道,或环境。同一只手、同一道视线不能同时走两条。
只有制作需要按秒对齐时才写显式秒段。
structural_invariant:明确标注的非重叠段落时长相加必须等于已接受的镜头时长;重叠段必须写明重叠关系,而不是靠猜。- 超出:落在时长之外的部分被截断,段尾动作、逐字对白和终点姿态一起丢失。
- 不足同样是缺陷:执行端可能不停在最后一段的秒点上,而是把已写的动作整体拉长去占满镜头,写下的秒点于是整体后移,计划里的时间就不再描述成片。H3 一个 8 秒单人镜的小样本里,秒段只写到 5 秒、补「定住终点」到 8 秒、只写相对顺序三种写法各 4 次,都没有出现计划外动作;三种写法的放杯都落在 6–7 秒,补写的 3 秒定格也没有出现。把余量分配给已有阶段,让写下的节奏与镜长一致;秒点只是计划记账,不是精确落点,需要按秒剪辑或对齐时以生成结果的实测为准,落幅保持靠剪辑余量而不是一段定格描述。
- 两个方向都由
VID-04管辖;审查者引用该编号时,超出与不足都算违约。
reviewed_invariant:即使数学不超时,台词、动作、反应是否可完成仍由审查者结合语言、强度和物理路径判断。- 不设通用“每秒几字/几个动作”硬门槛。
写显式秒段时按这三个字段落实:
| 字段 | 含义 |
|---|---|
timing_plan.mode |
explicit 才做算术断言。写 relative 就不要再给分段标 explicit,两者同时出现是自相矛盾,校验器会直接报 VID_TIMING_MODE_INCONSISTENT 而不是替你选一个 |
timing_plan.declares_overlap |
分段区间确实要重叠时置 true,此时占用时间按并集计算。留空或 false 而区间又重叠,视为漏写重叠关系而不是默认相加 |
timing_plan.declared_total_or_endpoint_seconds |
可以写并集占用时长,也可以写终点秒数;两种读法都接受,但必须与分段实际情况对得上 |
算术由 motion_timing_check.py 执行:超出按终点判断,
不足按裁剪到镜头长度内的并集判断。两者分开量是因为中间留空加尾部超出会互相抵消——
0.0-2.0 加 3.0-5.0 在 4 秒镜头上"合计正好 4 秒",实际却同时发生了截断与留白。
3.7 结束报告 end_report
把描述结果写回同一组起止边界字段:姿态、位置、目光、双手、持物和可见状态变化。
逐项对照分镜的 end_boundary:
reported_end == source end:match
reported_end 不同:mismatch + 请求修改分镜
提示词未实现某字段:unrealized + 修改运动说明
end_report 永远不是下一镜的权威输入。不能用运动规格中的“更自然结尾”覆盖已确认终点。
4. 从结构化规格到自然语言
可复制的写法骨架
从[最少但够用的起点信息]开始。首先[起手状态,可含一个锚点秒数];接着[动作、方向与终点接触];
随后[这个动作造成的结果与随之而来的可见处理];与此同时[另一条通道上并行的一件事];
最终[已确认终点的可见状态]。摄影机[写死构图并说明保持多久,或一次有动机的移动,含触发、路径与终点景别]。
[必要的环境运动]。对白/声音:[准确来源与表演/空间意图]。
写完之后过一遍可执行检查
判据:执行端照着这段能不能生成,而不用自己决定任何一件事。逐条对照,缺哪条补哪条:
| 必须写出来 | 缺了会发生什么 |
|---|---|
| 起手状态(这一拍从哪个姿态开始) | 执行端自选起点,接不上前一镜的终点 |
| 串行链:接着→随后,每一步带方向,终点落到接触点或地标 | 动作糊成一团,看不出先后,也不知道停在哪 |
| 一条并行通道,用「与此同时」标出 | 要么全片只有一个人在动,要么所有人一起动 |
| 结束状态(终点姿态定在哪) | 收尾被自由发挥,下一镜起点失效 |
| 摄影机:锁定写死构图与保持多久,移动写触发、路径、终点景别;两种都补一句这次要让观众看清什么 | 空着会被读成可以自由漂移;没有理由的运镜是装饰,执行端换一种也说得通,于是真换 |
| 有台词时把台词逐字挂在它发生的那一拍上 | 口型对不上,或台词被当成画面内容渲染 |
写短:这段是给生成器的执行指令,不是给人读的散文。上表六项在两百字上下就能写满, 超过三百字基本可以确定有冗余。省字的办法是合并而不是删项——压到一百八十字以内时, 最先掉的是台词挂载与声音这两项,把它们挤掉换来的字数不值: 把景别、机位、角度、焦段并进一句(「固定中近景,轴线左侧平视,中焦」),把并行通道挂在它 真正发生的那一拍后面而不另起一句。 形容词、情绪解释、把同一个动作换个说法再说一遍都不改变生成结果,只增加成本; 参考帧已经表达的长相、服装、场景装修一律不重复。
写出来是这样(合成材料,约两百字覆盖上表全部六项):
从她双手交叠压膝、视线在脚边水洼的起点开始。首先保持不动约半秒;接着右手离膝向伞柄
伸出,指节碰到伞柄;随后扣住伞柄,把伞立起点在地面;与此同时水洼被风推出一层细纹;
最终她站直,右手持伞垂在身侧,视线抬到对面门口。摄影机固定,平视,取头肩,轴线左侧,
全程不动——让观众看清她起身前后手上的变化,而不是跟着她走。台词在「接着」这一拍:「我不等了。」
把元数据、hash、内部规则 ID 留在 Markdown 卡片,不放进可复制提示词。避免供应商参数、权重语法、任务指令和质量承诺。
参考图文件名、版本号、锁定标记、草图指代和重投备注同样不进交付文本——执行端会把它们当画面内容渲染出来;完整清单与改写方法见
production-prompt-grammar.md 的“交付文本只含交付内容”。若项目声明了分段交付档案,容器算术与槽位职责见
delivery-profile.md。
不重复参考帧内容
- 参考帧已经表达:人物长相、整套服装、空间装修、静态构图、基础光线;通常省略。
- 运动说明仍需表达:左右手/持物、即将行动的关节与路径、目光目标、运动相关遮挡、会变化的环境和镜头运动。
- 能删去而不改变动作结果的外观句,优先删。
craft_default不是“越短越好”;关键起止条件不能因为节省字数而丢失。
5. 输出、常见问题与检查
输出
- 已接受的运动规格:有序动作、表演、摄影机、环境、声音和时间;
- 起点/终点的只读来源引用与结束比较报告;
- 一段可复制的通用提示词,以及必要的警告或内容丢失说明;
- 不含视频、音频、远程任务 ID、网址或接口状态。
常见问题
- 从不同于关键帧的手势或持物开始;
- 提示词大半重写人物服装和场景,动作只剩“自然移动”;
- 所有动作“同时”,接触/方向/先后不明;
- 选择性变换只写“消失/变形”,没有目标范围、结束几何或
preserve_set; - 表演只有“震惊—生气—悲伤”标签,没有触发和可见过程;
- 终点新造了站位、道具转移或下一镜事实;
- 单个镜头内部出现未声明的剪切(多镜容器在成员镜头边界上的切换不算,见 delivery-profile.md 的多镜容器);
- 明确时间段只用掉时长的一部分,剩下的秒数没有任何内容承接;
- 交付文本里混入文件名、版本号、锁定标记或重投备注。
检查
- 结构:来源引用、时长、明确时间段、摄影机区间、对白引用和结束比较。
- 内容:审查者引用镜头与运动说明,判断能否执行、能否表演、摄影动机是否成立、是否发明内容。
- 常用做法:动作精简、避免重复参考帧、单一主运镜都可以建议,但允许有理由地调整。
- 创作者选择:表演强度、固定/移动机位、节奏和声音密度由已接受的创作方向决定。