# storyboard-generator > 将小说章节/剧本拆解为 Sora 2 可用的分镜脚本。Use when user asks to create storyboard, breakdown scenes, 分镜, 拆解场景, 场景卡片, or convert script/novel to video shots. - Author: axis_yx - Repository: yx709057978/xuanhuan-agent - Version: 20260102005621 - Stars: 0 - Forks: 0 - Last Updated: 2026-02-06 - Source: https://github.com/yx709057978/xuanhuan-agent - Web: https://mule.run/skillshub/@@yx709057978/xuanhuan-agent~storyboard-generator:20260102005621 --- --- name: storyboard-generator description: 将小说章节/剧本拆解为 Sora 2 可用的分镜脚本。Use when user asks to create storyboard, breakdown scenes, 分镜, 拆解场景, 场景卡片, or convert script/novel to video shots. --- # Storyboard Generator (分镜生成器) > 将小说章节、剧本或故事大纲转换为 Sora 2 Storyboard 格式的分镜脚本 ## 目录 - [When to Use](#when-to-use) - [核心概念](#核心概念) - [分镜拆解流程](#分镜拆解流程) - [输出格式](#输出格式) - [场景卡片模板](#场景卡片模板) - [时间线规划](#时间线规划) - [最佳实践](#最佳实践) - [示例](#示例) --- ## When to Use - 用户要求将小说章节转换为分镜 - 用户需要为 Sora 2 准备 Storyboard 卡片 - 用户提到"分镜"、"场景拆解"、"镜头规划" - 用户想把文字剧本可视化 - 用户需要规划 AI 视频的时间线 **不适用场景**: - 直接生成 Sora prompt(使用 sora2-prompt-generator) - 角色设计(使用 character-visual-bible) - 场景环境设计(使用 scene-environment-library) --- ## 核心概念 ### Sora 2 Storyboard 工作原理 Sora 2 的 Storyboard 是一个**时间线编辑器**: - 每张**卡片 (Card)** 代表视频中的一个关键时刻 - 卡片描述该时刻的**场景、角色、动作** - 卡片之间的**间距**控制过渡节奏 - 当前版本按**线性时间线**排列 ### 关键限制 | 限制 | 说明 | 应对策略 | |-----|------|---------| | 卡片间距太近 | 产生硬切/跳跃 | 保持适中间距 | | 卡片间距太远 | AI 会自行填充细节 | 控制在 3-5 秒内 | | 角色一致性 | 跨镜头可能变脸 | 每张卡片重复关键特征 | | 最长时长 | Pro 版 25 秒 | 拆分为多个短片段 | --- ## 分镜拆解流程 ### Step 1: 识别关键时刻 从章节内容中提取: 1. **场景转换点** - 地点/时间变化 2. **情绪转折点** - 氛围突变 3. **动作高潮点** - 关键动作发生 4. **对话重点** - 重要台词 ### Step 2: 确定镜头数量 | 内容类型 | 建议镜头数/10秒 | 说明 | |---------|---------------|------| | 对话场景 | 2-3 | 正反打 + 双人镜头 | | 动作场景 | 4-6 | 快节奏切换 | | 氛围场景 | 1-2 | 长镜头渲染 | | 过渡场景 | 1 | 空镜/环境 | ### Step 3: 分配时间线 ``` 总时长 = 镜头数 × 平均镜头时长 建议单镜头: 3-5 秒 建议总时长: 10-20 秒/场景 ``` ### Step 4: 填充卡片内容 每张卡片需要包含: - 场景描述(环境、光线、氛围) - 角色状态(位置、表情、服装) - 具体动作(用节拍描述) - 镜头建议(可选) --- ## 输出格式 ### 标准分镜格式 ```markdown ## 场景 X: [场景名称] **时长**: X 秒 | **镜头数**: X | **氛围**: [关键词] --- ### Shot 1 (0:00 - 0:03) **镜头类型**: [Wide/Medium/Close-up/etc.] **场景**: [环境描述] **角色**: [角色状态] **动作**: [具体动作,用节拍描述] **情绪**: [氛围关键词] > Sora Card 描述: > [直接可用于 Sora Storyboard 的描述文本] --- ### Shot 2 (0:03 - 0:06) ... ``` ### Sora Storyboard 卡片格式 ``` [Card X - 时间点] [场景 + 角色 + 动作的完整描述] [保持 50-100 字,具体且可视化] ``` --- ## 场景卡片模板 ### 对话场景模板 ``` [Card 1 - 0:00] 双人中景 两人面对面站立,[角色A描述],[角色B描述]。 [环境光线描述]。 [Card 2 - 0:03] 角色A特写 [角色A]说话时的表情,[具体表情描述]。 [情绪氛围]。 [Card 3 - 0:06] 角色B反应 [角色B]听到后的反应,[具体动作/表情]。 ``` ### 动作场景模板 ``` [Card 1 - 0:00] 全景建立 [场景全貌],[角色位置关系]。 [紧张/激烈的氛围描述]。 [Card 2 - 0:02] 动作起势 [角色]开始[动作],[身体姿态描述]。 [速度/力量感描述]。 [Card 3 - 0:04] 动作高潮 [动作的最高点/碰撞点]。 [特效/环境反应]。 [Card 4 - 0:06] 动作结果 [动作完成后的状态],[角色反应]。 ``` ### 氛围场景模板 ``` [Card 1 - 0:00] 环境空镜 [场景描述,无人物]。 [天气/光线/氛围]。 [Card 2 - 0:05] 角色入画 [角色缓缓出现/进入画面]。 [角色与环境的关系]。 ``` --- ## 时间线规划 ### 节奏控制原则 | 情绪 | 镜头时长 | 卡片间距 | 说明 | |-----|---------|---------|------| | 紧张/激烈 | 1-2秒 | 紧密 | 快速切换 | | 日常/对话 | 3-4秒 | 适中 | 自然节奏 | | 沉思/悲伤 | 5-8秒 | 宽松 | 留白渲染 | | 震撼/高潮 | 2-3秒 | 适中 | 强调冲击 | ### 过渡处理 - **硬切**: 卡片紧密排列,适合动作/紧张场景 - **软切**: 卡片间留 1-2 秒,AI 会生成过渡 - **淡入淡出**: 在描述中加入"slowly"、"gradually" --- ## 最佳实践 ### Do ✅ - 每张卡片只描述**一个关键时刻** - 用**具体动词**描述动作("举起剑" 而非 "准备战斗") - 在每张卡片**重复角色关键特征**保持一致性 - 为重要场景准备**多个备选描述** - 标注**镜头类型**方便后期调整 ### Don't ❌ - 一张卡片塞入多个动作 - 使用模糊的情绪词("很激动") - 忽略环境和光线描述 - 卡片间距过近或过远 - 依赖 AI 自动填充关键内容 ### 角色一致性技巧 在每张卡片中重复角色的: - 服装颜色和款式 - 发型和发色 - 标志性特征(伤疤、饰品等) - 体型描述 示例: ``` ❌ "陈十一站在那里" ✅ "瘦削青年陈十一,破旧灰色布衣,乱发遮眼,站在那里" ``` --- ## 示例 ### 输入:玄幻小说片段 ``` 陈十一潜入青云宗行窃,却发现这里穷得只有耗子。 正欲撤退,被吴算子当场"碰瓷"抓获。 ``` ### 输出:分镜脚本 ```markdown ## 场景 1: 青云宗夜探 **时长**: 15 秒 | **镜头数**: 4 | **氛围**: 紧张、荒诞 --- ### Shot 1 (0:00 - 0:04) **镜头类型**: Wide establishing shot **场景**: 破败的青云宗大殿,月光从破洞屋顶洒入,灰尘飞舞 **角色**: 陈十一的黑影从窗户翻入 **动作**: 轻盈落地,环顾四周 **情绪**: 紧张、谨慎 > Sora Card 描述: > 月光穿过破败屋顶洒入荒废大殿。一个瘦削身影从窗户翻入, > 轻盈落地,灰尘扬起。他穿着破旧灰色布衣,乱发遮眼, > 警惕地环顾四周。殿内空无一物,只有角落的蜘蛛网和老鼠。 --- ### Shot 2 (0:04 - 0:07) **镜头类型**: Medium shot **场景**: 空荡荡的库房,架子上只有灰尘 **角色**: 陈十一站在库房中央,表情从期待变为失望 **动作**: 打开一个箱子,发现是空的,无奈摇头 **情绪**: 失望、荒诞 > Sora Card 描述: > 陈十一站在空荡荡的库房中央,月光照亮他失望的脸。 > 他打开一个落灰的木箱,里面空无一物。 > 一只老鼠从箱子里窜出,他无奈地摇了摇头。 --- ### Shot 3 (0:07 - 0:11) **镜头类型**: Over-the-shoulder **场景**: 陈十一转身准备离开 **角色**: 背后突然出现一个干瘦老者(吴算子) **动作**: 老者一把抓住陈十一的肩膀 **情绪**: 突然、紧张 > Sora Card 描述: > 陈十一转身准备离开,突然一只枯瘦的手从背后抓住他的肩膀。 > 他猛然回头,看到一个干瘦老者,山羊胡,精明的小眼睛, > 穿着打满补丁的道袍,正似笑非笑地看着他。 --- ### Shot 4 (0:11 - 0:15) **镜头类型**: Two-shot medium **场景**: 两人对峙 **角色**: 吴算子夸张地捂住腰,陈十一一脸懵逼 **动作**: 吴算子开始"碰瓷"表演 **情绪**: 荒诞、喜剧 > Sora Card 描述: > 老者突然夸张地捂住腰,痛苦地弯下身子。 > "哎哟!你撞到我了!我的老腰!" > 陈十一一脸懵逼地看着这个明显在演戏的老头, > 月光下两人的影子拉得很长。 ``` --- ## 相关资源 ### 本 Skill 附属文件 - [references/shot-types.md](references/shot-types.md) - 镜头类型速查表 - [references/pacing-guide.md](references/pacing-guide.md) - 节奏控制指南 ### 配套 Skills - `sora2-prompt-generator` - 将分镜转换为 Sora prompt - `character-visual-bible` - 角色视觉一致性 - `scene-environment-library` - 场景环境描述库 ### 外部参考 - [OpenAI Sora Storyboard 官方教程](https://help.openai.com/en/articles/9957612-generating-videos-on-sora) - [Katalist AI 分镜指南](https://www.katalist.ai/storyboarding/film)