knowhow.md
6.51 KB
互动剧本自动生成方法论
概述
从素材(新闻、故事、段子、历史事件)自动生成经典互动剧本的完整方法论。
一、素材分析阶段
1.1 素材类型识别
| 素材类型 | 特征 | 剧本风格建议 |
|---|---|---|
| 新闻报道 | 客观陈述、事实为主 | 吐槽/解说改编 |
| 故事/段子 | 有情节、有人物 | 保留原风格 |
| 历史事件 | 时间线、因果关系 | 正剧/搞笑混搭 |
| 创意想法 | 概念为主 | 架空创作 |
1.2 核心元素提取
从素材中提取以下元素:
- 角色:识别素材中出现的关键人物(2-5个)
- 冲突:核心矛盾是什么
- 转折:情节反转点在哪里
- 情感基调:欢乐/悲伤/悬疑
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 快速生成流程
- 读取素材 → 分析素材类型和核心元素
- 生成JSON → 按照模板生成完整剧本JSON
- 生成图片 → 执行 generate-images.js
- 写入数据库 → 执行 insert-drama.js
- 输出结果 → 告知 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 | 素材太短 | 添加角色内心戏扩展 | |
| 2 | 语言不匹配 | 中/英混用 | 强制统一语言标识 |
| 3 | 角色超限 | >5人 | 合并次要角色 |
| 4 | 台词过长 | >30字 | 拆分缩短 |
| 5 | 音色不搭 | 声音与性格不符 | 参考音色列表重选 |
| 6 | 脸部画五官 | 有眼睛/鼻子/嘴巴 | 修改 prompt 重生成 |
| 7 | 生图失败 | OSS 无 URL | fallback 到备用 API |
| 8 | 数据库写入失败 | SQL 错误 | 检查 JSON 格式 |
文档版本: 2026-03-30 来源: SKILL.md 模板 + 实践经验 + 原创洞察 原创洞察数: 3条 识别陷阱: 8个