# 互动剧本自动生成方法论 ## 概述 从素材(新闻、故事、段子、历史事件)自动生成经典互动剧本的完整方法论。 --- ## 一、素材分析阶段 ### 1.1 素材类型识别 | 素材类型 | 特征 | 剧本风格建议 | |---------|------|-----------| | 新闻报道 | 客观陈述、事实为主 | 吐槽/解说改编 | | 故事/段子 | 有情节、有人物 | 保留原风格 | | 历史事件 | 时间线、因果关系 | 正剧/搞笑混搭 | | 创意想法 | 概念为主 | 架空创作 | ### 1.2 核心元素提取 从素材中提取以下元素: 1. **角色**:识别素材中出现的关键人物(2-5个) 2. **冲突**:核心矛盾是什么 3. **转折**:情节反转点在哪里 4. **情感基调**:欢乐/悲伤/悬疑 ### 1.3 语言检测 - 中文素材 → 中文剧本 + 中文音色 - 英文素材 → 英文剧本 + 英文音色(Tim, Dacey, Stokie) --- ## 二、剧本结构设计 ### 2.1 Classic 结构模板 ``` 开场(2句)→ 铺垫(4句)→ 冲突(6句)→ 反转(4句)→ 结局(2句) ``` ### 2.2 角色配置规则 - 数量:2-5人 - 站位:left/right 交替 - 音色匹配:根据性别、年龄、性格选择 ### 2.3 台词设计 - 数量:10-20句 - 长度:每句 ≤30字 - 风格:沙雕搞笑,生动有趣 - 情感指令:对情绪强烈台词添加 instruction --- ## 三、图片生成流程 ### 3.1 角色立绘 **核心原则**:沙雕动漫风格(meme style) ``` 生成一张[人物名字/身份]的全身站立画像。 核心风格:沙绸动漫风格,2D简笔画,线条清晰粗犷,色彩平涂,带有幽默滑稽感,略微大头小身体比例。 脸部要求:纯肉色完全空白,不要画眼睛鼻子嘴巴眉毛,保留干净面部轮廓。 服装与动作:[根据角色填写],手里拿着[合适的道具],[有趣站姿]。 背景要求:纯色干净背景(如浅蓝灰色),边缘清晰,方便抠图。 ``` ### 3.2 背景图 ``` 横版宽屏场景背景图,卡通风格,适合互动剧背景。场景:[根据剧本内容描述]。不要人物,色彩鲜明,气氛感强。 ``` ### 3.3 封面图 ``` 剧目封面海报。标题:[剧本标题]。展示[角色名]等角色的剪影轮廓,色彩鲜明,有标题感,卡通风格。 ``` --- ## 四、数据库写入 ### 4.1 写入内容 | 表 | 内容 | |----|------| | dramas | 剧本元数据(name, title, description, systemPrompt) | | drama_characters | 角色配置 + bodyUrl + voiceId | | drama_emotions | 表情映射 | | drama_scripts | 台词序列 | ### 4.2 脚本依赖 - `insert-drama.js` - 入库脚本 - `generate-images.js` - 生图 + 去背景 + OSS 上传 --- ## 五、常见陷阱 ### 5.1 素材坑 | 陷阱 | 解决方案 | |------|---------| | 素材太短 | 扩展细节,增加角色内心戏 | | 素材太严肃 | 改为吐槽/解说说风格 | | 素材含敏感词 | 自动过滤或替换 | ### 5.2 角色坑 | 陷阱 | 解决方案 | |------|---------| | 角色太多 | 控制在2-5人 | | 音色不匹配 | 参考 reference.md 音色列表 | | 五官绘画 | 严格遵守"空白脸部"规则 | ### 5.3 台词坑 | 陷阱 | 解决方案 | |------|---------| | 台词太长 | 控制在30字以内 | | 对话无聊 | 增加反转和冲突 | | 情感单调 | 添加 instruction 字段 | --- ## 六、最佳实践 ### 6.1 快速生成流程 1. **读取素材** → 分析素材类型和核心元素 2. **生成JSON** → 按照模板生成完整剧本JSON 3. **生成图片** → 执行 generate-images.js 4. **写入数据库** → 执行 insert-drama.js 5. **输出结果** → 告知 dramaKey 和角色信息 ### 6.2 质量检查点 - [ ] 语言匹配(素材语言 = 输出语言) - [ ] 角色数≤5,立绘有空白脸部 - [ ] 台词≤30字,有反转 - [ ] 音色与角色性格匹配 - [ ] 图片生成成功上传OSS ### 6.3 性能优化 - 生图使用 Jimeng → fallback Nano Banana Pro - 去背景使用 rembg(如已安装) - 并行上传多张图片 --- ## 七、参考资料 - 完整音色列表:`data/system/templates/idearuncreate/skills/reference.md` - 生图脚本:`data/system/templates/idearuncreate/skills/generate-images.js` - 入库脚本:`data/system/templates/idearuncreate/skills/insert-drama.js` --- ## 八、学习路径 ``` Step 1: 阅读 SKILL.md 模板(30分钟) ↓ Step 2: 运行一次完整流程(60分钟) ↓ Step 3: 调试并优化生图效果(60分钟) ↓ Step 4: 批量生成测试(120分钟) ↓ Step 5: 沉淀个人最佳实践(持续) ``` --- ## 九、关联技能 | 技能 | 作用 | |------|------| | l2-web-research | 调研互动剧趋势 | | l2-drama-enhance | 高光剪辑优化 | | l2-story-extend | 续写扩展台词 | --- ## 十、原创洞察 ### 洞察1: 素材风格转换器 **发现**: 素材风格决定了剧本改编基调。 - 新闻类 → 吐槽/解说风格(化解严肃) - 故事类 → 保留原风格 + 适度搞笑 - 历史类 → 正剧+搞笑混搭(古今反差) - 创意类 → 架空脑洞风格 **建议**: 输入阶段自动识别素材类型,选择对应改编策略。 ### 洞察2: 空白脸部是灵魂 **发现**: 角色立绘必须保持纯肉色空白脸部,这是 meme 风格的核心。 - 表情包文化的本质是"留白创作" - 观众会自动代入自己的表情解读 - 画了具体五官的立绘反而失去了互动剧的"灵魂" **实践**: 生图 prompt 中明确强调"脸部完全空白,不要画任何五官"。 ### 洞察3: 台词的情绪颗粒度 **发现**: 30字以内的短台词更需要精细的情绪设计。 - 添加 instruction 字段(如"用愤怒的语气说") - 配合 avatar + action 实现多维情感表达 - 单一台词 = 表情 + 动作 + 语音三要素 **建议**: 为每3句台词设计1个情感爆发点。 --- ## 十一、常见陷阱清单 | # | 陷阱 | 识别标志 | 解决方案 | |---|------|---------|----------| | 1 | 素材太短 | <100字 | 添加角色内心戏扩展 | | 2 | 语言不匹配 | 中/英混用 | 强制统一语言标识 | | 3 | 角色超限 | >5人 | 合并次要角色 | | 4 | 台词过长 | >30字 | 拆分缩短 | | 5 | 音色不搭 | 声音与性格不符 | 参考音色列表重选 | | 6 | 脸部画五官 | 有眼睛/鼻子/嘴巴 | 修改 prompt 重生成 | | 7 | 生图失败 | OSS 无 URL | fallback 到备用 API | | 8 | 数据库写入失败 | SQL 错误 | 检查 JSON 格式 | --- *文档版本: 2026-03-30* *来源: SKILL.md 模板 + 实践经验 + 原创洞察* *原创洞察数: 3条* *识别陷阱: 8个*