小说剧本转分镜脚本 Skill v1.0
SkillMediaAutomatically converts novel/script text into storyboard scripts, and extracts character feature cards and scene feature cards to assist film/TV, comic, and short-video production.
Use 小说剧本转分镜脚本 Skill v1.0 in Claude, ChatGPT or Ahel Desktop
Free. Sign in, add 小说剧本转分镜脚本 Skill v1.0 and connect your AI. About a minute.
Also: Claude Code · Cursor · Codex
Then ask your AI: use the 小说剧本转分镜脚本 Skill v1.0
Details
Instructions available. Your AI can read the instructions. Execution depends on the setup they require.
Account requirements not reviewed. Check the skill instructions before use; Ahel provides instructions and does not run this skill.
No other account needed.
Add Ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.
What this skill tells your AI
The instructions your AI receives, as published by swotatmk/infinite-creation in skills/novel-to-storyboard/SKILL.md and read by Ahel’s review.
功能概述
| 模块 | 说明 |
|---|---|
| 分镜脚本生成 | 自动将每段叙事/对白拆解为带镜头类型、摄影机运动、光线、色调、音效的分镜 |
| 角色特征卡 | 提取角色名、外貌描述、性格描述、出场次数、代表台词、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
Signals
- GitHub stars
- 28
- Forks
- 3
- Last commit
- Sep 2026
Advanced
- Item type
- skill
- Key
novel-to-storyboard- Source
- github.com/swotatmk/infinite-creation
github.com/swotatmk/infinite-creation
Related picks
Skill · larksuite
The pick for Markdownmarkdown-formatter
Skill · nvidia
The pick for Markdownpython-performance-optimization
Skill · wshobson
The pick for Pythonpython-pro
Skill · jeffallan
The pick for Pythonprototype
Skill · mattpocock
More in Mediabrand-guidelines
Skill · anthropics
More in Media