从视频解构稿批量生成 B-roll 分镜素材,交付剪辑同事进剪映——AI 洗稿流水线的「生成端」。
团队已有 douyin-deconstruct(解构端):把对标账号的爆款视频拆成「七要素分镜文字稿 + 带时间戳解说词 + pipeline_config.json」。但拆完之后重制视频时,实拍类补图素材(B-roll)一直靠「去水印借别人素材」——带水印、有版权风险、找起来慢。
gen-storyboard 补上生成端:直接吃解构稿,按镜批量 AI 生图,出一个「审图页 + 剪映直用素材包」,剪辑同事拿去混剪。
做了三轮评估(资源盘点 → 两地行情调研 → 关键事实一手核验),核心结论:
| 候选 | 每张价格 | 关键能力 | 结论 |
|---|---|---|---|
| Seedream 4.5(OpenRouter) | $0.04 一口价 | 9:16 竖屏、2K/4K、参考图≤14、seed 可固定;中文实物场景强 | 主力——复用现有 OpenRouter 账号,零新开通 |
| Nano Banana Pro(OpenRouter) | $0.134 | 2026 评测分镜一致性第一(93-95% 跨场景) | A/B 备选——换个环境变量即切,不改代码 |
| 火山方舟直连(组图模式) | 约 ¥0.25 | 单请求出 ≤15 张互相一致的组图 | Phase 2 备选——OpenRouter 透传不了组图参数(实测) |
| 智谱 GLM-Image / 阿里 Qwen-Image | ¥0.1 / ¥0.2 | 中文海报文字渲染双王 | 暂不需要——视频字幕在剪映里加,图里不烧字 |
--anchor)逐镜锚定。B-roll 镜之间本来就是不同场景,最难的「同一空间多角度」问题在这类视频里基本不存在。| 交付物 | 说明 |
|---|---|
| src/lib/image-gen/client.ts | OpenRouter 统一图片 API client。测试跑必须走独立限额的 eval key,缺了直接报错、绝不静默回落生产 key |
| scripts/gen-storyboard.ts | 主 CLI,上面五步全流程;模型/分辨率/比例/风格前缀全部参数化 |
| 花费三道闸 | 预估超上限(默认 $2)拒跑;跑一半累计超限就地熔断;每镜实时落盘 manifest,中断也不丢账 |
| 成本量级 | 一条 15 镜视频 ≈ 定稿 3 张 + 15 镜 + 30% 重roll ≈ 23 张 × $0.04 ≈ ¥6.6/条 |
git revert 可回滚# 试跑/评测一律先切 eval key(缺了会直接报错,防烧生产余额)
export AKKE_USE_EVAL_KEY=1
# 先零花费预览 prompt 和选镜
pnpm tsx scripts/gen-storyboard.ts --config <解构稿.md 或 pipeline_config.json> --dry-run
# 推荐流程:挑 1-2 镜出定稿 → 定稿图当 anchor 跑全量 → 审图 → 重roll 补漏
pnpm tsx scripts/gen-storyboard.ts --config <稿> --shots S07
pnpm tsx scripts/gen-storyboard.ts --config <稿> --anchor 视频素材/…/shot-S07.png
pnpm tsx scripts/gen-storyboard.ts --config <稿> --reroll S03,S09