Imported from VANTSU-1874/woods-video-studio (
skills/seedance-storyboard-skill/SKILL.md). Install upstream withnpx skills add VANTSU-1874/woods-video-studio --skill seedance-storyboard-skill. Copyright stays with the author.
Seedance 2.0 分镜编写技能
源剧本台词语义保真
- 普通 Seedance 提示词必须完整保留
资产/converted-scripts/epXX.md中源剧本的每一句台词。 - 在
storyboard-artistsubagent 内部,起草任何 S 段之前,必须先基于资产/converted-scripts/epXX.md建立内部源台词清单:每句原始台词一行,包含原文、说话人/声源、声音类型、是否对口型,以及计划归属的目标 S 段。提示词必须对照该清单编写;输出前每一行都必须被分配到且只分配到一个 S 段。若一句较长台词需要跨多个子镜头呈现,清单中仍只归属一个目标 S 段,并标记为“同句拆分串联”,不得复制到多个 S 段或多个子镜头中完整重复。 - 该清单只保留在 subagent 内部。不得把完整源剧本或清单贴回主会话;文件落盘后,由
dialogue-checker在干净上下文中独立检查是否新增台词、删减台词、漏台词或重复台词。 - 必须严格保持源剧本语义:
旁白保持为旁白/ 叙述 / 画外音 / 不对口型。- 角色对白保持为该角色的对白并对口型。
角色(VO)/角色(画外音)保持为该角色的画外音/不对口型;不得改写成泛化的旁白。- 如果源剧本舞台提示明确写了
角色的内心独白,必须使用该角色内心独白/不对口型格式。 心声保持为不对口型的心声。- 源剧本中的旁白行不得改写成
祝今虞(内心独白)或任何其他角色的声音,除非源剧本明确这样标注。
- 不得新增旁白、遗漏源台词行、缩短源台词行、把两句源台词合并改写成一句,或把某句台词移到其他段落。
- 同一句源台词不得因多角度、反应镜头、过肩镜头、道具特写或慢动作强化而重复完整出现。较长台词可以按原文顺序拆成多个片段,在不同子镜头中串联一次完整表达,例如主说话人起句、听者反应中画外声继续、道具特写中收尾。
- 真正阻塞依据是
dialogue-checker对源剧本和产出/epXX/02-视频提示词.md的独立检查;只有确认真实新增台词、删减台词、漏台词或重复台词,才返修产出/epXX/02-视频提示词.md。
提示词阶段边界
- 本技能只用于普通 Seedance 提示词编写。
- 唯一输出文件是
产出/epXX/02-视频提示词.md。 - 使用本技能时,不得读取、创建、编辑、校验或修复
产出/epXX/03-故事板图片提示词.md和产出/epXX/04-故事板视频提示词.md。 - 使用本技能时,不得运行
storyboard-prompts validate --require-video、storyboard-prompts sync-registry或storyboard-prompts repair-video-paths。 - 故事板文本产物由后续
/ly-storyboard阶段通过storyboard-generator生成。
用户业务规则覆盖
- 如果
project-rules.md存在,起草前必须先读取,并提取与普通 Seedance 提示词编写相关的所有规则。 project-rules.md的优先级高于本技能默认业务规则、seedance-prompt-methodology.md和templates/seedance-prompts-template.md,但低于工程硬性门禁。- 按同主题局部覆盖应用,不是整套替换。如果用户定义了台词占比、旁白占比、镜头数量、时长偏好、节奏或禁忌表达规则,只覆盖对应的同主题默认业务规则,未涉及的默认规则继续生效。
- 例:如果
project-rules.md定义了台词/旁白占比要求,则该主题的拆分策略、统计表字段和通过判定都以用户规则为准。但仍必须逐字保留源剧本每句台词、保持说话人/声源/口型语义、保持每段视频使用5/6/9/10/12/15秒固定档位且不超过 15 秒、保持规范epXX-PYY-SZZID、保持 @引用绑定,并保持内容确认与文件落位门禁。 - 如果用户规则与默认规则冲突且无法判断是否属于同主题覆盖,必须停止并报告冲突,不得静默沿用默认规则。
[前置必读]
开始编写前,必须完整阅读 seedance-prompt-methodology.md(一次读完,后续不再重复传入)。
该文件中包含以下所有规则的详细说明,本次任务中不会传入完整文件,以下规则摘要不能替代它:
| 规则 | methodology 中的位置 |
|---|---|
| 节拍密度(1拍≈2.5秒) | 第一性原则 > 节拍密度约束 |
| 头尾安全区(前后各0.5s) | 第一性原则 > 头尾安全区 |
| @引用语法与组合写法 | @引用语法 |
| 运镜词汇大全 | 运镜词汇 |
| 动作词汇参考 | 动作词汇 |
| 禁忌规则(否定句、重复描述等) | 禁忌规则 |
| 平台约束(≤9图/≤3视频/≤3音频) | 平台约束 |
| 分时段描述(≥10秒推荐使用) | 提示词结构 > 分时段描述 |
| 声音/台词写法 | 音频设计 |
| 剧情类型 → 镜头设计规则(加强法则) | L448-L609 |
| 逻辑自检清单 | L610-L734 |
重点:加强法则(L448-L734)是设计子镜头的核心依据,不是"写完后检查"的可选项,而是"编写每条提示词时必须执行的工序"。
[技能说明] 核心职责链:接收导演镜头级讲戏台本 → 二次拆分/整合为正式 Seedance 分镜 → 判定剧情类型 → 按加强法则补足可执行子镜头 → 编写 Seedance 提示词。
**职责边界(强制)**:导演讲戏已经决定核心表演、运镜、镜头设计、重点画面、反应链和情绪落点。分镜师只能做二次拆分、合并、承接和 Seedance 可执行化表达;不得脱离导演讲戏另起一套表演、运镜或镜头方案。为了满足时长、子镜头数量、空间衔接或生成模型可读性,可以补充低侵入的过渡动作、首尾承接和镜头描述,但不得改变人物动机、台词落点、情绪节拍、机位意图、重点画面锚点或高光呈现方式。
**导演讲戏本现在是场次 + 融合式镜头级讲戏台本**(P01/P02...下含镜1/镜2...,每个导演镜头由连续融合段落组成,重点镜头在标题中标注重点功能,特殊拍法、表演设计、光影氛围和情绪冲击都融合在段落里)。导演镜头编号不是正式分镜 ID;导演镜头是戏剧段落单位,不是 Seedance S 段。分镜师必须按融合段落的时间顺序继承镜头设计、画面、台词和表演,并根据台词长度、动作密度、情绪转折、机位变化、重点镜头强化和时长限制二次拆分/整合为正式 `epXX-PYY-SZZ` 分镜。不得默认 `镜1 = S01`、`镜2 = S02`;也不得把拆分/整合理解为重新设计表演或运镜。
**分镜 ID 规则**:规范分镜 ID 使用 `epXX-PYY-SZZ`;`PYY` 跟随导演场次编号,`SZZ` 在每个 `PYY` 内部从 `S01` 重新开始。示例:`ep01-P01-S01`、`ep01-P01-S02`、`ep01-P02-S01`。不得在 `PYY` 场次切换后全局连续编 S 号,不得把 `P/S` 写成小写,也不得在同一 `PYY` 内跳号或重号。
**【核心】子镜头时长约束(加强法则)**:
每个分镜的剧情类型决定了其内部子镜头(sub-shot)的时长上限:
- 打戏/战斗:每子镜头≤2秒
- 对峙/对话:每子镜头≤3秒
- 追逐/逃亡:每子镜头≤2秒
- 情绪爆发:每子镜头≤3秒
- 铺垫/伏笔:每子镜头≤4秒
- 悬疑/惊悚:每子镜头≤3秒
- 浪漫/温情:每子镜头≤4秒
- 死亡/牺牲:每子镜头≤3秒
- 转场/过渡:每子镜头≤3秒
- 内心独白:每子镜头≤4秒
输出前,每个 S 段必须包含足够数量的可见 `镜头N` 子镜头,满足 `ceil(分镜总时长 / 子镜头上限)`,或明确标注子镜头时间分配(例如 `镜头1(0-3秒)`)。如果某段时长 15 秒且类型为对峙/对话,则至少需要 5 个子镜头,或用明确的时间标注证明每个子镜头都不超过 3 秒。这是上游生成阶段的工序,不是导演内容确认阶段的收尾修补。
完整设计规范(节奏原则、轴线规则、禁止事项等)见 methodology.md L467-L609,**编写每条提示词时必须参考**。
[文件结构] seedance-storyboard-skill/ ├── SKILL.md # 本文件(技能流程说明 + 规则摘要) ├── seedance-prompt-methodology.md # 前置必读:完整方法论(详细规则、加强法则、词汇表、示例) ├── examples/ │ └── seedance-prompt-examples.md # 官方提示词参考示例 └── templates/ └── seedance-prompts-template.md # 产出模板(输出格式定义)
[执行流程]
第零步:完整阅读方法论(强制)
**在开始任何编写之前,必须完整通读 `seedance-prompt-methodology.md`。**
重点阅读 L448-L734(剧情类型 → 镜头设计规则 + 逻辑自检清单),这是设计子镜头的核心依据。
第一步:读取上游产物
- 读取 project-config.json(visualStyle、visualStyleNotes、outputLanguage)
- 读取 **project-rules.md**(如存在):用户自定义业务规则(如台词/旁白占比、单集或单段时长偏好、镜头数量、禁忌表达等)。这些规则按同主题局部覆盖 skill 默认业务规则;输出时条件性追加对应字段,且内容确认时以用户规则作为同主题判断标准。
- 读取 **资产/asset-registry.json**(强制,获取所需资产的准确文件路径):必须通过 `node .claude/tools/ly.js context read --file 资产/asset-registry.json --asset <资产名> --variant <变体> --episode epXX` 按条目读取,不得全文读取 registry。
- 读取 **.claude/production/state/asset-snapshots/epXX.json**(强制):本集 locked snapshot 是最终视觉事实源。后续模型默认非多模态,不能看懂图片像素;静态视觉事实只能来自快照 `visualText`(资产提示词基线、用户编辑指令、用户最终视觉说明)。若某资产只有图片路径没有文字事实,不得凭路径推断颜色、材质或款式。
- 读取 01-导演讲戏.md(导演讲戏本,**注意:现在是场次 + 镜头级讲戏台本,不含正式 S 段**)
- 导演讲戏本已包含完整的活人感信息,**必须继承到提示词中**:
- 动作描写详细到物理细节(如"双手被麻绳反绑在身后、手腕交叠贴紧")
- 微表情描写(如"眼眶泛红、嘴唇颤抖、牙关紧咬")
- 语气/情绪标注(如[带着颤抖的哭腔]、[低声威胁])
- 位置关系(人物在场景中的物理位置和姿势状态)
- 光影氛围(具体光源、色调、情绪烘托)
- 每个导演镜头的融合式镜头段落,以及重点镜头标题中的重点功能标注
- 重点镜头段落内已融合的设计(人物出场、打脸、羞辱、压制、反杀、反派压迫、误会升级、关系破裂、反转、身份揭露、证据出现、情绪爆发、悬疑悬念、结尾钩子等高光的判定理由、多角度、多景别、构图压迫、非常规视角、面部特写、反应链、慢动作升格感、表演设计和光影氛围)
- 如果导演讲戏没有给出某个核心表演、运镜或重点画面,不得为了“更有画面感”自行新增替代方案;只能在不改变导演意图的前提下补写必要的空间承接、动作连续性和生成模型可读描述。
- 读取 资产/人物提示词.md(本集所需段落)
- 读取 资产/场景提示词.md(本集所需段落)
- 读取 资产/道具提示词.md(本集所需段落)
- 三个跨集提示词文件必须通过 `node .claude/tools/ly.js context read --file <file> --id <资产或章节标题>` 按段落读取;读取具体变体时优先使用 `<资产名>.<变体名>`,不得全文读取。
第二步半:拆分场次为分镜镜头(核心步骤)
**导演给了场次 + 戏剧段落镜头讲戏单元,你来二次拆分/整合为正式 Seedance 分镜。导演镜头数量不等于正式 S 段数量;一个导演镜头可以拆成多个 S 段,连续的轻量导演节拍也可以在不丢信息的前提下合并进一个 S 段。** 按以下工序执行:
1. **识别叙事动作节点**:逐场次读取导演镜头的融合式镜头段落,在每个导演镜头内部找出所有独立的叙事动作节点(人物做出实质性的新动作、台词语气发生转折、人物关系发生变化、机位/景别/光影落点明显变化,或剧情进入新的事件状态)。
- 对导演讲戏中标注或描述的重点镜头呈现意图建立内部清单:人物出场、打脸、羞辱、压制、反杀、反派压迫、误会升级、关系破裂、反转、身份揭露、证据出现、情绪爆发、悬疑悬念、结尾钩子等必须落到至少一个 S 段中,并继承判定理由对应的情绪功能、特殊拍法、表演设计和光影氛围。
- 导演镜头融合段落中的画面、镜头设计、台词和表演必须按原时间顺序继承为对应 S 段的核心画面和氛围,不得因为整合分镜而丢失、调换或拆成重复子镜头。
- 同一融合段落里的画面与表演是一体的,不得先生成“画面子镜头”再生成“表演子镜头”;台词必须落在导演指定的动作节拍中,不得因拆分延后。
- 重点镜头的多角度、多景别和反应链必须服务同一条台词链。若导演讲戏中的同一句台词跨多角度呈现,分镜师只能按原文顺序拆分串联,不得在多个子镜头或多个 S 段中重复完整台词。
- 不得把导演给出的运镜改成另一种运镜,不得把导演给出的表演反应换成新的表演反应,不得把导演标注的重点功能转移到其他人物、其他道具或其他情绪落点。
2. **初步分配分镜**:按叙事动作节点、台词长度、表演密度、重点镜头强化需求和 15 秒上限分配当前场次 `PYY` 内的正式分镜(S01/S02...,新场次重新从 S01 开始)。同一个导演镜头内部可以产生多个 S 段;不得因为导演讲戏只有 8 个镜头就只输出 8 个视频提示词。正式剧情分镜通常包含 5-10 个子镜头;空镜过渡备用段按专门规则写 3-5 个短空镜过渡镜头。
- **时长优先级**:正式剧情 S 段默认优先 15 秒。只有动作、台词、反应链和情绪推进不足以支撑 15 秒时,才降为 12 秒或 10 秒;5/6/9 秒主要用于空镜、轻过渡、极短动作或特殊节奏。不得把 10 秒作为惯性默认档位;同一场次大量 10 秒正式剧情段必须回查是否拆分过碎、是否遗漏导演讲戏中的表演/反应/运镜节拍。
3. **判定剧情类型**:为每个分镜判定剧情类型(打戏/对峙/对话/追逐/情绪爆发/铺垫伏笔/悬疑惊悚/浪漫温情/死亡牺牲/转场过渡/内心独白)。
- 若导演讲戏指出人物出场、打脸、反杀、证据揭示、情绪爆发等高光,本分镜必须选择能承载该高光的剧情类型和镜头密度;必要时用多角度反应、近景表情、手部/道具高光、慢动作升格感和静默停顿强化。
4. **执行合并规则**:扫描同一场次内连续分镜:
- **时长合并**:若存在两个连续分镜时长均 < 10s → **必须合并**(两者相加不管是否超过 15s 都要合并)
- **密度合并**:纯氛围铺垫子镜头(无人物/无台词)最多 **2 个**,超出必须删除或合并。若分镜为「铺垫/伏笔」类型且纯氛围子镜头(无人物/无台词)占比 >60% → **强制与下一分镜合并**(不论时长),合并后压缩氛围镜头至 ≤2 个。每个铺垫/伏笔分镜必须包含至少 **1 个**核心人物动作或台词——不允许整个分镜无人物出现
- 合并后总时长 > 15s → 按加强法则压缩至 ≤15s
- **台词密度拆分**:每个 S 段必须计算台词总字数。`总台词字数 <= 时长秒数 * 4.5` 为正常;`> 时长秒数 * 4.5` 为高密度警告;`> 时长秒数 * 5.5` 为超载,必须拆成更多 S 段、延长或调整台词分布。不得删台词、合并台词或要求模型快速念完。
- 合并时:子镜头保持原有画面和剧情顺序不变
- 场景切换(P01→P02)不合并
5. **设计镜头连贯性**:
- 同一场次内连续分镜,S02的第一个镜头 = S01的最后一个镜头(**文字一模一样**)
- 确保相邻分镜之间衔接无缝
- 不采用“状态一致但更换镜别/角度”的首镜写法;本项目业务标准要求逐字复制上一非空镜分镜最后一个子镜头
6. **推导空间状态(强制)**:
在编写每个分镜的提示词之前,必须先确定该分镜起始时刻的完整空间关系:
**S01(场次首个分镜)**:
- 从导演讲戏本提取初始空间状态,补充场景常识性锚点
- 列出场景关键参照物(门、窗、墙壁、家具等)的位置
- 确定每个出场人物的初始位置、朝向、姿态
**S02+(同场次后续分镜)**:
- 读取上一分镜「空间关系」字段 = 上一分镜的结束空间状态
- 读取上一分镜最后一个镜头——人物最后做了什么动作、移动到了哪里
- 根据动作推导新的空间状态(如"他走向铁门"→ 更新位置为铁门前)
- 将推导结果写入当前分镜的「空间关系」字段
- 人物增减:新人物进入 → 分析从何处进入(门外/走廊/楼梯等);人物离开 → 分析如何离开(走/跑/被带走/消失方向)
**场景切换(P01→P02)**:
- 不依赖上一场次,从导演讲戏本重新提取新场景的初始空间关系
7. **插入场次过渡备用空镜**(强制):
- 每场次最后**必须**保留一个该场景的空镜 S 段,作为本场剪辑过渡备用素材统一放置。
- 空镜单独作为一个分镜,标题标明"空镜过渡备用:场景名"或"空镜:场景名"。
- 空镜不是剧情结尾镜头,不承担本场收尾、钩子或下一场信息;它用于后期在同场次正片镜头衔接生硬、空间跳、情绪跳或动作承接困难时插入补缝。
- 空镜 S 段内部必须写成 3-5 个短空镜过渡镜头,不得写成一个单独长镜头。每个短镜头都要根据本场剧情推导可插入的衔接用途,例如空间重置、视线转移、对白停顿、道具强调、情绪缓冲、光影或环境声过渡。
- 空镜内容必须可插入、可复用:优先写环境、关键道具、灯影、门口/走廊/桌面/窗边等空间细节、环境声或氛围变化;不得出现新剧情、台词、角色关键动作或“本场结束”的收尾表达。
- 空镜必须保留到普通视频提交和故事板视频提交;只在故事板图片阶段跳过
第三步:建立素材对应表
- 根据 asset-registry.json、人物提示词.md、场景提示词.md 和 道具提示词.md 为本集素材分配 @引用编号
- 不在素材文件中的人物(群演/一次性配角)不分配 @,直接用文字描述
- **先人物,后场景,后道具**,编号连续
- **全局编号,不得分段重置**:`@图片N` 是整份 `02-视频提示词.md` 的全局编号,所有 S 段共享同一张素材对应表;不得在每个 S 段重新从 `@图片1` 开始编号
- **人物全名规则**:引用时必须使用完整名称,禁止缩写
- **@引用必须指定实体**:引用声明必须同时说明"是谁"或"是什么"
- **素材对应表必须包含本地路径列**:从 asset-registry.json 查表获取每个引用编号对应的 `localPath`,填入对应表;正文中出现的每个 `@图片N` 都必须能在素材对应表中找到真实存在的 `资产/本地资产/...` 图片路径
第四步:为每个分镜编写提示词
每个分镜 = 一条 Seedance 提示词。
**【格式规范】**:
- 视觉风格声明:读取 project-config.json 的 visualStyle 和 visualStyleNotes。空间关系后**空一行**,再以单行声明(格式为 `[visualStyle + visualStyleNotes],实拍电影风格,实拍微短剧视频风格。不要配乐,不要字幕。`),声明后**再空一行**再开始镜头描述。**末尾不再重复**
- @引用:在开头**独立成段**声明,每个引用必须同时指明具体名称
- **空间关系(强制)**:@引用声明之后、视觉风格声明之前,必须新增独立一行「空间关系」字段。内容包括:
- **场景锚点**:列出场景中关键参照物的位置(门、窗、墙壁、家具、走廊入口等)
- **人物-场景关系**:每个角色在场景中的绝对位置,用锚点描述(如"靠窗一侧墙壁前""走廊拱门入口处")
- **人物-人物关系**:角色之间的相对位置、距离("不到半臂""约三米")、朝向("面对面""背对")、高度差("头顶到下巴高度")
- **关键道具位置**:有独立空间意义的道具(如茶几上的蛋糕、地板上的拖鞋)
- **光源方向**:主光源位置和方向
- 空间关系的推导规则见第二步半第6步,缺省则自检不通过
- **镜头编号代替时间分段**:用`镜头1:... 镜头2:... 镜头3:...`描述
- **不标注具体秒数分配**,时长由 Seedance 自动控制
- **景别/角度使用边界**:普通过场不机械堆砌景别;人物出场、打脸反杀、身份揭露、证据出现、情绪爆发、结尾钩子等重点高光,必须继承导演讲戏中的多角度、多景别、反应链、慢动作升格感等呈现意图,并转化为自然镜头描述
- **单分镜镜头数**:正式剧情分镜通常 5-10 个(不固定,根据叙事需要);空镜过渡备用段为 3-5 个短空镜过渡镜头
**【段落间空行规则(强制)】**:每条提示词内部各段落之间必须有一行空行分隔:
```
### epXX-PXX-SXX 标题
**时长**:15秒
**剧情类型**:[类型]
**Seedance 2.0 提示词**:
人物 XX 参考 @图片N,场景 XX 参考 @图片N。
空间关系:...
真人写实,实拍电影风格,实拍微短剧视频风格。不要配乐,不要字幕。
镜头1:...
镜头2:...
```
镜头之间不加空行,其余各段落之间均保持一行空行。
**【动态描写要求】**:
- **必须继承导演讲戏本中的活人感信息**,动作/表情/语气必须详尽到物理细节
- **必须继承导演讲戏本中重点镜头段落内的融合设计**:重场的多角度、多景别、构图压迫、非常规视角、反应链、慢动作升格感、表情骤变、面部特写、手部/道具高光、空气骤冷或全场静默等画面锚点不得丢失;画面与表演按导演融合节拍一起继承,不得拆成重复子镜头
- **禁止重新导演**:不得自行新增或替换导演讲戏没有的核心表演、运镜、机位重点、情绪爆点、反应链或高光镜头。补充细节只能服务于 Seedance 可执行性和连续性,不能改变导演讲戏的戏剧含义。
- 包含身体动作(头颅扬起、手指蜷曲、膝盖弯曲等)
- 包含微表情(睫毛颤动、眉心微蹙、鼻翼翕动、嘴角抽动)
- 包含光影细节,但必须服从场景变体:同一场景同一变体不得改变主光源方向、色温、曝光、阴影长度;只有引用不同场景变体或剧本明确时间变化时,才允许光影变化。局部道具光效(如法器发光、屏幕闪烁、烛火摇曳)可变化,但不能改场景主光
- 包含环境动态(吊灯旋转、烛火摇曳、水滴滑落)
- 包含服饰细节(裙摆摆动、衣角飘动、头发飘动)
- **资产状态变化写法(强制)**:只写剧情造成的动态变化,不写未确认的静态起点。正确:`上衣被鲜血逐渐染成红色`、`衣角被雨水慢慢浸湿`、`道具表面被火焰熏黑`。错误:`雪白的上衣被鲜血染红`、`原本蓝色的外套被泥水弄脏`,除非 locked snapshot 的 `visualText` 明确记录该初始颜色/状态。
- **禁止遗漏或简化**:分镜师不得遗漏导演已输出的动作/表情/语气信息
- **禁止削弱高光**:不得把人物出场、打脸反杀、身份揭露、证据出现、情绪爆发、结尾钩子写成普通过场;必须在提示词中明确强化拍摄角度、构图、运镜、面部表情、表演、反应和氛围
**【台词格式】**:
- **所有台词(对话和旁白)必须嵌入对应的镜头描述中**,不得独立成行。
- 对话类台词:嵌入所属镜头描述末尾,格式为 `镜头N:[画面描述],[角色名][语气修饰]说/低语/问道/喊道:"[台词原文]"`
- **台词链唯一**:同一句源台词在一个 S 段内只能出现一次完整语义链。重点镜头多角度呈现时,可以把长台词拆成 `镜头1` 起句、`镜头2` 听者反应中画外声继续、`镜头3` 道具/面部特写中收尾;不得在每个镜头重复整句。跨 S 段时也不得重复完整台词。
- 旁白类台词:只能在源剧本标注为 `旁白` 时使用,嵌入所属镜头描述末尾,格式为 `镜头N:[画面描述]。旁白:[台词原文]。`;语义上按画外音/不对口型处理,不得改成任一角色的内心独白。
- 内心独白类台词:只能在源剧本明确属于某角色内心独白/心声时使用,嵌入所属镜头描述末尾,格式为 `镜头N:[画面描述]。[角色名] (内心独白,不对口型):[台词原文]。`
- 电话/画外音类台词:嵌入所属镜头描述末尾,格式为 `[角色名] (电话中,不出现画面):[台词]` 或 `[角色名] (画外音,不对口型):[台词]`;源剧本 `角色(VO)` 必须保留角色名,不得写成 `旁白`。
- 心声/声音类台词:凡出现 `某人的音色:"xxx"`、`某人的声音传来:"xxx"`、`脑海中响起某人的声音:"xxx"`、`听见某人心里说:"xxx"`,必须视为该角色台词/心声,保留原文并明确声源。
- 台词原文引用,不翻译。对话用中文引号 `""` 包裹,旁白/内心独白/画外音不用引号包裹。
- 示例格式:
```
镜头5:VIKTOR 抬起右手,指尖在空气中划出一道弧线,他沉声说道:"Tomorrow. I come for my bride."
镜头6:EVELYN 猛地偏头,一缕黑发从额前滑落,她咬着牙回应:"I'd rather burn."
镜头7:VIKTOR 上前一步,身影笼罩住她,他冷冷地补充:"Then burn beautifully."
```
- 旁白示例:
```
镜头1:深夜的卧室沉浸在浓重的暗色中。床头柜上一盏暖黄色小台灯散发着微弱的光晕。旁白:我是林默。我有个从小把我护到大的姐姐。
镜头3:林默的脸一半埋在白色枕头里。旁白:直到这个凌晨两点的电话,把我从睡梦中彻底拽进了地狱。
```
**【人物外观规则】**:
- 仅**首镜**可写1句整体定位(如"Evelyn 站在大厅中央")
- 后续镜头**不重复**任何人物外观描述
- 外观由 @引用 图片提供
**【镜头连贯性】**:
- 同一场次内连续分镜,S02的第一个镜头 = S01的最后一个镜头(**文字一模一样**)
- 场景切换(P01→P02)例外:新场次按导演讲戏本重新设定起始位置
**【空镜过渡备用素材】(强制)**:
- 每场次最后**必须**保留一个该场景的空镜 S 段,结构上放在场次最后,语义上是本场剪辑过渡备用素材,不是剧情结尾镜头
- 空镜单独作为一个分镜,标明"空镜过渡备用:场景名"或"空镜:场景名"
- 空镜应能被后期插入同场次任意两个衔接生硬的正片镜头之间,用环境、道具、灯影、门口、桌面、窗边、空气流动或环境声做缓冲
- 空镜 S 段内部必须包含 3-5 个短空镜过渡镜头,按`镜头1`、`镜头2`、`镜头3`...分开写;不得写成一个持续的长镜头或单一环境描写。每个短镜头都要贴合本场剧情可能出现的衔接断点,并说明可用于空间重置、视线转移、对白停顿、道具强调、情绪缓冲、光影或环境声过渡中的哪一类效果
- 空镜不得承载新剧情、台词、角色关键动作、结局意味、下一场信息或“本场结束”的收尾表达
- 格式同上,用镜头编号描述
- 时长约束:单条提示词只能使用 **5/6/9/10/12/15 秒** 固定档位,不得输出 7/8/11/13/14 秒或“约 X 秒”;单条提示词不得超过 **15 秒**。正式剧情 S 段默认优先 15 秒,信息密度不足时才降为 12/10 秒;5/6/9 秒主要用于空镜、轻过渡、极短动作或特殊节奏。
- 独立生成约束:每个 S 段必须信息完整自洽,不得写“承接上一幕”“延续上一镜”“与上一镜状态一致”等依赖上下文的表述;需要衔接时直接写明起始状态和完整空间关系
- 落盘前必须完成台词密度自检;新增、删减、漏台词或重复台词只由 `dialogue-checker` 判定;推荐语速提醒不自动阻断。
- 人物完整性:每条写完后核对——该分镜"人物"字段列出的人是否都在提示词中出现?
第五步:逻辑自检(必做工序)
按 methodology.md L610-L734 的完整清单执行,包括:
- 物理逻辑(门/窗状态、光源方向、道具状态)
- 空间逻辑(轴线统一、位置一致、过肩方向)
- 时序逻辑(动作时长匹配、上下镜衔接)
- 场景变体一致性:同一场景同一 `localPath` 的分镜不得写成不同时间/光影;回忆段落前后若回到同一现实场景变体,主光方向、色温、曝光、阴影状态必须一致。若需要新时间/光影状态但 registry 没有对应变体,停止输出并要求先补场景变体
- 非多模态资产事实一致性:静态外观只能来自 locked snapshot 的 `visualText`;提示词不得根据图片路径、文件名、旧提示词之外的想象,写出人物服装颜色、道具材质、场景初始状态。所有污染、受伤、破损、变色、浸湿、燃烧等剧情变化必须写成变化过程。
- **镜头连贯性(强制)**:同一场次内连续分镜,S02的第一个镜头 = S01的最后一个镜头(**逐字完全一致,不允许任何差异**)
- **固定时长档位(强制)**:每个 S 段时长必须是 5/6/9/10/12/15 秒之一
- **单段独立性(强制)**:每个 S 段提示词不得出现上下文依赖短语,必须完整写明场景、光影、人物站位、道具状态和情绪状态
- 隐喻/情绪(意象对应、色调统一、节奏匹配)
- **加强法则专项**:剧情类型是否正确?子镜头时长是否合规?合并规则是否执行?每个 S 段是否有足够 `镜头N` 数量或明确子镜时间分配,足以证明每个子镜没有超过本剧情类型上限?
- **导演高光继承专项**:导演讲戏重点镜头段落内融合的特殊拍法、表演设计、光影氛围和情绪功能是否全部落到对应 S 段?人物出场、打脸、羞辱、压制、反杀、反派压迫、反转、身份揭露、证据出现、情绪爆发、结尾钩子是否被多角度、构图压迫、非常规视角、面部表情反应、动作高光和氛围压强强化?画面与表演是否仍在同一节拍内,没有被拆成重复子镜头?
- **台词链唯一专项**:每句源台词是否只形成一次完整表达?重点镜头多角度、反应链、特写、画外声延续是否在串联同一句台词,而不是重复整句?如同一句完整台词在多个子镜头或多个 S 段中重复出现,自检不通过。
- **@引用完整性(强制)**:扫描提示词正文中出现的所有人物全名 → 逐一核对是否在 @引用声明段中出现 → 任一人物未引用则自检不通过,必须补全 @引用后重新输出
- **空间关系专项(强制)**:
- 当前分镜的空间关系是否与上一分镜结束状态逻辑一致?(人物位置无瞬移,移动路径合理)
- 新增人物是否有合理的进入方式(从门外/走廊/楼梯等明确位置进入)?
- 消失人物是否有合理的离开方式(走开/跑出/被带走/明确消失方向)?
- 场景锚点是否清晰可追溯?(读者能根据锚点描述在脑中还原空间布局)
- 空间关系字段是否存在?(缺省直接自检不通过)
- 输出格式(引用独立成段、人物全名、镜头编号格式、空间关系字段)
如自检发现问题,直接修改后再输出。如自检通过,进入第六步。
【自检记录不写入最终文件】:自检是内部工序,用于确保质量,不得将自检过程和结果写入最终输出文件。最终文件只包含分镜提示词和分镜统计表。
第六步:输出
按照 templates/seedance-prompts-template.md 输出。
分镜统计表标准字段(始终输出):分镜ID、时长、剧情类型、子镜时长约束。
**project-rules 条件字段**:根据 project-rules.md 中的用户自定义规则,条件性追加对应字段——如有 R3 则追加「对话/旁白子镜头占比」,无 R3 则不输出此列。
统计表以外的 skill 标准字段(人物、包含旁白、Seedance 2.0 提示词等)不受 project-rules 影响,始终输出。
[核心约束(详细内容见 methodology.md)]
- **禁止静态外观描述(强制)**:提示词正文不得描述 @引用图片已覆盖的人物外观、场景环境、道具外观。只写动态变化——动作、表情、运镜、光影、声音。
- **禁止字幕/文字叠加(强制)**:提示词中绝对不得描述任何字幕、标题卡、文字叠加层。
- **语言跟随 outputLanguage(强制)**:zh → 全中文,en → 中文描述为主(英文台词原文、英文人名保留),不得中英混杂。
- **位置延续(强制)**:同一场次内连续分镜,每条提示词开头必须交代人物当前位置/姿态。上一镜结束状态 = 下一镜起始状态。
- **空间关系一致性(强制)**:每个分镜必须在 @引用声明后包含「空间关系」字段。上一分镜结束时的空间状态(人物站位、相对距离、朝向)必须与下一分镜开始时的「空间关系」字段完全一致,不得出现人物瞬移、站位跳跃、空间矛盾。
- **否定句禁止**:"不要移动镜头" ✗ → "镜头保持固定" ✓
- **不重复参考图已有内容**:重点描述变化,不重复描述静态外观
- **@引用必须指明实体**:如"人物 苏星晚 参考 @图片1",禁止"人物形象参考 @图片1"
- **@引用声明必须独立成段**:引用声明独立一段,不混入正文或括号表达式
- **禁用真实明星照片**:角色外观必须为 AI 生成的虚构人物
- **单分镜时长 ≤ 15s**:超出则拆分,不压缩;整集无时长上限
- **合并规则(强制)**:同一场次内连续两个分镜均 <10s → 必须合并,合并后压缩至 ≤15s
[道具引用特殊规则]
编写提示词时,道具的 @引用需要根据以下规则判断:
### 判断流程
1. **该道具是否穿/戴/携带在某个角色身上?**
→ 是:跳过,**不单独引用道具**,只引用该角色人物
→ 否:继续判断
2. **该道具在当前镜头中是否有独立动作或特写展示?**
→ 是:引用对应道具资产
→ 否:跳过
### 禁止单独引用的道具(穿戴类)
以下道具**禁止单独引用**,正确引用方式:
| 道具 | 禁止原因 | 正确处理 |
|------|---------|---------|
| 白色婚纱 | 穿戴在角色身上,是人物外观一部分 | 引用该角色人物即可 |
| 黑手套 | 角色佩戴,视觉上属于角色的一部分 | 引用该角色人物即可 |
| 银蛇胸针 | 角色佩戴,视觉上属于角色的一部分 | 引用该角色人物即可 |
### 需要单独引用的道具(独立动作类)
以下道具**需要单独引用**:
| 道具 | 引用条件 |
|------|---------|
| 戒指/吊坠 | 被取出、放入、掉出等动作时 |
| 小瓶/药水 | 被拿起、饮用、特写时 |
| 铁链 | 锁链特写、被挣脱等动作时 |
| 剪刀/武器 | 被拿起、使用等动作时 |
[群演/一次性配角] 不在 人物提示词.md 中的角色: - 不分配 @引用编号 - 从导演讲戏本的阐述中提取外观文字,直接写入提示词 - 示例:"尖脸眯缝眼的白袍学员侧头低声说..."(外观来自导演讲戏台本,无需 @引用)
源剧本台词保留确认
产出/epXX/02-视频提示词.md 必须完整保留 资产/converted-scripts/epXX.md / 剧本/NNN.txt 中源剧本的每一句原始台词。
- 必须保留原文内容。只有在每个句子都仍然存在的前提下,才允许把一句较长的源台词按原文顺序拆分到多个子镜头中;拆分是串联一次完整表达,不是多个镜头重复整句。
- 必须保留原始声源/说话人语义:
旁白保持为叙述/画外音,角色对白保持为该角色对白并对口型,心声保持为不对口型的心声。 - 不得把
旁白改成某个角色的内心独白,除非源剧本明确这样标注或用户明确修改了该规则。 - 不得为了重点镜头多角度呈现而重复完整台词;重复台词与新增、删减、漏台词同级,必须返修。
- 交接或内容确认前,是否因台词问题阻塞必须由
dialogue-checker确认。