workflow
在 Toonflow 当前画布中把创意、小说或定稿剧本制作成可查看的文本、图片资产和视频片段,支持复用素材、续作与局部修改。用于实际制作或继续已有项目;明确只要对话文字时不操作画布,讨论或编辑技能本身时不启动制作。
ソース情報
- リポジトリ
- HBAI-Ltd/Toonflow-app
- ソースの最終更新活動
- 2026年9月29日 07:03
- 検出された SKILL.md の言語
- 中国語
- スター
- 17,911
- フォーク
- 3,179
インストール方法
デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。
ソースファイルを確認
インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。
ファイルエクスプローラー
9 ファイルSKILL.md を表示中
SKILL.md
ソースの指示 · 読み取り専用プレビュー- name
- workflow
- description
- 在 Toonflow 当前画布中把创意、小说或定稿剧本制作成可查看的文本、图片资产和视频片段,支持复用素材、续作与局部修改。用于实际制作或继续已有项目;明确只要对话文字时不操作画布,讨论或编辑技能本身时不启动制作。
- metadata
- {"version":"2.7.0","displayName":"视频制作工作流","author":"Toonflow","github":"https://github.com/HBAI-Ltd/Toonflow-app"}
# Toonflow 画布制作工作流
从用户已有内容接续,把成果放到当前 Toonflow 项目。以本次剧本与真实素材组织制作,不要求用户先补齐一套制片文档。这个包包含所需方法,不依赖原来的多岗位 Skill 组。
## 从哪里开始
先判断本次交付、已有资料和用户明确限制,沿用已知的时长、风格、画幅、语言与版本。只问影响结果且无法合理判断的缺项。
| 已有输入 | 处理方式 |
|---|---|
| 创意或一句话 | 补齐人物目标、阻力和结果,形成可审阅的故事与本次完整剧本 |
| 小说、故事或原著片段 | 确认改编范围,保留原文,追踪事件、人物、对白与未知信息,转成可视听剧本 |
| 已定稿剧本 / 时间轴 + 当前目标是制作、生成、继续或修订视频 | **无论用户是否提到“Seedance”“提示词”或具体模型,都立即进入本文件内嵌的「SEEDANCE EPISODE DIRECTOR · PART A」执行。** 用户未指定模型时,立即锁存 Seedance 路由,并只用一次简短提问确认“Seedance 2.0 还是 2.5”;用户已指定 2.0/2.5 时按对应模型路由。询问模型不得转去画布配置、资产流程或其他提示词方法。 |
| 已定稿剧本 / 时间轴 + 仅要求资产、剧本阅读、诊断或非视频任务 | 只处理用户明确要求的非视频范围;不因为存在定稿剧本就自动生成视频提示词。 |
| Seedance 任务中用户未指定模型 | **必须先确认目标模型。** 只问一次“Seedance 2.0 还是 2.5”;这一步属于 PART A 的 A0 输入判定,不是普通配置询问。用户回答后继续同一个 Seedance 执行态;画幅、分辨率、参考模式、原生音频等执行配置不能替代、绕过或中断该路由。 |
| Seedance 任务中用户已指定 2.0/2.5 | 直接执行 PART A;2.0 走 A9.1、2.5 走 A9.2。 |
| 续集或已有制作 | 读取指定的历史、当前节点和采用记录,确认本次范围,从实际进度继续 |
| 指定一个片段、资产或修改 | 只处理该范围和确实受影响的依赖,不重跑整条链 |
> **Seedance 提示词生成规则已直接嵌入本 workflow,不是外部 Skill,也不是 workflow 去调用另一个 Skill。** 当任务进入「已确认剧本 → Seedance 2.0/2.5 分段提示词」阶段时,必须直接执行本文件下方的 **「SEEDANCE EPISODE DIRECTOR · PART A」**。该内嵌规则是本 workflow 在 Seedance 提示词生成阶段的最高优先级执行规范:以用户提供的 `SKILL-seedance-episode-director.md` A0–A12 为基线,并合入用户之后明确追加的连续性、生成稳定性与穿帮校验规则;若本 workflow 其他段落、references/methods、storyboard 或旧说明与其冲突,以当前内嵌 PART A 为准。除用户后续明确修改外,不得用其他方法重写、弱化或替换其中的剧情保真锁、目标模型确认规则、分段/时长规则、Reference binding、A9 模板、A11 校验或 A12 单次优化。
### Seedance 路由锁存(最高优先级入口规则)
当同时满足以下两项时,**自动视为 Seedance 任务**,不要求用户必须说出“Seedance”“2.0/2.5”“生成提示词”等触发词:
1. 当前已有可执行的定稿剧本、时间轴、镜头剧情段、已确认片段文本,或用户明确要求继续已有视频制作;
2. 当前意图是制作视频、生成视频、继续视频、修订视频、准备视频生成、把剧情做成视频,或对即将生成的视频进行配置。
一旦命中,立即锁存为 **Seedance 执行态**,并遵守:
- **先进入 PART A,再处理画布执行配置。** 目标模型本身属于 A0 必要输入,不算画布配置;不得先调用画布读取工具(`getCanvas/findCanvasNodes/getCanvasNodes/getCanvasEdges/getNodeTools`)或节点的 `node:getConfig`、先问 provider/resolution/ratio/mode、先做通用分镜,或先进入其他 prompt 方法再决定是否用 Seedance。
- 用户没有指定 2.0/2.5 时,**必须在 Seedance 路由已经锁存后,用一次简短提问确认“Seedance 2.0 还是 2.5”**。提问后保持 Seedance 执行态,不退出、不切换到普通 workflow;用户回答模型后立即从 A0 继续执行 PART A。
- 用户已经指定 2.0/2.5 时,直接把该信息作为 A0 输入;不得再重复询问。
- **目标模型确认与执行配置询问分开。** 未指定 2.0/2.5 时,先在 A0 内确认目标模型;确认后,若执行层还需要询问画幅、分辨率、生成音频、参考模式、供应商等配置,这些问题只能作为同一个 Seedance 任务的执行参数补充。用户回答后仍处于同一个 Seedance 执行态,不得回到通用 workflow、重新选择提示词方法或跳过 A0–A12。
- 用户在配置问答中只回复“16:9”“1080p”“开原生音频”“2.5”等短答案时,这些答案视为**当前 Seedance 任务的配置补充**,不是新任务;不得因为这条回复本身没有再次出现“Seedance/提示词”字样而解除锁存。
- 若用户先问“有什么配置/用什么配置”后再决定,回答配置问题不取消 Seedance 路由;一旦继续制作视频,必须回到/继续 PART A。
- 只有用户明确把任务改成“不要生成/修订视频提示词,只做资产、剧本创作、咨询或其他非视频工作”,才解除 Seedance 路由锁存。
- 实际媒体生成阶段若实时节点不支持 A0 已选模型,只能报告真实能力冲突并回到 PART A 的受影响项处理;**不得用配置层的默认模型静默替换 Seedance 路由。**
**核心:Seedance 是视频制作阶段的导演执行内核,不是只有用户说出某个关键词才触发的可选插件。**
### Seedance 阶段硬隔离(强制)
一旦命中上方“Seedance 路由锁存”——即已有可执行剧情输入且当前目标进入视频制作/生成/修订——立即进入**硬隔离执行态**;不要求用户额外说出“Seedance”或“提示词”:
- 从进入 PART A 到最终提示词输出完成,**只执行本文件内嵌 PART A**,不得再读取或套用 `references/sourceAndScript.md`、`references/methods/*`、任何旧 storyboard/分镜规则或人类教学 references,亦不得从这些文件补第二套分段、时长、镜头、站位、表演、运镜、连续性、声音、Reference binding、模板或 QA 规则。
- 用户已经给定的剧本、时间轴、角色/场景/道具设定、真实参考节点/资产句柄属于 PART A 的输入,不受本隔离限制。
- **唯一例外**:PART A 的 A1.2/A4 明确需要“无参考图时补参考资产/必要设计提案”时,才可按需读取 `references/assets.md`、`references/methods/visualDesign.md`、`references/methods/colorAndLight.md`;只取外观/空间/材质/光线设计所需内容,**不得把这些文件中的时长、镜头、表演或叙事方法带回 Seedance 提示词规则**。完成资产/设计提案后立即回到 PART A。
- Seedance 最终提示词已经按 A11/A12 定稿后,如用户明确要求实际连接参考、写入生成节点或生成/验收媒体,才退出提示词硬隔离,进入 `canvasExecution.md` / `stateAndDelivery.md` 的**执行层**。执行层只能搬运已定稿 prompt、连接真实参考、设置真实模型参数和核验结果,**不得重新改写 PART A 已确定的分段、格式、剧情、站位、表演、运镜或连续性**。
- 若执行层发现模型真实能力与已定稿 prompt 存在硬冲突,只报告具体能力冲突并回到 PART A 受影响项处理;不得由画布规则自行另造兼容提示词。
**目的:Seedance 阶段只有一个导演规则源——本文件内嵌 PART A。优先级声明不能替代硬隔离。**
**仅在剧本尚未定稿、确实需要创作或改编时**读取[输入与剧本](references/sourceAndScript.md)。一旦进入 Seedance 提示词硬隔离,本条停止生效。
## Seedance 提示词生成的内嵌执行核心
以下内容以用户提供的 `SKILL-seedance-episode-director.md` PART A 为执行基线,并已合入用户后续明确追加的连续性、生成稳定性与穿帮校验要求。**运行时直接执行本节,不再读取、不再调用任何独立 seedance-episode-director Skill。** 本节与 workflow 其他内容冲突时,本节优先。
# PART A — 执行规则
═══════════════════════════════════════════
## A0. 输入判定
拿到用户输入后,先在心里判定以下事项;能从文本推断就直接执行,除非缺失会导致成片方向根本不同,否则不要问超过 2 个问题:
1. **目标模型** —— 用户说 2.5 就按单段最长 30s;说 2.0 就按单段最长 15s;**如果用户没说,必须用一次简短提问确认“Seedance 2.0 还是 2.5”后再继续**。该提问属于本 Seedance 任务的 A0 输入判定,提问前后都保持 Seedance 路由锁存;不得因为需要确认模型而转去普通 workflow、画布配置或其他提示词方法。
2. **总时长要求** —— 用户给了严格总时长(如“55s”)就按 A3 做时长预算;没给则由完整剧情的自然节奏估算总长。
3. **叙事规模** —— 判断是单场戏、短集,还是 2–3 分钟甚至更长的一整集。
- 不论多长,**先规划全片,再决定分几批交付**。
- 分批只是交付容量管理,不等于删剧情,也不等于重新切剧情。
4. **原始时间码** —— 若用户已给【0–10s】【10–25s】等时间块,把它们视为原剧情节奏/参考时间轴;除非用户明确说“严格锁死”,否则不能机械等同于生成段。
5. **是否已有资产参考库**(角色图 / 场景图 / 道具图 / 命名标签)?
- 有 → **直接引用**(按 A1.2)
- 无 → 从剧情文本里抽取资产,只登记本集真实出现过的资产;若模型为 2.5 且需要锁定身份,按 A1.2「情况二补充」可先生成参考图。
6. **画面文字来源** —— 区分“后期字幕/标题”与“场景内实体文字/产品包装文字”,按 A1.3 处理。
**核心约束:完整、顺序、可生成。**
- 不丢剧情,不跳过“难拍”节拍。
- 不重排原剧情先后顺序。
- 不为了把段数压到理论最少而牺牲自然对白、动作过程或反应时间。
- 长剧情先建立“全片段表”,再按单批容量切成 Batch 1 / Batch 2 / Batch 3……;每批都保留全局段号。
### A0.1 剧情保真锁(最高优先级 · 全流程生效)
**总纲:只导演,不编剧。**
本 Skill 可以做:**拆分、合段、计时、镜头化、站位化、把已有动作写得可见、补充不改变剧情事实的物理/摄影执行细节。**
本 Skill 不可以做:**新增剧情事件、删除剧情事件、替换剧情事件、改变事件先后、改变事件执行者/承受者、改变道具来源或用途、补写用户没有提供的前史/因果、把模糊角色擅自具体化。**
#### A0.1.1 剧情事实来源优先级
发生冲突时,按以下顺序认定“什么才是剧情事实”:
1. **用户最新一条明确修改指令**
2. **用户当前提供的原始剧情 / 脚本 / 时间轴**
3. **用户明确提供的角色、场景、道具资产设定**
4. **AI 之前生成的提示词、总结、补充说明**
**AI 自己上一轮补出来的内容永远不能反过来升级成剧情事实。**
例如:AI 上一版自行补了“角色A先从容器中取出道具A”,但用户原剧情只写“角色A使用道具A”,下一版不得因为“连续性”继续继承这个额外取出动作。
#### A0.1.2 五类绝对禁止改动
对用户原始剧情中的每个事件,禁止:
1. **新增**:原文没有“开盖 / 抽纸 / 起身 / 递给 / 回头 / 拿起包装”,不得为了顺畅自行补上。
2. **删除**:原文已有动作、对白、反应、停顿、空镜,不得为了时长或表演克制删掉。
3. **替换**:原文是 A 动作,不得改成看起来更合理的 B 动作。
4. **改归属**:原文写“父母 / 家长 / 成人”时,不得擅自指定为“爸爸”或“妈妈”;谁说、谁做、谁拿、谁被擦都必须保持。
5. **改顺序 / 改因果**:不得为了产品逻辑、连续性或镜头美感,把后面的行为提前,或为后面的状态补一个原文不存在的前置动作。
#### A0.1.3 允许的“具体化”边界
只有满足以下条件,才允许把原文动作写得更具体:
- 具体化内容**直接包含在原动作的物理执行中**;
- 不新增新的剧情决定、道具状态变化或角色关系;
- 删除这条具体描述后,剧情事实完全不变;
- 不要求观众获得一个原文没有的新信息。
例如:
- 原文“角色A用道具A擦拭手部” → 可以写“道具A接触掌心并擦过手指”,这是已有动作的可视化。
- 原文“角色A用道具A擦拭手部” → **不能**写“拿起容器 → 打开容器 → 取出新道具A → 再擦拭”,因为新增了多个剧情事件。
摄影机移动、构图、景别、焦点、光线可见结果、已有碰撞对应的拟音,属于技术实现,不视为新增剧情;但它们也不得制造新的剧情事实。
#### A0.1.4 不补前史、不追溯来源
如果某个时间块开始时,原文已经给出一个状态,就把它当作该节拍的**既定初始状态**。
- 原文写“角色A手里已经拿着道具A进入画面” → 直接从“手里已有道具A”开始。
- 不得因为“道具总要有来源”而自行补“拿容器 / 开盖 / 取出”。
- 原文写“角色已经站在某位置” → 可以从该位置状态开始;除非原文明确写了起身/走过去,否则不得补完整移动过程。
**连续性只维护用户已经定义的状态,不负责替用户补没有写出的前史。**
#### A0.1.5 模糊信息保持模糊
用户没有明确的内容,默认保持原有抽象层级:
- “父母 / 家长 / 成人 / 工作人员 / 某人”等泛称保持原有抽象层级,不擅自确定身份、性别或人数;
- “一只手”不推断具体左手/右手,除非镜头执行确实需要且不会形成后续剧情事实;
- “拿道具A”不自动推断“从容器中新取出一件”;
- “使用道具A完成动作”不自动推断使用次数、消耗数量或第几件;
- “在旁边”不擅自创造精确空间关系,除非为镜头生成需要给出中性坐标,且不改变剧情。
#### A0.1.6 源剧情存在空缺/矛盾时
- **空缺**:不自行编桥接剧情;优先用 HARD CUT / 新时间块 / 新段从下一个已知状态开始。
- **矛盾**:不自行选择一个版本覆盖另一个;按用户最新明确修正优先,否则在全片总览标注“源文本冲突”。
- **严格总时长与剧情冲突**:允许增加段数或标注时长冲突,不允许删改剧情解决。
---
## A1. 输出语言与资产命名
### A1.1 输出语言(强制)
**默认全中文。** 正式提示词、资产清单、站位说明、表演层、时间轴——
全部用中文写。
**保留原文不译的部分:**
- 对白台词(原文照抄,如「君は?」「何が?」)
- 数值与单位:`15s` `30s` `24fps` `4K` `2–3mm` `180°` `0:00–0:06`
- 光学角度:`29°` `47°` `84°` `107°`
- 技术缩写:`HARD CUT`
**结构标题规则:**
- Seedance 2.0:结构标题默认中文。
- Seedance 2.5:最终正式提示词固定使用以下英文字段标题:`Objective`、`Reference binding`、`Immutable locks`、`Target duration`、`Timeline`、`Visual direction`、`Audio direction`、`Preserve`、`Avoid`;字段内容默认仍用中文。
**整段英文版例外**:只有用户明确说“给我英文版 / for an international pipeline”时,才把字段内容也改为英文。
### A1.2 资产命名与参考标签
**分两种情况:**
**情况一 · 用户已建立参考标签库**
用户在自己管线里用了命名标签(如 `@HERO1V2`、`@林直人_v2`、
`#老宅客厅` 等)——
- **直接原样引用**,用户给什么就照抄什么,包括 `@` / `#` / 任何符号
- 这些标签是**角色/场景/道具的身份参考句柄**,
对应真实的参考图或已建立的资产库
- **禁止的是:用上一段的尾帧画面作为站位参考**——
站位永远靠绝对坐标在文字里重建(见 A5)
**情况二 · 用户没有标签库**
- 资产名**不加 @**,只用中文名
- 清单写:`角色|林直人` `场景|老宅客厅` `道具|梅酒瓶`
- 正文引用:直接写「林直人」「老宅客厅」「梅酒瓶」
- 同一段多个同类资产:用中文区分「直人杯 / 佐藤杯」
**情况二补充 · 无参考库但需要锁定身份时(Seedance 2.5)**
当目标模型为 2.5、用户既没有标签库也没有参考图,但本段需要锁定角色 / 场景 / 道具身份时:
- 允许先按 Toonflow 资产方法(角色四视图参考板 / 场景主视图 / 道具 2×2 板)生成参考图,再进入 A1.2.1 / A9.2 的 Reference binding;
- 生成的参考图只锁「用户指定或可明确判断」的维度:角色脸 / 发型 / 年龄感 / 体型 / 服装,场景结构与材质,道具主色 / 形态 / 开合结构;
- 参考图不越权控制站位、光线、镜头或额外剧情(同 A1.2.1 的参考图角色分类与冲突处理);
- 仍遵循 A0.1 剧情保真:生成的外观一律视为「设计提案」,不冒充原文事实;不得因此新增剧情事件、道具来源、角色关系或世界规则;参考图中出现原文未提及的人物 / 道具 / 文字,不得自动带入剧情。
---
### A1.2.1 Seedance 2.5 参考图片绑定(强制)
当目标模型为 **Seedance 2.5**,且用户提供了角色图、场景图、商品图、道具图、站位图或其他视觉参考时,必须把这些参考图作为正式提示词的一部分绑定到每个相关生成段。
**硬规则:**
- 用户提供的真实图片节点 / 参考句柄必须**原样引用**,例如 `{{node/image-xxxx}}`、`@角色名_v2`、`#场景名`;禁止自行改名、简写或编造不存在的 Ref。
- 每个 2.5 生成段都是**自包含**的:该段需要的参考图片必须在该段自己的 `Reference binding` 中重新列出,不能写“同上”“沿用上一段参考图”。
- 全片反复使用的角色图 / 商品图,也要在每个实际涉及它们的段中重复绑定。
- 只绑定本段真正相关的参考图,不把全集所有图片无差别塞进每一段。
- 一张图片只控制它被用户指定或可明确判断的维度,禁止越权控制其他维度。
**参考资产提取与简单标识:**
- 先从本段剧情、镜头、动作与画面内容中自动提取**本段实际涉及且确实需要调用**的真实参考资产;角色图、场景图、商品图、道具图、站位图、动作图等都按实际用途识别。
- 对每个真实参考只做**简洁身份标识**,说明它对应谁 / 什么 / 哪类用途即可,例如“林直人角色参考”“老宅客厅场景参考”“梅酒瓶道具参考”“本段站位参考”。
- 不在最终 `Reference binding` 中展开长篇“控制什么 / 不控制什么”说明;参考图的内部作用边界仍按用户明确用途与可明确判断的内容理解,禁止越权把参考图里的额外人物、道具、背景、文字或姿态带入剧情。
- 用户明确说“仅位置参考 / 仅服装参考 / 仅产品参考”等时,简单标识中保留这个“仅”的用途限定,例如“仅站位参考”“仅服装参考”。
**冲突处理:**
- 用户文字设定与参考图冲突时,按 A0.1.1 的事实来源优先级处理;用户最新明确文字修改优先。
- 多张参考图彼此冲突时,不自行融合成新设定;按用户明确用途分别使用。
- 参考图中存在用户未提及的额外人物、道具、文字或装饰,不自动引入剧情。
**2.5 Reference binding 推荐格式:**
```text
Reference binding:
- {{node/image-xxxx}}:林直人角色参考
- {{node/image-yyyy}}:老宅客厅场景参考
- {{node/image-zzzz}}:梅酒瓶道具参考
- {{node/image-aaaa}}:仅站位参考
```
上例中的节点形式仅表示**格式位置**;运行时必须替换为用户真实提供、且本段实际需要的完整节点 ID / 资产句柄,禁止照抄或编造示例 ID。若本段没有任何真实参考图片 / 资产句柄,则整节省略。
### A1.3 画面文字:后期字幕 vs 实体资产文字
必须区分两类文字:
**A. 后期型文字(默认禁止交给生成模型)**
- 字幕、标题、说明卡、旁白卡、贴纸文案、UI 叠字、水印
- 默认写成:**无字幕、无额外屏幕文字、无后期文字叠加**
- 这些文字如有需要,默认留给后期剪辑添加
**B. 剧情内实体文字 / 产品资产文字(不是字幕)**
- 包装袋原有印刷、招牌、信件、书页、手机界面等
- 若用户提供了参考图/资产图:优先写“**严格保持参考资产外观,不新增、不改写、不重绘包装文字**”,不要要求模型凭空生成清晰文字
- 若没有参考资产:除非剧情必须读到具体文字,否则不要把“文字必须清晰可读”设为生成任务
- 用户明确要求某段必须读出文字时,才逐字锁定;同时提示这是高风险生成项
**因此:**“无字幕 / 无额外屏幕文字”与“产品包装上已有文字”不冲突。禁止的是 AI 自行新增或改写文字,不是把真实包装变成无字包装。
---
## A2. 全量节拍解析与顺序保持(不筛掉剧情)
A2 的目标不是“挑几个关键点”,而是把原剧情拆成**完整、连续、可计时的叙事节拍**。五类关键节拍只做标记,不作为删减门槛。
### A2.1 原子节拍:全部保留,并建立“源剧情账本”
先按原文顺序拆出原子节拍,常见类型包括:
| 原子节拍 | 定义 | 示例 |
|---|---|---|
| **对白** | 角色实际说出的完整一句或一组连续句 | 问、答、打断、补充 |
| **动作** | 会改变位置/物件/身体状态的动作 | 拿起、放下、起身、走到门口 |
| **反应** | 因上一事件产生、但不一定说话的反馈 | 停杯、后躲、看手腕、沉默 |
| **信息** | 观众/角色获得新事实 | 看见某物、认出产品、发现伤口 |
| **过渡/留白** | 用户原文明确要求的空间、时间或情绪过渡 | 空镜、环境音、停顿、场景衔接 |
**所有原子节拍都要登记。** 不属于“高潮/转折”的普通动作也不能因此消失。
内部给每个源节拍编号 `E01 / E02 / E03 ...`,至少记录:
- 原文事件是谁做 / 谁说;
- 动作或对白是什么;
- 作用对象 / 道具是什么;
- 与前后事件的原始顺序;
- 用户是否明确给了时间、位置、数量、左右手、道具来源等事实。
后续每个 Timeline 中**会改变剧情状态的句子**都必须能映射回一个 `E##`。允许没有 `E##` 的内容仅限:摄影、构图、光线可见结果、已有动作直接对应的物理细节/拟音,以及不改变剧情事实的执行性描述。
**若某句话会改变人物、道具、位置、数量、关系、信息或因果,却找不到对应源节拍 → 视为 AI 新增剧情,必须删除。**
### A2.2 五类关键标签:只标重要性,不改顺序
在原子节拍上额外打标签:
- **转折点**:关系 / 权力 / 信息发生反转
- **情绪峰值**:本段/本场最强情绪泄露
- **信息增量点**:新信息改变理解
- **决策点**:角色做出选择并承担后果
- **沉默点**:铺垫后的有效留白
**硬规则:**
- 标签可以重叠,一个节拍可同时属于多类。
- 没有任何关键标签的节拍仍然保留。
- **严禁“按情绪曲线排序剧情”。** 情绪曲线只能按原剧情时间顺序标注:低 → 压力 → 峰值 → 释放;它是分析图,不是重新剪辑指令。
### A2.3 每个节拍先做时间预算
对每个原子节拍估算最低自然时长:
`节拍最低时长 = 自然对白时间 + 必要停顿 + 必须串行完成的动作/反应时间`
注意:
- 能自然同时发生的“说话 + 小动作”可以重叠计时;
- 必须先后发生的因果动作必须相加;
- 长对白不能按“长句固定 3–3.5s”粗暴处理;要按实际文本长度、停顿、语气估算自然朗读时间;
- 不确定时宁可留出约 10%–20% 呼吸余量,也不要靠异常快语速硬塞;
- 关键停顿、反应、转身、走位不能被对白完全吞掉。
### A2.4 节拍 → 镜头 → 生成段
只合并**时间上相邻**的节拍,不跨越中间剧情拼接。**合段只改变承载方式,不改变任何 `E##` 的内容、执行者、对象、顺序或数量。一个源节拍可以跨多个镜头表现,但不能被改写成另一个事件。**
一段可以容纳多个节拍,但“1–4 个节拍”仅是经验参考,不是硬上限。是否继续合并,以以下条件为准:
1. 合并后总时长 ≤ 模型单段上限;
2. 所有对白都能以自然语速说完;
3. 关键因果动作有完整过程;
4. 至少留得下必要反应与呼吸;
5. 不因塞得过满导致每 1–2 秒就强制切镜;
6. 段末可以形成清晰、可在下一段重新声明的状态。
出现以下任一情况,应主动开新段,即使理论上还能塞:
- 对白已经接近时间预算上限;
- 同段需要过多彼此竞争的动作/反应;
- 情绪或目标发生明确阶段切换;
- 场景/时间发生切换;
- 继续合并会破坏段间可独立生成性;
- 需要异常语速、瞬移动作或省略反应才能塞下。
### A2.5 长剧情的分批方式
**先完成全片段规划,再分批交付。**
例如一集 180s:
- Seedance 2.0 理论最少 12 段,但实际可因对白密度变成 13、14、15……段;
- 全片段号先固定为 G01、G02、G03……;
- 然后按单批最多 6 段交付:Batch 1 = G01–G06,Batch 2 = G07–G12,Batch 3 = 剩余段;
- Seedance 2.5 同理,单批最多 3 段。
**批次边界只影响一次输出多少段,不改变全片顺序、段号和连续性。**
### A2.6 兜底
如果剧情没有明显转折/峰值,也不要强行制造五类关键点。按原文顺序,以“一个可完整执行的动作/对白/反应单元”为节拍继续规划即可。
---
## A3. 分段与时长预算
### A3.0 先区分“理论最少段数”和“实际段数”
**单段硬上限:**
- Seedance 2.0:每段 ≤ 15s
- Seedance 2.5:每段 ≤ 30s
当用户给出严格总时长时,可先算理论最少段数:
```text
理论最少段数 = ⌈总时长 / 单段上限⌉
```
这个公式只回答“至少需要几段”,**不等于实际必须只做这么多段**。
示例:55s / Seedance 2.0:
- 理论最少 = 4 段;
- 若对白/动作很轻,可以做 15 + 15 + 15 + 10;
- 若剧情密度高,也可以做 12 + 11 + 11 + 11 + 10 = 55s;
- 只要每段 ≤ 15s、总和符合用户总时长、剧情完整即可。
**原则:在“不过密”和“不碎片化”之间取平衡,而不是追求最少段数。**
### A3.1 实际段数的确定顺序
按以下顺序决定:
1. 先完成 A2 的全量节拍与最低时长预算;
2. 从前往后合并相邻节拍;
3. 每接近单段上限时,检查对白、动作、反应是否仍自然;
4. 若不自然,提前截断并开新段;
5. 得到**全片实际段数**;
6. 最后再按 A3.4 分 Batch。
不要先决定“必须 4 段”,再倒逼剧情塞进 4 段。
### A3.2 对白时长检查(硬门槛)
每句对白必须在对应镜头/时间窗内真实说得完。
执行方式:
- 先按自然口语模拟朗读时间;
- 再加入剧本明确要求的停顿、结巴、喘息、欲言又止;
- 如果说话时还有可并行的小动作,可重叠;
- 如果动作必须等台词前/后完成,则单独占时;
- **禁止用异常快语速解决时长不够;**
- **禁止因为时长不够删词、改词、吞句尾。**
若用户给出的“严格总时长”与“全部原文台词 + 必须动作”的最低自然时长互相冲突:
- 优先压缩**AI 自己添加的**空镜、无信息停顿、冗余运镜;用户原文明确要求的空镜、停顿、留白不得压缩或删除;
- 仍不够时,在全片总览明确标注“时长约束冲突”;
- 不擅自删台词或改剧情来假装满足。
### A3.3 时间轴写法
- 每段时间码从 `00:00` 重新开始,便于直接单独投喂模型;
- 全片总览另写该段对应的**全局时间范围**;
- 段内动作时间码不得互相矛盾;
- 并行动作可以重叠时间窗,但要明确“同时”;
- 串行动作必须前后衔接,不能靠同一秒完成多个不可能同时完成的动作。
### A3.4 长剧情与单批容量
**单批交付上限(容量限制,不是全片上限):**
- Seedance 2.0:单批最多 6 段
- Seedance 2.5:单批最多 3 段
超过时:
- 全片段号保持连续;
- 仅拆成多个 Batch;
- 不重新计算前面段号;
- 不把未交付内容称为“被切掉”,统一称“下一批待交付段”。
2–3 分钟剧情完全允许存在 2、3、4 个甚至更多批次。
### A3.5 单段镜头密度(推荐,不是硬上限)
- Seedance 2.0:通常 1–2 个主要镜头;内容极轻时可 3 个,但避免碎剪
- Seedance 2.5:通常 2–4 个主要镜头
如果一段为了装下剧情需要持续高频 HARD CUT,优先拆段,而不是继续塞镜头。
### A3.6 通用禁止与文字规则
默认禁止:
- 不叠化、不闪白、不甩镜、不做无剧情依据的速度变化;
- 不新增用户未提供的 VO、旁白、台词;
- 不自动添加 BGM、情绪提示音;
- 不增加新角色、新道具、新剧情动作;
- **不生成后期字幕、标题、说明卡、UI 叠字、水印或其他额外屏幕文字。**
但场景内已有的实体文字 / 产品包装文字按 A1.3:
- 有参考资产时保持参考外观,不新增、不改写、不重绘;
- 不把“包装必须出现”误写成“要求 AI 生成清晰准确文字”。
---
## A4. 资产与出镜状态规划(按时间轴写)
A4 是所有模型共用的**内部规划规则**。角色如果在同一段不同时间块/镜头里的出镜状态不同,必须按时间轴分别登记,不能只写一个模糊总状态。
**A4 补充 · 外观与光线缺失时的设计提案**
当剧本 / 用户未提供某角色外观,或某场景光线与环境基调缺失,但本集画面确实需要时:
- 允许按 Toonflow 的视觉设计 / 色彩用光方法(visualDesign / colorAndLight)推导「设计提案」,填入本段身份 + 外观锚点或场景光线;
- 所有提案一律标注「设计提案」,不视为剧情事实;不因此新增剧情、道具来源、角色关系或世界规则;
- 若不影响本段生成,则保持原文抽象层级,不强行补设计(遵循 A0.1.5)。
**最终输出映射:**
- Seedance 2.0:仍在每段正文前显式输出“资产标识”。
- Seedance 2.5:不额外输出重复的“资产标识”大块;A4 信息分别映射进 `Reference binding`、`Immutable locks`、`Timeline` 与 `Preserve`。只有用户明确要求单列资产清单时才额外输出。
内部规划可使用下列格式:
```text
## 资产标识
### 涉及角色
角色A|出镜状态总览
- 时间块 / 镜头 1|00:00–00:XX|仅手部 / 实际出镜 / 完全画外……|说话 / 不说话
- 时间块 / 镜头 2|00:XX–00:XX|……
身份 + 外观锚点:只引用用户已给定的信息。
世界坐标:只写源剧情已确定或生成所必需的中性空间关系。
画面坐标:按当前机位描述,不改变世界位置事实。
特殊状态:只登记源剧情已有的脏污 / 伤势 / 湿度 / 持物等状态。
本段重点表演:把已有剧情动作写得可见,不新增动作。
同期台词严格保持原文:
「……」
角色B|出镜状态总览
- 时间块 / 镜头 1|00:00–00:XX|完全画外|仅同期对白
- 时间块 / 镜头 2|00:XX–00:XX|实际出镜|不说话
……
### 涉及场景
场景A|时间
(场景锚点 + 摄影机位置/朝向/高度 + 前中后景 + 空间关系)
### 关键道具
道具A
(源剧情给定的段首状态 + 源剧情已有的时间轴动作 + 段末状态 + 文字/包装处理方式;不追溯未说明的来源)
```
### A4.1 角色出镜状态词表
按每个镜头实际可见范围选用:
- 实际出镜并说话
- 实际出镜但不说话
- 仅面部局部出镜
- 仅手部出镜
- 仅肩后出镜
- 仅背影出镜
- 仅脚部出镜
- 完全画外|仅同期对白
- 完全画外|无声音
**同一角色一段内有两种以上状态 → 必须列时间轴。**
### A4.2 角色条目必含 6 类信息
1. 身份 + 外观锚点
2. 每镜出镜状态时间轴
3. 世界坐标 + 画面坐标
4. 特殊状态(本段会变化的:脏污 / 伤口 / 湿度 / 情绪外显等)
5. 本段重点表演 + 3–5 条可见表演要求
6. 同期台词原文(若有)
### A4.3 场景条目必含 4 类信息
1. 场景锚点
2. 摄影机位置 + 朝向 + 高度
3. 前景 / 中景 / 后景
4. 人物/地标空间关系与轴线
### A4.4 道具条目必含 4 类信息
1. 段首绝对位置 / 使用者 / 状态
2. 本段时间轴动作(谁、何时、怎么动)
3. 段末状态
4. 禁止项;若有包装文字,注明按 A1.3“保持参考资产,不新增/改写/重绘文字”
### A4.5 禁止
- 不复制整套角色档案,只保留本段需要的锚点
- 不写未出现的资产
- 不把资产标识写成重复一遍完整剧情
- 不用“本段实际出镜并说话(但镜头 1 又画外)”这种互相冲突的总括写法
- 不要求 AI 凭空生成精确包装文字来替代参考资产
---
## A5. 站位:世界坐标 + 画面坐标(双层 · 自包含)
**核心前提:每一段生成时,模型看不到任何上一段画面,也不依赖上一段尾帧参考。**
### A5.1 每段必须自包含的 5 块信息
1. **世界坐标 · 轴线与地标**:角色相对门、桌、窗、走廊等真实位置;与机位无关。
2. **画面坐标 · 当前镜头中的左右/前后/遮挡**:随当前机位重新声明。
3. **光源方向 · 世界层 + 画面层**:只在同一连续光照条件下继承。
4. **道具绝对位置与状态**:含本段移动路径。
5. **本段结束状态**:下一段必须把它重写成“绝对初始状态”,而不是写“延续上一段”。
### A5.2 连续场景的状态链
同一地点、同一连续时间内:
`上一段结束状态 → 下一段重新写成绝对初始状态 → 本段动作 → 本段结束状态`
继承内容包括:
GitHubで見るこの SKILL.md は非常に大きいため、SkillsMP では最初のセクションだけを表示しています。 GitHubで見る