Skill · 影视制作主流程(总控)
执行卡
- 何时读我:用户要从需求生成完整视频 / 短片 / 预告片 / 广告片,或要在已有项目上继续制作、返工、合成、交付时。
- 我负责:串起主流程,维护唯一状态源,决定什么时候可以进下一环,什么时候必须回流。
- 我不负责:替剧本、编导、提示编译、审查重复写全部专业细则;具体细则回对应阶段规则。
- 输入:用户需求、项目工作目录、
script.md、director_plan.json、素材、故事板、生成结果、审查记录。 - 输出:按阶段推进的项目产物、可追踪版本、终版段清单、合成成片和审查结论。
- 失败回流:任何阶段缺关键产物或审查不通过,回到根因环节补齐;不跳闸门、不靠目录扫文件猜状态。
开拍前先过这 12 个闸门
- 项目必须有落盘的剧本、执行计划和阶段状态源;不能靠聊天摘要或目录猜当前版本。
- 每段必须有 3×3 九宫格故事板,但故事板只管剧情梗概、事件顺序、情绪 / 信息推进;不代表分镜、人物细节、材质、场景结构或镜头视角。
- 人物穿过场景、追逐、逃跑、横穿街道、从场景一端到另一端时,必须先有场景左 / 中 / 右视图 + 红线 scene route map;红线只代表路线,不代表镜头视角。
- 每段视频必须有段内时间轴变化设计:执行计划先粗拆,生成要求再细化;不能只写一串总体动作。
- 执行计划必须有钉死的调色板和色卡:
style_contract.color_palette写清主 / 辅 / 点缀色、色温、对比度、影调、LUT,色卡登记进资产;每段图和视频生成前都复述同一份颜色,不能只靠一张风格锚点图控色。 - 主要人物、关键道具、核心场景若有关键视觉状态变化,必须先有状态变体参考图或状态参考组;不能只拿基础参考图靠文字临场改(STATE-1)。
- 需要观众看清的食材、材质、产品、文字、屏幕、破损或状态证据,必须先有单独关键特写素材;特写要从基础资产 / 状态资产 / 所在场景参考放大而来,不能从全景硬裁,也不能凭空另画导致场景偏移(CU-3)。
- 涉及吃、喝、拿、夹、舀、切、吸、抿、咀嚼的段落,执行计划和生成要求必须按对象属性写清处理方式;不能把所有东西都手拿、所有饮品都大口喝、所有食物都一口吞(USE-1)。
- 有食物、液体、热量、重量、湿滑、锋利、燃烧、碰撞的段落,执行计划和生成要求必须写清生活物理与人类本能反应;酱汁会滴、热汤先吹、大块食物分口、液体会晃(PHYS-1)。
- 每次生成前都要先做调用前自检:能说清本次生成依据、参考素材职责、故事板边界和关键生成设置;自检没明确通过,主流程停。
- 最终图像 / 视频生成要求必须写满画面细节,并保留执行计划给出的镜头参数、段初段末承接和关键道具持有链。
- 链式延展必须串行等待上一段过审终版,并把它作为下一段的真实参考依据;不能只用首尾帧文字冒充连续性。
红线速查(主流程层)
主流程层只做闸门,不另起本地编号体系。 需要定位到具体创作硬伤时,回对应阶段规则使用共享故障标签。
| 红线(出现即停) | 正解 |
|---|---|
| 从用户需求或文学剧本直接跳到视频生成 | 先有落盘剧本,再有可执行 director_plan |
| 用对话记忆、摘要笔记或素材目录当状态源 | 全片状态只认 director_plan.json,阶段状态只认 manifest.json |
读写项目产物用相对路径赌 cwd |
一律用项目返回的绝对路径(project_dir / project_id 解析),不默认 cwd 是项目根或仓库根 |
用代码手拼项目数据时照抄 JSON 的 null / true / false |
写宿主语言的值(Python 用 None / True / False);先构造数据对象再一次性序列化,别在代码里手敲另一种语言字面量 |
在通用代码里裸调 ffmpeg / ffprobe(探时长、探音轨、拼接、抽帧) |
一律走项目视频 / 音频工具;SDK 统一使用 imageio-ffmpeg 自带的 ffmpeg,不依赖系统 PATH,也不需要 ffprobe |
剧本只在聊天上下文里,没有 script.md |
剧本正文必须落盘,含人物小传、分场剧情、逐字台词 / 旁白 |
| plan 没有一句话主线或每段功能 | 回编导,先钉主线和段落功能 |
| 开场黄金三秒不成立 | 回剧本 / 编导,不带平淡开场往下拍 |
| 中途只把后半段换画风 | 要么源头修原风格,要么全片从 style_contract 开始重做 |
| plan 只有一句"电影感色调"或一张风格锚点图,没显式调色板和色卡 | 回编导钉死 style_contract.color_palette 并登记色卡 |
| plan 声明的视角数 / 色卡 / blocking / 轨迹图 / 状态变体只写在字段里没真生成,就想进下一环 | 素材收口逐条点数,plan 承诺几个就要有几个过审资产,缺的回素材补 |
| 各段颜色各漂各的,生成前没复述统一调色板 | 每段图和视频都逐字复述 color_palette,缺色卡回编导补 |
| 计划里需要的角色、场景、道具、关键特写没有参考资产 | 回素材补参考包,不靠文字硬生 |
| 参考包没复用,或把全项目素材一股脑塞进每段 | 每镜只用本镜需要的参考,并说明职责 |
| 没有过审故事板就进视频生成 | 每段先有 3×3 九宫格手绘故事板并过审 |
| 人物穿过场景 / 追逐 / 长距离移动,没有场景运动轨迹图就进视频生成 | 先补左 / 中 / 右场景视图和红线 scene route map |
| 视频段没有段内时间轴变化设计就进生成 | 回编导补 3-6 阶段粗时间轴,回提示编译环节扩写每阶段变化 |
| 下游按故事板格数切镜头 | 切镜头数看 director_plan,不是看故事板格数 |
| 调用生成前说不清本次生成依据、参考职责、故事板边界或关键设置 | 回提示编译环节重写生成要求并重新自检;任一硬项缺失 / 冲突不得调用模型 |
| 发现乱码、错字、假字后不定位坏字位置,直接乱重生,或只加旁白却不修画面文字 | 先定位段落 / 时间 / 区域 / 文字载体和应读内容,补局部可读素材或清晰落版,再重做受影响镜头;旁白可补强但不替代修字 |
| 链式延展段没等上一段终版、没把上一段作为真实参考依据 | 串行等待上一段过审终版;用上一段参考往后扩写 |
| 单段各审各的就放行,没有滑窗审和终审 | 相邻两段拼接滑窗审 + 成片终审 |
| 多个阶段状态一次性齐刷刷标 done,或终审结论没等审查实际跑完就写"全部通过" | 每个阶段各自等到真实产物过审再落状态;审查结论以实际审查记录为准,不提前盖章 |
| 合成时扫素材目录自动拼 | 只按 director_plan.json 的终版段清单、顺序和版本合成 |
对中间段用 video_crossfade / 叠化补接缝(offset 用默认值吃掉前段) |
中间接缝在生成层设计咬合帧,合成用 video_concat 硬切;crossfade 只留片尾 |
| 把音轨识别结果交给 VLM 判通过 / 不通过 | 音频是制作计划,不作为当前审片模型放行条件 |
| 不通过后覆盖旧版、原样重抽或只修表面 | 新版本另存,按根因回流,修完逐条复审 |
一、唯一真相源和项目状态
director_plan.json 是全片唯一事实源
长任务上下文会被压缩。
不要另写独立摘要便签来维护半截真相。
回看进度、取台词、取段顺序、取终版文件,一律读 director_plan.json。
director_plan.json 至少维护:
- 一句话故事主线。
- segment 清单、顺序、计划时长、累计时长。
- 每段功能、不可丢信息、逐字台词 / 旁白、画面文字。
- 每段镜头节拍、故事板规划、资产需求、段初承接和段末交接。
- 每段状态:待拍、已生成待审、已过审、需返工。
- 每段终版文件:
final_file、版本号、选择理由。 - 关键道具持有链、剪辑决策、音频计划。
素材目录里常有多版本、试验片段、废弃文件。 合成、复审、交付都不能扫目录自动猜。
manifest.json 只管粗粒度阶段状态
每个阶段开始、完成、阻塞、复审失败时,更新 phase:
in_progress、done、blocked。
记录关键产物或阻塞点。
如果压缩摘要、工作记忆和落盘文件冲突,以 director_plan.json 和 reviews/ 里的实际文件为准。
落盘纪律(读写项目产物时的实操铁律)
项目里的 script.md、director_plan.json、manifest.json 等产物,读写路径一律用创建项目时返回的绝对路径(project_dir / project_id 解析而来)。
- 不靠相对路径赌当前工作目录:agent 的运行
cwd不一定是项目目录(常见是临时目录),相对路径projects/...会被解析到cwd之下而落空或写错地方。要么用绝对路径,要么显式基于项目根拼接,别默认cwd就是仓库根。 - 用代码生成项目数据时,写宿主语言的值,不要手敲另一种语言的字面量:比如在 Python 里构造 plan / manifest 这类结构,空值写
None、真假写True/False,不要照抄 JSON 的null/true/false——那会直接NameError崩掉,产物写不出来。 - 能结构化写盘就别用通用代码手拼再 dump:优先用项目工具直接落盘结构化产物;确需用代码兜底时,先构造好宿主语言的数据对象、再一次性序列化,不在字符串里手拼另一种语言的语法。
- 不在通用代码里裸调
ffmpeg/ffprobe:探视频时长、探音轨、拼接、转场、抽帧这类活,一律走项目的视频 / 音频工具,别在code_run里自己subprocess.run(["ffprobe", ...])。SDK 直接使用imageio-ffmpeg自带的 ffmpeg;系统 PATH 上可能既没有 ffmpeg 也没有 ffprobe。要探测或处理媒体就用项目工具,不要赌系统环境。
二、完整制作流程
1. 需求进入剧本阶段
剧情类内容开拍前必须有过审剧本。 哪怕用户给了现成剧本,也不能仅凭"文件已存在"直接开拍。
剧本必须落盘为 script.md 或等价文件,包含:
- 人物小传。
- 分场景剧情。
- 逐字台词、旁白、画外音。
- 关键道具、场景、风格方向。
只在状态备注里写"剧本完成",或剧本只活在聊天上下文里,都不算完成。
2. 进入编导阶段
剧本定稿后,必须产出可执行编导方案。 最低要求:
- 一句话主线和每段如何推进主线。
- 黄金三秒钩子。
- 叙事顺序和结构选择。
- 不可丢信息清单。
- 段间因果链、段初承接、段末交接。
- 镜头节拍表。
- 画面文字计划。
- 资产清单。
- 故事板规划。
- 剪辑决策和音频计划。
整片先在 director_plan 写死 style_contract(可复制文字风格契约),后续所有片段逐字沿用。
不能从文学剧本直接跳到生成 prompt。
开拍前检查时长:
- 单段视频生成建议不超过约 15 秒。
- 超长内容必须在编导规划期拆分,写进
director_plan.json。 - 生成阶段发现超时或超过上限,只能停下回编导补拆分,不能由提示编译 / 调用层临时生成
seg02a/seg02b直接提交。 - 正式子段必须有自己的 ID、时长、镜头节拍、首尾承接、参考资产和审查记录。
- 3 段及以上如果时长全相同,默认怀疑机械均分。
- 机械均分必须回编导按剧情轻重重排,或逐段写清确实同长的创作理由。
对白段要预留尾音 / 呼吸 / 反应空间。 最后一句台词不要刚好卡在段边界上被硬切。
3. 素材生成和资产覆盖
按 director_plan.json 收敛资产清单。
只生成后续片段会用到的角色、场景、道具、关键特写、空间参考、运镜参考。
没用到的不生成,计划里有的必须补齐。
素材阶段只做流程闸门,不重新决定专业规划。 哪些对象要单独出图、场景要几张视角、是否需要 blocking 图 / 动线参考,以编导方案为准。
硬闸门:
director_plan.json里有固定style_contract,不是只有一张风格锚点图。style_contract.color_palette钉死主 / 辅 / 点缀色、色温、对比度、影调、LUT,并有一张登记进资产的色卡;色卡只锁颜色规格,不当画面参考。- 主要角色有角色卡 / character sheet,同图包含正面全身、侧面全身、背面全身三视图。
- 需要表演或特写时,补面部近景、表情、手部、服饰、配饰细节。
- 每个实际拍摄场景都有多视角参考包:主视角、反向或侧向视角、俯视 / 总览或关键区域视角。
- 人物穿过场景、追逐、逃跑、横穿街道、进入房间这类空间运动段,场景参考包升级为左 / 中 / 右三视图 + 俯视场景运动轨迹图;红线只代表人物 / 物体路线,不代表镜头视角。
- 多人进出、推门、穿街、追逐、对峙、换手等关键调度, 有 blocking 图标出人物站位、运动路线和门内外关系。
- 关键道具、产品、屏幕、纸条、表盘、UI、文字特写等有清晰参考;关键特写继承对应基础资产、状态资产或所在场景参考,不能脱离母资产另起一套画面。
- 风格锚点图只锚色调、光影、构图、质感,不塞复杂人物、手、文字和道具。
- 角色、场景、道具、关键特写和视频生成要求都继承
style_contract。 写实片必须持续排除动漫、插画、游戏 CG、塑料 3D 和玩具感。
素材收口前,对着 director_plan.json 逐段做资产对照:
- beat 里推进到"观众必须看清"的内容是否都有参考。
- 故事板里出现的角色、场景、关键道具是否都有终版资产依据。
- 计划里写"可选 / 如需要 / 靠描述兜底"的,退回编导补明确。
声明即承诺:plan 写了就得真做出来,不能只在文字里存在。
编导方案里凡是列成清单、数组、字段的规划件——每个场景要几个视角、要不要色卡、要不要 blocking / 轨迹图、哪些主体 / 道具 / 场景要状态变体——都是承诺,不是可选建议。
素材收口不是"看 plan 里写没写",是"逐条点数:plan 承诺了 N 个,实际生成并过审了几个"。承诺 3 个视角只出 1 个、承诺登记色卡却一张色卡都没生成、承诺 blocking / 轨迹图却只有一张单机位场景图,都算素材阶段未完成,不能进故事板 / 生成环节。
把颜色、空间、调度这类控制信息只写进后续每条 prompt 的文字里("全片调色板是…""从门口视角看…"),当成已经落地,是这一环最隐蔽的漏法:文字口述对生成模型的约束远弱于一张真实参考图,缺图就等于没有视觉锚点,颜色会各段漂、空间会跨镜跳。声明了视觉锚点就必须生成出对应的图,让它真正作为参考进入下游,不能用一句描述替代。
自检一句话:合上 plan,只看 entities 里真实存在的图,能不能凑齐 plan 承诺的每一类锚点?凑不齐就回素材补,别靠"生成时我会在 prompt 里带"糊过去。
参考图和故事板默认保留官方 AI 生成标识。 只有用户明确要裸图交付,且该图不再作为视频参考时,才考虑去掉。
4. 故事板闸门
每个片段进入视频生成前,必须有过审的 3×3 九宫格手绘故事板。 本层只验三件事:
director_plan.json写清本段故事板分格规划。- 实际故事板能看出九宫格、顺序箭头和剧情流动。
- 故事板中出现的角色、场景、关键道具有终版资产依据。
故事板只提供故事梗概、剧情流动、事件顺序和情绪 / 信息推进。 它不代表分镜,不决定切几刀,不锁人物细节、材质细节、场景结构或镜头视角。 成片外观、材质、光影、颜色和统一风格,回到角色 / 场景 / 道具参考图和风格锚点决定。 人物穿过场景的精确空间路线,回到场景运动轨迹图 / blocking 图决定。
故事板必须真实参与下一步视频生成。
只画不用,或视频完全没有继承故事板的剧情流动和事件顺序,算本阶段失败。
但故事板不决定成片切几刀,切镜按 director_plan。
5. 生成前提示编译与自检
每次正式生成之前,都要先把执行计划、剧本文字、参考素材职责和本次生成要求统一编译成一份完整输入。 编译完成后,先做调用前自检,再进入生成。 主流程只要求 agent 能说明本次生成为什么可以继续:依据哪段计划、用了哪些参考、故事板边界是什么、关键设置是否和生成要求一致。 这不是固定工作流产物,不规定具体工具、字段名、记录格式或文件名。 自检明确可继续,才进入生成;说不清、缺参考、边界冲突或设置互相打架,主流程必须停下。
调用前自检至少要覆盖:
- 本段逐字对白 / 旁白没有丢。
- 画面文字逐字落进生成要求。
- prompt 没改写 direct plan 的镜头参数、光圈数字、画面文字、段初段末承接和关键道具持有链。
- 真实生成设置和生成要求不冲突:例如画幅、时长、音频、参考输入等关键设置不能互相打架。
- 角色、场景、道具、状态变体参考图、九宫格故事板、blocking 图、场景运动轨迹图、风格锚点作为真实参考参与。
- 每张参考的职责写清:锁身份、锁空间结构、锁材质、锁风格、锁剧情流动、锁人物 / 物体运动路线。
- 若本段主要人物 / 关键道具 / 核心场景处于特殊状态,已绑定正确状态参考图,写清
state_id和状态从哪来、延续到哪(STATE-1)。 - 若本段有食材、材质、产品、文字、屏幕、破损或状态证据的看清任务,已绑定单独关键特写素材,写清
closeup_id、用途和它继承的原始素材;特写没有漂成另一件物品或另一处场景(CU-3)。 - 最终图像 / 视频生成要求已按七层骨架写清镜头、主体、材质、空间、天气空气、光和色彩;没有因为怕长省略。
- 视频生成要求已按本段时长拆出段内时间轴,覆盖主体动作、表情、道具、副主体、环境、镜头和声音变化;不能只写动作链。
- plan 给过焦距 / 光圈数字时,prompt 原样保留数字。
- 视频生成要求已写清副主体运动和物理细节,不只写主体动作。
- 涉及吃、喝、拿、夹、舀、切、吸、抿、咀嚼的动作,已按对象属性写清处理方式和入口节奏;没有该用工具却手拿、该抿却大口灌、该嚼却直接吞这种 USE-1 问题。
- 涉及食物、液体、热量、重量、湿滑、锋利、燃烧、碰撞的动作,已写清生活物理和人的本能反应;没有热汤不吹就喝、大块食物一口吞、酱汁不滴、液体不晃这种 PHYS-1 问题。
- 如果本段是链式延展,上一段终版已经存在且过审,并作为本段真实参考依据;生成要求写清"基于参考继续往后扩写"。
- 故事板只作为故事梗概、剧情流动、事件顺序和情绪 / 信息推进参考;未注册资产、箭头、编号、格号、标签、说明字不进入成片。
- 人物穿过场景 / 追逐 / 长距离移动时,prompt 已把场景运动轨迹图红线翻译成自然语言路线,并声明红线不代表镜头视角、不出现在成片里。
- 人物与场景构图比例明确,大场景里人物该小就小。
- 段初承接状态、段末交接状态、关键道具持有链写清。
- 人声用固定音色档案,不写"同上"。
- 成片镜头没有把参考白底带进去,环境和光照由提示编译环节重建。
- 生成要求里没有工具层字段、路径、参数和轮询细节。
上面任一条缺失,调用前自检必须阻塞,主流程不得进入生成。 先回提示编译环节改生成要求;若缺的是 plan、资产、故事板来源或生成设置,回对应上游补齐后再重编译,再跑一次调用前自检。
6. 视频片段生成
每段视频只使用本片段真正需要的参考。 不要把全项目素材一股脑塞进去。 多角度角色图尤其不能直接混入多人物视频,容易被误读成多个相似人物。
串行和并行分清:
- 同一镜头动作直连、长镜头延续、链式延展,必须传上一段过审终版视频当参考视频,串行等待。 这种段不是靠首尾帧文字硬接,必须让模型看到上一段完整视频。 prompt 第一段要写清: "基于参考视频继续往后扩写;参考视频最后状态是……,本段从这个状态无缝继续……"。 同时写明不重置人物、服装、道具、光线、机位、运动方向和副主体运动。
- 正常切镜头、转场、不同视角,不传上一段视频,独立并行生成。 这类段仍按 plan 写段初承接和咬合帧,但不冒充链式延展。
核心参考被拒时,不要为了成功把故事板、角色参考这些主参考逐个删掉硬生。 正确做法: 定位问题素材,回对应环节重做替代参考:故事板只重做剧情流动参考;画面比例、站位和空间路线回 blocking 图 / scene route map / 场景多视图补齐。 过审后再生。
开拍前确认交付平台和画幅。 竖屏信息流通常优先按竖屏设计镜头,不先横后裁。
7. 图片、故事板、视频审查
每张图、每张故事板、每段视频都必须审。 进入下一环前必须有明确通过结论。
本节只定义进入下一环前必须具备明确审查结论,不在总控规则中展开具体质检判据:
- 参考图用尺度 A,放松看能否锁一致性。
- 故事板独立审形式和剧情流动。
- 视频段用尺度 B,从严看画面、叙事、文字、角色、镜头语言、结构、生活物理和本能反应。
- 文字乱码 / 错字 / 假字打回时,先要求审查结论定位坏字载体和应读内容;修复只重做受影响镜头,不默认乱重抽整段。
- 视频段必须按相邻两段拼接滑窗审:
1+2、2+3……(N-1)+N。 - 最后做成片终审,不能用逐段审替代。
当前版本审查不把音轨、人声、BGM、旁白、口型或尾音作为 VLM 通过 / 不通过条件。 这些属于制作计划和生成要求,不交给审片模型判断。
8. 合成和剪辑
合成前做故事 beat 审计:
director_plan.json的不可丢信息是否都已落地。- 段间因果链是否连续。
- 终版片段顺序、版本和
final_file是否明确。 - 是否漏转折、重复情绪 beat、用替代片段跳过因果。
合成只按 director_plan.json 的终版段清单、顺序和版本执行。
禁止扫素材目录自动拼。
写剪辑决策表:
- 每个衔接点的
上一段 → 下一段。 - 转场类型、时长、理由。
- 情绪与叙事承接。
- 是否需要文字卡。
- 原声 / 音频如何处理。
转场按 plan 逐切点执行。 硬切、叠化、白闪、擦除、匹配剪辑都可以,但禁止一个参数套全片。 转场只能改善视觉衔接和情绪过渡,不能替代补镜头或补关键信息。
颜色统一兜底:即使生成阶段每段都复述了同一份调色板,各段仍可能有轻微色温 / 亮度漂移。合成阶段按 style_contract.color_palette 的 LUT 氛围对全片过一遍统一调色,把段间残余漂色收敛到同一基准;这是兜底,不是替代——生成阶段的调色板复述该做的还得做,别指望后期救回大幅偏色。
中间接缝优先在生成阶段设计,合成阶段主用硬切拼接: 段与段之间的消融、叠化、匹配转场,最稳的做法是在 Seedance 生成时就把上一段的段尾帧和下一段的段初帧设计成咬合(同构图、同色调、同运动方向、可承接的收束 / 起势),拼接时直接硬切,接缝自然由画面本身完成。
- 主拼接用
video_concat(视频硬切 + 音频切点短淡化 + 统一重编码),它不改总时长、不吃段、返回真实累加时长,可靠。 - 禁止对中间段套用
video_crossfade/ 合成层叠化去"补"接缝:它按offset把两段在时间轴上叠起来,一旦offset没按前段真实时长逐点传(用了默认值),就会把前段大部分内容叠掉丢弃,生成一个容器时长虚标、实际只剩十几秒的坏片。 video_crossfade/ 淡入淡出只留给片尾收束(如整片淡出到黑),那里不依赖offset对前段内容的精度,才安全。- 合成后必须用
-c copy -f null -复核成片真实解码时长,和director_plan的累计时长对齐;容器标称时长可能虚高,只信真实解码时长。
音频过渡按剪辑决策表逐切点执行,不套默认值:
每段是独立生成的,各自内嵌的 BGM 到段尾会戛然而止,拼接工具一个默认 crossfade(如 0.3 秒)盖不住。
所以合成前先看 plan 的 BGM 架构:
- 统一配乐轨:各段本就不内嵌 BGM,合成时把整轨音乐铺到成片上,段间画面转场不打断音乐。
- 分段自带 BGM:按每个衔接点的
audio_handling执行真实的音频过渡(声音桥、渐弱、留白蓄力), 过渡时长按该切点情绪定,音乐忽大忽小 / 段尾硬停的地方要加长音频交叉或补一层贯穿环境声,不是统一 0.3 秒了事。
合成阶段不后期烧录整段对白字幕 / CTA。 片名、人名牌、章节、时间地点卡应在视频生成阶段画进画面。
9. 音频和 BGM
BGM 是导演决策,不默认强加。 每段开拍前先判断:
- 只要人物对白、旁白、环境声。
- 还是需要配乐参与叙事。
- 是否明确静音。
需要配乐就写清音乐情绪、强弱、节奏和对白 / 旁白避让。 不需要就明确禁用。
要 BGM 就先定架构:成片是分段生成再拼接的,每段内嵌的音乐互相接不上。
编导要在 audio_plan 里二选一并写清落地方式:
- 统一配乐轨:各段生成时不内嵌 BGM,另出一条整轨音乐在合成阶段铺上(连贯情绪片推荐)。
- 分段自带 BGM:每段音乐要有头有尾、乐器调性连续、段尾不硬停,衔接点按
audio_handling过渡。 "全片一条曲线"只写在 plan 里、却让每段各自现编完整曲子,就会出现段间忽大忽小、突然断掉。
没有角色对白的剧情片、宣传片、设定展示片、概念短片,除非用户明确要求纯视觉 / 无声,否则要设计旁白或画外音承担必要叙事。
音频计划是生成前和合成前的制作安排。 它不作为当前 VLM 审查的通过 / 不通过条件。
10. 成片终审和交付
合成后做成片终审:
- 风格是否统一。
- 角色和道具是否漂移。
- 故事主线能否盲看复述。
- 段间因果是否断裂。
- 画面转场和接缝是否自然。
- 关键画面文字和文字路标是否清楚。
- 关键物品流动是否连续。
- 画幅、节奏、交付平台是否适配。
终审必须给完整通过 / 不通过结论。 视频太大或输出截断,就拆小审,再汇总。
三、返工和版本
审查不通过时,先判断根因,不空手重抽。
回流规则:
- 剧情、主线、承接、镜头动机错,回编导。
- 角色、场景、道具、关键特写参考错或缺,回素材。
- 生成要求漏逐字台词、文字、光影、空间方向、参考职责,回提示编译环节。
- 片段本身对但剪辑顺序、切点、转场错,回合成。
版本规则:
- 个别局部瑕疵但整体方向对,在上一版基础上定向修。
- 整体跑偏才换思路重做。
- 每次重做用新版本名:
_v2、_v3。 - 绝不覆盖上一版。
- 最终采用哪版,写回
director_plan.json对应段的终版记录。
整片风格是全局属性。
中途要换风格,不能只改后半段。
正确做法:
把新风格当全新全片基准,按顺序统一重做:
style_contract → 风格锚点图 → 角色卡身份母版 → 场景 / 道具 → 故事板 → 视频。
四、放行自检
- 剧本正文已经落盘,不只存在于对话里。
director_plan.json是唯一事实源,manifest.json更新了阶段状态。- 主线和前三秒钩子已在编导方案中成立。
- 角色、场景、道具、关键特写、风格锚点、blocking 图、场景运动轨迹图、路径图按 plan 补齐。
- 风格契约已写入 plan,并被角色 / 场景 / 道具 / 视频 prompt 继承。
- 每段 3×3 九宫格故事板已过审,并作为剧情流动参考参与。
- 每段视频在执行计划中有段内时间轴粗设计,并在生成要求中细化为可执行变化。
- 每次生成前都有可回查的调用前自检通过结论;逐字台词、画面文字、参考职责、承接状态、生成设置一致性都已过审。
- 链式延展段已使用上一段过审终版作为真实参考依据,并在生成要求里明确"基于参考继续往后扩写"。
- 图、故事板、视频段、滑窗拼接、成片终审都已审。
- 合成按
director_plan.json的终版段清单执行,不扫目录。 - 音频作为制作计划处理,不作为 VLM 放行条件。
- 返工另存版本,回根因环节修,修完逐条复审。
反例库(流程事故,别重犯)
- 直接从剧本跳视频:文学剧本写得很好,但没有编导镜头节拍、资产清单和承接状态,生成出来就是人在场景里做动作。正解:先产出可执行
director_plan。 - 扫目录合成:目录里混着 v1、v2、试验片段和废弃文件,自动扫描后乱序混料。正解:只按
director_plan.json的终版段清单合成。 - 后面场景没参考包:前几个场景有多视角,后面靠文字硬生,空间越来越漂。正解:素材阶段做 scene coverage check。
- 声明了却只出一张单机位图:plan 每个场景都写了要 2-3 个视角、要登记色卡,素材阶段却每个场景只生成一张单机位图、一张色卡都没做,把颜色和视角全押在后续 prompt 的一句文字上。结果色彩没有视觉锚点各段乱漂、跨镜头空间关系失守、穿帮明显变多。正解:声明即承诺,素材收口逐条点数——承诺几个视角就出几个,承诺色卡就真生成一张登记进资产,凑不齐不进下一环。
- 齐刷刷盖章放行:制作跑到收尾,把 entity / asset / animate / compose / review 几个阶段状态一次性全标成 done,终审还没等审查实际看完就写"全部通过",实际接缝穿帮和漂色根本没被审到。正解:每个阶段各自等真实产物过审再落状态,终审结论以实际审查记录为准,不提前盖章。
- 画了不用:故事板过审了,但视频生成没有拿它当剧情流动参考,成片事件顺序和情绪推进全漂。正解:故事板必须真实参与生成;画面比例、站位和精确路线另看 plan / blocking / route map。
- 参考全塞:把角色多视角、场景、道具、风格图全丢进每段,模型误读成多人或风格冲突。正解:每镜只用必要参考,并写清职责。
- 单段都过,拼起来断:单段看着没问题,1+2 接缝人物距离、背景、道具全跳。正解:必须滑窗审每个相邻拼接。
- 链式段没用上一段视频:plan 已经把长镜头拆成链式延展,生成第二段时却只写"承接上一段"和首尾帧,不传上一段视频参考,成片人物姿态、光线和动作速度重置。正解:链式延展必须串行等待上一段过审终版,把上一段视频作为参考视频传入,并在 prompt 写"基于参考视频继续往后扩写"。
- crossfade 吃掉前段:最后一步图省事用
video_crossfade把 47 秒的 mid_body 叠到 12 秒的片尾段,没传offset,默认 4.0 让 xfade 输出总时长只有 4+12=16 秒,前段 43 秒被丢弃,成片容器还虚标 58 秒,肉眼看就是"后面内容没了"。正解:中间接缝在生成层设计咬合帧、合成用video_concat硬切,crossfade 只留片尾;合成后用-c copy -f null -复核真实解码时长。 - 覆盖旧版:新抽一次把原来正确的构图和身份也丢了,还覆盖了旧文件。正解:另存新版本,保留可回退版本。