一、视频这一层的模型与命令入口
百炼的视频能力在模型侧分两个家族。happyhorse-1.1 按输入形态拆成三个方向:-t2v 文生视频、-i2v 图生视频、-r2v 参考生视频。wan3.0-video 与 wan3.0-video-prime 按清晰度分档计价,480P、720P、1080P 各有自己的每秒单价。
命令侧统一收在 bl video 下面,五个子命令:
| 子命令 | 作用 | 本次状态 |
|---|---|---|
bl video generate |
文生视频、图生视频、首尾帧 | 实跑六次 |
bl video ref |
多主体参考,可逐个主体配音 | 只核了签名 |
bl video edit |
风格迁移与换物体,模型 happyhorse-1.0-video-edit |
只核了签名 |
bl video task get |
异步任务状态查询 | 只核了签名 |
bl video download |
异步产物下载 | 只核了签名 |
六次实跑全部返回 SUCCEEDED,没有排队也没有报错。命令签名以本机 bl 1.22.0 的 --help 输出为准,单价取自 bl model list 的实时返回,不是抄评测文。
有一处要先交代:happyhorse-1.1 的单价我没取到,bl model list --model happyhorse-1.1 返回 Model not found,得去控制台模型详情页看。所以全文不给这个模型写任何金额,涉及成本的测算一律走 wan3.0-video 的公开单价。
至于为什么这周去动视频这条链路:刷到有人说 happyhorse-1.1 在 Artificial Analysis 的视频竞技场排到了第一,Elo 1365。这句话我只信一半,榜单是我 9 月 16 日上午自己抓的,就一个来源,看到这篇的时候名次可能已经动了。但顺着它去查账号里的免费额度,查出来的东西比榜单实在。
二、三条链路的参数矩阵
bl video generate 一个命令承载三种链路,区别只在传不传图:
| 链路 | 关键参数 | 本次状态 |
|---|---|---|
| 文生视频 | --prompt,模型 happyhorse-1.1-t2v 或 wan3.0-video |
实跑五次 |
| 图生视频 | --image 填一个可访问的图片 URL,模型 happyhorse-1.1-i2v |
实跑一次 |
| 首尾帧 | --image 与 --last-frame 同用,指定开头与结尾画面 |
只核了签名,未实跑 |
其余参数:--resolution(本机 --help 只列了 720P 与 1080P)、--ratio、--duration、--seed、--watermark、--negative-prompt、--download、--async。还有一个 --file,只对 wan3.0-video 生效,与 --image、--last-frame 互斥。
bl video ref 是另一条链路:--image 可以重复传多个主体并且接受本地文件,--image-voice 按位置与主体配对,另有 --ref-video、--video-voice、--resolution、--ratio、--duration。它没有 --last-frame。这条链路要解决的是"同一个人跨镜头还是同一个人,并且能开口说话",纯文生视频给不了主体一致性。本次没跑,素材备好了没按回车。
图像与视频的衔接是这套能力栈里最省事的一处。bl image generate 的返回里直接带一个临时 URL,可以原样填进 --image,中间不需要 bl file upload。只有本地已有素材要上云时才走 bl file upload --file <path> --model <model>,换到的是 48 小时有效的临时 URL。
三、六次实跑的耗时、体积与单价
| 序号 | 链路 | 模型 | 关键参数 | 耗时 | 体积 |
|---|---|---|---|---|---|
| 1 | 文生 | happyhorse-1.1-t2v |
720P、9:16、5 秒 | 84.6s | 3.1 MB |
| 2 | 图生 | happyhorse-1.1-i2v |
720P、5 秒 | 74.5s | 1.8 MB |
| 3 | 文生 | happyhorse-1.1-t2v |
720P、16:9、水印默认开 | 79.4s | 1009.2 KB |
| 4 | 文生 | happyhorse-1.1-t2v |
同上,加 --watermark false |
84.6s | 884.0 KB |
| 5 | 文生 | wan3.0-video |
720P、16:9 | 137.2s | 4.9 MB |
| 6 | 文生 | wan3.0-video |
1080P、16:9 | 173.8s | 11.2 MB |
单价(bl model list 实跑取值):
| 模型 | 480P | 720P | 1080P |
|---|---|---|---|
wan3.0-video |
¥0.3/秒 | ¥0.6/秒 | ¥1.2/秒 |
wan3.0-video-prime |
¥0.45/秒 | ¥0.9/秒 | ¥1.8/秒 |
按 5 秒一条算,wan3.0-video 720P 是 ¥3,1080P 是 ¥6。480P 那档单价在价格表里有,但本机 --resolution 的枚举里没有它,本次也没用命令跑过。
第 2 条那张源图也是自己出的:bl image generate,模型 qwen-image-3.0,51.1 秒,返回里带临时 URL,直接喂给 --image 就是第 2 条的输入。图像和视频共用一套凭证、一套计价视图,配图和配空镜可以放在同一条流水线上跑。
四、两个开关的实测口径
4.1 水印
默认产物右下角带 "Happy Horse" 字样。--help 里写着 --watermark 默认 true,但只按 help 的语义下结论不够,于是同一段 prompt、同一个 --seed 42,只改水印开关跑了两条,用三个互相独立的信号交叉验证:
| 信号 | 默认 | --watermark false |
|---|---|---|
| 返回 URL 文件名 | ..._refiner_watermark.mp4 |
..._refiner.mp4 |
| 体积 | 1009.2 KB | 884.0 KB(少 125.2 KB,−12.4%) |
| 抽第 30 帧看右下角 | 有 "Happy Horse" | 干净 |

三个信号一致,开关确实管用。对外物料建议把这个 flag 显式写上,不要依赖默认值。
4.2 分辨率
同一段 prompt、同 seed、同模型 wan3.0-video,只改 --resolution:
| 档位 | 耗时 | 体积 | 5 秒成本 |
|---|---|---|---|
| 720P | 137.2s | 4.9 MB | ¥3 |
| 1080P | 173.8s(+26.7%) | 11.2 MB(2.3 倍) | ¥6 |

草稿和内部预览走 720P,快一倍多、文件小一半多;要投屏、要正式发布的走 1080P,多花 ¥3 和 37 秒换清晰度。
4.3 --seed 不承担复现职责
4.1 那两条用的是同一个 seed 42,画面却完全不同:一条是陶瓷马克杯,一条是玻璃杯带托盘。视频这条链路上 --seed 不保证复现同一画面。要做参数对照,可用的办法是只改一个变量、其余全同,并接受画面本身会变,结论靠多个独立信号撑着。
五、免费额度与计费治理
本机 bl usage free 的实跑清单:
| 模型 | 免费次数 | 到期 | autoStop |
|---|---|---|---|
happyhorse-1.1-t2v |
10/10 | 2026-09-21 | false |
happyhorse-1.1-i2v |
10/10 | 2026-09-21 | false |
happyhorse-1.1-r2v |
10/10 | 2026-09-21 | false |
wan3.0-video |
30/30 | 2026-11-05 | false |
官方口径:每模型独立、不互通,有效期 90 天,仅华北2(北京)地域,过期不补发。happyhorse-1.1 三个方向合计 30 次在 2026-09-21 到期,这是一个有硬截止的试点窗口。
额度用完之后的行为,是这套能力栈里最该写进企业规范的一条。官方文档原文:"已认证用户免费额度用完后自动转为按量付费";"若未开启免费额度用完即停,正在进行的调用不会中断,超出额度的 Token 将按控制台中的输入/输出价格计费……可能导致账户欠费"。
控制台里那个开关叫"免费额度用完即停"。已完成实名认证的账号,它默认是关闭的,怕意外扣费的自己进去打开;打开之后额度耗尽返回 HTTP 403、错误码 AllocationQuota.FreeTierOnly,这个错误码建议直接进告警规则。未完成实名认证的账号相反,系统强制开启,开关不可见也无法操作,额度用完即无法继续调用,需要先认证并充值。
还有一处本机没查清的观察:跑完第一条视频后立即复查 happyhorse-1.1-t2v,仍显示 10/10,没看到扣减。可能是账本延迟,也可能那次没计入免费额度。所以做预算时按单价乘条数编,不要把免费额度计进成本模型。
六、上手路径与工程化衔接
npm install -g bailian-cli
安装说明见 百炼 CLI 页面,API Key 在控制台密钥管理页创建,免费额度只在华北2(北京)生效。
查额度是只读操作,不消耗额度也不产生费用,但要先做一次 Console 登录(会弹浏览器):
bl auth login --console
bl usage free --expiring 7
bl usage free 还支持 --all、--sort、--model、--output json,JSON 输出可以直接接进内部的额度巡检脚本。
同步调用会占住终端一分半钟,批量出片应改用 --async:只返回任务 id,之后用 bl video task get 查状态、bl video download 取产物,这样视频生成这一步能挂进 CI 或定时任务,产物落盘位置和命名交给脚本管。
模型清单、单价与免费额度都可以在百炼首页自查。
七、按场景选链路
| 场景 | 建议 | 依据 |
|---|---|---|
| 公众号、视频号缺的 5 秒氛围空镜 | 文生视频,720P、竖屏 9:16 | 84.6 秒一条,2026-09-21 前有 10 次免费额度 |
| 已有产品图、门店图要动起来 | 图生视频 | 74.5 秒、1.8 MB,材质与源图对得上 |
| 对外发布的物料 | 显式加 --watermark false |
实测体积从 1009.2 KB 降到 884.0 KB,抽帧右下角干净 |
| 草稿与内部预览 | 720P | 137.2 秒、4.9 MB、5 秒 ¥3 |
| 投屏、展会循环播放 | 1080P | 173.8 秒、11.2 MB、5 秒 ¥6 |
| 主体跨镜头一致、要人物开口说话 | bl video ref,先做 POC |
签名支持多主体与逐个配音,本次未实跑 |
| 要指定开头和结尾画面 | --image 配 --last-frame,先做 POC |
签名支持,本次未实跑 |
| 要精确到帧的品牌露出 | 回剪辑软件 | 本次六条产物均为 5 秒,更长的没试 |
两条不随模型版本失效的建议:对外物料统一显式声明 --watermark false;参数对照只改一个变量,不要把 --seed 当复现开关。