阿里云百炼的 omni 族把音频、图像、视频和文本放在同一个模型入口上,输出既能是文字也能是语音。对做录音纪要、演示配音、音视频检索这类动线的开发者来说,它意味着原来分散在几家服务上的三段能力可以收进一条命令链。这篇是我上手这一族的记录:能力矩阵按目录口径列出来,每条模态我自己走一遍,走通的写规格,没走通的写报错原文。所有读数都带次数,单次的不当稳定性结论。
一、背景:一条录音动线为什么要换入口
我要的动线不复杂:一段录音进来,出一份可检索的文字,再让程序用一句人话把结论念出来。
按传统拼法,这是三家服务:语音识别、大模型、语音合成。各注册一次,各配一次鉴权,额度分开管,文件在中间搬两趟。链路能跑通,但每换一家供应商,接缝就要重写。
omni 族的吸引力在于入口统一:同一条命令收音频、出文字,也能收文字、出语音。这一轮我想核清楚的是,这个"统一"具体覆盖到哪几条模态。

二、能力面:在架型号与模态矩阵
先数在架型号:
bl model search --keyword omni
返回 total 20 条。omni 族在架型号的模态口径高度一致:输入 Text + Image + Video + Audio,输出 Text + Audio。九月那批里 qwen3.8-omni-flash 与 qwen3.8-omni-flash-realtime 都在架上,上一代的 qwen3.5-omni-plus、qwen3.5-omni-flash 也在。
命令侧的能力面来自 bl omni --help:--message、--model、--system、--image、--audio、--video、--voice、--list-voices、--audio-format、--audio-out、--text-only、--max-tokens、--temperature。进口三个(图像、音频、视频),出口由 --text-only 与 --audio-out 决定。
目录口径是平台给的,路要不要走得通还得自己走。下面四条模态我逐条核。
三、上手准备:CLI 与 API Key
环境只有两项准备。CLI 安装是一条 npm 命令,入口在 CLI 安装页;本文四条命令都要鉴权,Key 在控制台签发:API Key 页面。
模型 ID 要写全。qwen3.8-omni-flash、qwen3.8-omni-flash-realtime、qwen3.5-omni-plus 是三个不同型号,本文的语音输出结论只在其中两个之间做对比。
Key 没配好的时候先处理鉴权,再回头核模态,两个问题混在一起排查最耗时间。
四、素材与判据:一句合成音频,四个专名
判断"听得准不准"需要先有正确答案,所以素材自己造。这段音频是我合成的,不是真人录音:
bl speech synthesize --text "<一句带专名的话>" --voice longcheng_v3 --out ./a1.mp3
我埋了四个专有名词:珞珈三号、岑巩县、冉雍、百炼控制台。卫星代号、县名、人名、产品名各一个,四类词的错法不一样,放在一句里一起验。
判据两条:逐字转写里专名对不对,概括句与原意符不符。
五、音频理解:本地文件直传
bl omni --model qwen3.8-omni-flash --audio ./a1.mp3 --message "这段音频在说什么?先逐字转写,再用一句话概括。" --text-only
--audio 收本地路径,不必先上传换 URL,链路里少一次文件落地。返回的逐字转写中四个专名全对,概括句与原意相符。1 次的读数。
六、同素材对照转写:差在产品名一个字
bl speech recognize --url ./a1.mp3 --model fun-asr --language zh
珞珈三号、岑巩县、冉雍都对,"百炼控制台"写成"百链控制台"。同一段素材,omni 与专业转写各 1 次。
各 1 次不构成谁更强的结论:转写有随机性,omni 也不是专名纠错工具。但对做纪要和工单的团队,这个动作值得进流程——产品名、人名、地名写错不会抛异常,只有一个读者时发现不了。
七、语音输出:一次 400 与两次成功
按目录口径先试新模型:
bl omni --model qwen3.8-omni-flash --message "用一句话回复:你准备好帮忙了。" --audio-out ./r1.wav
返回 HTTP 400,错误码 InternalError.Algo.InvalidParameter,原文:「The current model does not support the modalities parameter containing audio.」
目录里这个型号的输出模态写着 Text + Audio。两处口径我原样摆在这里,机制没有核验手段,不下判断,只报现象:语音输出在 3.8-omni-flash 上我那一次没走通。
换上一代 plus:
bl omni --model qwen3.5-omni-plus --voice Marcus --message "用一句话回复:你准备好帮忙了。" --audio-out ./r2.wav
走通了。默认音色 Tina 那次 2.4 秒,Marcus 那次 2.32 秒,两段都是 wav、mono、24000Hz,各 1 次,回复文本都是「我已经准备好随时为您提供帮助。」
音色像不像、好不好听本文不评价,我没有听感核验的手段,只核文件规格。容器、声道、采样率、时长这四项可以写进验收脚本,听感不行。
八、图像输入:本地路径 400,改走 URL
bl omni --model qwen3.8-omni-flash --image ./storefront.jpg --message "读一下图里招牌上的字。" --text-only
返回 HTTP 400,同一错误码,原文:「The provided URL does not appear to be valid.」
帮助文本对 --image 逐字写的是 Image URL or local file (repeatable),而 --audio 收本地路径是正常的。只报现象:本地图像 1 次没走通,改成先上传拿 URL 再引用。
对集成的实际影响是链路不对称:音频可本地直传,图像要先走一步上传。做统一封装时这一条得单独处理,不能按"本地路径都能吃"来抽象。
九、能力矩阵汇总
| 方向 | 模型 | 关键参数 | 结果(次数) |
|---|---|---|---|
| 音频进·文本出 | qwen3.8-omni-flash | --audio 本地 + --text-only |
通,四个专名全对(1 次) |
| 同素材对照转写 | fun-asr | bl speech recognize --url |
通,产品名差一字(1 次) |
| 文本进·语音出 | qwen3.8-omni-flash | --audio-out |
400 modalities(1 次) |
| 文本进·语音出 | qwen3.5-omni-plus | --audio-out --voice |
通,wav mono 24000Hz(2 次) |
| 图像进·文本出 | qwen3.8-omni-flash | --image 本地 jpg |
400 URL invalid(1 次) |
| 视频进 | — | --video |
本轮没测 |

音色是这一族另一个能直接用的能力面:
bl omni --list-voices
返回 15 条输出音色,默认 Tina。方言系成块:Dylan 北京-晓东、Kiki 粤语-阿清、Li 南京-老李、Sunny 四川-晴儿、Marcus 陕西-秦川、Eric 四川-程川、Rocky 粤语-阿强。做分地区演示配音时可以从这里挑,本轮只用了 Tina 与 Marcus 各 1 次。
十、我的痛点,和它能帮我解决什么
痛点三条。一是音视频理解要拼三个服务,转写、大模型、语音合成各自注册、各自管额度,中间搬两趟文件。二是新模型的目录模态不能全信,这一轮语音输出与本地图像各撞了一次 400。三是要"会说话的回答"时,音色得挑得出来,最好还带方言。
对应解决三条。音频进、文本出、语音回在一个入口完成,素材只落地一次,接缝代码省掉;模态通堵整理成第九节那张矩阵,语音输出走 qwen3.5-omni-plus、图像先传 URL,团队里下一个人不用重撞;15 条音色带方言系,分地区配音不必再接一家服务商。
它不能解决的也写清楚:单次读数只说明路通或路堵,不包稳定性;音色听感不评价;视频输入本轮没测。
十一、边界与下一步
三条边界:--video 输入本轮没测,手里没有素材,不下结论;omni 的帮助文本里没有 seed 这类复现开关,复现口径照 help 逐字;qwen3.8-omni-flash-realtime 走 WebSocket/WebRTC 接入,不在这条命令链里,本文没碰。
下一步想做的是把这张矩阵扩成多轮结果:同一条模态各跑几轮,把"通"细化成"几次里通几次",再谈能不能写进生产链路。
十二、四条注意事项
- 语音输出先确认型号:qwen3.5-omni-plus 通,qwen3.8-omni-flash 我那一次 400,别按目录模态写死代码。
- 图像走 URL、音频可本地直传,封装别做成对称的。
- 报错原文原样进日志:只留状态码,事后分不清是模态不支持还是参数写错。
- 关键字段做同素材双读,各 1 次就能暴露一字差;单次结果不下比较结论。
想自己核一遍的话,入口在 阿里云百炼控制台首页。核出来与本文不同的,欢迎在评论区留下型号 ID 和报错原文,我会把矩阵更新进来。