English
主导航

旧版 API

实时与音频

为语音代理、翻译、转录和语音生成选择合适的路径。

从您想要构建的目标开始。实时会话最适合需要低延迟的实时音频。基于请求的音频 API 最适合文件、有界请求,或者不需要实时会话的生成语音。

常见用例

了解不同的架构

目标模型或 API从此开始
构建低延迟语音代理gpt-realtime-2语音智能体
将实时语音翻译为另一种语言gpt-realtime-translate实时翻译
将实时音频转录为流式文本gpt-realtime-whisper

实时转录

转录文件或有界音频请求音频转录模型语音转文本
从文本生成语音语音生成模型文本转语音
向现有 Chat Completions 应用添加音频支持音频的聊天模型

音频与语音

选择实时会话

实时会话在您的应用程序发送音频、接收事件和更新会话状态期间保持连接打开。

会话类型适用场景端点或模式
语音代理会话

模型应响应用户、调用工具并管理对话状态。

对话会话开启 /v1/realtime

翻译会话应用应在语音到达时持续进行翻译。

持续翻译会话开启 /v1/realtime/translations

转录会话

应用需要流式转录增量,而不需要模型生成的语音响应。

发出转录增量的转录会话

当您的应用程序需要响应用户的助手时,请使用语音代理会话。当您的应用程序需要翻译说话人内容的口译员时,请使用翻译会话。当您的应用程序需要从音频中提取文本而不需要模型生成的响应时,请使用转录会话。

语音代理会话

语音代理会话使用标准的 Realtime API 对话生命周期。客户端连接到 /v1/realtime,发送音频或文本,并监听模型响应、工具调用和会话事件。

对于大多数浏览器语音代理,请从 语音智能体 指南开始。它使用 Apps SDK 结合 WebRTC 处理浏览器音频,并可以连接到服务器端工具。

Realtime 2 为语音到语音工作流增加了推理能力。对于大多数生产级语音代理,请从 reasoning.effort 进行上传,并将其设置为 low 开始,然后根据延迟容忍度和任务复杂性进行调整。使用 实时提示指南 来调整推理、前言、工具使用、不清晰音频和精确实体捕获。

翻译会话

实时翻译使用专用的翻译端点,而不是标准的语音代理端点。翻译会话是连续的:客户端将音频流式传输到会话中,服务将翻译后的音频和转录增量流出。

翻译会话不使用常规的助手轮次生命周期。不要调用 response.create,且不要等待客户端提交用户轮次即开始翻译。对于浏览器媒体,请使用 WebRTC。对于服务器媒体管道(例如电话或广播输入),请使用 WebSockets。

查看 实时翻译 以了解专用端点、会话配置和架构模式。

转录会话

您可以通过多种方式转录音频。当您的应用程序需要来自流式音频的实时转录增量时,请使用实时转录会话。对于文件上传、基于请求的转录或聚焦于说话人分离的工作流,请使用 语音转文本 指南。

For realtime transcription, gpt-realtime-whisper 为您提供可控的延迟。较低的延迟设置会产生较早的局部文本,而较高的延迟设置可以提高转录质量。在选择生产环境默认设置之前,请使用您真实的音频条件、目标语言、口音和领域词汇进行测试。

查看 实时转录 以了解会话配置和事件处理。

选择连接方法

根据您的应用程序捕获和播放音频的位置选择传输方式:

WebRTC

用于直接捕获或播放音频的浏览器和移动客户端。

WebSocket

在您的服务器已从媒体管道、呼叫系统或工作器接收原始音频时使用。

SIP

用于电话语音代理。在将 SIP 用于翻译或转录之前,请确认模型支持情况。

安全标识符

如果您的应用程序标识了单个最终用户,请在 Realtime API 请求中包含 安全标识符 。安全标识符是推荐使用的,但不是必需的。它们帮助 OpenAI 监控和检测滥用行为,同时允许将强制措施针对个别用户,而不是您的整个组织。请使用稳定的、保护隐私的值,例如经过哈希处理的内部用户 ID。

对于 Realtime API 请求,请在 OpenAI-Safety-Identifier 标头中发送标识符。使用临时令牌时,请在创建客户端密钥的服务器端请求上设置标头,以便将标识符绑定到该会话。从受信任的服务器使用 WebSocket 或统一 WebRTC 接口进行连接时,请在连接请求上设置标头。

安全标识符不会从 Responses API 请求或其他会话中继承。如果您使用 Responses API safety_identifier 参数,请在创建或连接每个 Realtime 会话时单独传递相同的稳定值。

从 Beta 版迁移至正式版

如果您仍在使用 beta 版的 Realtime 集成,请在继续新工作之前将其迁移至正式版 (GA) 接口。最重要的更改如下:

  • 移除 OpenAI-Beta: realtime=v1 请求头,当调用正式版接口时。
  • 使用 POST /v1/realtime/client_secrets 来为浏览器或移动客户端创建临时凭证。
  • 使用 /v1/realtime/calls 在建立 WebRTC 会话时。
  • 更新正式版接口的会话和事件结构。特别是,设置 session.type,将输出音频配置移至 session.audio.output,并使用更新的响应事件名称,例如 response.output_text.delta, response.output_audio.delta,且 response.output_audio_transcript.delta.
  • 如果您正在推进语音转语音应用,请从 语音智能体 指南开始。如果您正在推进转录工作流,请使用 实时转录.

参阅 GitHub 上的 Realtime 客户端事件参考, Realtime 会话参考,且 语音智能体 指南,了解当前的正式版 (GA) 流程。

使用 音频与语音 了解音频输入、音频输出、流式传输、延迟、转录和语音生成背后的核心概念。当您准备好选择实现路径时,请使用此概述。