AI短剧提示词工厂 (AI Drama Prompt Factory)
端到端将小说或故事创意转化为结构化提示词包,输出标准JSON供外部AI生成工具消费。
系统边界:只生产提示词数据,不做图片/视频/音频的实际生成。
⚡ 启动协议(每次任务开始时必须执行)
任何短剧相关任务触发后,在执行任何工作之前,必须先向用户确认以下信息:
Step 1:确认项目类型
向用户确认:
- - A 小说改编 — 用户提供小说/故事文本,改编为短剧提示词
- B 原创短剧 — 用户提供创意/主题,从零创建短剧提示词
Step 2:确认执行模式
向用户确认交付方式:
- - 🚀 全程模式 — 一次跑完全部Phase,中间不停,最终一次性交付所有产出文件
- 📋 分阶段模式 — 每个Phase完成后输出交付物,等用户确认/修改后再进入下一阶段(推荐)
- 🎯 单阶段模式 — 只执行用户指定的某个Phase(需已有前序Phase的产出)
Step 3:确认基础参数
向用户确认:
- - 视觉风格 — 电影写实 / 日系动漫 / 2.5D(默认:电影写实)
- 剧本风格 — 标准叙事 / 爽文漫剧(默认:标准叙事)
- 目标集数 — 预计多少集(可后续调整)
- 每集时长 — 1分钟 / 2分钟 / 3分钟(默认:1-2分钟)
- 剧本分镜Markdown输出 — 是否同时输出可读性更强的Markdown分镜表格文档?(默认:否,仅输出JSON)
确认完成后,开始执行第一个Phase。
核心铁律(Phase 5组装时必须遵守)
铁律一:分镜图片提示词中必须使用角色和道具的名字
CODEBLOCK0
铁律二:视频提示词必须基于分镜图片提示词派生
视频是图片的动态延伸,不能独立生成。
铁律三:提示词使用中文自然语言描述
连贯的场景叙述句,不是英文标签堆叠。
全流程架构
CODEBLOCK1
| 路径 | 流程 | 诊断 |
|---|
| A: 小说改编 | 全5阶段 | 必须 |
| B: 原创短剧 |
Phase 1→2→3→5 | 可选 |
Phase 1:策划
📥 输入
📤 交付物(2个文件)
文件1:planning/story-outline.md
必须包含以下完整结构:
CODEBLOCK2
文件2:planning/episodes-plan.md
CODEBLOCK3
✅ Phase 1 完成标志
- - story-outline.md 包含全部7个章节
- episodes-plan.md 覆盖所有目标集数
- 每集有明确的集尾钩子
⏸️ 分阶段模式
输出以上2个文件后,告知用户:
Phase 1 策划完成。请查看故事大纲和分集规划,确认无误后我将进入 Phase 2 设计阶段。如需调整请告知。
Phase 2:设计
📥 输入
- - Phase 1 的 story-outline.md(角色清单、场景清单、道具清单、风格定义)
📤 交付物(4类文件)
文件1:characters/{角色名}.json(每个角色一个文件)
CODEBLOCK4
角色提示词公式:
CODEBLOCK5
文件2:scenes/{场景名}.json(每个场景一个文件)
CODEBLOCK6
场景提示词公式: INLINECODE4
文件3:props/{道具名}.json(每个关键道具一个文件,普通道具不需要)
CODEBLOCK7
道具提示词公式: INLINECODE6
文件4:style/style-guide.json(全局唯一)
CODEBLOCK8
详细规范: references/design-guide.md
✅ Phase 2 完成标志
- - 所有主要角色都有 .json 文件,每个角色至少1个variant且含完整prompt
- 所有核心场景都有 .json 文件,至少1个variant且含完整prompt
- 所有关键道具都有 .json 文件且含完整prompt
- style-guide.json 已创建
- 所有提示词风格后缀与 style-guide 一致
⏸️ 分阶段模式
输出所有设计文件后,向用户展示:
Phase 2 设计完成。共生成 {N} 个角色(含 {M} 个状态变体)、{N} 个场景、{N} 个道具的设计卡和提示词。
角色一览:
- - 陈易:觉醒前(病号服)/ 觉醒后(运动装)
- 张慧芬:默认(护士装)
- ...
请确认角色/场景/道具设计是否需要调整,确认后进入 Phase 3 剧本生成。
Phase 3:剧本
📥 输入
- - Phase 1 的 episodes-plan.md
- Phase 2 的全部角色/场景/道具设计文件
- 路径A:原著对应章节文本
📤 交付物(每集2-3个文件)
文件1:scripts/ep{NN}/script.json(核心交付物)
CODEBLOCK9
每个shot必须包含的字段:
| 字段 | 类型 | 必须 | 说明 |
|---|
| shotid | string | ✅ | INLINECODE9 全局唯一 |
| shotnumber |
int | ✅ | 集内序号 |
| duration | string | ✅ | 目标时长(如"3s") |
| characters | array | ✅ | 出场角色,每个含name和variant |
| scene | string | ✅ | 场景名(对应scenes/下的文件) |
| scene_variant | string | ✅ | 场景变体(白天/夜晚等) |
| shot_type | string | ✅ | 特写/近景/中景/全景/远景 |
| camera_movement | string | ✅ | 固定/推/拉/摇/跟 |
| action_desc | string | ✅ | 动作+表情+位置的自然语言描述 |
| dialogue | object/null | ✅ | 有对白时:speaker+text+emotion;无对白时:null |
| sfx | array | ✅ | 音效列表(可为空数组) |
| bgm | string | ✅ | BGM描述或"无" |
| source_anchor | string | ✅ | 原文锚点(改编)或"原创" |
| emotion_level | int | ✅ | 情绪强度1-5 |
| narration | string/null | ✅ | 旁白文本(爽文风格时使用)或null |
文件2:continuity/ep{NN}-state.json(连贯性状态)
CODEBLOCK10
详细规范: references/script-generation-guide.md
爽文风格: references/manga-drama-guide.md
连贯性管理: references/continuity-guide.md
文件3(可选):scripts/ep{NN}/script.md(Markdown分镜表格文档)
仅当用户在启动协议中选择"是"输出Markdown时才生成此文件。
CODEBLOCK11
Markdown分镜表生成规则:
- - 表格字段与
script.json 中的 shot 字段一一对应 - 角色列写为
角色名(变体),无变体时只写角色名 - 对白列格式为
说话人:"台词"(情绪),无对白时填 INLINECODE15 - 音效列多个音效用顿号分隔,无音效时填 INLINECODE16
- 此文件作为可读性辅助文档,script.json 仍为唯一权威数据源
✅ Phase 3 完成标志(每集)
- - script.json 包含所有镜头,每个shot的所有必须字段齐全
- shot_id 全局无重复
- characters 中引用的角色名和variant都存在于Phase 2的设计文件中
- scene 引用的场景名和variant都存在于Phase 2的设计文件中
- 集尾有钩子
- ep{NN}-state.json 已生成
- 【如用户选择Markdown输出】script.md 已生成,表格内容与 script.json 一致
⏸️ 分阶段模式
每集剧本完成后,向用户展示:
Phase 3 第{N}集剧本完成。共 {M} 个镜头,涉及角色:{列表},涉及场景:{列表}。
集尾钩子:{钩子描述}
[如已选择Markdown输出] 同时输出了 Markdown 分镜表格文档 scripts/ep{NN}/script.md。
[如为改编项目] 即将进入 Phase 4 诊断,对照原著校验忠实度。
[如为原创项目] 是否需要调整?确认后可直接进入 Phase 5 组装提示词。
Phase 4:诊断(小说改编必须,原创可选)
📥 输入
- - Phase 3 的 script.json
- 原著文本(通过source_anchor定位对应段落)
📤 交付物(1个文件)
文件:continuity/diagnosis-ep{NN}.md
CODEBLOCK12
通过标准
- - 综合评分 ≥ 75
- 无致命问题(🔴)
- 严重问题(🟠)≤ 2个
诊断闭环
CODEBLOCK13
详细规范: references/diagnosis-guide.md
✅ Phase 4 完成标志
- - diagnosis-ep{NN}.md 已输出
- 综合评分 ≥ 75 且满足通过标准
- 如未通过,修改后的script.json已更新
⏸️ 分阶段模式
诊断完成后,向用户展示:
Phase 4 诊断完成。第{N}集评分:{分数}/100,{✅通过/❌未通过}。
[通过] 即将进入 Phase 5 组装提示词包。
[未通过] 发现 {N} 个问题需要修改(致命{N}个/严重{N}个),是否立即修改?
Phase 5:提示词组装
📥 输入
- - Phase 2 的全部角色/场景/道具/风格文件
- Phase 3 的 script.json(已通过诊断)
📤 交付物(2个文件)
文件1:output/project-manifest.json(全项目唯一,首次生成后增量更新)
CODEBLOCK14
文件2:output/ep{NN}-prompt-package.json(每集一个)
CODEBLOCK15
每个shot必须包含的3个提示词字段:
| 字段 | 类型 | 说明 |
|---|
| storyboardprompt | string | 分镜图片提示词。中文自然语言。角色用名字引用。 |
| videoprompt |
string | 视频提示词。基于storyboard_prompt派生。含切镜/对白/性别声明。 |
| audio
spec | object | 音频描述。含dialogue(对白+voicedesc)、sfx(音效)、bgm(BGM)。 |
分镜图片提示词组装公式
CODEBLOCK16
视频提示词派生公式
CODEBLOCK17
详细组装规则: references/assembly-rules.md
提示词示例: references/prompt-examples.md
平台适配: references/platform-adapters.md
完整Schema: references/api-schema.md
✅ Phase 5 完成标志(每集)
- - project-manifest.json 已生成/更新
- ep{NN}-prompt-package.json 已生成
- 每个shot都包含 storyboardprompt + videoprompt + audiospec
- storyboardprompt 中角色用名字引用,有变体的标注了状态
- videoprompt 基于 storyboardprompt 派生,角色标注了性别,末尾有性别汇总
- 全部提示词风格标签与 style-guide 一致
- JSON 合法可被 JSON.parse() 解析
⏸️ 分阶段模式
每集提示词包完成后,向用户展示:
Phase 5 第{N}集提示词包组装完成。
- - 共 {M} 个镜头
- 分镜图片提示词:{M} 条
- 视频提示词:{M} 条
- 含对白镜头:{M} 个
- 输出文件:output/ep{NN}-prompt-package.json
是否继续生成下一集?或需要调整某个镜头的提示词?
交付物总览
全项目文件清单
CODEBLOCK18
各Phase交付物速查
| Phase | 交付物 | 文件格式 | 数量 |
|---|
| Phase 1 策划 | story-outline.md + episodes-plan.md | Markdown | 2个 |
| Phase 2 设计 |
{角色}.json + {场景}.json + {道具}.json + style-guide.json | JSON | 按角色/场景/道具数量 |
| Phase 3 剧本 | script.json + ep{NN}-state.json + script.md(可选) | JSON + Markdown | 每集2-3个 |
| Phase 4 诊断 | diagnosis-ep{NN}.md | Markdown | 每集1个 |
| Phase 5 组装 | project-manifest.json + ep{NN}-prompt-package.json | JSON | 1 + 每集1个 |
特殊模式
单镜头调试
CODEBLOCK19
续写模式
CODEBLOCK20
补建模式
CODEBLOCK21
AI短剧提示词工厂 (AI Drama Prompt Factory)
端到端将小说或故事创意转化为结构化提示词包,输出标准JSON供外部AI生成工具消费。
系统边界:只生产提示词数据,不做图片/视频/音频的实际生成。
⚡ 启动协议(每次任务开始时必须执行)
任何短剧相关任务触发后,在执行任何工作之前,必须先向用户确认以下信息:
Step 1:确认项目类型
向用户确认:
- - A 小说改编 — 用户提供小说/故事文本,改编为短剧提示词
- B 原创短剧 — 用户提供创意/主题,从零创建短剧提示词
Step 2:确认执行模式
向用户确认交付方式:
- - 🚀 全程模式 — 一次跑完全部Phase,中间不停,最终一次性交付所有产出文件
- 📋 分阶段模式 — 每个Phase完成后输出交付物,等用户确认/修改后再进入下一阶段(推荐)
- 🎯 单阶段模式 — 只执行用户指定的某个Phase(需已有前序Phase的产出)
Step 3:确认基础参数
向用户确认:
- - 视觉风格 — 电影写实 / 日系动漫 / 2.5D(默认:电影写实)
- 剧本风格 — 标准叙事 / 爽文漫剧(默认:标准叙事)
- 目标集数 — 预计多少集(可后续调整)
- 每集时长 — 1分钟 / 2分钟 / 3分钟(默认:1-2分钟)
- 剧本分镜Markdown输出 — 是否同时输出可读性更强的Markdown分镜表格文档?(默认:否,仅输出JSON)
确认完成后,开始执行第一个Phase。
核心铁律(Phase 5组装时必须遵守)
铁律一:分镜图片提示词中必须使用角色和道具的名字
✅ 张慧芬转身替病床上的陈易(觉醒前)整理输液管
❌ 48岁中年女性转身替24岁苍白男性整理输液管
铁律二:视频提示词必须基于分镜图片提示词派生
视频是图片的动态延伸,不能独立生成。
铁律三:提示词使用中文自然语言描述
连贯的场景叙述句,不是英文标签堆叠。
全流程架构
启动协议 → Phase 1 策划 → Phase 2 设计 → Phase 3 剧本 → Phase 4 诊断 → Phase 5 组装
↑ │
└────────┘
(修改≤3轮)
| 路径 | 流程 | 诊断 |
|---|
| A: 小说改编 | 全5阶段 | 必须 |
| B: 原创短剧 |
Phase 1→2→3→5 | 可选 |
Phase 1:策划
📥 输入
📤 交付物(2个文件)
文件1:planning/story-outline.md
必须包含以下完整结构:
markdown
故事大纲:{作品名称}
1. 基础信息
- - 作品名称:{名称}
- 来源:{原创/改编自《XX》}
- 写作视角:{第一人称/第三人称全知/等}
- 视觉风格:{电影写实/日系动漫/2.5D}
- 剧本风格:{标准叙事/爽文漫剧}
- 目标集数:{N}集
- 每集时长:{N}分钟
2. 时空背景
{年代、地点、社会环境、特殊设定,150-300字}
3. 叙事结构
- - 结构类型:{三幕/五幕/单元剧}
- 递进模式:{描述}
- 情绪曲线概要:{描述}
4. 核心冲突
{主角+困境+对抗力量+逆袭路径,100-200字}
5. 角色清单
主要角色
| 角色名 | 性别 | 年龄 | 身份 | 核心特征 | 外观变体 |
|---|
| 陈易 | 男 | 24 | 大学生/觉醒者 | 外表懦弱内心坚韧 | 觉醒前、觉醒后 |
| ... |
| | | | |
次要角色
6. 关键道具
| 道具名 | 外观概述 | 剧情功能 | 首次出现 |
|---|
| 天机古卷 | 泛黄线装古书 | 主角能力来源 | 第1集 |
7. 核心场景清单
| 场景名 | 类型 | 出现集数 |
|---|
| 医院普通病房 | 室内 | 第1-2集 |
| 世界杯决赛球场 |
室外 | 第5-6集 |
文件2:planning/episodes-plan.md
markdown
分集规划
第1集「{标题}」
- - 核心事件:{一句话概述}
- 涉及角色:{角色列表}
- 主要场景:{场景列表}
- 情绪走向:{如:压抑→微光}
- 集尾钩子:{悬念/反转描述}
- 预计镜头数:{N}
第2集「{标题}」
...
✅ Phase 1 完成标志
- - story-outline.md 包含全部7个章节
- episodes-plan.md 覆盖所有目标集数
- 每集有明确的集尾钩子
⏸️ 分阶段模式
输出以上2个文件后,告知用户:
Phase 1 策划完成。请查看故事大纲和分集规划,确认无误后我将进入 Phase 2 设计阶段。如需调整请告知。
Phase 2:设计
📥 输入
- - Phase 1 的 story-outline.md(角色清单、场景清单、道具清单、风格定义)
📤 交付物(4类文件)
文件1:characters/{角色名}.json(每个角色一个文件)
json
{
name: 陈易,
characterid: charchenyi,
gender: 男,
age: 24,
identity: 被雷劈获得超能力的普通大学生,
personality: {
core_traits: 外表懦弱内心坚韧,
speech_style: 初期怯懦,觉醒后沉稳有力,
motivation: 证明自己的价值
},
voice_default: {
gender: male,
age_desc: 青年男性,
timbre: 初期虚弱低沉,觉醒后清亮有力
},
variants: {
觉醒前: {
description: 病号服状态,虚弱苍白,
appearance: 短发凌乱/黑色、面色苍白,
outfit: 蓝白条纹病号服、病号裤、无鞋、无配饰,
prompt: 现代、24岁、男、短发凌乱/黑色、蓝白条纹病号服、病号裤、无、面色苍白,电影写实风格,高质量,真实光影,电影级打光,8K分辨率,超高清细节,全身,纯色背景,面向镜头
},
觉醒后: {
description: 运动装状态,精神焕发,
appearance: 短发利落/黑色、目光锐利,
outfit: 灰色运动外套、深蓝色运动裤、白色运动鞋、无配饰,
prompt: 现代、24岁、男、短发利落/黑色、灰色运动外套、深蓝色运动裤、白色运动鞋、无配饰,电影写实风格,高质量,真实光影,电影级打光,8K分辨率,超高清细节,全身,纯色背景,面向镜头
}
}
}
角色提示词公式:
{时代}、{年龄}岁、{性别}、{发型/发色}、{上装}、{下装}、{鞋/配饰}、{面部特征},
{风格标签},全身,纯色背景,面向镜头
文件2:scenes/{场景名}.json(每个场景一个文件)
json
{
name: 医院普通病房,
sceneid: scenehospital_room,
type: 室内,
era: 中国现代,
key_elements: [白色墙面, 输液架, 病床, 窗户],