API 參考
錯誤
公共開路 API 錯誤形狀和狀態代碼。
錯誤
當請求到達 API 圖層時,開啟 API 錯誤使用 JSON 回應主體。網路故障、CDN 故障和二進位回應中斷可能不會具有這種精確的形狀,因此您的用戶端應該處理結構化 API 錯誤和傳輸錯誤。
每個端點使用相同的承載身份驗證上下文:
Authorization: Bearer FISHAUDIO_API_KEY{
"code": "invalid_request",
"message": "The request payload is invalid.",
"requestId": "req_xxx"
}狀態程式碼
| 狀態 | 意義 | 典型動作 |
|---|---|---|
400 | 無效的請求內文、路徑參數、查詢參數或媒體 URL | 重試前修復請求 |
401 | API 金鑰遺失、格式錯誤、撤銷或停用 | 停止重試並重新整理憑證 |
402 | 積分不足、API 配額或提供者分配 | 停止批量並顯示計費狀態 |
404 | 對於經過驗證的帳戶,資源 ID 未知 | 刷新本機記錄 |
409 | 資源處於與操作衝突的狀態 | 等待或刪除依賴項 |
422 | 媒體已接受但無法處理 | 詢問不同的輸入媒體 |
429 | 超出速率限制 | 使用指數退避重試 |
500 | 伺服器錯誤 | 重試少量次並記錄 requestId |
請求記錄
記錄端點、HTTP 方法、狀態、code、requestId 和您自己的內部作業 ID。除非您的隱私權政策和支援工作流程明確允許,否則請勿記錄承載 API 金鑰、完整使用者文字或私人媒體 URL。
對於非同步端點,請在日誌中包含 API 任務 ID 和內部資料庫 ID。這使得在不創建重複工作的情況下協調重試成為可能。
計費和積分
並非每個錯誤都具有相同的計費意義。驗證失敗通常發生在媒體工作開始之前。接受任務後可能會發生處理失敗。對於使用者導向的計費問題,請將任務狀態與新讀取的設定檔 進行比較,而不是僅從 HTTP 狀態推斷成本。
重試策略
使用退避重試 429 和一些 500 回應。不要盲目重試400、401或402;這些需要請求、憑證或帳單變更。對於建立端點,請在重試任何後續操作之前保留傳回的 id。