You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用OpenAI Realtime API无法获取输入音频转录的技术问询

解决OpenAI实时API获取自身输入音频转录的问题

你已经配置了input_audio_transcription参数但没收到转录事件,可按以下步骤排查修复:

  • 确保会话配置时机正确:session.update必须在WebSocket连接建立完成后、发送任何音频数据前执行。如果在发送音频后才更新会话配置,API不会对已发送的音频生成转录。
  • 检查事件监听逻辑:必须在WebSocket的消息回调中正确监听对应的事件类型,不仅要监听delta事件,还要注意completed事件获取完整转录。示例代码:
    this.openaiWS.on('message', (rawData) => {
      const event = JSON.parse(rawData.toString());
      if (event.type === 'conversation.item_input_audio_transcription.delta') {
        // 处理实时转录片段
        console.log('当前转录片段:', event.delta);
      } else if (event.type === 'conversation.item_input_audio_transcription.completed') {
        // 获取完整的输入音频转录结果
        console.log('完整转录:', event.transcript);
      }
      // 其他事件处理逻辑...
    });
    
  • 验证音频发送格式:发送的音频必须符合API要求的格式——16kHz采样率、单声道、PCM编码(无压缩的原始音频数据)。如果音频格式不匹配,API可能无法生成转录内容,自然不会触发相关事件。
  • 确认参数兼容性:input_audio_transcription.model指定的gpt-4o-transcribe是合法的转录模型,但要确保会话的model参数(比如gpt-4o-realtime)和转录模型兼容,目前主流实时模型都支持该转录模型。

另外,当使用semantic_vad类型的说话人检测时,API会在检测到你说话结束后才完成转录,但delta事件应该在你发送音频的过程中逐步返回。如果还是没收到,可尝试暂时关闭turn_detection,直接手动发送conversation.item.create来触发转录,测试是否能收到事件。

内容的提问来源于stack exchange,提问作者lemon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 22:06:17