Skip to content

Speech(语音)

最后更新:2026-08-12· 14 分钟阅读

🚀 快速通道

  • ChatGPT 国内版:点击直达↗
  • 稳定镜像站:打开镜像↗
  • 官方 ChatGPT:chatgpt.com ↗

Speech(语音)

更新时间:2026-08-12

导读

语音能力是许多 AI 产品的「最后一公里」:把用户的口述变成可检索文本,再把模型回复读出来。OpenAI Platform 提供 Speech-to-Text(STT) 与 Text-to-Speech(TTS) REST 端点,并与 Realtime API、多模态 Responses 组合成完整语音栈。模型名(如 whisper-1、gpt-4o-transcribe、tts-1、tts-1-hd)、音频格式支持与单价以 Speech 文档 与 定价页 为准,上线前务必核对最新列表。

架构选型:REST 还是 Realtime?

模式适用延迟复杂度
REST STT + Responses + TTS录音上传、会议纪要、离线批处理秒级~十秒级低,易调试
Realtime 全双工语音助手、同声传译式交互亚秒~秒级高,需 WebSocket
仅 STT字幕、合规存档、搜索索引—最低
仅 TTS播报、无障碍朗读—最低

建议: 先 REST 三段式跑通业务闭环,再评估 Realtime 是否 worth 额外工程成本。

STT:转写端点

端点用途
/v1/audio/transcriptions原语言转写
/v1/audio/translations非英语音频 → 英文(以文档为准)
curl https://api.openai.com/v1/audio/transcriptions \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -F file="@call.mp3" \
  -F model="whisper-1" \
  -F language="zh" \
  -F response_format="verbose_json"
from openai import OpenAI

client = OpenAI()
with open("call.mp3", "rb") as f:
    tx = client.audio.transcriptions.create(
        model="whisper-1",  # 以 Models 页当前 ID 为准
        file=f,
        language="zh",
        response_format="verbose_json",
    )
print(tx.text)

预处理与切分

实践原因
mp3 / wav / m4a 等文档列格式减少 codec 失败
超长按静音或 5–10 分钟切段规避单文件大小与超时
单声道、适度降噪提升识别率
传 language="zh"降低误识别语言

转写结果进入下游前做标点规范化、敏感词过滤;摘要与分类交给 Responses,不要塞进 STT 参数里硬做。

输出格式

  • text:纯文本,最简单
  • verbose_json:含 segments 时间戳,适合播放器跳转
  • srt / vtt:字幕文件,注意与播放器兼容性

TTS:合成端点

POST /v1/audio/speech 把文本变为 mp3、opus 或 pcm。

from pathlib import Path
from openai import OpenAI

client = OpenAI()
speech = client.audio.speech.create(
    model="tts-1",
    voice="nova",
    input="您的工单已受理,预计两个工作日内回复。",
    response_format="mp3",
)
Path("reply.mp3").write_bytes(speech.content)
参数开发注意
voice列表以文档为准;不同 voice 风格差异大,产品内固定 1–2 个
speed若支持,IVR 场景可略提速
stream长文朗读边生成边播放,降低首包等待

缓存策略: 固定话术(验证码、标准回复)按 (voice, text) hash 缓存 mp3,可显著降本。

典型流水线

用户录音 → 对象存储 → STT → 文本清洗 → Responses(摘要 / 意图 / 回复)
                                              ↓
                                    可选 TTS → CDN → 客户端播放

与 Vision 组合:视频抽音轨 STT + 关键帧视觉理解。转写文本进 RAG 见 Embeddings 指南(PII 脱敏后索引)。

计费、限流与合规

  • STT 常见按分钟;TTS 常见按字符——具体见 openai.com/api/pricing
  • 429 / 5xx 指数退避;批处理走异步 worker
  • 录音转写需用户同意与隐私政策披露
  • 医疗、法律场景需人工复核;禁止 TTS 冒充他人声音

常见问题

Whisper 中文专业术语不准怎么办?

传 language="zh",并在 Responses 后处理阶段用领域词表纠错;极端场景考虑自定义词典 + 人工抽检。

超过单文件大小限制?

按静音切分或固定时长切片;查文档是否支持 Batch API。

TTS 能克隆真人吗?

以平台政策为准;商用声音克隆需法务与授权评估。

REST 和 Realtime 能否混用?

可以:Realtime 负责对话,REST STT 负责离线归档,共用同一 Responses 后端。

转写结果直接存库合规吗?

需最小化保留、加密存储、设定 retention;敏感内容脱敏后再入库或索引。

官方资源

下一步阅读

行动路径

今天:1 分钟中文 mp3 跑通 transcriptions,保存 verbose_json。明天:同一段回复文案生成 mp3,对比 tts-1 与 hd 档。本周:搭「上传 → STT → Responses 摘要 → 可选 TTS」并记录每分钟 STT 成本。

相关内容