🎁 新用戶 免費註冊,送 10 次呼叫,最高 $1,免綁卡。

文字轉語音

POST /v1/audio/speech

用一個 OpenAI 相容端點把文字轉成自然的語音。送出 JSON,直接取回音訊位元組。換供應商只需要改 model。全程不寫入磁碟:音訊會直接串流回傳給你。

範例請求

curl https://synthorai.io/v1/audio/speech \
  -H "Authorization: Bearer $SYNTHORAI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "tts-1",
    "input": "Hello from Synthorai.",
    "voice": "alloy"
  }' \
  --output speech.mp3

Python (OpenAI SDK)

from openai import OpenAI

client = OpenAI(
    api_key="$SYNTHORAI_API_KEY",
    base_url="https://synthorai.io/v1",
)

with client.audio.speech.with_streaming_response.create(
    model="tts-1",
    voice="alloy",
    input="Hello from Synthorai.",
) as response:
    response.stream_to_file("speech.mp3")

請求主體

參數 類型 說明
model* string 模型 ID。可選 tts-1tts-1-hdseed-tts-2.0
input* string 要合成的文字。最多 4096 個字元。
voice string 使用的音色。預設為 alloy。詳見下方「音色」。
response_format string 音訊封裝格式:mp3(預設)、opuswavpcm
speed number 語速,0.25–4.0。預設為 1.0。

支援的模型

該選哪一個?

你需要 推薦模型
最便宜,足以應付大多數產品語音 google-tts-standard
以中文內容為主,或想要更多音色可選 qwen3-tts-instruct-flash seed-tts-2.0
日常產品語音,在音質與成本之間取得平衡 tts-1 google-tts-neural2
表現力最好:旁白、陪伴型裝置、品牌音色 tts-1-hd google-tts-chirp3-hd
模型 價格 適合場景
google-tts-standard $4 / 1M chars 成本掛帥的大批量通知與提示音
qwen3-tts-instruct-flash $11.50 / 1M chars 中文與多語言內容;上游會回報計費字元數
tts-1 $15 / 1M chars 一般產品語音、提示音、通知
google-tts-neural2 $16 / 1M chars 多種語言下自然的日常語音
tts-1-hd $30 / 1M chars 旁白、行銷內容,以及使用者會聽上一段時間的場景
seed-tts-2.0 $30 / 1M chars 中文與多語言內容;180+ 種音色
google-tts-chirp3-hd $30 / 1M chars Google 最新、表現力最強的音色

有三個模型同為 $30,它們的差別在音色氣質與語言涵蓋範圍,而不在價格。決定前先用你自己的文案實測比較。

換供應商只要改一行。 這裡的每個模型都使用相同的請求與回應結構。底層供應商的差異其實很大(認證方式、串流格式、音色命名各不相同),這些差異由 gateway 吸收掉,你只需要改 model.

# Same request, different provider — only the model name changes.
-d '{"model": "tts-1",        "input": "...", "voice": "alloy"}'
-d '{"model": "seed-tts-2.0", "input": "...", "voice": "alloy"}'

音色

OpenAI 模型支援這些標準音色: alloy, echo, fable, onyx, nova, shimmer.

對於 seed-tts-2.0 這個模型,同樣的六個名稱也可用(會對應到相近的音色);你也可以直接傳入 BytePlus 原生音色 ID 以取得完整控制權,例如 zh_female_cancan_uranus_bigtts. 完整的 180+ 種原生音色清單請見 BytePlus 音色目錄。

對於 qwen3-tts-instruct-flash 這個模型,同樣的六個名稱也可用,也可以直接傳入 Qwen 原生音色,例如 Cherry, Ethan, Nofish, Jada.

Google 的音色與價格級距綁定。 每個 Google 模型只對應一個級距,而級距就寫在音色名稱裡。如果你直接傳入原生音色 id,例如 en-US-Neural2-C 就必須使用相對應的模型,這個例子裡是 google-tts-neural2。跨級距的音色會以 502 被拒絕,而不是用錯誤的價格默默計費。

音訊格式

response_format 指定封裝格式。預設為 mp3: mp3, opus, wav, pcm.

並非每家供應商都支援所有封裝格式;不支援的值會退回 MP3,而不是直接失敗。

計費

輸入字元計費,採用供應商的官方牌價,不另外加價。1 個字元 = 1 個中文字 = 1 個字母 = 1 個標點 = 1 個空格。請求失敗一律不收費。

回傳的音訊不另外計量;只有你送進來的文字會計費。

限制

  • 單次請求最多 4096 個字元。過長的輸入會在計費前就被拒絕,請在用戶端切分後再把音訊接起來。
  • 語速由 speed 控制(0.25–4.0,預設 1.0)。超出供應商範圍的值會被夾回範圍內,而不是被拒絕。

錯誤

回應 說明
400 輸入為空,或超過 4096 個字元。
401 API key 缺失或無效。
402 配額不足以支應這次請求。
502 你的帳號無法使用這個模型,或上游供應商失敗。不會產生任何費用。
503 目前沒有通道提供這個模型。