Skip to main content
基于 WebSocket 的双向流式语音识别:实时发送音频分片并持续接收增量与最终识别结果,支持服务端 VAD 语音活动检测,适合实时对话、语音助手、会议字幕等场景。推荐使用模型 stepaudio-2.5-asr-stream
如需基于 HTTP + SSE 一次性提交音频并接收流式识别结果,请参考 语音识别(流式返回文本)

服务地址

通过 WebSocket 连接:wss://api.stepfun.com/v1/realtime/asr/stream

鉴权

  • Authorization string required
    认证令牌,格式为 Bearer $STEPFUN_API_KEY

客户端消息

会话更新(session.update)

更新会话配置,包括音频格式、识别参数等。
  • event_id string required
    当前消息事件 ID。
  • type string required
    消息类型,固定为 session.update
  • session.audio.input.format object
    音频格式。
  • session.audio.input.transcription object
    识别配置。
  • session.audio.input.turn_detection object
    语音活动检测(VAD)配置。
补充说明:
  • 当前支持 stepaudio-2.5-asr-streamstep-asr-1.1-stream
  • 如果不传 turn_detection.type=server_vad,服务端不会自动做 VAD,此时客户端需主动发送 input_audio_buffer.commit

追加音频(input_audio_buffer.append)

发送音频数据进行实时识别。
  • event_id string required
    事件唯一标识。
  • audio string required
    base64 编码的音频数据(WAV 格式)。

提交缓冲区(input_audio_buffer.commit)

仅在关闭 server_vad 时需要发送该消息,要求服务端提交音频缓冲区、触发转录处理。
  • event_id string required
    事件唯一标识。

服务端消息

会话创建确认(session.created)

确认会话创建成功。

会话更新确认(session.updated)

确认会话配置更新成功。

语音开始(input_audio_buffer.speech_started)

仅在开启 server_vad 时返回,表示服务端检测到语音开始。

语音结束(input_audio_buffer.speech_stopped)

仅在开启 server_vad 时返回,表示服务端检测到语音结束。

缓冲区提交确认(input_audio_buffer.committed)

确认音频缓冲区已提交。

对话项创建(conversation.item.created)

新的对话项(转录结果)已创建。

转录增量(conversation.item.input_audio_transcription.delta)

返回转录增量结果(流式输出)。

stepaudio-2.5-asr-stream(推荐)

  • item_id string
    对话项 ID。
  • content_index int
    内容索引。
  • text string
    截止当前的累计全量文本(含对前文的纠错)。客户端应整体替换展示,不要再追加拼接。
  • stash string
    可纠错的尾部文本(末尾若干字,后续可能被改写)。建议与 text 区分样式展示。
  • words list
    逐字时间数组,元素为 { "word", "start", "end", "final" }start / end 单位为秒(float);final=false 表示该字在 stash 区、时间为临时估计。

step-asr-1.1-stream(逐步废弃)

  • item_id string
    对话项 ID。
  • content_index int
    内容索引。
  • text string
    增量转录文本。
  • start_time int64
    开始时间(毫秒)。
  • end_time int64
    结束时间(毫秒)。

转录完成(conversation.item.input_audio_transcription.completed)

返回完整转录结果。

stepaudio-2.5-asr-stream(推荐)

  • item_id string
    对话项 ID。
  • content_index int
    内容索引。
  • transcript string
    完整转录文本。
  • words list
    该段全部逐字时间,结构同 delta;此处 final 均为 true。开启 enable_timestamp_align=true 后为精确字级时间戳。
  • usage object
    使用统计信息。

step-asr-1.1-stream(逐步废弃)

  • item_id string
    对话项 ID。
  • content_index int
    内容索引。
  • transcript string
    完整转录文本。
  • usage object
    使用统计信息。

错误消息(error)

返回错误信息。
错误类型: 错误码:

故障排除

  • 连接失败:检查服务是否可达、地址与鉴权是否正确。
  • 音频无识别结果:确认音频格式、编码与质量。
  • 识别准确性低:尝试使用 prompt 提示词或更换模型。
  • 延迟过高:减小音频分块大小。
完整错误码参见 错误码