跳转到主要内容
实时

Qwen-ASR client events

WebSocket 客户端事件参考

Qwen-ASR Realtime WebSocket 会话中,客户端发送给服务端的事件。

连接

连接地址:
wss://dashscope.aliyuncs.com/api-ws/v1/realtime?model={model_name}
认证请求头:
Authorization: Bearer $DASHSCOPE_API_KEY
OpenAI-Beta: realtime=v1
{model_name} 替换为 qwen3-asr-flash-realtime支持的模型,将 $DASHSCOPE_API_KEY 替换为您的 API Key 功能概述和示例代码请参考实时语音识别。服务端事件请参考 Qwen-ASR-Realtime 服务端事件

事件生命周期

典型会话流程:
  1. 建立 WebSocket 连接。
  2. 发送 session.update 设置音频格式、语言和 VAD 选项。
  3. 持续发送 input_audio_buffer.append 流式传输音频。
  4. 手动模式下,发送 input_audio_buffer.commit 触发识别。VAD 模式下,服务端自动触发识别。
  5. 发送 session.finish 结束会话。收到 session.finished 后断开连接。

session.update

连接成功后立即发送,用于设置音频格式、语言和语音活动检测(VAD)选项。省略时使用默认值。 设置成功后,服务端返回 session.updated
Example
{
  "event_id": "event_123",
  "type": "session.update",
  "session": {
    "input_audio_format": "pcm",
    "sample_rate": 16000,
    "input_audio_transcription": {
      "language": "zh"
    },
    "turn_detection": {
      "type": "server_vad",
      "threshold": 0.0,
      "silence_duration_ms": 400
    }
  }
}
string
body
必填
固定值:session.update
string
body
必填
唯一的事件 ID。
object
body
必填
会话配置。

推荐 VAD 预设

可从以下预设开始,根据实际效果调整:
预设thresholdsilence_duration_ms适用场景
低延迟0.0400快速交互场景(语音指令、智能客服),响应速度优先于长停顿处理
均衡(默认)0.2800通用转写,兼顾速度与准确率

支持的语言

代码语言
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
{
  "event_id": "event_2728",
  "type": "input_audio_buffer.append",
  "audio": "<Base64-encoded-audio-data>"
}
string
body
必填
固定值:input_audio_buffer.append
string
body
必填
唯一的事件 ID。
string
body
必填
Base64 编码的音频数据。

input_audio_buffer.commit

将缓冲区中的所有音频作为一段完整语音触发识别。用于手动模式下由您控制语音边界的场景(如按住说话,松开按钮标记语音结束)。 VAD 模式下不可用。 成功后,服务端返回 input_audio_buffer.committed
Example
{
  "event_id": "event_789",
  "type": "input_audio_buffer.commit"
}
string
body
必填
固定值:input_audio_buffer.commit
string
body
必填
唯一的事件 ID。

session.finish

结束会话。服务端的响应取决于是否检测到语音: 收到 session.finished 后,断开 WebSocket 连接。
Example
{
  "event_id": "event_341",
  "type": "session.finish"
}
string
body
必填
固定值:session.finish
string
body
必填
唯一的事件 ID。