跳到正文

模型路由与兜底

按镜头派活,一家挂了换下一家

同一集里的镜头,本来就不是同一种活。所以路由是按镜头的,不是按项目的:每一镜都先筛出能干这活的原厂,再按性价比排,失败了往下换。候选全试完了才退回内置预览。这一页把这条链上的每一步说清楚。

模型路由与兜底链的结构图一个镜头带参考图只有 2 秒要衔接尾帧先筛出能干这活的,再按性价比排原厂直连Grok ImaginexAI通义万相阿里云Veo 3.1GoogleSeedance 2.0字节 · 火山引擎HailuoMiniMax内置预览 · 不计费全挂了才走这条这一镜的画面
路由是按镜头的,不是按项目的。一家失败换下一家,因为限流和审核拒绝往往是单家当时的问题。没有官方公开单价的按未校准处理,排在最后。还有一件该说的:公开环境目前一家凭据都没配,所以你现在跑到的画面一律走内置预览,这条链在那儿跑的是它的例外路径。下面那两支对比片是接上真实凭据跑出来的,不是在公开环境上。

为什么按镜头

一集里的镜头,要求差得很远

开场那个两秒的特写。中段那个要和下一镜衔接尾帧的过肩。结尾那个两人同框、各自还要像各自参考图的中景。它们对模型的要求完全不同,而且没有哪一家在这三种上同时最好。整片押一家,等于让它最不擅长的那几镜跟着将就。所以每次出片都重新挑一遍,挑的依据是这一镜真正需要什么。

同一个 prompt,不同的模型

两家拿到同一句话,交回来的不是同一支片子

这一节不打算评谁更好。同一句 prompt、同一个画幅,交给两家,两边交回来的东西原样摆在这儿。差别你自己看得出来 —— 而这个差别,就是路由要按镜头挑家的全部理由。

两家拿到的是同一句

雨夜的便利店招牌在积水里反光,镜头缓慢推近。画幅 9:16。

xAIGrok Imagine5.0 秒9:16带原生音轨

目录里它能做 1 到 15 秒,5 秒这个长度稳稳落在区间里。每秒成本已经按官方公开单价校准($0.080/秒),所以按性价比排序时它有真实数字可算,不是拿一个中性分凑数。

GoogleVeo 3.14.0 秒9:16带原生音轨

它只接 4、6、8 三个长度,所以这一支是 4 秒 —— 不是它想短,是它的区间从这儿起步。它也是目录里少数能指定尾帧的一家,镜头要和下一镜衔接时排前面。每秒成本还没有官方公开来源,按未校准处理,成本优先那一档它排最后。

  • 两支都是 AI 生成的画面。它们是「镜头出片」那一道的原始产物,还没走到装配成片那一步,所以画面上没有我们烧的 AI 角标 —— 这一句就是这里的标识。
  • 长度不一样是各家自己的时长区间决定的,不是我们挑的。形态要的总时长,由产线去凑。
  • 两支都带原生音轨。默认静音,想听自己打开。

我们不发冠军奖杯

目录里五家,每一镜先按它真正需要什么筛能力,再按性价比排。哪一家在哪种镜头上更合适,由产线跑出来的数据说了算。我们要是在自己官网上挑一个赢家摆出来,那跟厂商发自家榜单是同一件事。

四个信号怎么算出综合分

能力筛选

先筛出能干这活的,再谈谁划算

过滤条件是能力,不是偏好。某家最短只做四秒,一个两秒的镜头就不该派给它。派过去只会拿到一段长度不对的片子,然后你还得重做。

参考图

这一镜要不要锚定已经定下来的人物或场景。不支持图生视频的那几家在这一步就出局。

参考图怎么喂

有的只收公开可访问的地址,有的收内联编码。我们手上只有本地文件时,只收地址的那家会退化成纯文生视频,一致性就丢了,所以它排后面。

尾帧

要和下一镜衔接的镜头需要指定尾帧。支持这件事的原厂不多,支持的排前面。

多主体

两个人同框、各自要像各自的参考图,得靠多张参考图分别锚定。

时长范围

各家能做的秒数区间不一样。广告片那种一到三秒的短镜,一下就筛掉一半。

画幅

竖屏 9:16 是短剧的默认,但不是每家都支持全部画幅。

  • 尾帧和多主体是加分项,不是硬要求:不支持的排后面,而不是被排除掉。否则一个「想要尾帧」的镜头,在只接了一家的环境里会直接没人可用。
  • 如果按时长和画幅筛完一个都不剩,我们放宽到「只要能用」,让它自己去截断。那也比直接兜底强。

三种排序

最便宜的不一定最划算

筛出候选之后按什么排,是可以配置的。默认按性价比。

性价比默认

综合分除以每秒成本。一个便宜、但三次里挂一次的模型,算上重试和你的等待其实更贵。成本还没校准的那几家退回只看质量分,而不是假装它免费。

质量优先

只看产线数据算出来的综合分,不管单价。适合成片比成本更要紧的活。

成本优先

按每秒成本从低到高。没有官方公开单价的一律按未校准处理、排在最后。不知道多贵的东西不该被优先选中,我们也不替它编一个数字。

失败之后

换一家,还是原地重试,取决于为什么失败

各家把「为什么失败」塞在自由文本里,没有一家给结构化的原因码。我们把它们归成一张表,判据只有一条:再试一次有没有可能好。

可重试:等一下再来

  • 限流
  • 请求超时
  • 网络中断
  • 产物下载失败
  • 厂商内部错误
  • 响应不是预期的形状

不可重试:立刻换下一家

  • 内容审核拒绝
  • 没配凭据
  • 认证被拒
  • 参数非法
  • 这家干不了这活
  • 厂商账户欠费
  • 退避是线性的,不是指数的:第一次失败等三秒,第二次等六秒,第三次就换家。同一家最多试三次。
  • 审核拒绝重试多少次都一样,所以它归在「立刻换家」那一列 —— 这一类最需要立刻走。中文的拒绝话术曾经一条都匹配不上,每次都白试满三次才兜底;现在中英文归在同一张表里。
  • 认不出来的错按可重试算。宁可多试一次,也不要把一个本来能成的镜头直接判死。
  • 换过家的那一镜,界面上标着它是从哪一家换过来的。

兜底

全挂了也要交得出片

兜底是例外路径,不是常态。只有所有候选都试过并且都失败之后才会走到这里。但它必须存在,否则「一键出片」在任何一家抽风的那天都是一句空话。

画面

候选一路试到最后一家还是不行,才退回内置预览。任何情况下你都拿得到一段可用的画面,并且看得见这一镜是兜底产的。

配音

外部全挂了也要有声音轨,哪怕是静音的。否则装配成片时音画对不齐,整支片子都废了。

参考图

图像没有内置兜底,一张人物设定图糊不出来。所以全部失败就是这一项跳过,但产线不中断,后面的工序照走。

兜底不计费

走内置实现的那几次一律不计费。但每一次尝试都会落一条用量记录,包括失败的那些(用量记零,不产生费用)。这两件事必须同时成立:账单上看不见它,成功率的分母里必须有它。

草稿档根本不走这条路

草稿一律走内置预览:不调外部模型、不花钱、不排队。你反复改分镜的那几轮全在草稿上跑,只有定稿那一次才真的往外派活。这比压单价省得多,因为省掉的是本来就不该花的重试成本。

这一整条链,你一个开关都不用碰

选哪家、失败了怎么办、什么时候该兜底,这些是产线的内部实现。你要做的只是点运行,然后看着控制台。