video-prompt · diff
git:20260905.547df8e to git:20261014.f03ad80
14 added, 3 removed. Audit A to A.
---
name: video-prompt
description: 视频提示词规范 — 根据分镜段落内容生成按时间分段、段内可切镜的视频生成提示词
---
# 视频提示词(分镜段落 → video_prompt)
- 根据单个分镜段落的 description(含【镜头N】子镜头结构与台词/旁白)/ atmosphere / duration,生成驱动 AI 视频生成的 `video_prompt`。**一个分镜段落 = 一段 8-15 秒的视频,内部允许切镜**:段与段之间可以是不同镜头(换景别/角度/对象),用硬切衔接;但**全程不跨场景**、不闪回。
+ 根据单个分镜段落的 description(含【镜头N】子镜头结构与台词/旁白)/ atmosphere / duration,生成驱动 AI 视频生成的 `video_prompt`。**一个分镜段落 = 一段 4-15 秒的视频,内部允许切镜**:段与段之间可以是不同镜头(换景别/角度/对象),用硬切衔接;但**全程不跨场景**、不闪回。
## 格式
`video_prompt` 的**第一行是信息头**:先介绍这条视频有哪些人物和场景,然后再接时间分段。人物、场景一律用 @ 引用(生成时会替换为对应参考图片标记,让视频模型先对上"谁"和"在哪")。
```
出场人物:@小明、@小红;场景:@咖啡厅。
0-3秒:@咖啡厅,近景固定镜头,@小明低头看手机,手指反复敲桌面,表情焦虑。
3-6秒:切到门口全景,门铃响,@小红推门走入,带进一阵冷风。
6-9秒:切回中景,@小红微笑着走向小明坐下,小明说:「你终于来了。」
+ 9-10秒:两人隔桌对视,@小红点头(无人说话)。
```
信息头规则:
- 只列该分镜段落实际出场的人物和绑定的场景,不要列没出场的
- 有明显道具出场时可在信息头追加(如 `;道具:@信件`)
- - 信息头独立一行,以句号结尾,之后是时间分段
+ - 信息头独立一行,以句号结尾
+ - 分镜有 `blocking`(站位)时,信息头下一行写「站位:…」,照抄 blocking 的开场站位(画面左右、前后、朝向),全程保持同样的左右关系
+ - 之后是时间分段
按 3 秒为一段,每段单独一行、用换行分隔,时间范围连续衔接(无重叠、无空缺)。
## 与分镜描述的映射
`description` 是 video_prompt 的唯一内容来源(画面、动作、台词、旁白都在其中),转换规则:
- `description` 的每个 `【镜头N】` 映射为 **1-2 个连续的 3 秒段**,顺序一致、不遗漏、不合并、不新增子镜头
- 台词/旁白从对应 `【镜头N】` 内的「角色名说:「…」」「旁白:…」提取,分配到该子镜头映射的段;**不要创作 description 之外的新台词**
- 画面动作以 `description` 为准;`atmosphere` 只用于补各段的光线、色调与氛围描写
## 段内结构
每一段按此顺序组织内容(可省略无内容的项,但动作/画面必须有):
**时间范围 + 场景@引用 + 景别/运镜 + 角色@引用+主体动作·表情 + 对白/旁白 + 氛围光线**
- **第一段必须建立空间**:场景 + 机位 + 角色的位置与状态,让观众一眼知道在哪、看谁
- **切镜**:切镜后的段开头用"切到/切回"等衔接词,并重新交代景别与主体;切镜点应对齐分镜 `description` 中的 `【镜头N】` 结构
- **景别/运镜**:每段一个镜头状态(近景/中景/全景/特写;固定/推/拉/摇/跟);单个子镜头内运镜连续,切镜后可更换运镜方式
- **动作**:每段一个主动作,动词具体可见(走、转身、抬头、攥紧、停顿)
- **情绪全部转为可见描写**:不要"他很伤心/气氛紧张"这类抽象词,写成"他低下头、手指攥紧杯沿、呼吸变重"
- - **对白/旁白**:写「角色名说:「台词」」,旁白写「旁白:内容」;3 秒念不完的长台词拆到多段;无对白的段可写环境音/动作音(如"机器持续轰鸣")
+ - **对白/旁白**:写「角色名说:「台词」」,旁白写「旁白:内容」;台词只写在说话人入镜的那个 3 秒段里,3 秒念不完的长台词拆到多段
+ - **无台词段**:明确写「(无人说话)」并写出可见动作或环境音(如"机器持续轰鸣")——不写的话,视频模型会自己编台词
+
+ ## 台词与接戏
+
+ - **只写 description 里的台词**,一字不改;台词总时长远短于段落时长时,多出的时间写成反应、对视、动作,并标「(无人说话)」
+ - 对话用正反打:说话人入镜说话,下一段给听者反应;左右位置按 blocking 保持不变(180 度轴线)
+ - 第一段承接 blocking 的开场站位;最后一段落到 blocking 的结尾状态,方便下一镜接戏
+ - 生成视频时系统还会自动附加【台词控制】【人物外观锁定】【场景一致】【画风一致】【接上一镜】指令,提示词里不必重复这些
## 引用规则
- `@场景名` — 场景引用,名字必须与场景列表中的地点完全一致
- `@角色名` — 角色引用,名字必须与角色列表中的名字完全一致
- `@道具名` — 道具引用,名字必须与道具列表中的名字完全一致;道具在画面中明显可见、被使用或特写时引用
- 生成时会自动把 `@名字` 替换为对应参考图片标记(如 `@小明` → `@图片1小明`),因此名字必须精确匹配,不要缩写或加额外符号
- **每段至少一个 @ 引用锚定画面**;角色出场的段必须 @ 该角色;只引用该分镜段落已绑定的场景/角色/道具
## 时间轴规则
- 段数 = 分镜段落 duration ÷ 3 秒(向上取整),各段时间范围相加必须等于段落总时长
- 内容节奏:第一段建立 → 中段推进动作/冲突 → 末段落到结果或情绪点
## 禁止事项
- 跨场景切换、闪回(一个段落只发生在一个场景内)
- 引用列表之外的场景/角色名
- 抽象心理描写、文学化比喻(模型只认可见画面)
- 语言与会话语言指令不符
## 保存
调用 `update_storyboard` 仅更新该分镜段落的 `video_prompt` 字段,不要改动其他字段,不要重新拆分整集。