Audio Speech API
將文字轉為語音。相容 OpenAI 的 POST /v1/audio/speech,回應主體直接是音訊檔案(二進位),不是 JSON。
voice、response_format 等參數的可選值因模型而異,請以系列頁為準。
快速開始
base_url
https://api.ofox.ai/v1介面網址
https://api.ofox.ai/v1/audio/speech模型 ID
google/gemini-3.8-flash-ttsPython
speech.py
import os
from openai import OpenAI
client = OpenAI(base_url="https://api.ofox.ai/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")請求參數
模型 ID,見上表。
要合成的文字。為空時回傳 400。
voicestring
音色。Gemini TTS 必填,取值為 Google 的音色名稱(如 Kore);ElevenLabs 取值為音色 ID(如 21m00Tcm4TlvDq8ikWAM)。OpenAI 的音色名稱(如 alloy)不適用於這兩個系列。
response_formatstring
音訊格式。可選值因模型而異:Gemini TTS 支援 wav、pcm;ElevenLabs 支援 mp3、opus、wav、pcm。傳入不支援的格式會回傳 400。
instructionsstring
語氣與風格說明,如「用歡快的語氣朗讀」。適用於 Gemini TTS。
language_codestring
語言代碼,如 cmn-CN(Gemini TTS)、zh(ElevenLabs)。不傳時由模型依文字判斷。
傳入 sse 時以 Server-Sent Events 串流回傳音訊片段,適用於 Gemini TTS。
provider_optionsobject
供應商專屬參數,原樣轉送給對應供應商,例如 ElevenLabs 的 {"elevenlabs": {"voice_settings": {...}}}。見各系列頁。
回應
成功時 HTTP 200,回應主體為音訊檔案,Content-Type 與格式對應:
請將回應主體直接寫入檔案。出錯時回應為 JSON,Content-Type 為 application/json,請先檢查狀態碼,避免把錯誤訊息寫成音訊檔案。
常見錯誤
完整的錯誤碼說明見錯誤處理。
最後更新於