--- name: skill-movie description: 当用户要制作完整影视视频,且任务需要从创意到成片跨多个阶段推进时使用,包括影视剧集、短片、预告片、MV 等。负责整体制作流程的总控、阶段推进、关键节点把关和最终交付收口,适合尚未拆解的完整成片任务。 --- # Skill · 影视制作主流程(总控) ## 执行卡 - **何时读我**:用户要从需求生成完整视频 / 短片 / 预告片 / 广告片,或要在已有项目上继续制作、返工、合成、交付时。 - **我负责**:串起主流程,维护唯一状态源,决定什么时候可以进下一环,什么时候必须回流。 - **我不负责**:替剧本、编导、提示编译、审查重复写全部专业细则;具体细则回对应阶段规则。 - **输入**:用户需求、项目工作目录、`script.md`、`director_plan.json`、素材、故事板、生成结果、审查记录。 - **输出**:按阶段推进的项目产物、可追踪版本、终版段清单、合成成片和审查结论。 - **失败回流**:任何阶段缺关键产物或审查不通过,回到根因环节补齐;不跳闸门、不靠目录扫文件猜状态。 ## 开拍前先过这 12 个闸门 1. 项目必须有落盘的剧本、执行计划和阶段状态源;不能靠聊天摘要或目录猜当前版本。 2. 每段必须有 3×3 九宫格故事板,但故事板只管剧情梗概、事件顺序、情绪 / 信息推进;不代表分镜、人物细节、材质、场景结构或镜头视角。 3. 人物穿过场景、追逐、逃跑、横穿街道、从场景一端到另一端时,必须先有场景左 / 中 / 右视图 + 红线 scene route map;红线只代表路线,不代表镜头视角。 4. 每段视频必须有段内时间轴变化设计:执行计划先粗拆,生成要求再细化;不能只写一串总体动作。 5. 执行计划必须有钉死的调色板和色卡:`style_contract.color_palette` 写清主 / 辅 / 点缀色、色温、对比度、影调、LUT,色卡登记进资产;每段图和视频生成前都复述同一份颜色,不能只靠一张风格锚点图控色。 6. 主要人物、关键道具、核心场景若有关键视觉状态变化,必须先有状态变体参考图或状态参考组;不能只拿基础参考图靠文字临场改(STATE-1)。 7. 需要观众看清的食材、材质、产品、文字、屏幕、破损或状态证据,必须先有单独关键特写素材;特写要从基础资产 / 状态资产 / 所在场景参考放大而来,不能从全景硬裁,也不能凭空另画导致场景偏移(CU-3)。 8. 涉及吃、喝、拿、夹、舀、切、吸、抿、咀嚼的段落,执行计划和生成要求必须按对象属性写清处理方式;不能把所有东西都手拿、所有饮品都大口喝、所有食物都一口吞(USE-1)。 9. 有食物、液体、热量、重量、湿滑、锋利、燃烧、碰撞的段落,执行计划和生成要求必须写清生活物理与人类本能反应;酱汁会滴、热汤先吹、大块食物分口、液体会晃(PHYS-1)。 10. 每次生成前都要先做调用前自检:能说清本次生成依据、参考素材职责、故事板边界和关键生成设置;自检没明确通过,主流程停。 11. 最终图像 / 视频生成要求必须写满画面细节,并保留执行计划给出的镜头参数、段初段末承接和关键道具持有链。 12. 链式延展必须串行等待上一段过审终版,并把它作为下一段的真实参考依据;不能只用首尾帧文字冒充连续性。 ## 红线速查(主流程层) 主流程层只做闸门,不另起本地编号体系。 需要定位到具体创作硬伤时,回对应阶段规则使用共享故障标签。 | 红线(出现即停) | 正解 | |---|---| | 从用户需求或文学剧本直接跳到视频生成 | 先有落盘剧本,再有可执行 `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 -` 复核真实解码时长。 - **覆盖旧版**:新抽一次把原来正确的构图和身份也丢了,还覆盖了旧文件。正解:另存新版本,保留可回退版本。