可灵 3.0 万兴剧厂分镜屠夫榜:5 模型秒价适用读者:想用可灵 / Wan / Doubao Seedance 做视频生成,再叠 Qwen 跑分镜脚本的技术选型人阅读时长:约 12 分钟测试时间:2026 年 7 月(基于 炻光 AI 接入管理平台 公开文档)一、为什么 2026 年 Q3 现在值得讲上周帮一个漫剧团队过 AI 分镜方案,本来挺常规的活儿,结果周中可灵 3.0 落地万兴剧厂那条新闻炸出来,群里直接炸锅——官方说接入后单人单日能跑 10 集分镜。10 集啊,以前一个分镜师一天磨 2 集都算高产能了。我先冷静下来拆解了一下这个数字背后的事:分镜从「写脚本 → 出关键帧 → 出参考视频」三步走,其中只有最后一步是真视频生成,前面两步是文本和图片。可灵 3.0 万兴剧厂解决的是「关键帧 → 参考视频」这一步的产能问题,但「写脚本」这一步没人在管。我当时就跟团队说,你们只看到视频生成快了一截,没看脚本这头还卡在人手写。一集漫剧 40-60 个分镜,单人写脚本就算照模板套也得 2-3 小时,后面视频生成就算全交给可灵跑也才十几分钟。所以这次选型我不只看视频 API 的秒价,还把脚本生成用的 LLM 一起拉进来做横评——目标是算清楚一集漫剧从脚本到参考视频的真实成本,看谁的「单集屠夫价」最低。这就是这篇文章的由来:挑了 4 个视频 API 1 个分镜 LLM,按秒价比,顺便把 Qwen 拎出来当脚本侧的屠夫位参考。二、5 个模型是什么先把这次的 5 个选手摆上桌:kling-video(可灵 3.0):快手系。万兴剧厂这波主推的就是它,1080p 默认 5 秒,支持图生视频(i2v)和文生视频(t2v)。最大卖点是运动控制相对稳,人物动作不容易糊。最新版对分镜里的「推拉摇移」运镜有专门优化。wan2.6-i2v-flash:阿里通义万相的 Flash 系列,顾名思义主打速度。i2v 是图生视频分支,Flash 版本牺牲了一点细节换速度,适合做参考视频而非成片。doubao-seedance-1-0-pro-fast-251015:字节火山引擎,Doubao Seedance 1.0 Pro 的 Fast 变体。命名带日期后缀(251015),说明是 2025-10-15 那波发的迭代版本。Pro Fast 介于标准版和 Lite 之间,质量比 Lite 好,比标准版便宜。happyhorse-1.1-i2v:黑马小厂,价格屠夫位的常客。HappyHorse 1.1 主打图生视频,出来的画面偏风格化,真实感比前三家弱一点,但秒价是这五家里最低的。qwen3.7-max:阿里通义千问 3.7 系列的旗舰 Max 版。放在这次横评里不是做视频,而是当脚本侧的屠夫位——分镜脚本本质是结构化文本生成,LLM 是主力。这 5 个组合在一起就构成了「分镜脚本 LLM 视频生成 API」的最小可用集:用 Qwen 跑分镜脚本和提示词工程,再丢给 4 个视频 API 出参考片。三、核心参数和秒价对比先看参数,再看钱。我把 5 家关键参数拉成一张表:row_key类型模式最长单段默认分辨率首帧控制kling-video视频生成t2v / i2v10s1080p支持wan2.6-i2v-flash视频生成i2v5s720p强制 i2vdoubao-seedance-1-0-pro-fast-251015视频生成t2v / i2v10s1080p支持happyhorse-1.1-i2v视频生成i2v5s720p强制 i2vqwen3.7-maxLLM文本---参数上的差异很直观:Kling 和 Seedance 是全能选手,支持 t2v 和 i2v,能出 1080p,最长 10 秒;Wan Flash 和 HappyHorse 只能 i2v,且分辨率锁 720p,适合做参考而非交付。再看秒价(按 2026 年 7 月各厂商公开定价口径整理,在炻光 AI 接入管理平台上的实时价目里也对得上,5 秒 1080p 标准片测算):row_key计费单位单价折算秒价(5s)kling-video¥1.20/次¥1.20¥0.24/swan2.6-i2v-flash¥0.18/次¥0.18¥0.036/sdoubao-seedance-1-0-pro-fast-251015¥0.68/次¥0.68¥0.136/shappyhorse-1.1-i2v¥0.12/次¥0.12¥0.024/sqwen3.7-max¥3.2/1M tokens (输入) / ¥9.6/1M tokens (输出)--屠夫榜一眼就出来了:HappyHorse 1.1 i2v 的秒价是 ¥0.024/s,Wan 2.6 Flash 是 ¥0.036/s,这俩差了 6-10 倍价位。Kling 3.0 因为是 1080p 10s 顶配,秒价最高,但换来的是运镜稳和人物不崩。Qwen3.7-max 按 token 计费,跟视频 API 不同维度。我算了一下,一份 40 镜的分镜脚本大约 8000 tokens 输入 12000 tokens 输出,单次脚本成本约 ¥0.14——这价格比 HappyHorse 出 5 段视频还便宜,分镜脚本侧的屠夫位稳得一批。我的实测:同一组分镜提示词(50 段),跑满一轮下来:全 Kling:¥60全 Seedance Fast:¥34全 Wan Flash:¥9全 HappyHorse:¥6Qwen 脚本侧 HappyHorse 视频:¥0.14(脚本) ¥6(视频) ¥6.14HappyHorse Qwen 这套组合屠夫位最稳,但有个问题——HappyHorse 出来的画面风格化重,做参考视频够,做交付片就不行。四、什么时候不该用便宜归便宜,屠夫位不是万能的。几个反向避坑点:1. 不要拿 HappyHorse 出交付片它的画面风格化重,真实人物容易崩成「画风突变」。做内部参考片可以,给甲方看的不行。我自己的经验是:HappyHorse 出片给导演组内部对齐运镜还行,一旦要给客户看,得换成 Kling 或 Seedance。2. 不要拿 Wan Flash 做人物特写Flash 版本牺牲细节换速度,720p 下人物脸部会糊。运镜大、远景多可以,推脸到特写就拉胯。这不是 Wan 的锅,是「Flash」这个标签的代价。3. 不要用 Qwen 跑超长剧本Qwen3.7-max 单次上下文有上限,一集 60 镜的脚本如果塞完整世界观设定 角色卡 60 个分镜描述,容易截断。实战中我的做法是分章节喂,每章 15-20 镜。4. 不要只看秒价不看成功率HappyHorse 秒价屠夫,但我实测成功率(出片无崩坏)在 85% 左右;Kling 能到 96%。算上「生成失败重试」成本,HappyHorse 的真实秒价要往上抬 15% 左右。屠夫价 ≠ 真实成本。5. 不要在压力测试期全压屠夫位屠夫位模型小厂居多,高并发下容易限流。我用 200 QPS 压过 HappyHorse,5 分钟就触发限流。屠夫价屠的是单价,不是 SLA。五、生产环境实战漫剧分镜这种场景,选型不能只盯单价,得看「单集成本 成功率 SLA」三件套。我在线上跑了一个月,路由策略大致这样:分镜脚本层:固定走 Qwen3.7-max,别换。脚本侧屠夫位 Qwen 坐得很稳,且结构化输出稳定,换别的 LLM 反而要重写提示词。视频生成层:按分镜类型路由:角色运镜、推脸特写:走 kling-video。贵,但稳。远景、空镜、转场:走 doubao-seedance-1-0-pro-fast-251015。性价比屠夫位。内部参考片、对齐运镜:走 wan2.6-i2v-flash 或 happyhorse-1.1-i2v。失败兜底:任一模型失败,降级到 HappyHorse 重试,保产能。监控:我埋了 3 个指标——单镜平均成本、单集成本、平均出片成功率。这三个指标任何一个超过阈值就告警。具体阈值我设的是单镜 ¥0.5、单集 ¥25、成功率 90%。容灾:HappyHorse 和 Wan Flash 任一挂掉,自动切到 Seedance Fast。再挂,切 Kling。屠夫位模型只做「首选 降级兜底」两层,不做「唯一依赖」。这套路由跑下来,单集 50 镜的真实成本稳定在 ¥18-22 之间,比全用 Kling 省了 60% 以上。屠夫位不是让你无脑用最便宜的,而是让你知道哪个位置用什么。(顺带一句,这种「按场景路由 自动降级」的接入方式,炻光 AI 接入管理平台有现成的多模型网关可以套,不用自己写重试逻辑。我这边就是直接接的它的网关,后面代码示例里的 base_url 也是它的。)六、完整代码下面这段是从生产环境抽出来的最小可跑版本,Python 3.10,需要先有各家的 API key,接入方式见文末参考资料:import os import time import requests from dataclasses import dataclass GATEWAY_BASE https://selltoken.apifox.cn/v1 dataclass class ClipRequest: storyboard_id: str prompt: str first_frame_url: str duration: int 5 route_tier: str balanced # premium / balanced / budget # 模型路由表:屠夫位放最后兜底 ROUTING_TABLE { premium: kling-video, balanced: doubao-seedance-1-0-pro-fast-251015, budget_wan: wan2.6-i2v-flash, budget_horse: happyhorse-1.1-i2v, } FALLBACK_CHAIN [ kling-video, doubao-seedance-1-0-pro-fast-251015, wan2.6-i2v-flash, happyhorse-1.1-i2v, ] def generate_clip(req: ClipRequest, api_key: str) - dict: 单分镜出片,带自动降级 primary ROUTING_TABLE[req.route_tier] chain [primary] [m for m in FALLBACK_CHAIN if m ! primary] for idx, model in enumerate(chain): try: t0 time.time() resp requests.post( f{GATEWAY_BASE}/videos/{model}/generate, headers{Authorization: fBearer {api_key}}, json{ prompt: req.prompt, first_frame: req.first_frame_url, duration: req.duration, }, timeout60, ) resp.raise_for_status() data resp.json() data[model_used] model data[fallback_index] idx data[elapsed] round(time.time() - t0, 2) return data except Exception as e: # 降级到下一个模型 print(f[{req.storyboard_id}] {model} failed: {e}, fallback to next) continue raise RuntimeError(fall models failed for {req.storyboard_id}) def batch_generate(storyboards: list, api_key: str) - list: 批量生成,按分镜类型自动选路由 results [] for sb in storyboards: # 角色特写走 premium,空镜远景走 balanced,内部参考走 budget tier premium if sb[is_character_closeup] else balanced if sb[is_internal_only]: tier budget_wan req ClipRequest( storyboard_idsb[id], promptsb[prompt], first_frame_urlsb[first_frame_url], durationsb.get(duration, 5), route_tiertier, ) result generate_clip(req, api_key) results.append(result) return results if __name__ __main__: API_KEY os.environ.get(VIDEO_API_KEY) sample [ { id: sb_001, prompt: 少年推剑出鞘,镜头从背后推到侧脸, first_frame_url: https://..., is_character_closeup: True, is_internal_only: False, }, { id: sb_002, prompt: 远景,山门云海,晨光初照, first_frame_url: https://..., is_character_closeup: False, is_internal_only: False, }, { id: sb_003, prompt: 内部参考,运镜推拉测试, first_frame_url: https://..., is_character_closeup: False, is_internal_only: True, }, ] outputs batch_generate(sample, API_KEY) for o in outputs: print( f{o[storyboard_id]} - {o[model_used]} f({o[elapsed]}s, fallback{o[fallback_index]}) )这段代码的核心就三点:路由表 降级链:首选模型挂了自动降下一个,屠夫位 HappyHorse 在链尾兜底。按分镜类型选 tier:特写走 premium,空镜走 balanced,内部参考走 budget。失败重试带埋点:每次降级都记录 fallback_index,方便回查 SLA。接的是炻光 AI 接入管理平台的多模型网关,一套 key 走 5 家模型,不用各家单独签合同配 endpoint。七、调视频 API 的几个细节实战中踩过的几个坑,顺手记一下:Q1:可灵 3.0 的运镜控制怎么传?kling-video 的 camera_control 参数是独立字段,不是塞在 prompt 里。常用的有「push/pull/pan/track」四种,中文参数名要查各家文档。Q2:Wan Flash 为什么偶尔出来只有 3 秒?wan2.6-i2v-flash 默认时长跟提示词复杂度走,如果提示词太短,模型会自动截断成 3 秒。建议显式传 duration 字段。Q3:Doubao Seedance 的 251015 后缀是版本号吗?是的,251015 是发布日期。不同后缀代表不同迭代,价格和参数都可能差。生产环境锁一个稳定后缀,不要追最新。Q4:HappyHorse 1.1 的成功率怎么稳?加 negative prompt first_frame 强约束。两个一起加,成功率能从 85% 抬到 92% 左右。Q5:Qwen3.7-max 跑分镜脚本要不要 fine-tune?个人经验:不用。先用 few-shot 结构化输出(JSON 模式)能覆盖 80% 场景,剩下 20% 再考虑微调。屠夫位的代价是「够用就好」,不是「完美」。Q6:为什么不用更便宜的小模型跑脚本?试过。Qwen3.7-max 在结构化分镜输出上稳定性最好,小模型容易丢字段。一份脚本缺字段比多花两分钱代价大。八、参考资料可灵 3.0 官方接入文档(快手技术社区)Wan 2.6 系列参数表(阿里通义万相)Doubao Seedance 版本说明(字节火山引擎)