qwen-mt-uni 是百炼 9 月上线的全模态翻译模型,支持文本、图片、文档、音频四类输入,覆盖 152 个语种。
这篇文章按实操顺序写:怎么接、四类输入怎么传、返回什么、多少钱、有哪些坑。
全部步骤都实际跑过,数据来自我自己的测试。
一、准备
需要三样东西:
- 百炼账号,开通模型服务
- 北京区的 API Key
- 一个能访问外网的服务(用来上传文件拿公网 URL)
bl 命令行没有翻译子命令,所以走 HTTP 直调。如果你有能执行任务的 AI 助手,可以直接把需求描述给它,让它去调,不用自己写代码。
一个完整的流程
假设你要翻一批商品手册,流程是:
- 把手册传到 OSS,设成公共读,拿到 URL
- 把 URL 和目标语言发给模型
- 拿到 TranslatedFileUrl,立刻下载存盘
- 人工检查编号和版式
- 归档
如果交给 Agent,只需要说一句话:把这批手册翻成英文,翻完存到 output 目录。
它会自己完成前三步。
二、接入:找到正确的端点
先说结论,可用的端点是:
POST https://dashscope.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation
注意它不是 /translation/generation。我第一次按直觉试了翻译端点和文本端点,都返回:
url error, please check url
翻译接口挂在多模态端点下面,这一点文档里不显眼。
三、文本翻译
请求
json
{
"model": "qwen-mt-uni",
"input": {
"source_texts": ["这份合同的有效期为三年,自双方签字之日起计算。"],
"target_lang": "English"
}
}
两个参数:
source_texts:字符串数组,可以一次传多条target_lang:目标语言
source_lang 可以不传,模型会自动识别。
返回
json
{
"output": {
"Code": 200,
"Data": {
"FileType": "strings",
"TranslatedTexts": ["This contract is valid for a period of three years..."]
}
},
"usage": {
"input_tokens": 18,
"output_tokens": 81,
"input_tokens_details": {
"character_tokens": 18,
"document_tokens": 0,
"image_tokens": 0,
"audio_tokens": 0
}
}
}
TranslatedTexts 的顺序和 source_texts 一一对应。
一次可以传多条,返回顺序一致。批量翻短句时,比一条一条调更省事。
usage 里把四类 token 分开返回,这是算成本的关键。
参数错误对照
| 错误信息 | 原因 |
|---|---|
missing required field: input.target_lang |
没传 target_lang |
exactly one of input.fileUrl or input.source_texts is required |
两个都没传,或者都传了 |
第二条的意思是:文本走 source_texts,文件走 fileUrl,只能二选一。
四、文档翻译
准备文件
先把文件传到公网可访问的地址。
用 OSS 的话,上传时加 --acl public-read,拿到形如:
https://your-bucket.oss-cn-beijing.aliyuncs.com/path/your-file.pdf
请求
json
{
"model": "qwen-mt-uni",
"input": {
"fileUrl": "https://your-bucket.oss-cn-beijing.aliyuncs.com/path/your-file.pdf",
"target_lang": "English"
}
}
返回
json
{
"output": {
"Code": 200,
"Data": {
"FileType": "document",
"TranslatedFileUrl": "http://dashscope-a717.oss-cn-beijing.aliyuncs.com/.../xxx.pdf?Expires=..."
}
}
}
TranslatedFileUrl 是带签名的临时地址,会过期,拿到就要立刻下载。
实测问题:编号体例混乱
一份中文说明书,原文:
一、安装方法
二、注意事项
三、保修条款
译文:
1. Installation Instructions
II. Precautions
III. Warranty Terms
同一份文件三种编号体例。
处理建议:翻译前把编号抽成占位符,翻完按目标语言规则统一回填。
支持格式
官方说明支持 Txt、Excel、PDF、PPT、Word。
注意:txt 走的是字符计费(character_tokens),不是文档计费(document_tokens)。
只有 PDF/Word/PPT/Excel 才按文档通道计价。这个差别很重要,因为文档通道单价只有文本的三分之一。
五、图片翻译
请求
和文档一样,传 fileUrl,值是图片的公网地址。
返回
json
{
"output": {
"Data": {
"FileType": "image",
"TranslatedFileUrl": "http://.../xxx.jpg?Expires=..."
}
}
}
实测结果
一张 1024×768 的英文海报,三行文字全部替换成功,但版式出问题:
- 标题和副标题合并成一行,层级消失
- 「无谷物」断行成「无谷」和「物」
- 美元符号
$50原样保留,没有本地化 - 商品包装图上的小字完全不处理
建议:把图片翻译当初稿工具,出图后人工调版式。
适合什么图
实测下来,适合两类:
一类是纯文字海报,文字块清晰、背景干净。这类改一改就能用。
另一类是截图、文档拍照,文字密集但没有复杂版式。
不适合多栏排版、图文混排的海报,以及文字嵌入在商品图里的场景,模型不会帮你重绘商品图。
六、音频翻译
实测:WAV 不认
传 WAV(PCM 16bit 24kHz mono),返回:
400 InvalidParameter: file is not a readable audio file
文件本身没问题(file 命令确认格式正确)。
转成 m4a(AAC)再传,成功:
json
{
"output": {
"Data": {
"FileType": "audio",
"TranslatedFileUrl": "http://.../xxx.mp3?Expires=..."
}
}
}
输出是 mp3。
转码命令(macOS):
afconvert -f mp4f -d aac input.wav output.m4a
服务端可以用 ffmpeg。
实测数据
7.16 秒的中文语音,翻译成英文:
audio_tokens输入 90audio_tokens输出 87

七、计费
单价
| 通道 | 元/百万 token | 说明 |
|---|---|---|
| 文本 | 65 | 按字符计 |
| 文档 | 20 | 仅 PDF/Word/PPT/Excel |
| 图片 | 32 | 按图内文字量 |
| 音频 | 400 | 按音频时长折算 |
换算
- 文档:8000 字手册,输入输出合计约 16000 token,约 0.32 元
- 图片:一张约 1900 image token,约 0.06 元
- 音频:每秒约 25 token,一分钟约 0.6 元
这次实测总成本
四类输入各一次,加 20 个热梗的三模型对照,总共不到 0.2 元。
为什么文档通道更便宜
按 token 算,文档 20、文本 65,差三倍。
原因在计费单位:文本按字符 token 算,文档按版面 token 算,一页 PDF 里的文字换算成 token 的数量比纯文本少。
实际用起来,同样一万字,做成 PDF 比贴成文本便宜三分之二。
前提是格式对。txt 不算文档,会走字符计费。
批量处理要注意的三件事
第一,文件链接有时效。 拿到 TranslatedFileUrl 立刻下载,不要攒着一起下。
第二,并发不要开太高。 文档和音频的耗时比文本长,建议控制并发数,避免触发限流。
第三,先小批量试。 拿 10 份文件试一遍,确认编号、版式、术语都能接受,再放量。

八、常见问题
Q1:术语表为什么不生效
按文档传 input.terminology:
json
{
"input": {
"source_texts": ["ぴえん"],
"target_lang": "Chinese",
"terminology": [{"src": "ぴえん", "tgt": "呜呜"}]
}
}
返回 200,译文还是原来的,也不报错。
换 input.translation_options.terminology 同样无效。
替代方案:术语一致性要求高的场景,用通用模型 + prompt 给对照表,实测有效。
Q2:为什么网络用语翻得一塌糊涂
20 个日韩热梗,这个模型只翻对 2 个。
不是 bug,是定位。它的设计目标是「严格对应、不增译漏译」。
同一批词给 qwen3.8-max 和 kimi-k3 都是 19/20,deepseek-v4.1-flash 18/20,glm-5.3 17/20。四家的失分全在日语,韩语 10 条全对;差距只有 2 分,不够排名次,真正稳的差距是它们和 mt-uni 的 2/20 之间。
Q3:为什么有些内容直接被拒
韩语「어쩔티비」返回:
DataInspectionFailed: Input data may contain inappropriate content
内容审核会拦部分口语词汇。同一个词在通用模型上可以正常翻译。
Q4:文件链接过期了怎么办
TranslatedFileUrl 带签名和过期时间。拿到就下载存盘,不要只存 URL。
九、小结
这套流程跑下来,最花时间的不是接入,是调边界。接入半天,调边界两天。这句话不是抱怨,是提前提醒。
| 项目 | 结论 |
|---|---|
| 端点 | multimodal-generation,不是 translation |
| 文本 | source_texts + target_lang |
| 文件 | fileUrl,返回带签名的下载链接 |
| 最便宜 | 文档通道,20 元/百万 |
| 最贵 | 音频通道,400 元/百万 |
| 最大优势 | 后三类出成品文件 |
| 最大限制 | 口语内容不如通用模型 |
接入不复杂,麻烦的是边界:编号、版式、格式、术语、审核。这五件事决定它能不能进你的生产流程。