本文介绍通过 WebSocket 连接访问 Qwen-TTS 实时语音合成服务的接口地址、请求头和交互流程。
用户指南:关于模型介绍和选型建议请参见实时语音合成
Qwen-TTS Realtime API 基于 WebSocket 协议。Java 和 Python 推荐通过 DashScope SDK 调用,可免去处理 WebSocket 细节;其他语言可使用 WebSocket 库直接连接。
WebSocket URL 固定如下,通过查询参数
请求头中需添加如下信息:
客户端事件和服务端事件的详细说明,请参见客户端事件和服务端事件。
支持两种使用模式:
关键流程说明:
接口地址
WebSocket URL 固定如下,通过查询参数 model 指定要调用的模型名称:
- 新加坡
- 华北2(北京)
WebSocket URL:
wss://dashscope-intl.aliyuncs.com/api-ws/v1/realtime?model=qwen3-tts-flash-realtime请求头
请求头中需添加如下信息:
参数 | 类型 | 是否必选 | 说明 |
|---|---|---|---|
Authorization | string | 是 | 鉴权令牌,格式为 |
user-agent | string | 否 | 客户端标识,便于服务端追踪来源。 |
X-DashScope-WorkSpace | string | 否 | 阿里云百炼业务空间ID。 |
交互流程
客户端事件和服务端事件的详细说明,请参见客户端事件和服务端事件。
支持两种使用模式:
- ServerCommit 模式:服务端智能判断文本分段与合成时机,开发者无需关心内部状态切分。
- Commit 模式:客户端控制每一段文本的提交时间,需显式调用
input_text_buffer.commit触发合成。
模式说明:
- ServerCommit 模式下调用
input_text_buffer.append多次,系统根据内部规则判断合成起点。 - 若在 ServerCommit 模式中主动调用
input_text_buffer.commit,表示立即合成当前缓冲内容,后续仍维持 ServerCommit 模式。 - Commit 模式下仅调用
input_text_buffer.append不会触发合成,需明确调用input_text_buffer.commit。
-
连接阶段:客户端发起 WebSocket 连接,服务端返回
session.created,表示会话已初始化。 -
配置会话:客户端发送
session.update事件设置音色、格式、模式等参数。 -
文本输入阶段:客户端通过多次发送
input_text_buffer.append添加文本到缓冲区。 -
触发合成阶段:
- ServerCommit 模式中系统自动判断合成时机,或客户端手动调用
input_text_buffer.commit强制触发。 - Commit 模式中仅
input_text_buffer.commit操作才会真正触发语音合成流程。
- ServerCommit 模式中系统自动判断合成时机,或客户端手动调用
-
音频生成阶段:服务端发出
response.created表示任务已启动,随后分片返回音频response.audio.delta(base64 编码),直到response.audio.done。 -
会话结束阶段:客户端显式调用
session.finish通知服务端清理状态,服务端返回session.finished后关闭连接。
session.created 事件: