沙雕动画制片厂
管线(全在 sifa_anim/,幂等断点续跑,重跑即接续)
原题/底稿 → parse切片(q{Y}_{V}_100.json)
→ ds_shadiao_writer.py {Y}_{V} # DeepSeek编剧 ~¥0.03/年
→ ds_asset_planner.py {Y}_{V} ×2 # 素材规格(跑两遍防缺口)
→ atlas_gen_runner.py {Y}_{V} # 生图 $2.4/年(余额看.env/atlas key)
→ local_key_rewrite.py {Y}_{V} # 白底转透明
→ fix_voice_gender.py {Y}_{V} # 性别-音色
→ local_render.py # TTS+合成+编码(~43s/集)
→ ffmpeg concat(片头_通用_45s+正片+片尾_通用_30s, 32000Hz mono 128k) → 含主题歌合集
教学片变体:teach_writer.py(GLM45s→硅基DS→deepseek.sh三保险+内容安全线)/local_render_teach.py/teach_render.sh/teach_fix.sh(补漏关卡)
编剧铁律(永久)
- 有故事性无题性:禁"题/选项/考点/答案/根据上述" 2. ABCD封杀(字母+①②③④) 3. 包袱:卷一1个/卷二3-4/卷三4-5/教学片5-7每集 4. 台词≤46字(教学片≤90) 5. 禁自杀暗示/车辆冲撞比喻(MiniMax会拦,用"绿化带"级无害梗) 6. 性别强标记才纠偏
关键凭证
MiniMax TTS key硬编码在local_render.py(~¥0.067/集) | 硅基flow:~/.env.siliconflow(MOSS/CosyVoice2 ¥0.05/千字节,余额~¥99) | DeepSeek:~/.env.deepseek | Atlas生图余额自查
坑→疫苗(zsh坑加粗)
跨年串图→年份锁(_2/_3后缀) | 机器重启杀链→幂等重跑 | zsh for不分词→用${=VAR} | 运行中脚本勿原地编辑(字节偏移) | Bash取消连坐杀后台→启动命令立即返回 | TTS限流→2路并发+5次退避 | 编剧超时→三保险兜底 | 补丁必须同命令grep磁盘验证(防假成功) | 官方合集前先补漏片teach_fix.sh模式
新选题开工模板
复制parse脚本改行号→writer→planner×2→atlas→render链(抄render_p3_0912.sh改年份;已交年份勿包含,散片被清会误重渲)