API 參考文字轉語音
非同步作業
建立並輪詢非同步 TTS 作業。
非同步作業
使用非同步 TTS 作業進行長文字、批次產生、Webhook 式工作流程和 UI 流程,使用者可以在音訊仍在處理時離開頁面。
建立工作
POST /api/open/v1/speech/tts/jobs
Authorization: Bearer KITTA_API_KEY
Content-Type: application/json### 要求
{
"text": "Hello from Kitta Audio.",
"voiceId": "00a1b221-6137-4b73-ad62-b0cbce134167",
"modelId": "fishaudio-s2pro",
"format": "mp3"
}將文字哈希、請求的語音和傳回的任務 ID 保留在資料庫中。如果您的工作執行緒在建立後崩潰,則透過任務 ID 進行輪詢比建立第二個作業更安全。
範例使用公共系統測試語音00a1b221-6137-4b73-ad62-b0cbce134167。驗證連線後將其替換為您首選的語音 ID。
curl https://kittaai.com/api/open/v1/speech/tts/jobs \
-H "Authorization: Bearer KITTA_API_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Hello from Kitta Audio.","voiceId":"00a1b221-6137-4b73-ad62-b0cbce134167","modelId":"fishaudio-s2pro","format":"mp3"}'回覆
建立端點傳回帶有任務物件的202 Accepted。確切的任務欄位可以演變,但客戶端至少應該儲存 ID 和狀態。
{
"id": "task_123",
"status": "queued"
}找工作
GET /api/open/v1/speech/tts/jobs/{taskId}
Authorization: Bearer KITTA_API_KEY當可以產生短暫的音訊 URL 時,成功的任務包括 audioUrl。失敗的任務包括錯誤代碼或訊息。將 queued 和 processing 視為非終止狀態並進行回退輪詢。
計費和積分
非同步作業可能會在任務建立或完成期間保留或消耗積分,具體取決於啟用的模型。除非使用者明確要求第二個輸出,否則不要建立重複作業作為重試策略。儲存任務 ID 並從中復原。
對於批次處理,請在新增大量任務之前限制您這邊的並發並檢查設定檔。如果一項任務因積分不足而失敗,請暫停該批次的 rest,直到帳戶所有者解決餘額問題。
錯誤
| 狀態 | 意義 | 行動 |
|---|---|---|
400 | 無效的文字、語音、模型或輸出格式 | 修復有效負載 |
401 | 認證失敗 | 停止輪詢並刷新憑證 |
402 | 學分或配額不足 | 暫停隊列 |
404 | 此 API 金鑰未知任務 ID | 檢查您是否儲存了相同帳號的回傳 ID |
429 | 建立或輪詢請求過多 | 退出並保留任務 ID |