OpenAI Realtime 翻译客户端事件

2026-11-10 16:23 更新

Realtime翻译客户端事件

以下是OpenAI Realtime Translation WebSocket服务器接受的客户端事件。

事件:session.update

发送此事件更新翻译会话配置。翻译会话支持更新audio.output.language、audio.input.transcription及audio.input.noise_reduction。

结构定义

结构名称:RealtimeTranslationClientEventSessionUpdate

  • session: RealtimeTranslationSessionUpdateRequest

要更新的翻译会话字段。会话type及model在创建时设置,不能通过session.update修改。

  • audio: optional object { input, output }

翻译输入及输出音频配置。

  • input: optional object { noise_reduction, transcription }

  • noise_reduction: optional object { type, strength } or null

可选输入降噪,设为null禁用。

  • type: NoiseReductionType

降噪类型。near_field用于耳机等近距离讲话麦克风;far_field用于笔记本电脑或会议室麦克风等远场麦克风。

  • "near_field"

  • "far_field"

  • strength: optional number(默认 1)

输入降噪强度,范围为 0 到 1。数值越大,降噪越强。首次启用降噪时默认为 1。更新会话时省略此字段,会保留当前强度。

  • transcription: optional object { model } or null

可选的源语言转录。配置后,服务器发出session.input_transcript.delta。翻译本身仍基于输入音频流运行。

  • model: string

用于源语言转录增量的转录模型。

  • output: optional object { language }

  • language: optional string

翻译输出音频及转录增量的目标语言。

  • type: "session.update"

事件类型,必须为session.update。

  • "session.update"

  • event_id: optional string(最长 512 个字符)

可选的客户端生成ID,用于标识此事件。

示例

中文说明:以下为原文配置、命令或事件示例,字段名、枚举、标识符及数值保留。

{
  "type": "session.update",
  "session": {
    "audio": {
      "input": {
        "transcription": {
          "model": "gpt-realtime-whisper"
        },
        "noise_reduction": null
      },
      "output": {
        "language": "es"
      }
    }
  }
}

事件:session.input_audio_buffer.append

发送此事件向翻译会话的输入音频缓冲区追加音频字节。

WebSocket翻译会话接受经过Base64编码的24 kHz、PCM16、单声道、小端原始音频字节。不支持的WebSocket音频格式会返回验证错误,因为低质量音频会显著降低翻译质量。

翻译引擎以200毫秒帧处理音频。为获得最佳实时表现,按200毫秒分块追加音频。较短分块会先缓冲,直到足够组成一帧;较长分块会拆成200毫秒帧,并连续入队。

会话活动期间持续追加静音。若客户端停止发送音频后再恢复,模型时间会将恢复后的音频视为与先前音频连续,而非现实中的停顿。

结构定义

结构名称:RealtimeTranslationClientEventInputAudioBufferAppend

  • audio: string

经过Base64编码的24 kHz PCM16单声道音频字节。

  • type: "session.input_audio_buffer.append"

事件类型,必须为session.input_audio_buffer.append。

  • "session.input_audio_buffer.append"

  • event_id: optional string(最长 512 个字符)

可选的客户端生成ID,用于标识此事件。

示例

中文说明:以下为原文配置、命令或事件示例,字段名、枚举、标识符及数值保留。

{
  "event_id": "event_456",
  "type": "session.input_audio_buffer.append",
  "audio": "Base64EncodedAudioData"
}

事件:session.close

正常关闭实时翻译会话。服务器会在关闭前处理剩余的待处理输入音频,并发出剩余翻译输出。

结构定义

结构名称:RealtimeTranslationClientEventSessionClose

  • type: "session.close"

事件类型,必须为session.close。

  • "session.close"

  • event_id: optional string(最长 512 个字符)

可选的客户端生成ID,用于标识此事件。

示例

中文说明:以下为原文配置、命令或事件示例,字段名、枚举、标识符及数值保留。

{
  "event_id": "event_789",
  "type": "session.close"
}
以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号