WebSocket 客户端事件参考
客户端事件是通过 WebSocket 发送的 JSON 消息,用于配置语音参数、流式传输文本以及标记输入完成。
连接 WebSocket 端点:
将
请求头中需添加如下信息:
WebSocket 连接建立后,服务端会主动发送
向合成缓冲区追加文本。
提交缓冲文本并创建用户消息项。服务端返回
清空缓冲区中的所有文本。服务端返回
通知服务端没有更多文本需要发送。服务端刷新剩余音频,返回
完整 API 概述请参阅实时流式语音合成。
端点
连接 WebSocket 端点:
{model} 替换为模型 ID,例如 qwen3-tts-instruct-flash-realtime。
URL 必须使用
wss:// 协议。Authorization 在请求头中设置(参见下方请求头),模型通过 URL 查询参数 model 指定。请求头
请求头中需添加如下信息:
| 参数 | 类型 | 是否必选 | 说明 |
|---|---|---|---|
| Authorization | string | 是 | 鉴权令牌,格式为 Bearer <your_api_key>,将 <your_api_key> 替换为实际的 API Key。 |
| user-agent | string | 否 | 客户端标识,便于服务端追踪来源。 |
| X-DashScope-WorkSpace | string | 否 | 千问云业务空间 ID。 |
Authorization 鉴权在 WebSocket 握手阶段验证。如果 API Key 无效或缺失,握手将失败并返回 HTTP 401/403 错误。
事件概览
| 客户端事件 | 服务端响应 | 说明 |
|---|---|---|
| (连接建立时,服务端主动发送) | session.created | 服务端推送默认会话配置,客户端可据此决定是否发送 session.update |
session.update | session.updated | 设置语音、音频格式、模式等会话参数 |
input_text_buffer.append | response.created | 向合成缓冲区追加文本 |
input_text_buffer.commit | input_text_buffer.committed | 提交缓冲文本,开始合成 |
input_text_buffer.clear | input_text_buffer.cleared | 清空缓冲区中的所有文本 |
session.finish | session.finished | 结束会话;服务端刷新剩余音频,客户端收到后应主动关闭连接 |
session.update
WebSocket 连接建立后,服务端会主动发送 session.created 事件,包含默认会话配置。客户端可在收到后发送 session.update 覆盖默认配置;省略则保持默认值。服务端返回 session.updated 确认。
Example
string
body
必填
事件唯一标识符,在会话中必须唯一。
string
body
必填
设置为
session.update。object
body
会话配置。
input_text_buffer.append
向合成缓冲区追加文本。server_commit 模式下缓冲区在服务端,commit 模式下在客户端。
新的响应开始时,服务端返回 response.created。
Example
string
body
必填
事件唯一标识符,在会话中必须唯一。
string
body
必填
设置为
input_text_buffer.append。string
body
必填
待合成的文本。
input_text_buffer.commit
提交缓冲文本并创建用户消息项。服务端返回 input_text_buffer.committed。对空缓冲区执行此操作会返回错误。
不同模式下的行为:
server_commit:立即合成所有缓冲文本。服务端停止缓存并处理全部内容。commit:将缓冲文本创建为用户消息项。
提交仅触发语音合成,不会触发模型响应生成。
Example
string
body
必填
事件唯一标识符,在会话中必须唯一。
string
body
必填
设置为
input_text_buffer.commit。input_text_buffer.clear
清空缓冲区中的所有文本。服务端返回 input_text_buffer.cleared。
仅在
mode: "commit" 时可用。server_commit 模式下发送此事件,服务端会返回错误:only client commit mode supports clear operation。Example
string
body
必填
事件唯一标识符,在会话中必须唯一。
string
body
必填
设置为
input_text_buffer.clear。session.finish
通知服务端没有更多文本需要发送。服务端刷新剩余音频,返回 session.finished;客户端应在收到此事件后主动关闭连接。
Example
string
body
必填
事件唯一标识符,在会话中必须唯一。
string
body
必填
设置为
session.finish。
