--- name: storyboard display-name-zh: 分镜板 version: 1.0.2 description: | N宫格分镜故事板生成器。根据用户提供的故事文档或描述,先拆解为逐镜头分镜表, 再调用 AI 生成 N 宫格故事板图片。 支持读取剧本文档(docx/txt)自动拆解镜头,也支持用户直接输入故事描述。 支持 2x2、3x3、4x4、5x5 等网格布局,每格画面比例可自定义(默认 16:9)。 触发词包括:分镜、故事板、storyboard、N宫格、九宫格、四宫格、网格分镜、 分镜拆解、镜头拆解、shot breakdown、画分镜、帮我拆镜头、 make a storyboard、visual script。 不适用于:完整纪录片/科普片视频生成(使用 documentary skill)、 角色三视图/四视图/表情包(使用 film-tv skill)、视频剪辑合成。 summary-cn: 输入剧本,生成分镜表和 N 宫格故事板 summary-en: Turn script into N-grid storyboards tags: [Image, Shot-List, AI-Image] tags-cn: [图片, 镜头表, AI图像] exported-by: MiniMax-hub --- # N宫格分镜故事板 将故事或剧本拆解为逐镜头分镜表,生成 N 宫格故事板图片。 ## STEP 1: 收集故事来源 从用户消息中判断故事输入方式: 1. **文档输入** — 用户提供了 docx/txt 等剧本文档 → 读取文档内容 2. **直接输入** — 用户直接在对话中描述故事 → 直接使用 如果用户提供了文档,读取后给出 3 个选择: | 选项 | 说明 | |------|------| | 前 9 个镜头 · 3x3 | 从剧情开头挑选前 ~9 个关键镜头,生成 3x3 九宫格 | | 前 16 个镜头 · 4x4 | 从剧情开头挑选前 ~16 个关键镜头,生成 4x4 十六宫格 | | 用户选一集 · 自动挑镜头 | 用户指定某一集/章节,由 AI 挑选核心镜头 | 如果用户直接输入故事(非文档),询问: - **网格尺寸**:2x2 / 3x3 / 4x4 / 5x5(默认 3x3) - **画面比例**:每格的宽高比(默认 16:9) ## STEP 2: 分镜拆解(镜头表) 根据选定的故事内容,拆解为逐镜头分镜表,以 Markdown 表格呈现。 **分镜表格式**: | Shot | 景别 | 画面描述 | 对应剧本台词 | |:---:|:---:|---|---| | 1 | 全景 / 特写 / 中景 / 近景 等 | 角色位置(含方位 N/S/E/W)、姿态、服装、动作、光影 | 角色(情绪):"台词" 或 无 | **拆解规则**: 1. **景别标注** — 每个镜头标注景别(全景 / 中景 / 中近景 / 近景 / 特写),可附加运镜说明(仰拍 / 俯拍 / 固定 / 推 / 拉) 2. **空间方位** — 角色位置使用方位标注(E/W/S/N),描述朝向和相对位置关系 3. **空镜规则** — 场景转换或环境交代时,先给一个空镜(台词为"无")建立空间感,因为单张图片无法同时传递环境信息和人物互动,分开处理可让每个镜头职责明确 4. **服装与状态** — 首次出现的角色完整描述服装外观;后续镜头如有状态变化则标注叠加状态 5. **光影描述** — 每个镜头包含光线/环境氛围描述 6. **台词格式** — `角色(情绪标注):"台词内容"` 或 `无`(空镜 / 纯动作镜头) 拆解完成后,将分镜表以 Markdown 表格写入画布文本节点,展示给用户确认。 **⏸ 等待用户确认分镜表后再继续。** ## STEP 3: 询问参考素材 生成故事板图片之前,询问用户是否有参考素材(允许多选): | 素材类型 | 说明 | 用途 | |----------|------|------| | 参考图 | 风格参考、氛围参考、画风参考 | 控制整体视觉风格、色调、画风 | | 角色参考 | 角色立绘、角色照片、角色四视图 | 保持角色外观一致性 | | 场景参考 | 场景概念图、实拍场景照片 | 保持场景环境一致性 | | 无参考素材 | 让 AI 自由发挥风格 | — | 如果用户提供了参考素材: - 从画布获取或从用户上传的文件路径获取 - 使用 `read_media` 分析参考素材的视觉特征,提取风格关键词 - 所有参考素材的文件路径传递给后续生成步骤 ## STEP 4: 生成分镜提示词 调用 `text_generation` 工具,将 STEP 2 的分镜表 + STEP 3 的参考素材分析结果输入,生成结构化分镜 JSON。 System Prompt 模板见 → `references/panel-prompt-system.md` **调用参数**: - `model`: `gemini-2.5-pro` - `prompt`: 将分镜表填入模板的 `{{prompt}}`,网格设置 JSON 填入 `{{grid_setting}}` - `images`: 如有参考素材,传入参考图路径列表 - `response_format`: `json_object` 返回的 JSON 包含 `panels`(每格描述)和 `overall_prompt`(整体合成 prompt)。 ## STEP 5: 生成 N 宫格故事板图片 从 STEP 4 返回的 JSON 中提取 `overall_prompt` 字段,调用 `nano_banana_image_generation` 生成故事板图片。 **指定模型**:`nano_banana_2`(Gemini 3 Pro,网格图质量最佳,当前唯一可靠生成多格分镜的模型)。 **Prompt 构造**:在 `overall_prompt` 前加上网格布局指令: ``` Generate a {rows}x{cols} grid storyboard image. The grid has {rows} rows and {cols} columns. Each cell represents a sequential scene panel with {cell_ratio} aspect ratio. Arrange the panels left-to-right, top-to-bottom. Add thin white borders between panels for clear separation. {overall_prompt} ``` **参数**: - `model`: `nano_banana_2` - `reference_images`: 传入用户的参考图(如有) - `aspect_ratio`: 根据网格和 cell_ratio 计算(同行列数网格的整体比例 = 单格比例) - `resolution`: `high`(高分辨率,确保每格细节清晰) **比例计算参考**: | 网格 | 单格比例 | 整体比例 | |------|----------|----------| | NxN (2x2/3x3/4x4/5x5) | 16:9 | 16:9 | | NxN | 9:16 | 9:16 | | NxN | 1:1 | 1:1 | > 同比例网格,整体比例 = 单格比例。当行列数不同时(如 2x3),需单独计算。 ## STEP 6: 输出结果 向用户展示三部分内容: 1. **分镜拆解表** — STEP 2 生成的镜头表格(已在画布上) 2. **分镜提示词** — STEP 4 生成的 JSON,格式化展示 style_profile 和每个 panel 的描述 3. **N 宫格故事板图片** — STEP 5 生成的图片 展示格式: ``` ## 分镜故事板 ### 风格分析 {reference_analysis} ### 统一风格 {style_profile} ### 分镜描述 | 位置 | 描述 | |------|------| | (0,0) | {panel_description} | | (0,1) | {panel_description} | | ... | ... | ### 故事板图片 [生成的 N 宫格图片] ``` ## 注意事项 - 所有 AI 生成的 prompt 使用英文,用户交互使用中文 - 参考图是风格的最高权威 — 分镜内容需适配参考图的风格,因为保持视觉一致性是故事板的核心价值 - 角色参考图是角色外观的最高权威 — 所有包含该角色的 panel 与参考一致,以确保观众能跨镜头识别同一角色 - 每个 panel description 自包含,可独立作为图片生成 prompt - 空镜在 panel description 中侧重环境氛围描写