WebSocket 客户端事件参考
Qwen-ASR Realtime WebSocket 会话中,客户端发送给服务端的事件。
连接地址:
认证请求头:
将
典型会话流程:
连接成功后立即发送,用于设置音频格式、语言和语音活动检测(VAD)选项。省略时使用默认值。
设置成功后,服务端返回
可从以下预设开始,根据实际效果调整:
向服务端缓冲区流式发送音频数据。
不同模式下的行为:
将缓冲区中的所有音频作为一段完整语音触发识别。用于手动模式下由您控制语音边界的场景(如按住说话,松开按钮标记语音结束)。
VAD 模式下不可用。
成功后,服务端返回
结束会话。服务端的响应取决于是否检测到语音:
连接
连接地址:
{model_name} 替换为 qwen3-asr-flash-realtime 等支持的模型,将 $DASHSCOPE_API_KEY 替换为您的 API Key。
功能概述和示例代码请参考实时语音识别。服务端事件请参考 Qwen-ASR-Realtime 服务端事件。
事件生命周期
典型会话流程:
- 建立 WebSocket 连接。
- 发送
session.update设置音频格式、语言和 VAD 选项。 - 持续发送
input_audio_buffer.append流式传输音频。 - 手动模式下,发送
input_audio_buffer.commit触发识别。VAD 模式下,服务端自动触发识别。 - 发送
session.finish结束会话。收到session.finished后断开连接。
session.update
连接成功后立即发送,用于设置音频格式、语言和语音活动检测(VAD)选项。省略时使用默认值。
设置成功后,服务端返回 session.updated。
Example
string
body
必填
固定值:
session.update。string
body
必填
唯一的事件 ID。
object
body
必填
会话配置。
推荐 VAD 预设
可从以下预设开始,根据实际效果调整:
| 预设 | threshold | silence_duration_ms | 适用场景 |
|---|---|---|---|
| 低延迟 | 0.0 | 400 | 快速交互场景(语音指令、智能客服),响应速度优先于长停顿处理 |
| 均衡(默认) | 0.2 | 800 | 通用转写,兼顾速度与准确率 |
支持的语言
| 代码 | 语言 |
|---|---|
| zh | 中文(普通话、四川话、闽南语、吴语) |
| yue | 粤语 |
| en | 英语 |
| ja | 日语 |
| de | 德语 |
| ko | 韩语 |
| ru | 俄语 |
| fr | 法语 |
| pt | 葡萄牙语 |
| ar | 阿拉伯语 |
| it | 意大利语 |
| es | 西班牙语 |
| hi | 印地语 |
| id | 印尼语 |
| th | 泰语 |
| tr | 土耳其语 |
| uk | 乌克兰语 |
| vi | 越南语 |
| cs | 捷克语 |
| da | 丹麦语 |
| fil | 菲律宾语 |
| fi | 芬兰语 |
| is | 冰岛语 |
| ms | 马来语 |
| no | 挪威语 |
| pl | 波兰语 |
| sv | 瑞典语 |
input_audio_buffer.append
向服务端缓冲区流式发送音频数据。
不同模式下的行为:
- VAD 模式: 服务端自动监测缓冲区中的语音活动,并自动触发识别。
- 手动模式: 您控制语音边界。发送较小的数据块可降低延迟。
audio 字段为 Base64 编码。手动模式下,单个事件最大 15 MiB。无论哪种模式,服务端均不确认此事件。Example
string
body
必填
固定值:
input_audio_buffer.append。string
body
必填
唯一的事件 ID。
string
body
必填
Base64 编码的音频数据。
input_audio_buffer.commit
将缓冲区中的所有音频作为一段完整语音触发识别。用于手动模式下由您控制语音边界的场景(如按住说话,松开按钮标记语音结束)。
VAD 模式下不可用。
成功后,服务端返回 input_audio_buffer.committed。
Example
string
body
必填
固定值:
input_audio_buffer.commit。string
body
必填
唯一的事件 ID。
session.finish
结束会话。服务端的响应取决于是否检测到语音:
- 检测到语音: 服务端完成识别,先发送
conversation.item.input_audio_transcription.completed返回识别结果,再发送session.finished。 - 未检测到语音: 服务端直接发送
session.finished。
session.finished 后,断开 WebSocket 连接。
Example
string
body
必填
固定值:
session.finish。string
body
必填
唯一的事件 ID。

