Fish Audio Docs
API 參考文字轉語音
返回主站

同步HTTP

使用 Open API v1 同步產生語音。

同步HTTP

當文字對於請求-回應流來說足夠短且您的產品可以在繼續之前等待音訊時,請使用同步 TTS 端點。對於長文本、批次工作或使用者可見的佇列,請使用非同步作業

如果您的用戶端需要 OpenAI /v1/audio/speech 請求形狀,請改用 OpenAI-相容 TTS 端點。

POST /api/open/v1/speech/tts
Authorization: Bearer FISHAUDIO_API_KEY
Content-Type: application/json

## 要求

{
  "text": "Hello from Fish Audio.",
  "voiceId": "00a1b221-6137-4b73-ad62-b0cbce134167",
  "modelId": "fishaudio-s21pro-flash",
  "format": "mp3"
}

常見欄位:

領域類型筆記
text字串要合成的文字。在發送大型生成文字之前規範空白。
voiceId字串新整合的首選語音 ID。
modelId字串TTS 引擎模型 ID,例如 fishaudio-s21pro-flash
format字串輸出容器,例如 mp3,取決於啟用的型號。
cache布林如果為 true,則回應可以傳回 JSON 元資料和音訊 URL。

新整合應使用 GET /api/open/v1/voices 中的 voiceId。如需快速連線測試,請使用公用系統語音00a1b221-6137-4b73-ad62-b0cbce134167

請勿將舊版 SDK 或其他網站變體中的欄位混入目前Open API 合約中。

curl https://fishaudio.org/api/open/v1/speech/tts \
  -H "Authorization: Bearer FISHAUDIO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text":"Hello from Fish Audio.","voiceId":"00a1b221-6137-4b73-ad62-b0cbce134167","modelId":"fishaudio-s21pro-flash","format":"mp3"}' \
  --output speech.mp3

回覆

cachefalse 或省略時,成功回應返回二進位音訊。當 cachetrue 時,成功回應返回 JSON 元資料:

{
  "audio_url": "https://example.com/generated.mp3",
  "credits_used": 12,
  "quota_remaining": 987988
}

您的客戶端應該在​​ Content-Type 標頭上進行分支,而不是假設一種回應形狀。如果 URL 是短暫的,請將產生的音訊儲存在您自己的持久性儲存中。

計費和積分

同步 TTS 根據產生的內容和模型配置消耗積分。由於端點在 HTTP 請求內執行生成,因此客戶端逾時並不總是意味著伺服器取消了工作。重試使用者操作時,在您自己的應用程式層中使用冪等性。

如果您需要準確的生成後餘額,請在請求完成後致電個人資料。對於大批量,更喜歡非同步作業,這樣每個任務都有一個持久的 ID 和狀態。

錯誤

狀態意義行動
400文字、語音 ID、格式或負載形狀無效在重試之前修復請求
401API 金鑰遺失或無效刷新伺服器端憑證
402學分或額度不足停止批量並顯示計費狀態
429限價後退重試
500驗證後產生失敗僅當您的產品可以容忍重複音訊時才重試