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 成本。

相關內容