Akke 内容管线 已上线 · main #856 待闸门0 实测(eval key)

分镜文生图工具 gen-storyboard

从视频解构稿批量生成 B-roll 分镜素材,交付剪辑同事进剪映——AI 洗稿流水线的「生成端」。

更新 2026-07-13 维护:野荞 代码:Akke 仓库 PR #856(commit 9690dff2)

01这是什么、解决什么问题

团队已有 douyin-deconstruct(解构端):把对标账号的爆款视频拆成「七要素分镜文字稿 + 带时间戳解说词 + pipeline_config.json」。但拆完之后重制视频时,实拍类补图素材(B-roll)一直靠「去水印借别人素材」——带水印、有版权风险、找起来慢。

gen-storyboard 补上生成端直接吃解构稿,按镜批量 AI 生图,出一个「审图页 + 剪映直用素材包」,剪辑同事拿去混剪。

定位边界(先说清楚,避免预期错位)

02方案:怎么选的型

做了三轮评估(资源盘点 → 两地行情调研 → 关键事实一手核验),核心结论:

候选每张价格关键能力结论
Seedream 4.5(OpenRouter)$0.04 一口价9:16 竖屏、2K/4K、参考图≤14、seed 可固定;中文实物场景强主力——复用现有 OpenRouter 账号,零新开通
Nano Banana Pro(OpenRouter)$0.1342026 评测分镜一致性第一(93-95% 跨场景)A/B 备选——换个环境变量即切,不改代码
火山方舟直连(组图模式)约 ¥0.25单请求出 ≤15 张互相一致的组图Phase 2 备选——OpenRouter 透传不了组图参数(实测)
智谱 GLM-Image / 阿里 Qwen-Image¥0.1 / ¥0.2中文海报文字渲染双王暂不需要——视频字幕在剪映里加,图里不烧字

三个关键设计决策

03已部署了什么(2026-07-12 上线)

STEP 1
读分镜稿
吃 pipeline_config.json 或解构稿 .md(自动抽 JSON 块),默认只选 B-roll 镜
STEP 2
逐镜生图
2K 竖屏 9:16;prompt 由 LLM 改写增强(失败自动回落模板);可带参考图锁风格
STEP 3
审图页
contact-sheet.html:每镜缩略图 + 台词 + 字幕提示 + prompt,浏览器直接过目
STEP 4
单镜重roll
--reroll S03 只重生成不满意的镜,自动换 seed,其余不动
STEP 5
交付包
2K 原图 + 自动缩好的 1080×1920 剪映直用版 + manifest 全记录
交付物说明
src/lib/image-gen/client.tsOpenRouter 统一图片 API client。测试跑必须走独立限额的 eval key,缺了直接报错、绝不静默回落生产 key
scripts/gen-storyboard.ts主 CLI,上面五步全流程;模型/分辨率/比例/风格前缀全部参数化
花费三道闸预估超上限(默认 $2)拒跑;跑一半累计超限就地熔断;每镜实时落盘 manifest,中断也不丢账
成本量级一条 15 镜视频 ≈ 定稿 3 张 + 15 镜 + 30% 重roll ≈ 23 张 × $0.04 ≈ ¥6.6/条

验证状态

使用方法(运营同事)

# 试跑/评测一律先切 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

04之后的优化(roadmap)