本文介绍千问实时语音/音视频翻译模型的能力、支持的模型和接入方式。模型可结合音频与图像输入进行实时翻译,输出目标语种的文本或语音,适用于实时语音交流和视频翻译等场景。
在线体验参见通过函数计算一键部署。
功能特性
- 多语言支持:支持 60 种语言互译,其中 29 种支持音频+文本输出、31 种仅支持文本输出,覆盖中文、英语、法语、德语、俄语、日语、韩语、西班牙语、葡萄牙语、阿拉伯语等主流语种。
- 视觉增强:利用视觉内容提升翻译准确性。模型通过分析画面中的口型、动作和文字,改善在嘈杂环境下或一词多义场景中的翻译效果。
- 2.3 秒时延:实现低至 2.3 秒的同传时延。
- 实时说话人分离:支持在多人交替发言时区分不同说话人及其发言内容,让听众清晰了解“谁说了什么”。
- 无损同传:通过语义单元预测技术,解决跨语言语序问题。实时翻译质量接近离线翻译结果。
- 音色自然:生成音色自然的拟人语音。模型能根据源语音内容,自适应调节语气和情感。
- 配置热词:通过热词提升特定词汇的翻译准确性。
- 声音复刻:支持复刻发言人音色用于翻译播报,让输出听起来像本人说外语。支持服务端实时复刻和使用预先复刻的固定音色。
如何使用
1. 配置连接
连接时通过 model 指定支持的模型。使用 qwen3.8-livetranslate-flash-realtime 时,连接地址和完整示例参见快速开始。以下连接示例使用 qwen3.8-livetranslate-flash-realtime。
qwen3.8-livetranslate-flash-realtime 模型通过 WebSocket 协议接入,连接时需要以下配置项:
qwen3.5-livetranslate-flash-realtime 除 WebSocket 外,还支持通过 AOQ 和 WebRTC 协议接入;如果是客户端对接,且更看重稳定的延迟、弱网下的交互能力、实时双工的降噪与回声消除,可优先考虑 AOQ,协议对比与选型请参见Realtime API 概述。| 配置项 | 说明 |
|---|---|
| 调用地址 | wss://maas.qianwenaiapi.com/api-ws/v1/realtime |
| 查询参数 | 查询参数为model,需指定为访问的模型名。示例:?model=qwen3.8-livetranslate-flash-realtime |
| 消息头 | 使用 Bearer Token 鉴权:Authorization: Bearer DASHSCOPE_API_KEY > DASHSCOPE_API_KEY 是您在千问AI平台上申请的API-KEY。 |
WebSocket 连接 Python示例代码
WebSocket 连接 Python示例代码
2. 配置语种、输出模态与音色
- qwen3.8-livetranslate-flash-realtime
- qwen3.5-livetranslate-flash-realtime
通过 session.update 配置会话:
- 目标语种:通过
session.translation.language配置,例如en表示英语。 - 输出模态:通过
session.output_modalities配置,["text"]为仅文本,["text", "audio"]为文本和音频。 - 原文识别:通过
conversation.item.input_audio_transcription.delta接收识别增量,通过conversation.item.input_audio_transcription.completed接收完整结果。 - 音频与音色:默认输入为 16000 Hz PCM,输出为 24000 Hz PCM,音色为
Tina。完整会话结构参见服务端事件。
3. 输入音频与图片
客户端通过 input_audio_buffer.append 和 input_image_buffer.append 事件发送 Base64 编码的音频和图片数据。音频输入是必需的;图片输入是可选的。
图片可以来自本地文件,或从视频流中实时采集。以下 VAD 与 Manual 模式配置适用于
qwen3.5-livetranslate-flash-realtime。qwen3.8-livetranslate-flash-realtime 的默认断句配置为 audio.input.turn_detection.type = speaker_detection,持续发送音频后由服务端生成响应。
模型判断一段语音"说完了"的方式,取决于turn_detection参数配置的 VAD 模式或 Manual 模式:
- VAD 模式(默认):客户端持续发送input_audio_buffer.append事件;服务端检测到语音开始/结束时,分别返回input_audio_buffer.speech_started、input_audio_buffer.speech_stopped事件,并自动提交音频缓冲区、触发翻译。翻译响应基于流式语音同步生成,通常在语音输入过程中就已开始,无需等待语音结束。
- Manual 模式:将
session.turn_detection设为null。客户端发送完一段完整的语音后,主动发送input_audio_buffer.commit事件提交音频缓冲区;服务端返回input_audio_buffer.committed事件确认后,自动开始生成翻译响应,客户端无需再发送其他事件触发响应。提交前若需清空未提交的音频,可发送input_audio_buffer.clear事件。
4. 接收模型响应
- qwen3.8-livetranslate-flash-realtime
- qwen3.5-livetranslate-flash-realtime
根据输出模态接收响应:
- 仅文本:累加
response.text.delta的delta字段获得译文。 - 文本和音频:累加
response.audio_transcript.delta的delta字段获得译文,并对response.audio.delta的delta字段进行 Base64 解码,获取音频分片。
response.done 表示本次响应结束。事件字段参见服务端事件。5. 结束会话
音频发送完毕后,客户端必须发送 session.finish 事件通知服务端,然后等待服务端返回 session.finished 事件后再关闭 WebSocket 连接。
如果不发送
session.finish,服务端无法得知音频输入已完成,会导致最后一段语音的识别和翻译结果丢失,连接也可能长时间处于等待状态。请务必在关闭连接前发送该事件。支持的模型
推荐模型
| 模型名称 | 版本 | 上下文长度 | 最大输入 | 最大输出 |
|---|---|---|---|---|
| (Token数) | ||||
| qwen3.8-livetranslate-flash-realtime | 稳定版 | 53248 | 49152 | 4096 |
qwen3.5-livetranslate-flash-realtime当前能力等同 qwen3.5-livetranslate-flash-realtime-2026-05-19 | 稳定版 | 53248 | 49152 | 4096 |
| qwen3.5-livetranslate-flash-realtime-2026-05-19 | 快照版 | |||
旧版模型
以下模型仍在服务中,但不再作为首选推荐。新场景建议使用上方的新一代模型,以获得更优的翻译质量与性价比。
| 模型名称 | 版本 | 上下文长度 | 最大输入 | 最大输出 |
|---|---|---|---|---|
| (Token数) | ||||
qwen3-livetranslate-flash-realtime当前能力等同 qwen3-livetranslate-flash-realtime-2025-09-22 | 稳定版 | 53248 | 49152 | 4096 |
| qwen3-livetranslate-flash-realtime-2025-09-22 | 快照版 | |||
快速开始
- qwen3.8-livetranslate-flash-realtime
- qwen3.5-livetranslate-flash-realtime
翻译本地音频
安装websocket-client(pip install websocket-client),并设置以下环境变量:DASHSCOPE_API_KEY:API Key。INPUT_PCM_FILE:待翻译音频的本地路径。此示例使用单声道、16 位、16000 Hz 的无文件头 PCM 音频。
translation.pcm。连接后配置会话,发送音频,最后通过 session.finish 请求结束,收到 session.finished 后关闭连接。声音复刻
模型支持发言人声音复刻功能,支持使用预先复刻的固定音色,也支持由服务端实时复刻,让翻译播报听起来像本人说外语。适用于跨语言演讲、个人主播、视频翻译等需要保留个人音色的场景。
在 session.update 中设置以下参数启用:
-
session.enable_voice_clone:设置为true,启用声音复刻。 -
session.voice_clone_options.frequency:控制声音复刻时机,取值如下:never:不在服务端复刻,使用用户预先复刻好的音色。此时session.voice需设置为用户自己的复刻音色 ID。once:服务端在会话开始时基于输入音频复刻一次音色,后续翻译输出复用该音色。适合单人演讲场景。此时session.voice需设置为default。always:服务端在每次生成翻译音频前实时复刻,音色跟随输入动态变化。适合双人及以上对话场景。此时session.voice需设置为default。
-
session.voice:指定输出音色,取值取决于frequency的设置。- 设置为
default:搭配frequency为once或always使用,由服务端复刻输入音频的音色,复刻完成前使用默认音色过渡。 - 设置为用户复刻的音色 ID(如
qwen-translate-vc-xxx-yyy-zzz):搭配frequency为never使用。需提前通过声音复刻API准备音色,targetModel需指定为实际使用的翻译模型。
- 设置为
当frequency为once或always时,voice必须设置为default,不可设置为其他预设音色,否则服务端会返回错误。
声音复刻配置示例
使用预先复刻的音色(音质稳定,推荐需要固定音色的场景):
利用图像提升翻译准确率
qwen3.5-livetranslate-flash-realtime 模型可以接收图像输入,辅助音频翻译,适用于同音异义、低频专有名词识别场景。建议每秒发送不超过2张图片。
将以下示例图片下载到本地:口罩.png面具.png
将以下代码下载到livetranslate_client.py同级目录并运行,向麦克风说"What is mask?",在输入口罩图片时,模型会翻译为“什么是口罩?”;输入面具图片时,模型会翻译为“什么是面具?”
通过函数计算一键部署
控制台暂不支持体验。可通过以下方式一键部署:
- 打开我们写好的函数计算模板,填入 API Key, 单击创建并部署默认环境即可在线体验。
-
等待约一分钟,在 环境详情 > 环境信息 中获取访问域名,将访问域名的
http改成https(例如https://qwen-livetranslate-flash-realtime.fcv3.xxx.cn-hangzhou.fc.devsapp.net/),通过该链接与模型交互。此链接使用自签名证书,仅用于临时测试。首次访问时,浏览器会显示安全警告,这是预期行为,请勿在生产环境使用。如需继续,请按浏览器提示操作(如点击“高级” → “继续前往(不安全)”)。
如需开通访问控制权限,请跟随页面指引操作。
通过资源信息-函数资源查看项目源代码。
函数计算与千问AI平台均为新用户提供免费额度,可以覆盖简单调试所需成本,额度耗尽后按量计费。只有在访问的情况下会产生费用。
交互流程
- qwen3.8-livetranslate-flash-realtime
- qwen3.5-livetranslate-flash-realtime
默认通过服务端断句生成响应,以下列出主要交互环节。事件字段详见服务端事件。
| 阶段 | 客户端操作 | 服务端事件 |
|---|---|---|
| 创建和配置会话 | 建立连接,发送 session.update | session.created、session.updated |
| 输入音频 | input_audio_buffer.append | 原文通过 conversation.item.input_audio_transcription.delta 增量返回,完成后返回 conversation.item.input_audio_transcription.completed。 |
| 接收译文与音频 | 持续接收服务端事件 | 译文通过 response.text.delta(仅文本)或 response.audio_transcript.delta(文本和音频)返回;音频通过 response.audio.delta 返回。response.done 表示一次响应完成。 |
| 结束会话 | session.finish | 收到 session.finished 后关闭连接。 |
音频发送结束后,必须发送
session.finish 事件并等待 session.finished 响应后再断开连接。如果直接关闭 WebSocket 而不发送 session.finish,服务端无法得知音频输入已结束,将导致最后一段语音的识别和翻译结果丢失。API 参考
通过 AOQ 接入的流程和示例,请参见AOQ 接入。支持的模型及版本请参见模型与协议支持范围。
- 实时音视频翻译(Qwen-Livetranslate-Realtime)。
- Realtime API 概述(WebRTC 协议说明)
计费说明
-
Qwen3.8-LiveTranslate-Flash-Realtime、Qwen3.5-LiveTranslate-Flash-Realtime
- 音频:输入每秒音频消耗 7 Token,输出每秒音频消耗 12.5 Token。
- 图片:每输入 32*32 像素消耗 0.5 Token。
-
Qwen3-LiveTranslate-Flash-Realtime
- 音频:输入或输出每秒音频均消耗 12.5 Token。
- 图片:每输入 28*28 像素消耗 0.5 Token。
- 文本:启用源语言语音识别功能后,服务除返回翻译结果外,还会返回输入音频的语音识别文本(即源语言原文),该识别文本将按输出文本的 Token 标准计费。
限流说明
模型的限流规则请参见限流。
支持的语种
下表中的语种代码可用于指定源语种与目标语种。
部分目标语种仅支持输出文本,不支持输出音频。老模型 qwen3-livetranslate-flash-realtime 仅支持以下 18 种语种:en、zh、ru、fr、de、pt、es、it、id、ko、ja、vi、th、ar、yue、hi、el、tr。
| 语种代码 | 语种 | 支持的输出模态 |
|---|---|---|
| zh | 中文 | 音频+文本 |
| en | 英语 | 音频+文本 |
| ar | 阿拉伯语 | 音频+文本 |
| de | 德语 | 音频+文本 |
| fr | 法语 | 音频+文本 |
| es | 西班牙语 | 音频+文本 |
| pt | 葡萄牙语 | 音频+文本 |
| id | 印度尼西亚语 | 音频+文本 |
| it | 意大利语 | 音频+文本 |
| ko | 韩语 | 音频+文本 |
| ru | 俄语 | 音频+文本 |
| th | 泰语 | 音频+文本 |
| vi | 越南语 | 音频+文本 |
| ja | 日语 | 音频+文本 |
| tr | 土耳其语 | 音频+文本 |
| hi | 印地语 | 音频+文本 |
| ms | 马来语 | 音频+文本 |
| nl | 荷兰语 | 音频+文本 |
| ur | 乌尔都语 | 音频+文本 |
| nb | 挪威语 | 音频+文本 |
| sv | 瑞典语 | 音频+文本 |
| da | 丹麦语 | 音频+文本 |
| he | 希伯来语 | 音频+文本 |
| fi | 芬兰语 | 音频+文本 |
| pl | 波兰语 | 音频+文本 |
| is | 冰岛语 | 音频+文本 |
| cs | 捷克语 | 音频+文本 |
| fil | 菲律宾语 | 音频+文本 |
| fa | 波斯语 | 音频+文本 |
| yue | 粤语 | 文本 |
| el | 希腊语 | 文本 |
| af | 南非荷兰语 | 文本 |
| ast | 阿斯图里亚斯语 | 文本 |
| be | 白俄罗斯语 | 文本 |
| bg | 保加利亚语 | 文本 |
| bn | 孟加拉语 | 文本 |
| bs | 波斯尼亚语 | 文本 |
| ca | 加泰罗尼亚语 | 文本 |
| ceb | 宿务语 | 文本 |
| et | 爱沙尼亚语 | 文本 |
| gl | 加利西亚语 | 文本 |
| gu | 古吉拉特语 | 文本 |
| hr | 克罗地亚语 | 文本 |
| hu | 匈牙利语 | 文本 |
| jv | 爪哇语 | 文本 |
| kk | 哈萨克语 | 文本 |
| kn | 卡纳达语 | 文本 |
| ky | 柯尔克孜语 | 文本 |
| lv | 拉脱维亚语 | 文本 |
| mk | 马其顿语 | 文本 |
| ml | 马拉雅拉姆语 | 文本 |
| mr | 马拉地语 | 文本 |
| pa | 旁遮普语 | 文本 |
| ro | 罗马尼亚语 | 文本 |
| sk | 斯洛伐克语 | 文本 |
| sl | 斯洛文尼亚语 | 文本 |
| sw | 斯瓦希里语 | 文本 |
| tg | 塔吉克语 | 文本 |
| az | 阿塞拜疆语 | 文本 |
| uk | 乌克兰语 | 文本 |
支持的音色
实时翻译支持的音色与voice参数取值参见音色列表。