プラットフォーム
エラー
エラーは、呼び出したエンドポイントの形式に沿ったJSONで返されます。人が読めるメッセージに加え、OpenAI形式のエンドポイントではプログラムで扱える固定のコードが含まれます。
レスポンス形式
{ "error": { "message": "This API key can't use `gpt-6-astra`. It's limited to gpt-6-sol. Change that at https://zurelay.com/app/keys.", "type": "permission_error", "param": "model", "code": "model_not_allowed" }}/v1/messagesでは、同じエラーがAnthropic形式で返され、コードは含まれません。HTTPステータスとerror.type: { "type": "error", "error": { "type": "...", "message": "..." } }を使用してください。チャット、画像、動画のすべてのレスポンスには、エラーかどうかにかかわらずx-request-idヘッダーが含まれます。
エラーコード
再試行
429と503は、retry-afterヘッダーに指定された秒数だけ待つか、指数バックオフを使って再試行してください。ただし、レスポンスにx-should-retry: falseと示されている場合は再試行しないでください。- その他の
4xxエラーは、変更せずに再試行しないでください。同じエラーになります。 - 失敗したリクエストは無料なので、成功するまで再試行しても料金はかかりません。ただし、途中で途切れたストリームでは配信済みの分に、まれな
503とx-should-retry: falseの組み合わせでは入力分に料金がかかります(請求を参照)。 - 公式の OpenAI SDK と Anthropic SDK は、再試行すべきエラーを自動で再試行します。
ストリーム途中のエラー
リクエスト自体についてモデルが返すエラー(対応していないパラメータ、長すぎるプロンプトなど)は、モデル独自のメッセージとコードを伴い、400 または 422 として返されます。
ストリーム途中のエラー
ストリーム開始後のエラーは、HTTP ステータスでは通知できません。代わりに、エンドポイントの形式に従った最後のエラーイベントが送られ、ストリームが終了します。入力と、それまでに届いた出力には料金がかかりますが、それ以降の分にはかかりません。こうしたケースはまれです。ほとんどの問題は最初のトークンを送る前に検出され、再試行されます。
処理の途中で残高またはキーの予算が尽きたストリームも、insufficient_quota、key_budget_exceeded、key_daily_budget_exceeded のいずれかを伴う同様のイベントで終了します。ストリーミングしないリクエストで途中で尽きた場合は、書き出された分が返されます。max_tokens に達した応答と同様に途中で切られ(finish_reason: "length"、または /v1/messages では stop_reason: "max_tokens")、コードを示す x-zurelay-stopped ヘッダーが付きます。
ご質問や不足している情報はありますか? サポートチームにお問い合わせください。通常1分以内にメールで回答します。