storyboard-breaker · git:20261014.f03ad80 · 2026-10-14 · sha256 f2810d2e8a576c64
storyboard-breaker git:20261014.f03ad80A
Immutable. This exact content never changes and is served at /api/v1/blob/f2810d2e8a576c64.
--- name: storyboard-breaker description: 分镜拆解专业规范 — 将剧本拆分为可承载多个子镜头的分镜段落 --- # 分镜拆解指南 ## 核心定义:分镜段落 一个分镜 = 一个 **分镜段落**(segment)= 一个视频生成任务。 - 段落时长由台词和动作决定,**4-15 秒**,内部承载 **1-4 个子镜头** - 子镜头之间**可以切镜**:换景别、换角度、换拍摄对象,用硬切衔接 - 子镜头之间**不跨场景**:一个段落只发生在一个场景内(`scene_id` 是段落级绑定) - 每个子镜头 2-6 秒,聚焦一个画面单元(一个动作、一个反应、一个特写) ## 拆分流程(四步) 1. 调用 `read_storyboard_context` 读取剧本、角色、场景、道具、已有分镜摘要 2. **节拍识别**:先识别剧本的叙事节拍——剧本中的【开场】【触发】【高潮】【收尾】等标记,或叙事转折点(地点转移、规则揭示、情绪爆发、反转)。**节拍边界强制切段**,同一节拍内的子镜头优先归入同一段落,不把一条因果链(铺垫-发生-反应)切散到不同段落 3. **总量锚定**:目标总时长 = 剧本字数 ÷ 500字/分钟;段落数 ≈ 目标总时长 ÷ 12秒,允许 ±20% 浮动。不要明显超出或不足 4. **段落内拆子镜头**:按动作切换点、视角切换点、对象切换点切分子镜头,为每个段落补全完整字段后调用 `save_storyboards` 一次性保存 ## 时长跟着台词走(硬规则) **有台词的段落:duration ≈ 台词字数 ÷ 4.5字/秒 + 每次换人说话 0.8 秒 + 开场 0.5 秒 + 收尾 1 秒(±2 秒)** - 台词 5 秒的段落给 6-8 秒,**不能给 10 秒**:多出来没人说话的时间,视频模型会自己编台词,出现胡言乱语 - 段落里超过 3 秒的无台词时间,必须在 `description` 里写成具体可见的动作或反应(起身、递东西、沉默对视、整理衣角) - 台词装不下就拆成多个同场景的连续段落;不要把短对话塞进长段落 - 保存时系统会按台词自动校正:演不完的自动加长;空档过多会在 `timing_warnings` 里提醒,收到后用 `update_storyboard` 改短或补写动作 | 段落类型 | 时长 | 说明 | |---|---|---| | 对话段 | 按台词计算 | 每句台词 + 换人停顿 + 反应,空档 ≤ 3 秒 | | 动作 / 过渡段 | 4-10 秒 | 赶路、空镜、环境建立、转场,每一秒都有可见动作 | | 爆点段 | 8-15 秒 | 特写、规则揭示、情感爆发、反转;放慢节奏但用表情和动作填满,不留空白 | ## 对话节奏(硬规则) - 一个段落最多 **4 句台词**;一句台词只属于一个子镜头,不跨段落断句 - **说话人入镜说话**(中近景 / 过肩镜头),两句之间写听者的反应(点头、皱眉、沉默一拍),不连珠炮、不同时说 - **正反打 + 180 度轴线**:对话开始时在 `blocking` 定好左右(如小明在画面左、小红在画面右),整场对话所有段落不变 - 旁白是画外音:写「旁白:内容」,旁白期间画面人物不说话 ## 站位与接戏(硬规则) - 每个段落都要填 `blocking`:「开场:每个出场角色在画面左/中/右、前景/后景、朝向、姿态、手中道具」「结尾:段落结束时各角色的位置与状态」 - **同一场景的连续段落,本段开场必须等于上一段结尾**:人物不瞬移、不凭空消失、不换位置;道具在谁手里就一直在谁手里 - 人物外观以角色设定为准:不写与设定不同的服装、发型、配饰;剧本没写换装就不换装 - 同一场景连续段落的时间、光线、天气保持一致;不写与项目画风矛盾的风格词 - 生成视频时,系统会把同场景上一镜的结尾画面作为首帧 / 参考图,并附加站位、外观、画风锁定指令——`blocking` 写得越具体,接戏越准 ## 镜头要素 1. **镜头标题**:3-5字概括段落核心内容(如"噩梦惊醒") 2. **时间**:具体时分 + 光线描述 3. **地点**:场景完整描述 + 空间布局 + 环境细节 4. **景别**:段落内主导景别;多景别段落写组合,如"中景+特写" 5. **角度**:平视/仰视/俯视/侧面/背面 6. **运镜**:固定/推镜/拉镜/摇镜/跟镜/移镜(段落内不同子镜头可不同) 7. **画面描述** `description`:按 `【镜头1】…【镜头2】…` 逐子镜头描述观众实际看到和听到的内容——画面(谁 + 具体动作 + 肢体细节 + 表情)写在前;该子镜头有台词时以「角色名说:「台词」」写在对应 `【镜头N】` 内,旁白写「旁白:内容」 8. **画面结果** `result`:段落结尾的即时后果 + 视觉细节 9. **氛围** `atmosphere`:光线 + 色调 + 声音 + 整体氛围 10. **时长** `duration`:4-15 秒,按「时长跟着台词走」规则确定,不要为了凑数拉长 11. **场景关联**:若能匹配已有场景,必须填写 `scene_id` 12. **角色关联**:填写 `character_ids`,绑定当前段落涉及的 0 到多个角色 13. **道具关联**:填写 `prop_ids`,绑定当前段落出现的关键道具(0 到多个) 14. **站位** `blocking`:「开场:…」「结尾:…」两句,写清每个角色在画面左/中/右、前后景、朝向、姿态与手中道具;同场景下一段开场 = 本段结尾 ## 场景关联规则 - 优先使用 `read_storyboard_context` 返回的 `scenes` - `location + time` 可明确匹配时,必须回填正确 `scene_id` - 不要凭空生成不存在的场景 ID - 如果剧本内容明显落在已有场景中,不要重复创造新场景描述 ## 角色绑定规则 - `character_ids` 必须从 `read_storyboard_context` 返回的角色列表中选择 - 一个段落可以没有角色,也可以绑定多个角色 - 只要段落里有明确出场、被看见、发生动作或说话的角色,都应绑定进去 - 纯环境段落、空镜、物件特写可以传空数组 ## 道具绑定规则 - `prop_ids` 必须从 `read_storyboard_context` 返回的道具列表(`props`)中选择 - 道具被角色使用、交接、特写,或在画面中明显可见且对叙事有意义时,必须绑定到该段落 - 道具特写段落(无角色)也应绑定道具,`character_ids` 可为空 - 与剧情无关的背景物品、场景陈设不要绑定;没有道具出现的段落传空数组 - 绑定的道具会作为视频生成的参考图(白底单品图),保证道具外观跨段落一致 ## 质量要求 - `description` 要适合人读,按子镜头详细描述观众实际看到和听到的内容;台词/旁白直接写在对应 `【镜头N】` 内 - `image_prompt` 要突出单帧构图、角色外观、环境和光线(对应段落第一个子镜头) - `bgm_prompt` 和 `sound_effect` 用简洁短语即可,但不能空泛到只有“紧张”“悲伤” - 如需调整,调用 `update_storyboard` 修改具体段落