# AI Manga Drama

> AI漫剧导演——根据背景剧情或主题，完成镜头规划→分镜图生成→视频生成（wan2.6音画同步）→视频合并的完整漫剧制作流水线。全程调用 neta 的 make-image、make-video(model_w)、merge-video 接口。当用户想制作漫剧、竖屏动态漫画、AI短剧、或将剧情/主题转化为视频内容时触发。

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

---


# AI 漫剧导演

基于 neta 能力的全流程漫剧制作技能。核心流程：

```
剧情分析 → 剧本撰写（台词） → BGM生成（make-song，一轨） → 镜头规划 → 分镜图生成 → 视频生成（仅对白+音效，无BGM） → 视频合并（混入BGM）
```

> ⚠️ **音频架构说明（必读）：**
> wan2.6 对每个视频片段独立生成 BGM，合并后各段音乐互不衔接。
> 正确做法：**BGM 只生成一次**（`make-song`），每段视频**不生成 BGM**，只保留对白与音效，最后 `merge-video` 时混入统一 BGM。

> **前置要求：** 需要 neta 技能可用（已设置 `NETA_TOKEN`）

---

## Step 1：剧情摄入与分析

从用户输入中提取：

| 要素 | 说明 |
|------|------|
| **故事背景** | 世界观、时代、地点 |
| **主角** | 外貌、性格、服装（跨镜头一致性关键） |
| **配角** | 名字、与主角关系、外貌简述 |
| **核心冲突** | 本集的主要矛盾 |
| **情感基调** | 热血 / 温情 / 悬疑 / 喜剧 / 恐怖 等 |
| **美术风格** | 日漫 / 国漫 / 写实 / 赛博朋克 / 古风 等 |

若信息不足，**只问一次**，列出所有缺失项后等待回复。

---

## Step 2：剧本撰写（台词规划）⚠️ 不可跳过

**在规划任何镜头之前，先写完整的分场剧本。** 这是保证台词逻辑连贯的唯一方式。

读取 `refs/shot-planning.md` → **第一节：剧本格式**，输出本集完整剧本：

```
=== 《剧名》第X集 剧本 ===

【第一场】地点：XXX  时间：XXX
（场景描述：...）

[角色A]：台词内容。（情绪/动作备注）
[角色B]：台词内容。（情绪/动作备注）
（旁白/内心独白）

【第二场】...
```

**剧本规则：**
- 台词必须有人物动机，不能是信息堆砌
- 每场的结尾必须为下一场制造"拉力"（悬念/情绪转折/问题）
- 台词总量控制：每集 6-12 句对白，少而精
- 写完后展示给用户确认，有修改意见先改剧本，再继续

---

## Step 3：BGM 生成（make-song）⚠️ 不可跳过，必须在视频之前完成

**生成整集唯一一轨 BGM。** 所有视频片段的 BGM 共用这一轨，不在视频生成阶段单独生成。

先根据剧情基调设计 BGM 风格，输出音频设计单：

```
=== 《剧名》第X集 音频设计单 ===

【BGM 风格描述（用于 make-song）】
风格：（例：重工业电子乐+弦乐铺底 / 古风琵琶轻音乐 / 钢琴独奏）
情绪：（例：紧张压迫、悲壮史诗、温柔治愈）
节奏：（例：中慢节奏，约80BPM / 快节奏，约130BPM）
时长：约 [镜头总数 × 10] 秒（估算）

【每段视频的音效规则（不含BGM）】
- 有台词镜头：生成对白音频，语气参见剧本备注
- 无台词镜头：生成场景环境音（例：风声、爆炸远声、室内静谧）
- 禁止：在任何单段视频提示词中要求生成背景音乐
```

然后执行 make-song 生成 BGM：

```bash
cd /Users/yves/.claude/skills/neta && npm start make-song \
  -p "<风格描述>" \
  -l ""
```

（`-l` 歌词留空表示纯音乐/纯配乐模式）

记录 BGM 的输出 URL/UUID，后续 merge-video 时使用。

展示设计单与 BGM 结果给用户确认后继续。

---

## Step 4：镜头规划

读取 `refs/shot-planning.md` → **第二节：镜头规划格式**执行规划。

**每个镜头必须填写的字段（不可省略）：**

```
【镜头 N】[功能标签：开场/引入/发展/高潮/转折/结尾]
所属场：第X场（对应剧本）
前接：镜头N-1 的画面结束状态（例：人物背影望向远方）
后接：镜头N+1 的画面起始状态（例：切入室内近景）
过渡方式：硬切 / 淡入淡出 / 推近 / 拉远
景别：大远景 / 远景 / 全景 / 中景 / 近景 / 特写
角度：平视 / 仰角 / 俯角 / 侧面
主体：谁在画面中，做什么
背景：场景具体描述（同场连续镜头必须保持一致）
氛围：光影、色调
台词：（引用剧本原文，或"无台词"）
说话者：（有台词时必填）
动态：视频阶段的核心动作（一个动作，简洁）
音频：（直接复制音频设计单，特殊镜头例外）
```

**衔接规则（严格执行）：**
- 同一场景的连续镜头：背景描述必须一致，不得突然改变环境
- 跨场景切换：必须标注"场景切换"并说明新场景
- 前接/后接字段：确保 N 的"后接"与 N+1 的"前接"在逻辑上连续
- 景别变化：避免相邻两个镜头景别完全相同（会导致视觉跳跃）

规划完成后展示完整镜头表，等待用户确认。

---

## Step 5：分镜图生成（make-image）

逐镜头执行，读取 `refs/prompt-templates.md` → **分镜图提示词**部分构建提示词。

**关键规则：**
- 宽高比统一使用 `9:16`
- 每个提示词**必须包含角色核心外貌描述**（发型+眼睛+服装）
- 同一场景的镜头，背景描述保持相同措辞

**neta 命令：**
```bash
cd /Users/yves/.claude/skills/neta && npm start make-image \
  -p "<构建好的提示词>" \
  -a "9:16"
```

从 JSON 输出中提取图片 URL，更新镜头表：`镜头N → 图片URL: <url>`

所有图片生成后，展示图片列表，询问用户是否继续。

---

## Step 6：视频生成（make-video，model_w = wan2.6）

读取 `refs/prompt-templates.md` → **视频动态提示词**部分构建每个镜头的动态描述。

**wan2.6 能力：** 1080p / 24fps / 原生音画同步 / 口型对齐 / 单片段最长 15 秒 / 支持多分镜

### 镜头分组规则（多分镜策略）

**同一场景内**的连续 2-3 个镜头 → 合并为一条多分镜视频，可减少硬切割感：

```
分组示例：
镜头1（开场空镜）         → 单独一条视频（场景建立）
镜头2 + 镜头3（同场对话） → 合为一条多分镜视频
镜头4 + 镜头5（同场冲突） → 合为一条多分镜视频
镜头6（跨场切换）         → 单独一条视频（新场景建立）
镜头7 + 镜头8（同场结尾） → 合为一条多分镜视频
```

**分组判断标准：**
- 同一场景（背景相同）且连续 → 可合组
- 景别差异明显（如大远景→特写）→ 可合组，wan2.6 会处理切换
- 跨场景切换处 → 必须单独一条视频，作为明确的场景切割点
- 有台词的镜头 → 优先单独，保证口型同步精度

### 提示词构建规则

**单镜头视频（无 --multi-shots）：**
1. 描述动态和音效，不重复图片中已有的静态内容
2. ⚠️ **严禁在提示词中要求生成背景音乐/BGM**
3. 音频只写：**场景环境音** + **人物对白**（有台词镜头）
4. 核心动作保持单一，加"缓缓/轻轻/慢慢"控制幅度

**多分镜视频（加 --multi-shots）：**
读取 `refs/prompt-templates.md` → **多分镜提示词**部分

**音频字段写法：**
```
# 无台词镜头
声音：战场远处炮声与防空警报声环境音，无背景音乐。

# 有台词镜头
声音：室内安静环境音，人物台词："XXX"（语气备注），无背景音乐。
```

**neta 命令：**
```bash
# 单镜头
cd /Users/yves/.claude/skills/neta && npm start make-video \
  -i "<镜头N的图片URL>" \
  -p "<动态描述>" \
  -m "model_w"

# 多分镜（2-3个同场镜头合并）
cd /Users/yves/.claude/skills/neta && npm start make-video \
  -i "<该组第一个镜头的图片URL>" \
  -p "<多分镜格式提示词>" \
  -m "model_w" \
  --multi-shots
```

从输出中提取视频 URL/UUID：`视频组N → 视频: <url>`

---

## Step 7：视频合并（merge-video）+ 混入 BGM

所有视频片段就绪后，将 Step 3 生成的 BGM URL 一并传入，在合并时混入：

```bash
cd /Users/yves/.claude/skills/neta && npm start merge-video \
  -i "按顺序合并视频：<url1>, <url2>, ..., <urlN>；混入背景音乐：<BGM的URL>"
```

> BGM 在此步骤统一叠加，保证全集音乐连续不断。

---

## Step 8：交付与总结

```
【漫剧成片】
标题: <剧目名称>
集数: 第 X 集
镜头数: N 个

成片 URL: <merge-video 输出的 URL>

镜头对照表:
镜头1 [景别] → 图片URL | 视频URL
...
```

询问用户：
- 哪个镜头需要重新生成？
- 是否制作下一集？
- 是否添加片头/片尾？

---

## 快速参考

| 步骤 | 命令 | 关键参数 |
|------|------|----------|
| 生成分镜图 | `make-image` | `-a "9:16"` |
| 生成视频 | `make-video` | `-m "model_w"` |
| 合并成片 | `merge-video` | 按顺序传入所有视频 |

---

## 参考文档

- [镜头规划指南](./refs/shot-planning.md) - 剧本格式、镜头规划、衔接规则
- [提示词模板](./refs/prompt-templates.md) - 分镜图与视频动态提示词模板

