# AI Video Storyboard

> AI短视频制作｜宫格故事板｜GPT生图｜即梦视频｜剪映后处理 — AI短视频全流程制作Skill，从创意构思→分镜脚本→GPT宫格生图→即梦Seedance视频生成→剪映草稿自动化一条龙。支持广告/影视/科普/教程/产品/直播带货/美食/旅行八大场景模板，10种视觉风格，三套脚本工具链。触发词：「宫格模板」「故事板」「AI短视频」「做视频」「生成分镜」「即梦视频」「短视频制作」「宫格生图」「AI视频」「九宫格视频」「剪映草稿」「视频自动化」。

- Skill: `whb786200/ai-video-storyboard` (Agent Skill, multi-file: 7 files)
- Install (CLI): `npx skillmds@latest add whb786200/ai-video-storyboard`
- Raw SKILL.md: https://api.skillmd.com/api/skills/whb786200/ai-video-storyboard/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: whb786200 (https://skillmd.com/u/whb786200)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/whb786200/ai-video-storyboard

---


# AI 短视频宫格故事板制作 v2.0

**GPT 生图 → 即梦视频 → 剪映草稿自动化** —— 全流程自动化制作 Skill。

> v2.0 重大升级：接入实际 API 调用（GPT Image 2 中转站 + Seedance 2.0 + pyjianyingdraft/CapCutMate），新增美食/旅行场景，扩展至 10 种视觉风格，三套 Python 脚本工具链。
>
> 借鉴开源项目：[drama-director-skill](https://github.com/kianaliang-dev/drama-director-skill)、[pillar/drama-skill](https://github.com/pillar/drama-skill)、[draco-skills-collection](https://github.com/dracohu2025-cloud/draco-skills-collection)、[pyJianYingDraft](https://github.com/GuanYixuan/pyJianYingDraft)、[capcut-mate](https://github.com/Hommy-master/capcut-mate)、[CapCutAPI](https://gitee.com/yangshare/CapCutAPI)、[seedance-2-api](https://github.com/Anil-matcha/Seedance-2.0-API)

## 工作流总览

```
┌─────────────┐    ┌──────────────┐    ┌───────────────┐    ┌──────────────┐    ┌─────────────┐
│  Phase 1    │───▶│   Phase 2    │───▶│   Phase 3     │───▶│  Phase 4     │───▶│  Phase 5    │
│  创意策划   │    │  分镜脚本    │    │  GPT宫格生图  │    │  即梦视频    │    │  剪映草稿   │
│             │    │              │    │               │    │              │    │  自动化     │
│ · 主题确定  │    │ · GPT写脚本  │    │ · 脚本自动调用│    │ · API自动提交│    │ · 草稿生成  │
│ · 场景分类  │    │ · 拆分镜表   │    │ · 中转站兼容  │    │ · 异步轮询   │    │ · 字幕导入  │
│ · 风格定义  │    │ · 质量检查   │    │ · 10种风格    │    │ · 角色一致性  │    │ · 转场配乐  │
│ · 规格设定  │    │              │    │               │    │              │    │ · 渲染导出  │
└─────────────┘    └──────────────┘    └───────────────┘    └──────────────┘    └─────────────┘
```

## 脚本工具链

**Agent 执行**：确定本 SKILL.md 所在目录为 `{baseDir}`。

| 脚本 | 路径 | 用途 |
|------|------|------|
| `generate_storyboard.py` | `{baseDir}/scripts/generate_storyboard.py` | GPT Image 2 宫格故事板生成（OpenAI 兼容 API） |
| `generate_video.py` | `{baseDir}/scripts/generate_video.py` | Seedance 2.0 视频生成（火山引擎/MuAPI/Atlas Cloud） |
| `jianying_draft.py` | `{baseDir}/scripts/jianying_draft.py` | 剪映草稿自动化生成（pyjianyingdraft/CapCutMate） |

## 环境配置

### 环境变量

| 变量 | 说明 | 示例 |
|------|------|------|
| `IMAGE_API_BASE_URL` | GPT Image 2 API 地址 | `https://api.lxj.asia/v1` |
| `IMAGE_API_KEY` | GPT Image 2 API Key | `sk-xxx` |
| `IMAGE_MODEL` | 图像模型名称 | `gpt-image-2` |
| `VIDEO_API_BASE_URL` | Seedance API 地址 | `https://ark.ap-southeast.bytepluses.com/api/v3` |
| `VIDEO_API_KEY` | Seedance API Key | `sk-xxx` |
| `VIDEO_MODEL` | 视频模型名称 | `dreamina-seedance-2-0-260128` |
| `VIDEO_PROVIDER` | 视频API提供商 | `volcengine`/`muapi`/`atlascloud` |

### 依赖安装

```bash
# 必选：三个脚本均为纯 Python，无第三方依赖
# 可选：剪映草稿自动化需要 pyjianyingdraft
pip install pyjianyingdraft
# 可选：使用 CapCutMate 需要 requests
pip install requests
# 可选：获取视频时长需要 ffprobe 或 moviepy
pip install moviepy
```

## Phase 0：开工前定 4 件事

| 设定项 | 说明 | 常见选项 |
|--------|------|----------|
| **主题** | 这条视频讲什么？ | 产品推广、知识科普、品牌故事… |
| **受众** | 给谁看？ | 新手/职场/宝妈/摄影圈/泛娱乐… |
| **风格** | 视觉风格（一旦确定不要改） | 见下方 10 种风格 |
| **规格** | 画幅 + 时长 | 9:16 竖屏 30s / 16:9 横版 15s / 1:1 方形 15s |

## Phase 1：创意策划与场景分类

### 八大场景路由

#### 1. 广告类（advertising）
- **适用**：产品广告、品牌推广、电商种草
- **提示词**：`参考@{产品图片}帮我生成{产品名}广告的故事板，16:9横版，包含角色设定、场景设计、镜头调度、分镜画面，排版干净统一，专业影视前期故事板风格。`

#### 2. 影视类（filmmaking）
- **适用**：短剧、预告片、剧情短片
- **提示词**：`生成一张{类型}，16:9横版故事板设定图，包含角色设定、场景设计、镜头调度、分镜画面，排版干净统一，专业影视前期故事板风格。`

#### 3. 科普类（education）
- **适用**：知识讲解、科普动画、概念解释
- **提示词**：`帮我制作一个"{科普主题}"完整科普故事板，16:9横版，包含角色设定、场景设计、镜头调度、分镜画面，排版干净统一，专业影视前期故事板风格。`

#### 4. 教程类（tutorial）
- **适用**：操作教程、步骤教学、DIY 指南
- **提示词**：`帮我制作一个{教程主题}的完整制作教程故事板，3D动漫风格，16:9横版，包含角色设定、场景设计、镜头调度、分镜画面，排版干净统一，专业影视前期故事板风格。`

#### 5. 产品类（product）
- **适用**：产品故事、从原料到成品、品牌溯源
- **提示词**：`帮我制作一个{产品名}从{起始状态}到{最终状态}的完整故事板，16:9横版，包含角色设定、场景设计、镜头调度、分镜画面，排版干净统一，专业影视前期故事板风格。`

#### 6. 直播带货类（livestream）
- **适用**：剧情植入广告、直播间切片、带货短视频
- **提示词**：`制作一个{剧情类型}故事板，剧情中植入@{产品图片}广告，16:9横版，包含角色设定、场景设计、镜头调度、分镜画面，台词对话，排版干净统一，专业影视前期故事板风格。`

#### 7. 美食类（food）🆕
- **适用**：美食探店、烹饪教程、食材展示
- **提示词**：`帮我制作一个"{美食主题}"美食故事板，美食摄影风格，微距特写，暖色调灯光，16:9横版，包含角色设定、场景设计、镜头调度、分镜画面，排版干净统一，专业影视前期故事板风格。`

#### 8. 旅行类（travel）🆕
- **适用**：旅行Vlog、风景展示、城市漫游
- **提示词**：`帮我制作一个"{旅行主题}"旅行故事板，风景摄影风格，广角视野，16:9横版，包含角色设定、场景设计、镜头调度、分镜画面，排版干净统一，专业影视前期故事板风格。`

## Phase 2：分镜脚本生成

### 步骤 2.1：GPT 生成分镜表

```
你是短视频导演兼编剧。
请把我给你的主题，输出为"可执行拍摄分镜"。

要求：
- 时长：{总时长，默认30秒}
- 画幅：{画幅比例，默认9:16}
- 风格：{风格设定}
- 节奏：前3秒强钩子，中段信息密度高，结尾有行动引导
- 输出格式为表格，列包含：镜头号、时长、画面内容、景别/机位、镜头运动、屏幕字幕、旁白、音效/音乐建议
- 镜头数控制在 {镜头数量，默认8~10} 镜

主题：{用户主题}
产品/品牌信息（可选）：{产品信息}
目标受众：{受众描述}
必须强调的卖点：{核心卖点}
禁用内容：{黑名单内容}
```

### 步骤 2.2：质量检查

| ✅ 通过标准 | ❌ 需修改 |
|-------------|----------|
| 每镜描述具体（"她拿起桌上的手机"） | 描述太虚（"展示产品优势"） |
| 每镜 3~5 秒 | 单镜超过 6 秒 |
| 运镜温和（推近/横移/摇镜） | 运镜过猛（旋转/快速拉远） |
| 字幕简短有力 | 画面塞太多字 |
| 风格统一 | 风格关键词混用 |

## Phase 3：GPT Image 2 宫格生图（脚本自动化）

### 3A：脚本调用方式

```bash
# 基础用法：场景模板
python {baseDir}/scripts/generate_storyboard.py \
  --scene product \
  --topic "云南小粒咖啡从种植到成品上桌" \
  --style cinematic \
  --ratio 16:9 --quality 2k \
  --output ./output

# 自定义提示词
python {baseDir}/scripts/generate_storyboard.py \
  --prompt "16:9故事板，赛博朋克城市，霓虹灯光..." \
  --output ./output

# 带产品参考图（图改图模式）
python {baseDir}/scripts/generate_storyboard.py \
  --scene advertising --topic "蓝牙耳机" \
  --product-image ./earphone.jpg \
  --output ./output

# 使用配置文件
python {baseDir}/scripts/generate_storyboard.py \
  --config project.json --output ./output
```

### 3B：API 接入方案

脚本兼容所有 OpenAI `/v1/images/generations` 兼容 API：

| 中转站 | Base URL | model | size 支持 | 价格参考 |
|--------|----------|-------|-----------|----------|
| **LXJ 中转站** | `https://api.lxj.asia/v1` | `gpt-image-2` | 取决于模型配置 | 按分组扣费 |
| **老张 API** | `https://api.laozhang.ai/v1` | `gpt-image-2` / `gpt-image-2-vip` | vip 支持 1K/2K/4K | $0.03/次 |
| **Atlas Cloud** | `https://api.atlascloud.ai/api/v1` | `openai/gpt-image-2/text-to-image` | 1024/1536/2048 | 按量计费 |
| **火山方舟** | `https://ark.cn-beijing.volces.com/api/v3` | `doubao-seedream-*` | 按模型规格 | 火山币 |

### 3C：支持尺寸

| 画幅 | 1K | 2K | 4K |
|------|-----|-----|-----|
| 16:9 | 1280×720 | 2048×1152 | 3840×2160 |
| 9:16 | 720×1280 | 1152×2048 | 2160×3840 |
| 1:1 | 1280×1280 | 2048×2048 | 2880×2880 |
| 4:3 | 1280×960 | 2048×1536 | 3312×2480 |
| 3:4 | 960×1280 | 1536×2048 | 2480×3312 |
| 21:9 | 1280×544 | 2048×864 | 3840×1632 |

### 3D：10 种视觉风格 🆕

| 风格标识 | 名称 | 关键词 | 适用场景 |
|----------|------|--------|----------|
| `cinematic` | 电影质感 | 写实电影感，柔和自然光，低饱和，轻胶片质感 | 通用、产品、影视 |
| `anime` | 日本动漫 | 日本动漫风格，吉卜力色彩 | 教程、科普、美食 |
| `cyberpunk` | 赛博朋克 | 赛博朋克霓虹灯光，暗色调 | 科技、游戏、广告 |
| `3d` | 3D 渲染 | 3D渲染风格，Blender质感 | 教程、产品展示 |
| `japanese` | 日系清新 | 日系小清新，柔和光线，低饱和 | 旅行、美食、生活 |
| `watercolor` | 水彩手绘 🆕 | 水彩画风格，柔和边缘，手绘质感 | 科普、教育、文艺 |
| `noir` | 黑色电影 🆕 | 黑色电影风格，高对比度黑白，戏剧性光影 | 影视、悬疑、品牌 |
| `superhero` | 美式漫画 | 美式超级英雄漫画风格 | 广告、娱乐、年轻人 |
| `studio` | 棚拍质感 🆕 | 棚拍质感，专业灯光，纯色背景 | 产品、广告、电商 |
| `vintage` | 复古胶片 🆕 | 复古胶片风格，颗粒感，暖色调 | 旅行、怀旧、文艺 |

### 3E：单镜头分镜图提示词

```
生成一张短视频分镜图（storyboard frame）。
画幅：{画幅比例}。
风格：{风格设定}。
主体设定：{角色描述，写死：年龄、发型、服装、配饰}。
场景设定：{场景描述}。
镜头信息：{镜头号}，{景别/机位}，{镜头运动（如有）}。
画面内容：{分镜表中对应镜头的画面描述}。
要求：画面简洁，主体明确，避免多人脸堆叠；不要文字水印。
```

### 3F：角色一致性规则

> **核心原则**：固定"主体设定"和"风格设定"，只改"画面内容"。

| 必须固定 | 可以变化 |
|----------|----------|
| 角色外貌/年龄/发型/服装 | 每镜的画面内容 |
| 风格关键词（只选一种） | 景别和机位 |
| 画幅比例 | 镜头运动（温和范围内） |

## Phase 4：Seedance 2.0 视频生成（脚本自动化）

### 4A：脚本调用方式

```bash
# 故事板图片转视频（I2V）
python {baseDir}/scripts/generate_video.py \
  --scene storyboard \
  --image-url "https://your-cdn.com/storyboard.png" \
  --motion push --style cinematic \
  --ratio 16:9 --duration 5 \
  --output ./output

# 科普场景专用
python {baseDir}/scripts/generate_video.py \
  --scene storyboard_edu \
  --image-url "https://your-cdn.com/storyboard.png" \
  --output ./output

# 使用 MuAPI 中转
python {baseDir}/scripts/generate_video.py \
  --image-url "https://your-cdn.com/storyboard.png" \
  --provider muapi --api-key $MUAPI_KEY \
  --output ./output

# 使用 Atlas Cloud 中转
python {baseDir}/scripts/generate_video.py \
  --image-url "https://your-cdn.com/storyboard.png" \
  --provider atlascloud --api-base "https://api.atlascloud.ai/api/v1" \
  --output ./output
```

### 4B：视频提示词模板

**基础三段式**：`风格氛围 → 动态描述 → 静态描述`

| 场景 | 模板 |
|------|------|
| 通用 | `将故事板内容@{image}转化成视频。保持人物外观一致、服装一致、画面风格一致。镜头运动：{motion}。氛围：{style}。画面稳定，不要突然变焦，不要换脸。` |
| 影视 | `...转化成视频，不需要字幕。...` |
| 科普 | `...转化成专业的科普视频。动作清晰，信息传达准确。...` |
| 教程 | `...转化成教程演示视频，动作清晰。...` |
| 广告 | `...转化成产品广告视频，节奏紧凑。...` |

### 4C：运镜选择

| ✅ 推荐 | ❌ 不推荐 |
|---------|-----------|
| 缓慢推近 (`push`) | 大幅旋转 |
| 轻微横移 (`pan`) | 快速拉远 |
| 稳定手持 (`stable`) | 连续变焦 |
| 轻微摇镜 (`tilt`) | 跳跃式变焦 |

### 4D：API 接入方案

| 提供商 | Base URL | Model | 认证方式 | 特点 |
|--------|----------|-------|----------|------|
| **火山引擎** | `https://ark.ap-southeast.bytepluses.com/api/v3` | `dreamina-seedance-2-0-260128` | Bearer Token | 官方直连，稳定 |
| **MuAPI** | `https://api.muapi.ai/api/v1` | via SDK | x-api-key | 角色(@character)、Omni-Reference |
| **Atlas Cloud** | `https://api.atlascloud.ai/api/v1` | `bytedance/seedance-2.0/image-to-video` | Bearer Token | 统一入口，Fast 版可用 |

### 4E：角色一致性工作流 🆕

```python
# 步骤1：创建角色表（MuAPI 独有）
char = api.create_character(
    images_list=["https://your-cdn.com/character.jpg"],
    outfit_description="白色衬衫，浅蓝牛仔裤"
)

# 步骤2：在提示词中引用角色
video = api.text_to_video(
    prompt=f"@character:{char_id} 走在咖啡种植园中",
    aspect_ratio="16:9",
    duration=5
)
```

### 4F：异步轮询状态机

```
创建任务(POST) → queued → running → succeeded → 下载视频(24h有效)
                                          → failed → 保存错误信息
                                          → expired → 标记超时
```

**最佳实践**：轮询间隔 5s，超时 600s，成功后立即下载转存。

## Phase 5：剪映草稿自动化 🆕

### 5A：方案对比

| 方案 | 工具 | 特点 | 适用场景 |
|------|------|------|----------|
| **方案一** | pyjianyingdraft | Python 库，直接操作草稿 JSON | 本地脚本自动化 |
| **方案二** | CapCutMate | FastAPI 服务，30+ API 接口 | 远程部署、大模型集成 |
| **方案三** | CapCutAPI | HTTP API，Gitee 开源 | 简单 API 调用 |

### 5B：方案一 — pyjianyingdraft

```bash
pip install pyjianyingdraft

# 从视频文件生成草稿
python {baseDir}/scripts/jianying_draft.py \
  --videos ./output/video_*.mp4 \
  --srt ./subtitles.srt \
  --bgm ./music.mp3 \
  --resolution 1080x1920 \
  --output ./draft
```

**能力**：
- ✅ 添加视频/图片/音频/贴纸素材
- ✅ 转场、滤镜、蒙版、动画
- ✅ 文本字幕、气泡、花字
- ✅ 导入 .srt 字幕文件
- ✅ 关键帧动画
- ⚠️ 自动导出仅支持 Windows + 剪映 ≤ 6
- ⚠️ 模板模式仅支持剪映 ≤ 5.9

### 5C：方案二 — CapCutMate（推荐远程部署）

```bash
# Docker 一键部署
git clone https://github.com/Hommy-master/capcut-mate.git
cd capcut-mate && docker-compose pull && docker-compose up -d

# 通过脚本调用
python {baseDir}/scripts/jianying_draft.py \
  --videos ./output/*.mp4 \
  --srt ./subtitles.srt \
  --use-capcutmate \
  --capcutmate-url http://localhost:30000 \
  --output ./draft
```

**核心 API**（30+ 接口）：

| 接口 | 功能 |
|------|------|
| `create_draft` | 创建草稿 |
| `add_videos` | 批量添加视频 |
| `add_audios` | 批量添加音频 |
| `add_images` | 批量添加图片 |
| `add_captions` | 添加字幕（关键词高亮） |
| `add_effects` | 添加特效/滤镜 |
| `add_keyframes` | 关键帧动画 |
| `add_masks` | 遮罩效果 |
| `gen_video` | 云端渲染生成视频 |

**集成能力**：Coze 插件、n8n 工作流、剪映云渲染。

### 5D：方案三 — CapCutAPI

```bash
git clone https://gitee.com/yangshare/CapCutAPI.git
cd CapCutAPI && pip install -r requirements.txt
python capcut_server.py
# 服务启动在 http://localhost:9001
```

| 接口 | 功能 |
|------|------|
| `/create_draft` | 创建草稿 |
| `/add_video` | 添加视频 |
| `/add_audio` | 添加音频 |
| `/add_text` | 添加文本 |
| `/add_subtitle` | 添加字幕（AI 生成） |
| `/add_sticker` | 添加贴纸 |
| `/save_draft` | 保存草稿 |

### 5E：完整工作流示例

```bash
# Step 1: 生成宫格故事板
python scripts/generate_storyboard.py \
  --scene product --topic "云南咖啡" --style cinematic \
  --ratio 16:9 --quality 2k --output ./coffee_project

# Step 2: 故事板转视频
python scripts/generate_video.py \
  --scene storyboard --image-url "https://cdn.example.com/storyboard.png" \
  --motion push --style cinematic --duration 5 \
  --provider volcengine --output ./coffee_project

# Step 3: 生成剪映草稿（所有视频片段）
python scripts/jianying_draft.py \
  --videos ./coffee_project/*.mp4 \
  --srt ./coffee_project/subtitles.srt \
  --bgm ./coffee_project/bgm.mp3 \
  --output ./coffee_project/draft

# Step 4: 在剪映中打开草稿，检查并导出
```

## 成本估算

| 项目 | 数量 | 预估价格 |
|------|------|----------|
| GPT Image 2（2K） | 1 张 | $0.03~0.10 |
| Seedance 2.0 I2V（5s/720p）× 1 | 1 段 | ≈¥2~5 |
| Seedance 2.0 I2V × N镜 | 8~10 段 | ≈¥10~25 |
| 剪映草稿（自动化） | 1 | 免费（本地） |
| **总计** | — | **约 ¥12~30 / 条** |

> 九宫格方案（1张图+1段视频直出）成本约 ¥3~8/条，降低至逐镜方案的 1/5。

## 避坑清单

| ❌ 常见错误 | ✅ 正确做法 |
|-------------|------------|
| 分镜表写太虚 | 写成"镜头里出现什么" |
| 同一角色每镜都变样 | 主体设定写死，或用 @character 角色 |
| 一镜拍太久（>6秒） | 拆成两镜，每镜 3~5 秒 |
| 运镜太猛 | 轻运镜，缓慢推近/横移 |
| 画面里塞太多字 | 字越少越好，用字幕解决 |
| 风格关键词混用 | 只选一种风格 |
| Seedance 视频下载不及时 | 24小时内必须转存 |
| 跳过分镜直接生图 | 先写分镜表再生成，质量更高 |
| API 重复提交导致重复扣费 | 实现幂等性（Request Hash 控制） |
| b64_json 解码失败 | 先去 `data:image/png;base64,` 前缀，再补 `=` padding |
| 剪映版本不兼容 | 模板模式≤5.9，自动导出≤6，草稿生成≥5 |
| 视频URL传本地路径 | Seedance API 需公网 URL，先上传到图床/OSS |

## 迭代记录

### v2.0.0 (2026-05-13)
- **脚本工具链**：新增 3 个 Python 脚本（生图/视频/剪映草稿）
- **API 接入**：GPT Image 2 中转站兼容（LXJ/老张/Atlas Cloud/火山方舟）
- **API 接入**：Seedance 2.0 多提供商（火山引擎/MuAPI/Atlas Cloud）
- **剪映自动化**：pyjianyingdraft + CapCutMate + CapCutAPI 三套方案
- **新增场景**：美食类、旅行类
- **新增风格**：watercolor/noir/studio/vintage，共 10 种
- **角色一致性**：@character 工作流
- **异步轮询**：完整状态机 + 超时处理

### v1.0.0 (2026-05-13)
- 初始版本
- 六大场景模板
- GPT Image 2 宫格故事板生成流程
- 即梦 Seedance 2.0 视频生成集成
- 剪映后处理操作规范

