プラットフォーム

エラー

エラーは、呼び出したエンドポイントの形式に沿ったJSONで返されます。人が読めるメッセージに加え、OpenAI形式のエンドポイントではプログラムで扱える固定のコードが含まれます。

レスポンス形式

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ヘッダーが含まれます。

エラーコード

ステータスコード対処方法
400invalid_requestリクエストを修正してください。message に問題の内容、param に問題の箇所が示されています。
400unsupported_contentこのモデルはその種類のファイルを読み取れません。ファイルを削除するか、対応するモデルを選んでください。
400invalid_urlリクエスト内のリンクからダウンロードできませんでした。message にリンク先が返したステータスが示されています。
400invalid_image入力画像を使用できませんでした(形式、サイズ、リンクのいずれかが原因です)。
400image_not_generatedモデルがプロンプトへの応答を拒否しました。料金はかかりません。
400context_length_exceeded会話がモデルのコンテキスト長を超えています。会話を短くするか、より長いコンテキストに対応するモデルを選んでください。
400max_tokens_reachedストリーミングしない /v1/messages の応答がツール呼び出しの途中で max_tokens に達したため、メッセージが完成していません。生成済みの分には料金がかかります。max_tokens を増やして再送してください。
401missing_api_keyキーを Authorization または x-api-key で送信してください。
401invalid_api_keyキーが正しくないか、無効化されています。
401expired_api_key新しいキーを作成してください。
402insufficient_quota実行中のリクエスト用に確保された分を差し引くと、残高がこのリクエストに足りないか、応答の途中で尽きました。Billing でクレジットを追加するか、max_tokens を下げて出力を減らしてください。自動チャージによる入金が始まっている場合は、message にその旨が示されます。数秒後に再試行してください。
402key_budget_exceeded実行中のリクエストを含めると、今回のリクエストでキーの月間予算を超える可能性があるか、処理の途中で上限に達しました。予算を引き上げるか、翌月までお待ちください。
402key_daily_budget_exceededキーの日間予算も同様です。予算を引き上げるか、UTC の午前0時までお待ちください。
403model_not_allowedこのキーには、このモデルを使用する権限がありません。
403ip_not_allowedこのキーは別のアドレスからのみ使用できます。
404model_not_foundモデル一覧ページでモデル ID を確認してください。
404unknown_urlそのエンドポイントはありません。パスとベース URL を確認してください。
404video_not_foundこのワークスペースに、その ID の動画はありません。
404image_not_foundこのワークスペースに、その ID の画像リクエストはありません(callback_url を指定したリクエストに対する GET /v1/images/{id})。
409video_not_ready動画はまだ完成していません。ステータスが completed になるまでポーリングしてください。
409video_failed動画の生成に失敗したため、ダウンロードできません。理由は error に示されています。
410video_expired動画は Library から、または 30 days の保存期間が過ぎたため削除されました。
413too_largeリクエストまたはファイルが上限を超えています。大きなファイルはリンクで送信してください。
429rate_limit_exceededretry-after に指定された秒数だけ待ってから再試行してください。
429concurrency_limit_exceededこのワークスペースでは、すでに 32 件のリクエストが同時に実行されています。いずれかが完了したら、retry-after に指定された秒数の経過後に再試行してください。
500server_errorZurelay 側で問題が発生しました。再試行してください。
502stream_interrupted途切れたストリームの最後のイベントとして送信されます。途切れる前に配信された分には料金がかかりますが、それ以降の分にはかかりません。再試行してください。
503model_unavailable現在、モデルを利用できません。retry-after に指定された秒数の経過後に再試行するか、スマートルーティングを有効にしてください。retry-after がなく、x-should-retry: false がある場合、モデルは稼働していますが、このリクエストは毎回エラーになります。変更せずに再送しないでください。
503server_restartingZurelay がリクエストを処理していたマシンを再起動しています。すぐに再試行してください。別のマシンが処理を引き継ぎます。料金はかかりません。ただし、ストリームが始まっていた場合は、途切れたストリームと同様に、届いた分に料金がかかります。
503storage_unavailable画像は生成されましたが、配信できませんでした。料金はかかりません。再試行してください。
503service_unavailableZurelay 側で一時的な問題が発生しました。再試行してください。

再試行

  • 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分以内にメールで回答します。