Skip to Content
API 參考OpenAI 相容協議Audio Speech

Audio Speech API

將文字轉為語音。相容 OpenAI 的 POST /v1/audio/speech,回應主體直接是音訊檔案(二進位),不是 JSON。

系列模型說明
ElevenLabselevenlabs/eleven_v4見 ElevenLabs
Gemini TTSgoogle/gemini-3.8-flash-tts 等見 Gemini TTS

voice、response_format 等參數的可選值因模型而異,請以系列頁為準。

快速開始

base_urlhttps://api.ofox.io/v1
介面網址https://api.ofox.io/v1/audio/speech
模型 IDgoogle/gemini-3.8-flash-tts
speech.py
import os from openai import OpenAI client = OpenAI(base_url="https://api.ofox.io/v1", api_key=os.environ["OFOX_API_KEY"]) with client.audio.speech.with_streaming_response.create( model="google/gemini-3.8-flash-tts", voice="Kore", input="你好,歡迎使用 OfoxAI 語音合成。", response_format="wav", ) as resp: resp.stream_to_file("speech.wav")

請求參數

model必填string

模型 ID,見上表。

input必填string

要合成的文字。為空時回傳 400。

voicestring

音色。Gemini TTS 必填,取值為 Google 的音色名稱(如 Kore);ElevenLabs 取值為音色 ID(如 21m00Tcm4TlvDq8ikWAM)。OpenAI 的音色名稱(如 alloy)不適用於這兩個系列。

音訊格式。可選值因模型而異:Gemini TTS 支援 wav、pcm;ElevenLabs 支援 mp3、opus、wav、pcm。傳入不支援的格式會回傳 400。

語氣與風格說明,如「用歡快的語氣朗讀」。適用於 Gemini TTS。

語言代碼,如 cmn-CN(Gemini TTS)、zh(ElevenLabs)。不傳時由模型依文字判斷。

stream_formatstring· 可選sse

傳入 sse 時以 Server-Sent Events 串流回傳音訊片段,適用於 Gemini TTS。

供應商專屬參數,原樣轉送給對應供應商,例如 ElevenLabs 的 {"elevenlabs": {"voice_settings": {...}}}。見各系列頁。

回應

成功時 HTTP 200,回應主體為音訊檔案,Content-Type 與格式對應:

response_formatContent-Type
mp3audio/mpeg
wavaudio/wav
opusaudio/ogg
pcmaudio/L16;rate=<取樣率>;channels=1,無檔頭的 16 位元 PCM

請將回應主體直接寫入檔案。出錯時回應為 JSON,Content-Type 為 application/json,請先檢查狀態碼,避免把錯誤訊息寫成音訊檔案。

常見錯誤

HTTP錯誤原文原因處理方式
400model and input are required.缺少 model,或 input 為空補齊參數
400voice is required for speech completionGemini TTS 未傳 voice傳入音色名稱,如 Kore
400unsupported Gemini response_format: mp3該模型不支援所選格式改用系列頁列出的格式
400Request contains an invalid argument.Gemini TTS 的音色名稱不存在改用有效的音色名稱
404A voice with voice_id 'alloy' was not found.ElevenLabs 的音色 ID 不存在改用有效的音色 ID
400 endpoint_not_supportedModel 'openai/gpt-5.4' does not support the /v1/audio/speech endpoint on this platform.所選模型不是語音合成模型改用上表中的模型

完整的錯誤碼說明見錯誤處理。

最後更新於