Back to skills
extension
Category: OtherNo API key required

剧本转分镜SKill

将小说/剧本文案自动转换为分镜脚本,并提取角色特征卡与场景特征卡,辅助影视/漫画/短视频制作。

personAuthor: user_5b12983fhubcommunity

小说剧本转分镜脚本 Skill v1.0

功能概述

| 模块 | 说明 | |------|------| | 分镜脚本生成 | 自动将每段叙事/对白拆解为带镜头类型、摄影机运动、光线、色调、音效的分镜 | | 角色特征卡 | 提取角色名、外貌描述、性格描述、出场次数、代表台词、AI 绘图提示词 | | 场景特征卡 | 提取地点类型、时间、氛围、色调、出场人物、AI 场景提示词 | | 统计摘要 | 总镜头数、场景数、角色数一览 |


触发条件

当用户提出以下需求时,立即加载并执行本 Skill:

  • "把这篇小说/剧本转成分镜脚本"
  • "帮我分析剧本的角色特征/场景特征"
  • "我有一段文案,帮我出分镜"
  • "根据脚本生成角色卡"
  • "小说转分镜"、"剧本分镜"

工作流程

用户提供文案(粘贴文本 or 文件路径)
        ↓
[步骤 1] 读取 & 清洗文本
        ↓
[步骤 2] 段落切分 & 类型标注(叙事/对白/动作/场景标头)
        ↓
[步骤 3] 场景聚合 → 场景特征分析(地点/时间/氛围/色调)
        ↓
[步骤 4] 角色提取 → 角色特征分析(外貌/性格/对白统计)
        ↓
[步骤 5] 分镜脚本生成(镜头类型/摄影机运动/光线/音效)
        ↓
[步骤 6] 输出 Markdown 报告 + 可选 JSON 数据

使用方式

方式一:直接粘贴文案

用户将小说/剧本文字粘贴到对话框,AI 直接处理,无需文件。

用户:帮我把下面这段剧本转成分镜脚本:
[粘贴文案内容]

此时 AI 无需调用脚本,直接按照分镜模板在对话中输出结构化内容。


方式二:文件处理(调用 Python 脚本)

当用户提供 .txt.md 文件时,调用核心脚本处理:

# 基础用法(输出 Markdown)
python "C:\Users\drago\.workbuddy\skills\novel-to-storyboard\scripts\parse_novel.py" "C:\path\to\novel.txt"

# 指定输出目录 + 同时输出 JSON
python "C:\Users\drago\.workbuddy\skills\novel-to-storyboard\scripts\parse_novel.py" "C:\path\to\novel.txt" -o "C:\output" -f both

# 只输出 JSON(供程序化使用)
python "C:\Users\drago\.workbuddy\skills\novel-to-storyboard\scripts\parse_novel.py" "C:\path\to\novel.txt" -f json

命令参数说明:

| 参数 | 说明 | 默认 | |------|------|------| | input | 输入文件路径(.txt / .md) | 必填 | | -o / --output | 输出目录 | 当前目录 | | -f / --format | 输出格式:markdown / json / both | markdown |


输出内容说明

1. 分镜脚本(Storyboard)

每个镜头包含:

| 字段 | 说明 | |------|------| | 镜头编号 | 全局唯一编号 | | 所属场景 | 场景 ID + 场景标头 | | 镜头类型 | 远景 / 全景 / 中景 / 近景 / 特写 / 大特写 等 | | 画面内容 | 当前镜头的叙事/动作描述 | | 出场角色 | 该镜头中的角色列表 | | 摄影机运动 | 静止 / 推镜头 / 跟拍 / 慢推 等 | | 光线 | 自然光 / 月光 / 低光冷调 等 | | 色调 | 暖橙 / 冷蓝绿 / 去饱和等 | | 音效/配乐 | 基于场景氛围推断 | | 对白 | 该镜头内的角色台词 | | 动作提示 | 括号内的舞台/动作指令 |

2. 角色特征卡(Character Cards)

每个角色包含:

| 字段 | 说明 | |------|------| | 总出场次数 | 全文提及次数 | | 对白条数 | 有台词的行数 | | 出镜镜头数 | 出现在多少个分镜中 | | 外貌特征 | 从文本中自动提取 | | 性格特征 | 从文本中自动提取 | | 代表台词 | 前 3 条对白示例 | | AI 绘图提示词 | 供即梦/Midjourney 等工具使用 |

3. 场景特征卡(Scene Cards)

每个场景包含:

| 字段 | 说明 | |------|------| | 地点类型 | 室内 / 室外 / 特殊 | | 时间 | 白天 / 黄昏 / 夜晚 / 未知 | | 氛围 | 紧张 / 温馨 / 压抑 / 激烈 / 神秘 / 平静 | | 色调方案 | 基于氛围自动推断 | | 光线方案 | 基于时间+氛围推断 | | 音效方案 | 基于氛围推断 | | 出场人物 | 场景内出现的角色 | | AI 场景提示词 | 供即梦/Midjourney 等工具生成场景图 |


文本格式建议(获得最佳效果)

为了让 AI 更准确地识别场景、角色和对白,建议文案遵循以下格式:

推荐格式:剧本格式

第一场 旧街道 黄昏

街道上行人稀少,橙红色的夕阳把影子拉得很长。

林默(站在路口,望着远处):我知道你一直在这里。

阿九(从阴影中走出,声音低沉):你终于来了。

(两人对视,沉默片刻)

---

第二场 咖啡馆内 夜晚

咖啡馆里灯光昏黄,角落里只剩最后一桌客人。

也支持:小说叙事格式

林默站在旧街道的路口,夕阳把他的影子拉得很长。他是一个三十岁出头的男人,眼神里总带着一丝不动声色的警惕。

"我知道你一直在这里。"他开口说,声音平静。

阿九从阴影中走出来。她的脸容姣好,但眉宇间有一种说不清的压抑。"你终于来了。"

AI 直接输出模式(无文件时)

当用户粘贴文案时,AI 直接在对话中输出以下结构:

输出模板

## 统计摘要
- 总镜头数:XX
- 场景数:XX
- 角色数:XX

---

## 分镜脚本

### 场景 1:[场景名]
地点:室内/室外  时间:白天/夜晚  氛围:紧张/温馨...

#### 镜头 1  `全景`
| 项目 | 内容 |
|------|------|
| 画面内容 | ... |
| 出场角色 | ... |
| 摄影机运动 | ... |
| 光线 | ... |
| 色调 | ... |
| 音效 | ... |
| 对白 | ... |

...(后续镜头)

---

## 角色特征卡

### 林默
| 属性 | 内容 |
|------|------|
| 总出场次数 | 15 |
| 对白条数 | 8 |
| 外貌特征 | 三十岁出头,眼神警惕 |
| 性格特征 | 沉稳,不动声色 |
| 代表台词 | 「我知道你一直在这里。」 |
| AI 绘图提示词 | `林默,三十岁男性,警惕眼神,电影级写实风格` |

---

## 场景特征卡

### 场景 1:旧街道 黄昏
| 属性 | 内容 |
|------|------|
| 地点类型 | 室外 |
| 时间 | 黄昏 |
| 氛围 | 神秘 |
| 色调 | 深蓝紫暗调 |
| 光线 | 暖橙逆光 |
| AI 场景提示词 | `旧街道黄昏,室外,暖橙逆光,神秘氛围,8K电影分镜概念图` |

镜头类型推断规则

| 文本特征 | 推断镜头类型 | |----------|-------------| | 环境/全景描写("远处"、"一片"、"俯瞰") | 远景 | | 人物进入/全身动作("走进"、"站在"、"坐在") | 全景 | | 对白/交流场景("说"、"问"、"笑道") | 近景 | | 细节/表情/眼神("眼睛"、"嘴角"、"微微") | 特写 | | 心理活动/意识("心中"、"脑海"、"意识到") | 大特写 | | 追逐/动作(action 段落) | 跟拍 | | 其他叙事 | 中景(默认) |


氛围色调映射表

| 氛围 | 色调方案 | 光线 | 音效 | |------|----------|------|------| | 紧张 | 高对比冷蓝绿 | 低光·冷调 | 低频警报·急促心跳声 | | 温馨 | 暖黄橙低饱和 | 暖橙逆光/自然光 | 轻柔钢琴·背景人声 | | 压抑 | 去饱和冷灰 | 低光·冷调 | 沉默·低沉弦乐 | | 激烈 | 高饱和红橙 | 强光/混乱 | 打击乐·音效爆破 | | 神秘 | 深蓝紫暗调 | 低光·冷调 | 环境音·诡异回响 | | 平静 | 中性自然色 | 自然光·散射 | 自然环境音 |


快速使用示例

用户输入:

帮我把下面这段文案转成分镜脚本:

林默推开门,走进昏暗的地下室。角落里坐着一个人,背对着他。

"你找到我了。"那人没有回头,声音沙哑。

林默慢慢走近,手放在腰间的枪上。"游戏结束了。"

(两人对峙,空气凝固)

AI 输出:

  • 统计:4 个镜头,1 个场景,2 个角色
  • 分镜:建立镜头(全景,推镜头)→ 对白镜头1(近景)→ 对白镜头2(近景)→ 对峙特写
  • 角色卡:林默(动作主导)、未知角色(对白出场)
  • 场景卡:室内·地下室·夜晚·紧张氛围·高对比冷蓝绿

文件结构

novel-to-storyboard/
├── SKILL.md                  ← 本文件(技能文档)
├── skill.json                ← 技能元数据
└── scripts/
    └── parse_novel.py        ← 核心处理脚本(文件模式使用)

注意事项

  1. 中文剧本格式 支持最佳,英文剧本(INT./EXT. 格式)同样支持
  2. 对白识别 依赖 角色名:台词 格式,如格式不规范可能漏识别
  3. 场景切分 优先识别 第X场INT.EXT.场景X 等标头;无标头则按双空行自动切分
  4. 特征提取 基于关键词规则,复杂隐晦的描述可能需要 AI 进一步人工补充
  5. 长文本 建议使用文件模式(.txt),对话模式适合 5000 字以内的文案

novel-to-storyboard Skill v1.0 — 2026-04