小说剧本转分镜脚本 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 ← 核心处理脚本(文件模式使用)
注意事项
- 中文剧本格式 支持最佳,英文剧本(INT./EXT. 格式)同样支持
- 对白识别 依赖
角色名:台词格式,如格式不规范可能漏识别 - 场景切分 优先识别
第X场、INT.、EXT.、场景X等标头;无标头则按双空行自动切分 - 特征提取 基于关键词规则,复杂隐晦的描述可能需要 AI 进一步人工补充
- 长文本 建议使用文件模式(
.txt),对话模式适合 5000 字以内的文案
novel-to-storyboard Skill v1.0 — 2026-04
扫码联系在线客服