Flatten skill category directory structure

This commit is contained in:
2026-05-20 17:04:50 +08:00
parent 0dd552a6f7
commit 63f2baa4bd
354 changed files with 0 additions and 0 deletions
+164
View File
@@ -0,0 +1,164 @@
---
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 中侧重环境氛围描写