short-drama
AI 短剧制作(横屏/竖屏微短剧,多集)
配置检查路径铁律:整条流水线开始前先
cd到AGENTS.md末尾给出的 Easel 项目根,确认.env与skills/shared/scripts/存在。生图、视频、配音配置必须从这里运行注册表/check;不得在 OpenClaw workspace 使用./shared/scripts/...,不得用env/printenv判定缺少IMG_BASE_URL、VOICE_BASE_URL或 Key。发现缺项先核对pwd,回项目根并显式传--env-file .env重查。
⛔ 三条铁律(最容易翻车,动手前先记死)
- 每镜必须「图生视频」成动态片段——绝不能拿静态图冒充。 关键帧图(frame)只是 I2V 的首帧,必须再用 ai-video-gen
image2video驱动成会动的clip。跳过这步 = 一堆静态图配音,垃圾。合成前storyboard会硬拦只有 frame 没 clip 的镜头。 - 配音必须闭源云 provider(有情感、像真人)——绝不用 edge(AI 味平读)。 先
.env配VOICE_PROVIDER+voice_clone.py check验 key;配了 key 后dubbing align/dub合成前就硬拦 edge,任何角色(含旁白)想落到 edge 直接失败。只有完全没 key 才--allow-edge兜底。 - 原生音频优先、环境音每镜必留、台词务必喂给模型。 视频模型原生音频(环境音/脚步/物理音效)质量好,环境音默认整轨全用。头号要点:生视频必须把台词写进
generation_prompt(prepare生成)喂给模型,否则模型不知说啥、台词全错。默认 native-first(让模型逐字说、能说就用、不默认丢 TTS)→audit逐镜 ASR 核验:对上用原生对白(常态)、说错转dub换 TTS、旁白/动作镜走 TTS/环境音。决策与探针细节见步骤 16/18 及references/native-audio-workflow.md。 - 画面/声音/字幕按时间线对齐,自然播放。 画面用真实片段全长(台词只占其中一段,按实际说话时间放置),绝不慢放/循环/冻结;片段盖不住台词就重生成/拆镜(
align硬拦)。
⚠️ 不许抄近路(执行纪律,最常翻车):
prepare → drama_ops.py generate(生视频) → audit → align是不可跳的链,脚本已加链式硬门:① 生视频必须走drama_ops.py generate(它逐镜读generation_prompt自己调视频模型,agent 无从传成只有画面的 prompt)——别再逐镜手调 ai-video-gen;②generate/audit见有台词的镜缺generation_prompt→ 判定「没跑 prepare」直接失败;③align见缺clip-audit.json→ 判定「没跑 audit」直接失败(不再静默把全部对白降级成 TTS)。「手调生视频只传画面 prompt + 直接 TTS」这条错误捷径会被拦回来——才有「台词喂给模型 + 用视频原声」。
编排层 SKILL:创意(圣经/剧本/分镜/lines)你 LLM 写,生成动作全委派已有 SKILL(ai-image-gen/ai-video-gen/ai-music),确定性 IO 走
scripts/drama_ops.py+scripts/dubbing.py;角色一致性靠「先定参考图再 I2V」+ 剧集圣经锁成同一部剧。