# Sd25 Pe

> Seedance 2.5 prompt optimizer (火山方舟官方 sd25-pe 原文 + 本 app 适配). Decide by what the user wants produced. Wants a video (生成视频 / 出片 / 让它动起来): do NOT pick this skill from those words — load the catimation-video entry and follow its tier plan, which names this skill when it is due. Wants a Seedance 2.5 prompt (writing / rewriting / optimizing a 2.5 提示词, 2.5 的编辑 / 延长 / 关键帧 / 宫格分镜 / 白模 / 多素材主体映射): load this directly. Seedance 2.0 家族的提示词改用 sd2-pe。

- Skill: `2799662352/sd25-pe` (Agent Skill, multi-file: 5 files)
- Install (CLI): `npx skillmds@latest add 2799662352/sd25-pe`
- Raw SKILL.md: https://api.skillmd.com/api/skills/2799662352/sd25-pe/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: 2799662352 (https://skillmd.com/u/2799662352)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/2799662352/sd25-pe

---


# Seedance 2.5 Prompt Optimizer

<!-- skill-budget: standard -->

> **正文来源**:火山方舟官方 `sd25-pe` v0.1.0,2026-08-08 取自 arkdocs skills 源。官方原文
> **一字未改**,拆成常驻正文(本文从「目的」起)+ 四份按任务加载的 `references/*.md`
> (见下文「官方原文按任务取段」)。2.5 的模板结构、素材逐份职责、主体映射、自检清单以官方为准。
>
> 官方那份是给「独立提示词优化助手」写的,自带一套**结束回合**的规则(只输出 Prompt
> 正文、不调生成接口、澄清一次就停)。在本 app 里它被装进 catimation-video 的编排
> 循环,这几条必须按下面「裁决顺序」读 —— 否则模型读完两万字就把入口流程、人物锚点、
> 运镜库原词全丢,只剩一段模板(2026-09 实测症状)。

## 裁决顺序:官方管「提示词长什么样」,入口管「回合怎么走」(先读这一节)

| 这一层 | 归谁 | 具体是哪些 |
|---|---|---|
| 提示词的**形状** | **官方原文** | 2.5 模板结构、素材逐份职责 + `【未采用素材】`、主体映射优先级、事实与观察分离、最终自检 |
| 回合的**走法** | **catimation-video 入口** | `ask_user` 规格确认、`generate_video` / `video_workbench_*` 调用、name the mode、先交付再分级 QA、routing receipt |
| 提示词**该覆盖什么** | **入口 + `sd2-pe` 纪律** | 八大要素、12 项内容、五大必备块、`identity-hard` 主锚、氛围板「提示词主导 / 低约束」前缀、运镜库英文原词 |

官方原文里有三句话描述的是它**独立运行时**的边界,不是对本 app 的指令,在本 app 要这样读:

- 「本 Skill 的职责止于理解输入并输出 Prompt,任何情况下都不自行调用生成接口」→ **在本 app 不适用。**
  写好的 Prompt 直接填进 `generate_video` / `video_workbench_*` 的 `prompt` 字段;调工具、等结果、
  交付、QA 全按入口的 Steps 继续。加载本 skill 不改变你正处在哪个流程里。
- 「默认只输出优化后的 Prompt 正文,不得添加 Markdown 标题、代码围栏或前后说明」→ 只约束
  **进 `prompt` 字段的那段文本**(不含分析、标题、围栏、接口参数),**不**约束你对用户说什么:
  入口要求的「我用全能参考模式生成」「正在生成中」「成片已保存到 …」照说;官方的 `补充建议:` /
  `参数提示:` / `素材提示:` 是对用户说的,不进 `prompt` 字段。
- 「需要澄清时,只提出一个整合后的问题并停止等待」→ 仍**合并成一个问题**,但用入口的 `ask_user`
  卡发,不发纯文本问句;规格确认走 `ask_user` 不算「多余澄清」。

**内容覆盖不算「编造」。** 官方第 8 条「不滥加约束」与「不要为了填满模板编造用户没有要求的视觉
风格、运镜或声音」针对的是通用画质包 / 稳定包 / 水印 / 负向词堆砌。下面这些**不在其列**,写进
Prompt 是入口的硬要求,漏了才是错:

- 八大要素、12 项内容、五大必备块的覆盖(散文形式自由,不要求方括号标题);
- 人物卡的 `identity-hard` 主锚,每张卡逐字带上,别指望模型跨卡记住;
- 故事板 / 多宫格 / 美术设定板进 `referenceImages` 时的「提示词主导 / 氛围板低约束」前缀;
- `search_cinematography_kb` / `query_sakuga_dataset` 检回的英文原词(`dolly in`、`rack focus`、
  `smears`…),中文提示词里也原样保留。

把它们组织进官方模板的对应段落(`【参考素材职责】` / `【事件脚本】` / `【保持一致】` / 镜头行),不是删掉。

**读完本 skill 先回读 routing receipt,再套模板。** 入口的 `task_level / spec_confirmed /
prompt_engineered / qa_completed / generation_attempts`(有专属素材夹时在 `receipt.json` 里)最容易
被这两万字冲掉 —— 先用一句话复述它:确认过的规格不再问,拿到的锚点和运镜原词不再丢,做过的 QA 不再抽。

## 自动触发(相关即载)

命中任一条就加载,不需要用户输入 `/sd25-pe`:

- 为 Seedance **2.5** 写、改、优化提示词(含粘贴草稿求重写)
- 2.5 的视频编辑、视频延长、首帧 / 首尾帧 / 多关键帧、宫格分镜、白模渲染
- 多素材(≥3 份)的职责分配与主体映射
- 视频入口在 2.5 上出片前需要 `prompt_engineered`

不要加载:只问接口参数 / 价格 / 配额 / 报错的;只要求评价成片、不要求改词的。

## 与 sd2-pe 同级:按 model 只载一个,纪律通用

`sd2-pe`(2.0 家族)与本 skill(2.5)是**同级的提示词底座**,入口按卡片的 model 只载
**一个** —— 本 app 默认 2.5,模型未知也按 2.5(它是唯一支持 `taskMode` 编辑 / 延长、
30 秒时长和 50 份素材的档位);只有 model **明确**是 `2.0` / `2.0-fast` / `2.0-mini` 才改载
`sd2-pe`(八大要素公式、15 秒上限)。两份都读是纯浪费,模板也只能套一套。

不载 `sd2-pe` 不等于丢掉它的纪律:引用语法(`@图片N` / `<主体N>@图片N`)、八大要素、
12 项内容、五大必备块、一镜一运镜、素材绑定与收束权重,在本 skill 上一字不改地成立
(见「裁决顺序」第三行),底座之间不同的只是语法与排版。**同级不等于同时套模板** ——
别把 2.0 的公式和 2.5 的模板揉进同一条 Prompt,那会产出既不满足公式、也没走完素材
职责流程的四不像。

## 复杂任务继续往下走:结构叶子

复杂、多镜、混合媒介,或需要展开导演 / 作品参考 —— 任一命中就继续加载
`cinematic-prompt-format`(路径 B 的结构叶子),与 2.0 那条路走法一致。
简单单镜由本底座独立完成,不必加载。

## 运镜知识库:按「动作」查,不按「条数」查

- **只有非常规运动**(dolly / arc / crane / whip pan / rack focus / dolly zoom…)才查
  `search_cinematography_kb`;固定机位、常规景别(medium shot, eye-level)不查 —— 没歧义,
  查了也只是同一句话。
- **一个动作查一次**,拿到权威写法就落字;只有它是本片关键调度、或第一版措辞被判含糊,才追加
  一次范例或 critique/fix 对照。同一任务内查过的直接复用,整片查库是个位数,不是镜头数的三倍
  (这条曾写成「每条至少三次」,一板 20 镜就是 60 次往返)。
- **查到什么原样写,不译成中文。** `dolly in`、`rack focus`、`truck left`、`deep focus`、`smears`、
  `impact_frames` 是模型训练见过的确切词形,技法标签更是 sakugabooru 的数据集标识符;中译
  (「推镜」「残影」)不是等价物,标签类中译根本指不到东西。**中文提示词里也保留英文原词**,
  中英混排就是知识库里参考 caption 的真实样子。动画风格同口径用 `query_sakuga_dataset` 拿技法标签。
- 官方原文末尾的 `No network access` 是无网环境的降级说明,不是禁止查库;工具不可用 / 未配 key
  时退回联网检索,并在交付里注明未经库校准。

## 参数分离:官方第 7 条在本 app 落到哪

官方原则 7 说画幅、总时长、分辨率、帧率、声音开关**不写进 Prompt**。在本 app,它们分别是:

| 官方说的「参数」 | 本 app 的落点 | 2.5 的取值 |
|---|---|---|
| 总时长 | 卡片 `duration` | 4–30 秒 |
| 分辨率 | 卡片 `resolution` | 目前只开 480p / 720p |
| 画幅 | 卡片 `ratio` | 编辑 / 延长会被自动锁成 `adaptive` |
| 编辑 / 延长 | **`taskMode` 参数** | `edit` / `extend` |

**最容易踩的一条**:编辑和延长靠的是 `taskMode`,不是提示词措辞。按官方模板写了
「严格编辑 @视频1…」却没把卡片的 `taskMode` 设成 `edit`,上游会当成普通生成任务处理 ——
提示词再对也没用。延长同理。

素材上限本 app 已经和官方对齐(图 30 / 视频 10 / 音频 10 / 合计 50),超了会在提交前
被拦下并给出明确报错,不用你自己数。

## 引用语法:原样发送,`@` 不删

官方正文用的 `@图片N` / `@视频N` / `@音频N` 就是火山 OpenAPI 的提示词写法,本 app **原样发给上游**:
运行时不改写你的提示词、不删 `@`(唯一例外是工作台 chip 的 `【@图片N】` 外壳会解成 `@图片N`)。
所以别写 Fal 风格的 `@Image1`、旧别名 `<图片1>` 或不带 `@` 的裸 `图片1` —— 它们会原样进上游,
没有人替你改成规范形式。用户粘贴的草稿里有这些写法,由你在重写时改成 `@图片N`。

## 排版:连续成段,不空行分块

官方模板里的空行和「一句一行」是**排版示意**,不是提交格式。进 `prompt` 字段的文本:

- **连着发生的写成一段**:动作接动作、情节接情节、外貌 → 性格 → 心理 → 环境,不用换行或空行
  切开,用 `，` `；` `。` `——` `：` 衔接。官方的「开始时：… / 主要事件：… / 结束时：…」三行并成
  一段:「开始时…;随后…;结束时…。」
- **不留空行,标签后直接接正文**:「【参考素材职责】@图片1用于…;@图片2用于…。」只在镜头之间
  (`镜头1：` / `镜头2：`)和官方块之间换行,其余全用标点。
- **不加多余空格**:中文字、标点前后不留空格;只有英文运镜原词(`dolly in`)与中文之间可留一个。

**提示词是什么,发过去就是什么** —— 运行时不改排版,每个空行、碎行、多余空格都会原样进上游。
所以填 `prompt` 字段前多看一眼:没有空行、没有一句一行、标签后直接接正文;有就先并起来再提交。

## 官方原文按任务取段(渐进披露)

常驻正文(下面从「目的」起)覆盖生成主路径:原则、输入状态、核心工作流、视频生成模板、
多素材组织、输出合同、最终自检。以下四份**命中才读**,都是官方原文原样搬过去的,
命中了就去读,不要凭记忆写它们的模板:

| 命中条件 | 读 |
|---|---|
| 卡片 `taskMode` 是 `edit` / `extend`,或用户要改已有视频、向前 / 向后延长、只改声音 | `references/edit-and-extend.md`(视频编辑模板 · 声音编辑 · 向前 / 向后延长) |
| 用 `firstFrame` / `lastFrame`、多张关键帧、宫格分镜 / 故事板作输入、白模视频重渲染 | `references/keyframes-grid-whitemodel.md`(关键帧锚点 · 多关键帧顺序 · 宫格分镜 · 粗 / 细粒度白模) |
| 要控演技(标准级以上的人物表演)、非常规运镜要展开成可观察结果、有台词 / 配乐 / 音效 / 字幕、产品流程演示 | `references/emotion-camera-audio-product.md`(情绪可观察表现 · 摄影术语展开 · 声音符号表 `()` `<>` `{}` `【】` 与台词语言指令 · 产品「初始 → 操作 → 结果」) |
| 卡片时长 > 10s、事件不止一个阶段、或用户写了数字时间段 | `references/long-video-and-time-segments.md`(阶段组织 · 目标时长覆盖 · 数字时间段规则) |

一次任务通常只命中 0–2 份,读过的同一任务内复用不重读;最终自检里对应的几条(编辑母版 /
延长边界 / 首尾帧角色句 / 宫格 / 白模)只在读过对应文件时才核对。

## 目的

把用户的原始文字、小说片段和可选的图片、视频、音频参考，编译为一条可直接提交给 Seedance 2.5 的干净 Prompt。保留用户核心意图，明确素材职责、主体映射、事件状态和需要保持的关系。

本 Skill 的职责止于理解输入并输出 Prompt，任何情况下都不自行调用生成接口。用户明确要求生成视频时，先由本 Skill 产出干净 Prompt，再由独立的生成工具或流程提交。本 Skill 始终保持素材只读，不修改原素材，也不自动制作辅助素材。

## 适用场景

在以下情况加载本 Skill：

- 用户要求优化、改写或补全 Seedance 2.5 Prompt。
- 用户给出简略想法、长篇剧情、小说片段或未经整理的复杂 Prompt。
- 用户给出图片、视频、音频、文件路径或多模态请求，需要建立素材职责。
- 用户要做多素材生成、长视频、关键帧控制、宫格分镜、白模渲染、视频编辑、声音编辑或视频延长。
- 用户希望改善情绪表演、运镜、声音、台词语言或产品流程表达。

不要在以下情况自动执行本 Skill：

- 用户只询问接口参数、价格、配额、报错或模型能力，不需要生成 Prompt。
- 用户只要求评价成片，不要求重写 Prompt。

用户明确要求直接生成视频时，仍先用本 Skill 把原始输入编译为干净 Prompt，再交给后续生成流程。本 Skill 本身不提交任务。

## 不可违反的原则

1. **意图优先**：不得改变人物身份与数量、关键道具、场景、事件因果、空间关系、编辑对象、延长方向和故事结果。
2. **模板优先**：无论原 Prompt 是否完整，都要进入当前任务对应的模板重新组织，不能只做同义改写。
3. **素材逐份负责**：每份实际使用的素材说明采用什么；实际可用但未分配职责的素材必须逐个列入 `【未采用素材】`，阻止后续 PE 重新激活。
4. **用户映射优先**：用户明确指定的素材职责、主体名称和关系不得被自动判断覆盖。已覆盖对应槽位时，不得为了增强同一职责再添加未点名素材。
5. **最少澄清**：能从文字、素材和上下文合理判断的内容直接完成，只对会改变核心结果且存在多个等价解释的问题合并询问一次。
6. **只写可提交内容**：Prompt 内不得出现分析过程、评测说明、实验分组、模型版本、运行标记、接口密钥或修改理由。
7. **参数分离**：画幅、总时长、分辨率、帧率和声音开关不写进 Prompt。普通生成任务由页面或接口设置这些参数；视频编辑、首帧或首尾帧生成、视频延长先遵循各自的自动锁定规则。用户原本写出的事件时间段属于创作内容；不得仅根据页面或接口的目标时长反向生成新的数字时间段。
8. **不滥加约束**：不得自动添加用户未要求的画质包、稳定包、水印、Logo、字幕、分身或其他通用负向约束。
9. **单一最佳版本**：默认只输出一个判断后最合适的 Prompt。用户明确要求对比版本时才输出多个。
10. **事实与观察分离**：人物身份、年龄、关系、事件和结果以用户文字为准；素材只补充直接可见或可听见的属性，不把视觉猜测升级为剧情事实。
11. **主体基数匹配**：单人设定图不得同时定义两个会同时出场的命名人物。多个可用单人候选必须先一人分配一图；多个可用群体候选必须先一组分配一图。只有同一主体的多视角，或素材画面本身明确包含同一故事群体时，才允许合并参考。

## 输入状态

先判断输入属于哪一种状态，再处理内容。

### 纯文生视频

用户没有素材，文字也没有表达参考某个人物、商品、场景、动作、运镜或声音的需求。直接提取主体、事件、场景、视觉、镜头和声音并套用视频生成模板。不得虚构素材编号，也不得建议用户补充素材。

### 需要参考但未提供素材

用户明确提到“参考这个人物”“沿用原视频”“替换成这个商品”等需求，但当前输入中没有相应素材或位置。仍根据文字输出最佳 Prompt，不因素材缺失阻塞；在 Prompt 外最多补充一条建议，说明提供对应素材后可以进一步明确映射。

先逐一比对 Prompt 中的每个素材编号与实际可用素材清单。只要某个明确引用不存在，即使其他素材已经提供，缺失素材仍按“需要参考但未提供素材”处理：继续使用其余有效素材完成整条 Prompt，不声称看过缺失素材，不猜测其外观、音色或内容，也不得在 Prompt 中继续引用不存在的素材编号。缺失素材原本承担的人物、事件或台词职责仍根据用户文字保留；只有该素材才能确定的外观、音色、动作或场景细节不作补写。

### 素材可读取

主动读取用户提供的图片、视频和音频。先盘点全部素材，再结合 Prompt 建立映射。不要只根据文件名猜测，也不要把所有素材强制写进 Prompt。

### 当前 Agent 无法读取

用户给出了附件、路径或 URL，但当前运行环境无法访问。不得假装已经查看素材。继续优化能够从文字确认的部分，并说明哪些素材无法读取。只有不可访问内容是唯一核心主体、唯一编辑母版或唯一延长源视频时，才请求用户提供访问方式或确认。

损坏或不可读取的非核心素材直接跳过并列出编号；其他内容继续处理。

### 素材规格预检

先区分硬输入范围和稳定性建议：

- 图片最多 30 张，单张不超过 4K。
- 视频最多 10 段，全部视频总时长不超过 30 秒。
- 音频最多 10 段，全部音频总时长不超过 30 秒。
- 图片、视频和音频合计最多 50 份参考素材。

推荐范围不是硬上限。主体图片通常以 1 至 8 个主体为宜；主体音视频通常以 1 至 5 个主体、单段 5 至 10 秒为宜；视频编辑通常优先使用 20 秒以内的原视频和 1 至 5 张参考图。超过推荐范围但仍在硬输入范围内时继续优化，不因素材较多而阻塞；通过逐份职责、主体映射和按场景激活降低相互污染。

超过硬输入范围时，优先保留用户明确指定的素材、覆盖必需实体的素材、唯一编辑母版或延长源视频，以及关键动作、声音和边界帧素材。其余素材不写入 Prompt，并在正文后用一条 `素材提示：` 说明需要在提交前缩减素材。不得声称仅靠 Prompt 能绕过输入上限。

## 核心工作流

### 1. 解析用户目标

先从用户文字建立“故事合同”，再查看素材。提取并锁定：

- 主体及数量。
- 动作、事件和因果顺序。
- 场景、时间、天气和空间关系。
- 道具归属、交接和最终状态。
- 视觉风格、镜头、声音、台词和字幕需求。
- 用户明确要求保持或排除的内容。
- 任务是生成、编辑还是延长；生成任务是否采用关键帧、宫格分镜或白模，编辑任务是否只修改声音。

故事合同是后续改写的事实边界。不得因为素材里出现更醒目的人物、服装、道具或场景，就替换、合并或删除故事合同中的角色和事件。

保留用户记号的语义。`镜头45`、`镜头 45`、`Shot 45` 等写法默认是镜头编号，不是 `45 度机位`；只有用户明确写出“45 度”“四十五度”或等价摄影角度时，才把数字解释为机位角度。不得把镜头编号、素材编号、章节编号或步骤编号改写成摄影参数。

只要输入包含说话、对白、旁白或音频职责，就为每个时间段建立内部“对白账本”，逐项记录说话人、是否发声、台词原文、音频职责、语言和画内或画外位置。不得把已指定说话或音频职责的片段改成静默，也不得交换说话人与音频。用户明确要求某角色说话并绑定音频、但没有提供台词文字或当前环境无法可靠听写时，保留该角色使用对应音频说话的职责，不编造具体台词。

用户只给出带引号的台词片段、关键词或短句时，只把该片段作为可说出的原文；可以补充说话人的表情、动作和语气，但不得补写片段前后不存在的完整句子。用户只描述“用身份压人”“继续争吵”等说话意图、没有给出任何原文时，不自行编造对白，改用可观察的口型、停顿、姿态和对方反应表达该意图。

例如，输入只说明她说“你一个外人”时要有身份压迫感，最终对白只能写成 `{你一个外人}`；不得把“母子关系”“身份压迫”等叙事说明拼进台词，也不得改写成“你一个外人，有什么资格……”或其他完整句子。

为故事合同建立“必需实体清单”，把每个明确出现的人物、群体、关键道具和场景分别列为一个槽位。这个清单只用于内部核对，不输出给用户。后续为每个槽位记录剧情职责、采用素材和可观察特征；输出前确认每个槽位均已进入 Prompt。

把内心活动转成可见动作、表情、台词或旁白，但不得增加改变故事的事件。

遇到“出现原因后人物才改变表情或动作”的因果揭示镜头，先清楚呈现触发原因，再呈现人物反应。原因和反应距离较远时，用一次明确的视线或镜头转移建立关系；能够同框时，在同一构图内同时保留原因与反应。不得在触发原因被观众看清之前过早推成纯面部特写，也不得只给反应特写而遗漏触发原因。

剧情明确为假装受伤、模拟受伤或险些受伤时，在发生歧义的镜头中明确保持未受伤的可观察状态，例如皮肤、服装和道具保持完整。不得把表演或未发生事件改写成真实伤口、流血或破损。

### 2. 编译小说和长文本

先把文本转换成可拍摄事件：

- 用户要求预告、概览或群像时，选择能概括主题的蒙太奇结构。
- 用户要求一个场景时，保留该场景内连续发生的核心事件。
- 用户没有指定范围时，选择一条因果完整、在目标视频中可成立的主事件，并在 Prompt 外简短说明取舍。
- 只有多条互斥主线同等重要且选择会改变核心故事时，才合并询问一次。

压缩重复描写和无法画面化的信息，保留人物关系、关键台词、触发事件和结局状态。

### 3. 盘点和理解素材

素材较多时使用两遍理解：

1. 第一遍轻量盘点全部素材，识别人物、商品、道具、场景、动作、运镜、节奏、声音和风格候选。
2. 第二遍只深度查看与剧情匹配、存在冲突、作为关键帧或当前场景会调用的素材。

检查视频时至少确认主体、主要动作、镜头变化、开头状态和结尾状态；检查音频时至少确认声音类型、音色、语言、台词内容或环境声用途。

区分两类信息：

- **故事分配**：人物叫什么、年龄和关系是什么、承担哪个事件、道具归谁、结局如何。这些来自用户文字。
- **素材观察**：五官、发型、服装、材质、颜色、空间布局、动作、运镜、音色等能够直接观察或听见的特征。

素材只补充能够直接观察到的特征。不得从素材外观反推或改写文字中的身份、年龄、关系和剧情；无法从素材确认的品牌、颜色、职业、性格和道具功能也不得擅自补写。

用户只称为“人物”或“主体”时，继续使用该中性称谓；不得根据动作、姿态或服装擅自改称为舞者、演员、工人或其他身份。用户已经给出角色名或身份时再沿用该称谓。

称谓、排行、职业和关系只定义剧情槽位，不得自动转成幼年、年长、柔弱、强势等外观或性格。只有用户文字明确说明，或素材中存在可直接观察的对应表现时，才写入这些属性。

人物素材默认只写五官、发型、服装、配饰和可直接观察的姿态，不用“少女感”“成熟感”“柔弱气质”“强势气质”等总结性标签代替可见特征。用户明确要求这些表演方向时，再把它们改写成表情、姿态和动作。

映射优先级固定为：

```text
用户明确指定 > Prompt 中的描述 > 素材内容 > 文件名和元数据 > 上传顺序
```

用户明确映射已经覆盖全部必需实体时，未被用户点名的其他可用素材默认不激活。不得仅因内容相似就补成第二人物、第二场景或辅助参考，也不得为了增强同一职责再添加未点名素材。泛称的背景宾客、家具、装饰或环境元素不构成素材缺口，由已指定场景素材和文字描述承担。只有用户明确要求从全部素材中选择、要求组合多份参考，或一个被用户明确要求的核心人物、道具、场景、动作或声音仍无职责来源时，才评估未点名素材。默认不激活的编号仍写入 Prompt 的 `【未采用素材】`。

上传顺序不是身份或职责的语义证据，通常只用于生成稳定编号。只有用户要求直接输出且候选同等合理、槽位数量与候选数量一致时，可以把上传顺序作为最终稳定平局规则：按故事槽位首次出现顺序与候选素材顺序做一对一分配。该顺序只解决分配稳定性，不证明真实身份，也不得据此添加年龄、关系或性格。

如果输入是 JSON 或含 Asset ID 的长文本，按各媒体在输入中的出现顺序建立 `@图片N`、`@视频N`、`@音频N` 映射，再把文字中的 Asset ID 替换成对应引用。最终 Prompt 不得裸露 Asset ID。

如果只有本地路径而没有引用标签，按用户提供顺序、按媒体类型分别建立稳定别名，并在“素材理解”中列出路径与别名。最终 Prompt 使用这些别名，同时提醒后续上传时保持相同顺序。

### 4. 建立素材职责和主体映射

每个被使用的素材只承担明确职责：

- 图片：人物外貌与服装、商品结构与材质、道具、场景布局、光线或关键帧。
- 视频：动作、运镜、节奏、时间线，或作为唯一编辑母版、延长源视频。
- 音频：指定说话人的音色与台词、环境声、音效或音乐。

建立映射前，逐项核对故事要求的人物、道具和场景；建立映射时按以下顺序执行：

1. 从必需实体清单中逐个取出尚未分配的角色、群体、道具和场景。
2. 浏览全部素材候选，比较人数、服装层级、轮廓、结构、道具和场景职责；不得在找到第一份可用素材后停止检索。
3. 为当前槽位选择最匹配素材，再处理下一个槽位。不同已命名角色或群体默认使用不同的最佳候选。
4. 完成后做一次遗漏审计：每个必需实体在 Prompt 中恰好承担一个明确角色，每份被激活素材只承担已声明职责。
5. 把完整可用素材清单减去已分配素材，得到未采用集合。只要集合非空，就在 Prompt 的素材职责之后增加 `【未采用素材】`，按媒体类型逐个列出未采用编号，并明确它们不用于人物、场景、道具、动作、镜头或声音。不得只在 Prompt 外说明，也不得用“其他素材”代替具体编号。

不得把两个已命名角色合并为一个主体，也不得因为某份素材不够醒目而漏掉对应角色。有可区分候选素材时，不得复用同一素材覆盖多个已命名角色或群体；只有该素材画面本身同时包含这些角色，并且没有更合适的独立候选时，才允许复用。多份素材共同定义同一实体时必须显式说明，未被故事调用的素材可以不使用。

最终素材职责中，一行只定义一个主体、群体、道具或场景及其主参考素材。禁止把多个主体和多个素材压缩在同一句范围映射中，例如“人物A和人物B参考@图片1、@图片2”；应拆成“人物A参考@图片1”和“人物B参考@图片2”。

如果两个核心身份在文字中没有外观线索、候选素材也同样合理，不得假装能从画面知道隐藏答案。按“处理映射置信度”合并询问一次；用户要求直接按合理假设输出时，按上面的稳定平局规则采用一对一保守映射，并避免添加年龄、性格等无法确认的区别。

同一主体有多份参考时，分别说明每份素材补充的视角或属性，并声明它们共同定义同一实体，不生成多个副本。

不同主体必须逐条绑定，例如：

```text
<人物A>对应@图片1，只采用五官、发型和服装。
<人物B>对应@图片2，只采用五官、发型和服装。
<道具A>对应@图片3，只采用结构、材质和颜色。
<场景A>参考@图片4，只采用空间布局、建筑和光线，不采用图中人物。

【未采用素材】
@图片5、@图片6未参与本任务，不用于人物、场景、道具、动作或镜头。
@音频2未参与本任务，不用于台词、音色、环境声、音效或音乐。
```

不要用一个范围句代替多名角色的一一映射。

参考视频没有说明职责时，从动作、运镜、节奏、场景和声音中选择与任务有关的维度。生成任务不得默认继承参考视频中的人物身份、服装或完整场景。参考视频已经准确给出动作、运镜和顺序时，只说明继承哪些维度，不必逐动作复述；重复改写可能与素材本身冲突。

文字台词与参考音频内容冲突时，以用户文字决定台词内容，音频默认只提供音色、口音、语速和情绪。用户明确要求复用音频台词时例外。

同一主体的多份参考互相冲突时，先服从用户指定；用户未指定时，根据清晰度和剧情匹配度把外貌、服装、结构或材质分配给最合适的素材。只有核心身份仍无法判断时才澄清。

### 5. 处理映射置信度

- **高置信度**：自动映射并继续。
- **中置信度**：采用最合理映射，在 Prompt 外的“素材理解”中披露关键假设。
- **低置信度但不影响核心结果**：不使用该素材，不询问用户。
- **低置信度且影响核心身份、数量、道具归属、前后左右或朝向、编辑对象、唯一母版、延长方向或关键帧职责**：把相关歧义合并成一个简短问题。

发现用户明确映射与素材内容明显冲突时，仍以用户映射为准；只有该冲突几乎必然导致错误结果时才确认一次。

风格、光线、普通运镜、画质和其他可由上下文保守决定的缺失项不得用于打断用户。

需要澄清时，只提出一个整合后的问题并停止等待，不同时输出可能误导后续提交的临时 Prompt。用户回答后从映射和任务路由处继续。用户明确要求先按合理假设给出版本时，才可以采用假设并在 Prompt 外披露。

如果用户只提供素材而没有任何生成、编辑或延长目标，只询问一次最小创作目标；不要根据素材内容自行编造故事。

### 6. 选择唯一主任务

三类主任务只能选择一个。先判断是否修改已有视频，再判断是否在已有视频前后新增内容，其他情况才进入生成：

1. **视频编辑**：以一条原视频为唯一母版，只修改其中指定对象、区域或声音。
2. **视频延长**：在原视频之前或之后生成新的连续片段，不改写原片段。
3. **视频生成**：从文字和可选参考素材生成新视频。

多素材、长视频、时间段、关键帧、宫格分镜、白模、声音、情绪和摄影表达是可叠加模块，不是新的主任务。白模视频作为动作、空间或完整结构参考进行重渲染时属于视频生成，不因为输入中存在视频就自动路由成视频编辑。

用户同时要求编辑原视频和延长时，不得丢弃任一操作，也不要强行合并为一条 Prompt：

- 如果替换内容需要从原视频延续到新片段，先编辑原视频得到新母版，再延长编辑后的新母版。
- 如果新增主体只出现在延长片段，不修改原视频，则只做延长，并把新增素材写成延长片段的参考职责。
- 操作顺序仍有多个等价解释时，合并确认一次。

明确需要两个顺序操作时，输出两步执行 Prompt。它们是同一任务的连续步骤，不是备选版本。

### 7. 应用任务参数规则

这些规则只用于规划和提示，不写进最终 Prompt：

- **普通视频生成**：画幅比例和总时长由页面或接口设置，可以用于规划构图和事件密度。
- **视频编辑**：视频编辑会自动锁定输入视频的画幅比例和基本时长，两者不支持另行设置；输出时长受输入帧处理影响，可能与原视频存在最大约 0.3 秒的差异。
- **首帧或首尾帧生成**：首帧或首尾帧生成会以首帧图片的画幅比例锁定输出比例，时长可以设置。首帧与尾帧应使用相同画幅；当前 Agent 能读取图片时主动核对，不能读取时不得假装已经核对。
- **视频延长**：视频延长会自动锁定输入视频的画幅比例，延长时长可以设置。

用户要求设置被任务自动锁定的参数时，不询问，也不把该要求写入 Prompt 或用于错误规划；仍先输出最佳 Prompt，再在正文后最多追加一条 `参数提示：`。首尾帧画幅不一致时同样使用一条参数提示，说明提交前应调整为相同画幅，避免尾帧拉伸。没有冲突时不输出参数提示。

### 8. 套用模板并净化

选择下文对应模板，只保留当前任务需要的段落。所有 `<占位符>` 必须替换为具体内容，不得把模板说明留在最终 Prompt。

完成后执行“最终自检”，再按“输出合同”交付。

## 视频生成模板

### 基础生成

适合纯文字或少量参考、事件简单的文本生成任务：

```text
<主体>在<场景与环境>中<主要动作或事件>。
画面呈现<视觉风格或情绪>。
镜头采用<景别、机位、运镜或切镜>。
声音包括<对白、环境声、音效或音乐>。
```

不需要的视觉、镜头或声音行可以删除，但主体和主要动作或事件必须明确。

填写示例：

```text
一名年轻陶艺师在清晨的工作室里拉坯，双手稳定托住旋转的陶土，最终形成一只窄口花瓶。
柔和晨光从左侧窗户照入，木桌和陶土保持自然暖色。
镜头先以中景观察双手动作，再缓慢推近花瓶口部。
声音保留转盘低鸣、手掌摩擦湿陶土的声音和窗外远处鸟鸣。
```

### 带参考素材的生成

```text
【生成目标】
生成<视频类型或核心事件>，核心主体是<主体>，主要事件是<概要>。

【参考素材职责】
@图片1用于<主体>的<外貌、服装、结构或材质>。
@视频1用于<动作、运镜或节奏>，不采用<容易误带的身份、服装或场景>。
@音频1用于<角色或声音类型>的<音色、台词、环境声或音乐>。

【未采用素材】
@图片2、@视频2、@音频2未参与本任务，不用于人物、场景、道具、动作、镜头或声音。

【主体与关系】
<主体A>对应@图片1，始终保持<固定特征>。
<主体A>与<主体B>的空间、道具或身份关系是<关系>。

【事件脚本】
开始时：<人物、道具和场景状态>。
主要事件：<连续动作或事件>。
结束时：<人物位置、道具归属或最终画面状态>。

【保持一致】
保持<人物身份与数量、服装、道具归属、空间方向和声音关系>稳定。
```

不要为了填满模板编造用户没有要求的视觉风格、运镜或声音。简单任务可以合并相邻段落，但不得省略实际使用素材的职责。

填写示例：

```text
【生成目标】
生成一段修复旧木椅的视频。木工先检查松动椅背，再涂抹木胶并固定接缝，结束时木椅恢复稳固。

【参考素材职责】
@图片1用于木工的五官、短发和深蓝色工作围裙，不采用图片背景。
@图片2用于旧木椅的弧形椅背、深色木纹和磨损位置，不采用图中人物。
@视频1用于涂胶和压紧接缝的手部动作，不采用视频中的人物身份、服装和工作台。

【主体与关系】
木工始终穿@图片1定义的深蓝色围裙。全程只有@图片2定义的一把旧木椅，工具始终放在木桌右侧。

【事件脚本】
开始时木椅位于木桌中央，椅背接缝松动。木工检查接缝后涂抹木胶，用双手把椅背压回原位并固定。结束时木工松开双手，椅背保持稳固，木椅数量和外观不变。

【保持一致】
保持木工身份与服装、木椅结构与数量、工具位置和工作室方向稳定。
```

## 多素材组织

多素材按以下顺序组织：

```text
逐份素材职责 → 主体映射 → 按类型分组 → 主体设定 → 分场景调用
```

素材数量多不代表全部素材都要进入 Prompt。只使用与当前故事和场景相关的素材；把实际可用但未分配职责的素材放进 Prompt 内的 `【未采用素材】`，逐个列出未采用编号并禁止激活。未采用素材可以按图片、视频、音频分别合并成紧凑的一行，但不能省略编号，也不能写成主体范围映射。

Seedance 2.5 可接收最多 50 份参考素材。接近上限时仍按人物、道具、场景、动作和声音逐份归类，并按场景激活；不要用一个总括句让模型自行分配，也不要为了体现数量而让所有素材同时出现。

### 类型分组

```text
【人物】
<人物A>对应@图片1，只采用外貌、发型和服装。
<人物B>对应@图片2，只采用外貌、发型和服装。
两人的外貌、服装、动作、站位和台词不互相交换。

【道具】
<道具A>对应@图片3，只属于<人物A>。
<道具B>对应@图片4，只属于<人物B>。

【场景】
<场景A>参考@图片5，只采用空间、材质和光线。
<场景B>参考@图片6，只采用空间、材质和光线。

【动作与声音】
@视频1用于<人物A>的<动作或运镜>，不采用视频中的人物和场景。
@音频1用于<人物B>的<音色和指定台词>。
```

### 主体设定和分场景调用

```text
【主体设定：人物A】
外貌与服装：@图片1。
固定道具：@图片3中的<道具A>。
允许场景：<场景A>和<场景B>。
动作参考：@视频1的<动作>。
不采用：<其他主体的服装、道具或声音>。

场景一｜<场景名称>
使用：<本场景激活的主体、道具、场景、动作和声音>。
事件：<一个主要事件>。
结束时：<可观察状态>。

场景二｜<场景名称>
使用：<本场景激活的主体、道具、场景、动作和声音>。
事件：<一个主要事件>。
结束时：<可观察状态>。
```

同一主体的多视角参考应写成逐图职责，例如正面、左侧、右侧和背面共同定义同一个实体，并明确成片中的实体数量。

### 空间与站位

围绕门、桌子、车辆、柜台、道路等稳定物体描述内外、前后、朝向、距离和隔挡关系，不要只写屏幕左侧或右侧。例如：

```text
<店员>始终站在玻璃柜台内侧，身体朝向柜台外。<顾客A>和<顾客B>并排站在柜台外侧，隔着柜台与<店员>交谈。
```

用户提供干净站位图时，把它用于构图、人物位置、朝向和空间关系；不要把图中的箭头、标注框或说明文字当作成片内容。

多素材填写示例：

```text
【人物】
巡检员对应@图片1，只采用五官、短发和橙色防风外套。
档案员对应@图片2，只采用五官、眼镜和灰色针织开衫。
两人的外貌、服装、动作和台词不互相交换。

【道具】
便携记录仪对应@图片3，只属于巡检员，全程只有一台。

【场景】
山顶观测站参考@图片4，只采用建筑结构、金属平台和阴天光线。
资料室参考@图片5，只采用书架布局、木桌和室内暖光。

【动作与声音】
@视频1用于巡检员打开设备舱并取出存储卡的动作，不采用视频中的人物和场景。
@音频1用于巡检员的音色和台词。

【事件脚本】
阶段一：巡检员独自站在山顶观测站的设备舱前，便携记录仪挂在腰间；他打开设备舱并取出唯一一张存储卡；结束时存储卡只在巡检员右手。
阶段二：巡检员在观测站内把存储卡插入便携记录仪；结束时记录仪屏幕显示数据读取完成，存储卡仍在设备内。
阶段三：画面切到资料室，档案员站在木桌内侧，巡检员站在桌外侧；巡检员把记录仪放到桌面中央并用自然的普通话说：{本周的观测数据已经导出。}
阶段四：档案员拿起记录仪检查数据，巡检员自然闭口等待；结束时记录仪只在档案员手中。
阶段五：档案员把记录仪放回桌面，两人共同看向屏幕上的完成状态，以人物身份、道具数量和站位清楚的中景收束。

【保持一致】
保持两人身份与服装、记录仪数量与归属、两个场景的空间方向和说话人关系稳定。
```

## 输出合同

输出语言跟随用户。保留用户现有素材引用形式，例如 `@图片1`、`@Image 1` 或运行环境中的等价标签，不擅自翻译或重新编号已明确的引用。

### 默认交付

默认只输出优化后的 Prompt 正文。不得添加 Markdown 标题、代码围栏或前后说明，也不得输出“优化后提示词”“素材理解”“优化说明”等外层包装。不得要求模型使用代码围栏包裹最终结果。

Prompt 自身需要结构化时，可以保留 `【生成目标】`、`【参考素材职责】`、`【事件脚本】`、`【保持一致】` 等任务内标签；这些标签属于可直接提交的 Prompt 正文，不是回答包装。

Agent 自动推断素材映射时，不单独输出推理表。把最终采用的映射直接写入 Prompt 的素材职责段，每份实际使用的素材逐条说明采用范围。Agent 能读取完整素材清单时，必须在 Prompt 内追加 `【未采用素材】`，逐个列出所有实际可用但未分配职责的编号；不得只在 Prompt 外说明。当前环境无法取得完整素材清单时，不得编造未采用编号。

### 部分素材缺失

存在部分缺失素材时，先输出不再引用缺失编号的完整 Prompt 正文；随后最多追加一条以 `补充建议：` 开头的单行建议，指出缺失编号及原定职责。该建议不是 Prompt 内容，必须另起一行，不能接在 Prompt 正文最后一句之后；不得拆成多条，也不得声称看过缺失素材。

例如：`补充建议：未提供@音频3，当前 Prompt 已保留对应角色和台词但不指定参考音色；提供该音频后可进一步绑定音色。`

### 输入与参数提示

输入素材超过硬上限时，先输出基于已选素材的完整 Prompt，再追加一条 `素材提示：`，列出需要在提交前缩减的素材类型或编号。推荐范围不是硬上限，不触发素材提示。

用户要求设置编辑、首帧或首尾帧、延长任务已经自动锁定的参数，或首尾帧画幅不一致时，先输出完整 Prompt，再追加一条 `参数提示：`。参数提示只说明冲突规则和提交前动作，不重复 Prompt，不扩展成接口说明，也不把参数写回 Prompt。

例如：`参数提示：视频编辑会自动保持输入视频的画幅比例和基本时长，不能另行设置为 16:9 和 20 秒；以上 Prompt 已按原视频时间线编写。`

### 必须说明的能力边界

精确字幕、公式、标牌、产品参数或帧级时间点无法仅靠 Prompt 完全保证。仍先输出最佳 Prompt；确有必要时，在正文后最多追加一行 `补充说明：`，指出需要结合准备好的素材或后期处理。没有必要时不输出任何说明。

两个顺序操作的混合任务分别输出 `步骤一：` 和 `步骤二：` 的可提交 Prompt，并说明第二步引用第一步输出作为新母版。除此之外，默认只输出一个 Prompt。

普通生成任务中，用户提供的时长、画幅或其他生成参数可以用于规划事件密度和构图，但不要写进 Prompt。视频编辑、首帧或首尾帧生成、视频延长先应用任务自动锁定规则，不得使用冲突参数规划 Prompt。只有用户要求调用示例时才在 Prompt 外另列可设置参数。

### 完整输入到输出示例

用户输入：`让参考图片里的咖啡师在参考咖啡馆里完成手冲，动作参考上传的视频，最后把咖啡递给顾客。`

Agent 查看三份素材后直接输出以下 Prompt 正文：

【生成目标】
生成咖啡师完成手冲并把咖啡递给顾客的连续视频。

【参考素材职责】
@图片1用于咖啡师的五官、短发和棕色围裙，不采用图片背景。
@图片2用于咖啡馆的木质吧台、玻璃窗和午后暖光，不采用图中人物。
@视频1用于手冲注水的节奏和手腕动作，不采用视频中的人物身份、服装和场景。

【事件脚本】
开始时咖啡师站在吧台内侧，顾客站在吧台外侧，滤杯和分享壶位于两人之间。咖啡师按@视频1的动作节奏缓慢注水，结束注水后把滤杯放回托架，再用双手把唯一一杯咖啡递给顾客。结束时咖啡只在顾客手中，咖啡师双手离开杯子。

【保持一致】
保持咖啡师身份与围裙、咖啡馆布局、吧台内外站位和咖啡杯数量稳定。

## 最终自检

输出前逐项确认：

- 单个 Prompt 的主任务是生成、编辑或延长中的唯一一种；明确的混合任务已经拆成两个顺序 Prompt，每一步各自只有一个主任务。
- 主体、数量、身份、场景、道具归属、空间关系和故事结果没有改变。
- 故事合同中的每个必需人物、道具和场景均已覆盖，没有合并两个已命名角色，也没有把素材猜测写成身份、年龄、关系或剧情事实。
- 每份实际使用的素材都有唯一而明确的职责。
- Prompt 正文不存在用户未提供的素材编号或裸露 Asset ID；部分素材缺失时，正文后的唯一单行 `补充建议：` 可以指出该缺失编号。
- 已逐一比对 Prompt 中的素材编号与实际可用素材清单；部分缺失素材没有被伪装成已读取，且最多只有一条单行补充建议。
- 不强迫无关素材出场；能够取得完整素材清单时，实际可用但未分配职责的素材已逐个列入 `【未采用素材】`。
- 不可访问素材没有被假装理解。
- 不同人物、商品和道具逐条映射，没有用范围句代替。
- 单人设定图没有同时定义两个出场人物；存在多个单人或群体候选时，已先按一人一图、一组一图完成分配。
- 长视频每阶段只有一个主要状态变化，并有清楚结束状态。
- 用户明确要求的事件时间段未被擅自删除；仅存在外部目标时长时，已有事件使用无数字阶段重新分配，没有把参数反写成新时间段。
- 编辑任务包含唯一母版、修改范围、目标数量、保持内容和时间线继承；声音编辑还明确了修改声音、保留声音、口型时点和全部画面。
- 已遵循当前任务自动锁定的画幅比例和时长规则；存在冲突时只在 Prompt 外输出一条参数提示。
- 延长方向与边界帧职责正确，且没有同时改写原视频；边界画面、声音状态、运动趋势和连续主体均已覆盖。
- 首帧、尾帧和其他参考图逐张定义，没有互相覆盖职责；固定帧使用独立的 `@图片N作为首帧。` 或 `@图片N作为尾帧。` 精确角色句，没有弱化为构图参考；首尾帧画幅已经核对或按不可读取边界处理。
- 多关键帧按顺序逐张定义关键状态，没有承诺逐帧复刻或静态停留。
- 宫格分镜写清读取顺序、每格镜头职责和不采用的线稿、标注或占位内容。
- 白模已经识别为粗粒度或细粒度白模，并分别写清主体映射、继承信息和不采用内容。
- 抽象情绪和摄影术语在需要控制时配有可观察结果。
- 每个说话阶段的说话人、发声状态、台词、音频职责、语言和画内外位置均与输入一致，没有把说话改成静默，也没有擅自增加普通话、方言或地区口音。
- 镜头编号、素材编号、章节编号和步骤编号仍是编号，没有被误写成机位角度或其他摄影参数。
- Prompt 内没有输出参数、内部分析、评测元信息、密钥、Endpoint 或修改理由。
- 没有自动添加与用户需求无关的负向约束。
- 所有占位符已替换，默认只输出一个完整 Prompt 正文，不带 Markdown 标题、代码围栏或前后说明。

## Compatibility And Runtime Notes

- **Text-only Agent**：处理文字和已明确的引用标签；不得声称看过附件或路径内容。
- **Multimodal Agent**：在运行时允许的范围内读取图片、视频和音频，执行两遍素材理解和自动映射。
- **No filesystem access**：保留用户已有标签；对不可访问路径使用“当前 Agent 无法读取”的降级流程。
- **No network access**：不要尝试解析远程 URL 内容，也不要根据 URL 名称推断素材。
- **Output only**：本 Skill 输出文本，不要求文件写入、网络、工具调用或二进制输出能力。

