Developer guide
錯誤代碼
依狀態代碼採取的處理方式與重試規則
當上游返回 4xx·5xx 時,閘道會原樣傳遞該代碼;其他情況則遵循下表中的規則。
400·401·403·404·413 是需要修正請求或設定的代碼,而 409·429·5xx 是用戶端等待後重新傳送相同請求的代碼。
錯誤本文的格式依規格而異,與 Anthropic 相容的路徑中,error.type 會根據狀態代碼決定。
403 的原因可透過 error.message 區分,限制與使用量數值請在主控台畫面中確認。
狀態代碼
| 代碼 | 意義 | 處理方式 |
|---|---|---|
| 400 | 請求值無效。Anthropic 相容模型清單的 limit 超出 1~1000 範圍,或嘗試透過 GET /responses/{responseId}?stream=true 以串流方式繼續接收已儲存的回應。 | 請將值修正至範圍內。請在不使用 stream 的情況下查詢已儲存的回應。 |
| 401 | 未提供金鑰,或金鑰已過期、撤銷。 | 請在 API 金鑰頁面確認金鑰狀態,並檢查標頭名稱與 Bearer 前綴。 |
| 403 | 沒有模型存取權限、超出使用上限、點數不足,或不是語音擁有者。 | 請透過 error.message 確認原因,並在下方的限制與使用量確認區段畫面中確認數值。 |
| 404 | 模型不存在,或無法使用此金鑰存取(包括已停止支援的模型)。呼叫不存在的路徑,或請求保留期限已過 3 天的 CleviDrive 產出物時,也會返回此錯誤。 | 請先透過 GET /models 確認可呼叫的模型清單。請將路徑與 API 呼叫頁面的表格進行比對。 |
| 408 · 409 · 413 | 上游逾時、壅塞或請求大小超出上限。語音·Voice 路徑的逾時限制為 5 分鐘,請求上限為 28 MiB。 | 如果 409 包含 Retry-After,請等待該時間後重新傳送相同請求。413 請將請求拆分後傳送。 |
| 429 | 上游提供者套用了速率限制。 | 如果有 Retry-After,請等待該時間後再次傳送;如果沒有,請使用指數退避重試。 |
| 5xx | 閘道或上游的暫時性錯誤(包括 503)。 | 請使用指數退避重試。若問題持續,請聯絡我們。 |
不會返回 402。點數不足與超出使用上限皆會以 403 返回。
重試與聯絡我們
閘道不會產生自身的 429,也不會代替您重試或將上游回應排入佇列。等待與重試由用戶端執行。
聯絡我們時,請透過說明與聯絡我們提供 X-Request-Id。如果未傳送 X-Request-Id,伺服器核發的值會位於 Anthropic 相容回應的 request-id 標頭中。
錯誤本文
錯誤本文的格式因規格而異。我們只保留上游錯誤的訊息並整理後傳送,不會傳送堆疊或內部欄位。
OpenAI 相容路徑的錯誤本文。
{
"error": {
"message": "API key is required.",
"type": "invalid_request_error"
}
}Anthropic 相容路徑的錯誤本文。error.type 會根據狀態碼,按照下表決定。
{
"type": "error",
"error": {
"type": "authentication_error",
"message": "..."
},
"request_id": "rqid..."
}| 狀態碼 | error.type |
|---|---|
| 400 | invalid_request_error |
| 401 | authentication_error |
| 403 | permission_error |
| 404 | not_found_error |
| 413 | request_too_large |
| 429 | rate_limit_error |
| 529 | overloaded_error |
| 其他代碼 | api_error |
確認限額與使用量
限額數值因工作區而異。請透過 error.message 確認 403 的原因後,在下列畫面確認數值。
| 確認項目 | 主控台畫面 |
|---|---|
| 套用至工作區的限額 | 概覽中的已分配使用限額 |
| 方案允許的範圍與餘額 | 方案與點數 |
| 實際使用量(依模型與金鑰區分的呼叫量、預估扣除的點數) | 使用量 |
| 金鑰狀態(是否已過期或撤銷) | API 金鑰 |