| name | novel-to-script |
| description | 将小说文本改编为视频分镜脚本,包含角色卡生成、场景拆分、分镜设计、画面提示词和声音标注。当用户提供小说内容需要改写成视频脚本、或需要从小说提取角色/场景用于AI视频生成时调用此技能。 |
小说转视频脚本技能
将小说文本系统化地改编为可直接用于 AI 视频生成的分镜脚本,包含角色卡、场景设定、分镜设计、画面提示词和声音标注全流程。
一、适用场景
- 用户提供一段小说/故事,需要改写成视频脚本
- 需要从小说中提取角色设定并生成角色卡
- 需要将小说章节拆分为场景和分镜
- 需要为每个分镜生成 AI 图像/视频提示词
- 需要为脚本添加音效、配乐、台词等声音标注
二、工作流程总览
小说文本 → 角色提取 → 场景拆分 → 三幕结构大纲 → 分镜脚本 → 画面提示词 → 声音标注 → 完整剧本
三、详细步骤
步骤 1:理解输入与确认参数
先从用户输入中提取以下信息,如缺失则主动询问:
| 参数 | 说明 | 默认值 |
|---|
| 小说原文 | 用户提供的小说片段/章节 | 必填 |
| 题材 | 悬疑/爱情/奇幻/都市/古装/科幻 等 | 从原文推断 |
| 目标时长 | 单集总时长(秒/分钟) | 60 秒(短视频) |
| 画面比例 | 9:16 竖屏 / 16:9 横屏 / 1:1 方形 | 9:16 |
| 画风 | 动漫/写实/国漫/赛博朋克 等 | 动漫风格 |
| 集数编号 | 第几集 / 第几章 | EP01 |
| 输出粒度 | 仅大纲 / 分镜脚本 / 含提示词完整脚本 | 完整脚本 |
步骤 2:角色提取与角色卡生成
从小说中提取所有出场角色,为每个主要角色生成角色卡。
2.1 提取维度
| 字段 | 提取方法 |
|---|
| id | 角色名拼音小写,如 lin_xia |
| name | 中文名 |
| role_type | 主角/配角/反派/路人 |
| appearance | 从原文描写中提取:脸型、发型、发色、眼睛、身材、标志性特征 |
| clothing | 典型服装(日常/正式/特殊场景) |
| expression_library | 8 种基础表情:happy, sad, angry, surprised, fearful, neutral, contempt, smirking |
| style_tags | 画风标签(英文) |
| negative_prompt | 通用负面提示词 |
2.2 角色卡模板
# 角色卡:{角色名}
| 字段 | 值 |
|------|-----|
| id | `{角色id}` |
| name | {角色名} |
| age | {年龄段} |
| gender | {性别} |
| role_type | {主角/配角/反派} |
| body_ratio | {身材比例} |
## 外观
{外观综合描述,含面部+发型+体貌+标志性特征}
## 服装
- **日常便装**:{描述}
- **戏剧场景**:{描述}
## 配饰
{配饰描述}
## 标志性元素
{贯穿始终的视觉符号}
## 表情库
| 表情 | 描述 |
|------|------|
| happy | {描述} |
| sad | {描述} |
| angry | {描述} |
| surprised | {描述} |
| fearful | {描述} |
| neutral | {描述} |
| contempt | {描述} |
| smirking | {描述} |
## 风格标签
`{tag1}` `{tag2}` `{tag3}`
## 反面提示词
worst quality, low quality, normal quality, lowres,
blurry, deformed, ugly, bad anatomy,
extra fingers, missing limbs,
3d, photorealistic, realistic
## 种子建议
`{数字}`
## 气质标签
`{tag1}` `{tag2}`
步骤 3:场景拆分
将小说内容按时间/地点/事件拆分为独立场景。
3.1 场景划分原则
- 地点变化 → 新场景
- 时间跳转 → 新场景
- 核心事件切换 → 新场景
- 每个场景 1-3 分钟(短视频可更短)
3.2 场景信息表
| 字段 | 说明 |
|---|
| scene_id | S01, S02, ... |
| location | 场景地点 |
| time_of_day | 白天/夜晚/黎明/黄昏 |
| weather | 晴/雨/雪/雾 等 |
| mood | 场景整体情绪 |
| key_event | 核心事件 |
| characters_in_scene | 出场角色列表 |
步骤 4:三幕结构大纲
将场景组织成三幕结构,确保节奏合理。
4.1 三幕比例
| 幕次 | 占比 | 功能 |
|---|
| 第一幕(开场) | ~20% | 建立场景、引入角色、设定冲突 |
| 第二幕(发展) | ~60% | 冲突升级、角色互动、情节推进 |
| 第三幕(结局) | ~20% | 高潮 + 悬念/反转/收尾 |
4.2 大纲输出格式
## 三幕结构大纲
### 第一幕(开场)— {时长}
- 场景 S01:{地点} — {事件概述}
- 场景 S02:{地点} — {事件概述}
### 第二幕(发展)— {时长}
- 场景 S03:{地点} — {事件概述}
- 场景 S04:{地点} — {事件概述}
- 场景 S05:{地点} — {事件概述}
### 第三幕(结局)— {时长}
- 场景 S06:{地点} — {事件概述}
- 结尾钩子:{悬念/反转内容}
步骤 5:分镜脚本设计
为每个场景设计分镜,这是核心产出。
5.1 分镜节奏参考
| 分镜类型 | 建议时长 | 用途 |
|---|
| 环境 establishing | 3-5s | 场景开场,交代环境 |
| 角色出场 | 3-4s | 角色第一次出现 |
| 对话 MS | 2-4s | 常规对话 |
| 对话 CU 反应 | 1-3s | 听话方表情反应 |
| 情绪特写 | 2-3s | 关键情绪放大 |
| 动作场景 | 3-6s | 肢体动作、移动 |
| 转场 | 1-2s | 场景过渡 |
| 悬念收尾 | 3-5s | 集末钩子 |
5.2 景别变化原则
- 避免连续 3 个以上同景别分镜
- 对话场景:MS/CU 交替 + OTS(过肩)
- 情绪递进:LS → MS → CU → ECU(越来越近)
- 动作场景:LS/MS 为主,配合动态运镜
5.3 分镜字段定义
每个分镜包含以下字段:
| 字段 | 说明 |
|---|
| shot_id | S{场景号}_{序号},如 S01_01 |
| shot_type | 景别:EELS/ELS/LS/FS/MS/MCU/CU/ECU |
| camera_angle | 机位:eye_level/low_angle/high_angle/dutch_angle/ots/pov |
| composition | 构图:rule_of_thirds/centered/symmetrical/leading_lines/diagonal |
| camera_movement | 运镜:static/pan/tilt/zoom/tracking/handheld/snap_zoom |
| description | 中文画面描述 |
| characters | 出场角色 id 列表 |
| actions | 角色动作描述 |
| expressions | 角色表情 |
| dialogue | 台词(角色: 内容) |
| monologue | 内心独白 |
| narration | 旁白 |
| voice_off | 画外音 |
| sound | 音效列表 |
| music | 配乐描述 |
| duration_sec | 时长(秒) |
| lighting | 光影描述 |
| color_tone | 色调 |
| mood | 氛围 |
| prompt | AI 画面生成提示词 |
| negative_prompt | 负面提示词 |
| subtitle_area | 字幕位置:top/bottom/none |
步骤 6:画面提示词生成
为每个分镜生成中英文混合的 AI 图像提示词。
6.1 提示词公式
[画质标签] + [画风标签] + [景别] + [机位] + [构图] + [运镜] +
[角色描述] + [动作] + [表情] + [服装] +
[场景背景] + [光影] + [色调] + [氛围]
6.2 画质标签(固定前置)
masterpiece, best quality, highres, detailed, ultra-detailed
6.3 负面提示词(固定追加)
worst quality, low quality, normal quality, lowres,
blurry, deformed, ugly, bad anatomy,
extra fingers, missing limbs
6.4 提示词示例
masterpiece, best quality, highres,
动漫风格,柔和光影,
中景,平视,三分法构图,静止镜头, medium shot, eye level, rule of thirds, static,
林夏,及肩微卷黑发,杏仁形深褐色眼眸,左眼下小痣,穿着宽松毛衣,
双手捧书低头阅读,柔和微笑,
温馨咖啡馆室内,木质桌椅,
柔和自然光从侧窗射入,暖色调,橙黄与米白,
宁静温馨氛围
步骤 7:声音标注设计
重要:声音设计默认无BGM,无字幕,仅保留环境音与Foley音效。
为每个分镜添加完整的声音信息。
7.1 声音层次
| 层次 | 说明 | 示例 |
|---|
| 环境音 | 场景基础声音 | 咖啡馆环境音、雨声、车流 |
| 动作音效 | 角色动作产生的声音 | 脚步声、翻书声、门开/关 |
| 情绪音效 | 烘托情绪的音效 | 心跳声、突然寂静、紧张上升音 |
| 配乐 | 背景音乐 | 温馨钢琴曲、紧张弦乐、悲伤大提琴 |
| 台词/旁白 | 人声 | 对话、内心独白、旁白 |
7.2 配乐情绪对应表
| 情绪 | 配乐描述 |
|---|
| 温馨/日常 | 温柔的钢琴曲,轻柔原声吉他 |
| 浪漫 | 钢琴与小提琴二重奏,慢华尔兹 |
| 悲伤 | 独奏大提琴,缓慢哀伤 |
| 紧张/悬疑 | 低环境氛围音,滴答时钟,不和谐弦乐 |
| 追逐/动作 | 快节奏打击乐,断奏弦乐 |
| 史诗/高潮 | 史诗管弦乐,鼓声渐强,铜管号角 |
| 回忆/怀旧 | 八音盒旋律,遥远钢琴,温暖梦幻 |
| 神秘 | 黑暗氛围音,空灵垫音,散落的钢琴音符 |
四、完整输出结构
4.1 剧本主文件
输出到 scripts/EP{集号}_{标题}.md
# {剧名} - {集号}:{集标题}
## 一、基本信息
| 字段 | 值 |
|------|-----|
| title | {剧名} |
| episode | {集号} |
| duration | {总时长} |
| genre | {题材} |
| episode_theme | {本集主题} |
| aspect_ratio | {9:16 / 16:9} |
| art_style | {画风} |
## 二、出场角色
- {角色A}:{身份/简介}
- {角色B}:{身份/简介}
- ...
## 三、三幕结构大纲
### 第一幕(开场)— {占比}
{内容}
### 第二幕(发展)— {占比}
{内容}
### 第三幕(结局)— {占比}
{内容}
## 四、分镜脚本
### 场景 S01:{场景名}
| # | shot_id | 景别 | 机位 | 运镜 | 画面描述 | 台词 | 时长 |
|---|---------|------|------|------|----------|------|------|
| 1 | S01_01 | MS | eye_level | static | {描述} | {台词} | 3s |
| ... | ... | ... | ... | ... | ... | ... | ... |
### 场景 S02:{场景名}
...
## 五、剧本总结
- 本集要点:{总结}
- 下集伏笔:{悬念}
- 总时长:{合计秒数}秒
- 总分镜数:{数量}个
4.2 角色卡文件
输出到 prompts/characters/{角色id}.md,每个角色一个文件。
4.3 场景分镜详细文件
输出到 prompts/scenes/S{场景号}_{场景名}.md,每个场景一个文件,包含完整提示词。
五、质量检查清单
完成脚本后,逐项检查:
画面维度
声音维度
结构维度
六、使用示例
输入
请把这段小说改成短视频脚本,60秒,竖屏9:16,动漫风格:
林夏推开咖啡馆的门,风铃叮咚作响。她走到靠窗的位置坐下,点了一杯拿铁。
阳光从窗外洒进来,落在她翻开的书页上。
忽然,一个黑影笼罩了她的书页。她抬起头,看见一个穿着黑色西装的男人站在桌前。
"林小姐,我等你很久了。"男人说,嘴角带着意味深长的笑。
林夏皱眉:"你是谁?"
男人没有回答,只是将一张照片放在桌上。照片上,是年轻时的林夏,和一个她从未见过的男人。
"想知道你父母的真相吗?"
林夏的瞳孔猛地收缩。
输出结构
- 生成角色卡:林夏、神秘男人
- 拆分场景:咖啡馆内(1个场景)
- 三幕结构:
- 第一幕:林夏在咖啡馆看书(约 12s)
- 第二幕:神秘男人出现,对话对峙(约 36s)
- 第三幕:照片揭示,悬念收尾(约 12s)
- 分镜脚本:约 10-12 个分镜
- 每个分镜含画面提示词和声音标注