首页使用帮助OpenAI Audio API
HELP / OPENAI AUDIO API

OpenAI Audio API 怎么用?

先判断音频是否已经录完:完整录音用 /v1/audio/transcriptions + gpt-transcribe;麦克风、电话或持续媒体流用 Realtime transcription + gpt-live-transcribe。旧 TTS 与旧转录模型已有停用计划,新项目必须把迁移路径纳入架构,而不是只替换 model 名称。

主关键词:OpenAI Audio API 怎么用Speech-to-TextRealtime TranscriptionTTS 迁移更新:2026-10-31
先给结论

录音文件 → gpt-transcribe;实时字幕 → gpt-live-transcribe;对话式语音或新语音生成 → GPT-Live/Realtime。文件转录的 stream=true 只是边处理完整文件边返回文本,不等于麦克风实时会话。现有 /v1/audio/speech 集成要在 2027-01-06 前迁移,旧转录与 translations 工作流要在 2027-02-26 前迁移。

官方资料(2026-10-31 核对):Audio and voice · Transcription overview · File transcription · Realtime transcription · Text to speech · Deprecations · API Pricing

先选工作流:文件、实时字幕还是语音助手?

需求推荐起点连接/输入关键边界
完整录音转文字gpt-transcribe/v1/audio/transcriptions 上传文件单文件最高 25 MB;可一次返回或流式返回文本
麦克风/电话实时字幕gpt-live-transcribeRealtime transcription,WebRTC 或 WebSocket音频仍在到达;持久会话返回增量与最终转录
能听、说、打断、用工具的助手GPT-Live / RealtimeWebRTC、WebSocket 或 SIP属于会话与工具模型,详见独立 Realtime 页面
现有文字生成语音迁移到 gpt-realtime-2.1-miniRealtime API旧 Speech API 模型将于 2027-01-06 停用
持续语音翻译gpt-realtime-translateRealtime translation session不是给旧 /audio/translations 换 model 名称

需要低延迟双向语音、VAD 与打断状态机,请阅读 OpenAI Realtime API 指南;本页聚焦任务选择、转录输入输出和 Audio 迁移边界。

文件转录:用 gpt-transcribe 处理完整录音

把已经录完的音频发送到 /v1/audio/transcriptions。当前支持 mp3、mp4、mpeg、mpga、m4a、wav 和 webm,单文件最高 25 MB。返回 JSON 包含文本和可靠检测到的语言;无法可靠判断时 languages 可能为空数组。

import fs from "node:fs";
import OpenAI from "openai";

const openai = new OpenAI();
const transcript = await openai.audio.transcriptions.create({
  file: fs.createReadStream("meeting.m4a"),
  model: "gpt-transcribe",
  languages: ["zh-cn", "en"],
  prompt: "产品发布复盘会议",
  keywords: ["GPT Pro AI", "WebRTC"]
});

console.log(transcript.text, transcript.languages);

prompt 提供录音主题等自由上下文,keywords 提供可能出现的字面术语,languages 提供预期语言列表。它们只是提示,不应强迫模型输出音频里没有的词;上线前要比较不加提示与加提示的专名准确率和幻觉率。

超过 25 MB 怎么办?

  1. 先选择合适的压缩格式,避免为了体积牺牲到无法识别。
  2. 仍超限时在停顿或句子边界附近切分,每片不超过 25 MB。
  3. 保存原始录音 ID、片段序号、起止时间、哈希与处理状态,重试时保持幂等。
  4. 可把上一片尾部的少量真实转录作为下一片上下文,但不要重复拼接造成重词。
  5. 合并后对时间顺序、专名、数字和断句做业务评测,不要只看 HTTP 200。

Files API 的通用 512 MB 单文件限制不适用于这里;不同端点限制不能相互替代。文件对象的用途与生命周期另见 OpenAI Files API 指南。

完整文件也能流式返回,但它仍不是实时麦克风

文件已完整存在时,可设置 stream=true,先接收多次 transcript.text.delta,最后接收 transcript.text.done。最终事件包含完整文本,并可包含检测到的语言。客户端应在 done 前把内容标为“处理中”,连接中断时按文件哈希和作业状态重试,避免把半段转录写成最终结果。

两个“流式”不要混淆

文件 streaming:输入已经结束,只是边处理边返回。Realtime transcription:输入仍从麦克风、电话或媒体管线持续到达,需要长期连接和音频缓冲。

普通文本的 SSE 事件处理可参考 OpenAI API Streaming 指南,但音频转录要按专用 transcript 事件判断完成。

实时字幕:用专用 Transcription Session

服务端 WebSocket 连接当前使用 wss://api.openai.com/v1/realtime?intent=transcription,不要在 URL 里加对话模型参数。连接后发送 session.update,将 session type 设为 transcription,并在 audio.input.transcription 中选择 gpt-live-transcribe。浏览器音频优先按官方 WebRTC 流程建连,标准 API Key 仍只放后端。

{
  "type": "session.update",
  "session": {
    "type": "transcription",
    "audio": {
      "input": {
        "format": { "type": "audio/pcm", "rate": 24000 },
        "transcription": { "model": "gpt-live-transcribe" },
        "turn_detection": null
      }
    }
  }
}

当前 gpt-live-transcribe 的 transcription session 不支持 server_vad 或 semantic_vad,应省略 turn_detection 或设为 null,并由应用提交音频轮次。若需要会话式助手自动判断轮次、说话并响应,应使用对话式 GPT-Live/Realtime 工作流,而不是纯字幕 session。

说话人、时间戳与字幕格式:先看弃用风险

旧集成目前仍可用 gpt-4o-transcribe-diarize 获取说话人片段,用 whisper-1 获取 word/segment timestamps 或 SRT/VTT;但这些模型与旧 translations 端点计划于 2027-02-26 停用。它们适合迁移期兼容,不适合今天新建长期依赖。

旧能力现有方式停用日期迁移动作
普通文件转录whisper-1 / gpt-4o-*-transcribe2027-02-26改用 gpt-transcribe,重新评测输出字段
文件说话人标签gpt-4o-transcribe-diarize2027-02-26追踪后续官方替代;不要假设 Realtime 有标签
词级时间戳、SRT/VTTwhisper-12027-02-26确认业务是否必须依赖,并制定降级/替代
录音翻译成英文/v1/audio/translations2027-02-26迁移到 Realtime translation session

迁移时不能只改 model 字段:输入协议、事件、语言字段、说话人/时间戳能力和输出格式都可能变化。先双跑代表性音频,再切换生产流量。

文字转语音:旧 Speech API 正在退出

tts-1、tts-1-hd 与 gpt-4o-mini-tts 已弃用,计划于 2027-01-06 从 API 移除。官方推荐迁移到 Realtime API 的 gpt-realtime-2.1-mini;该模型不支持直接填进 /v1/audio/speech,必须改为 Realtime 连接和事件流程。现有集成可以在过渡期继续使用 Speech API,但应立即盘点调用量、格式、voice、instructions、缓存和客户端播放逻辑。

// 仅用于现有 Speech API 集成的迁移盘点;不要作为新长期架构
const audio = await openai.audio.speech.create({
  model: "gpt-4o-mini-tts",
  voice: "coral",
  input: "这是一段 AI 生成语音。",
  instructions: "自然、清晰、语速适中",
  response_format: "mp3"
});

现有接口支持 MP3、Opus、AAC、FLAC、WAV 和 PCM;PCM 是 24 kHz、16-bit signed little-endian 原始采样。MP3 适合通用分发,Opus 适合网络传输,WAV/PCM 可减少实时解码开销但体积更大。选择格式时同时测试浏览器/移动端兼容、首帧延迟、带宽和存储成本。

AI 语音披露是上线条件

OpenAI 当前要求清楚告诉最终用户其听到的是 AI 生成声音,而不是人类声音。披露应在播放或通话开始前可见/可听,不能藏在难以找到的条款里。自定义声音还涉及授权、同意录音和来源标识,应单独完成法律与产品评审。

成本、安全与监控

截至 2026-10-31,官方 Pricing 按分钟列出 gpt-transcribe 约 0.0045 美元、gpt-live-transcribe 约 0.017 美元;价格会变化,生产前必须重新核对官方页面,且实际账单还可能包含存储、网络、重试、后处理模型或 Realtime 输出。不要把当前数字硬编码成长期报价。

  • 密钥:API Key 只在受信任服务器使用,按 Project/Service Account 最小授权并定期轮换。
  • 隐私:上传前取得录音与转录同意,定义原音频、转录、说话人标签和日志的保留/删除策略。
  • 输入:验证 MIME、扩展名、真实媒体格式、大小和时长;对不受信任文件设置超时和隔离处理。
  • 幂等:用录音哈希 + 工作流版本去重,避免超时重试产生重复转录和重复计费。
  • 质量:记录语言、音频条件、提示版本、模型、延迟、错误类型与人工修订,但不要在普通日志保存秘密或完整敏感音频。

用量核算方法见 OpenAI API Usage 指南;密钥和后端代理见 API Key 安全指南。

评测:不要只看词错率

维度建议样本业务指标
语言与口音目标语言、地区口音、夹杂语言关键句与语言识别正确率
声音条件安静、噪声、回声、电话、远场遗漏、插入、不可用率
关键信息姓名、药名、SKU、日期、金额、编号字段精确匹配与人工复核率
实时体验短句、长句、停顿、中断、网络抖动首个 delta、最终延迟、重连率
语音生成多语言、数字、缩写、长段落可懂度、自然度、首帧延迟、投诉率

对高风险字段保留人工确认,不让转录文本直接触发不可逆操作。prompt、keywords 与 languages 的每次调整都要版本化并回归评测。

上线前检查清单

  1. 已按“完整文件 / 实时输入 / 对话助手 / 语音生成”选择工作流,没有混用端点限制。
  2. 新转录从 gpt-transcribe 或 gpt-live-transcribe 开始;旧模型有迁移负责人和截止日期。
  3. 25 MB、格式、超时、分片、重试、顺序与幂等均有明确处理。
  4. 文件 delta/done 与 Realtime 事件分别实现,半成品不会被标成最终转录。
  5. API Key 不出现在浏览器;录音、转录、日志和删除策略完成隐私评审。
  6. TTS 用户能够清楚获知声音由 AI 生成;旧 Speech API 的迁移已排期。
  7. 代表性音频评测、延迟、失败率、人工修订率和每成功分钟成本已建立基线。

常见问题

OpenAI Audio API 新项目应该先用哪个模型?

录音文件转文字从 gpt-transcribe 开始;麦克风、电话或持续音频的实时字幕从 gpt-live-transcribe 开始。新的对话式语音或语音生成集成应按官方迁移方向评估 GPT-Live/Realtime,而不是继续把即将停用的旧 TTS 模型作为长期架构。

录音文件最大可以上传多大?

当前文件转录指南规定单个文件最高 25 MB,支持 mp3、mp4、mpeg、mpga、m4a、wav 和 webm。更大录音要压缩或在句子边界附近切分,并保存时间偏移、顺序和重试状态;不要直接把 Files API 的 512 MB 上限套到 Transcriptions API。

stream=true 和 Realtime transcription 有什么区别?

stream=true 可以在一个已经完成的文件被处理时逐步返回 transcript.text.delta,最终以 transcript.text.done 给出完整文本;Realtime transcription 面向仍在到达的麦克风、通话或媒体流,需要持久会话。是否流式返回与音频是否实时到达是两个不同选择。

OpenAI Audio API 能识别说话人吗?

旧的 gpt-4o-transcribe-diarize 可在文件转录中返回说话人片段,但已进入弃用期,将于 2027 年 2 月 26 日停用;Realtime transcription 当前不提供说话人标签。新系统不要把该旧模型作为长期依赖,应根据官方后续替代方案与自己的多说话人评测决定迁移。

文字转语音还能使用 /v1/audio/speech 吗?

现有集成可在停用日前继续使用,但 tts-1、tts-1-hd 与 gpt-4o-mini-tts 已弃用并计划于 2027 年 1 月 6 日关闭。官方推荐迁移到 Realtime API 的 gpt-realtime-2.1-mini;它不能直接替换 /v1/audio/speech 请求中的 model 字段,必须调整连接和事件流程。

TTS 生成的语音需要告诉用户是 AI 吗?

需要。OpenAI 当前使用政策要求向最终用户清楚披露其听到的是 AI 生成语音,而不是人类声音。界面、音频播放页或通话开场应以用户能够理解的方式说明,并保留适用的来源标识或水印。

怎样评测转录和语音质量?

使用真实语言、口音、夹杂语言、噪声、电话音质、专有名词、数字和长短录音建立评测集。除整体词错率外,还要检查业务关键字段、遗漏/幻觉、说话人边界、首个增量延迟、完整延迟、失败率和每成功分钟成本;prompt、keywords 与 languages 只能作为相关上下文提示。

下一步怎么实现?

先用 20–50 条真实音频建立 gpt-transcribe 基线,再分别验证文件 streaming 和 Realtime 字幕;语音生成直接按 Realtime 迁移路径设计。