X-Request-Id ヘッダーが含まれ、リクエストのデバッグに必要な情報のみを返します。
OpenAI — /v1/chat/completions(および画像/動画エンドポイント)
Anthropic — /v1/messages
Gemini — /v1beta/models/{model}:generateContent
ステータスのマッピング
エラーのtype / status は HTTP ステータスから導出されます:
モデルパラメータの拒否
リクエスト内の値がモデルで受け付けられない場合、エンドポイントは HTTP400 と
モデル自身の説明を返します。推論設定ではエラーコード invalid_reasoning_effort が返り、
メッセージにはそのモデルが受け付ける値が列挙されるため、推測せずにリクエストを
修正できます。各モデルが受け付ける推論レベル、既定値、推論を無効化できるかどうかは、
GET /v1/models の capability_metadata.reasoning に記載されています。
レート制限は 429、時間予算を超えたリクエストは 504 を返します。502 は、再試行後も
モデルから利用可能な回答を得られなかったことを示すもので、パラメータに対する判定では
ありません。パラメータを変更する前にレスポンス本文を確認してください。
メディア生成のエラーと再試行
画像・動画の生成では、構造化されたerror.code とタスクの status
(クライアント側の task.status)に基づいて、表示するメッセージと再試行の可否を判断してください。
内容の修正を案内するのは、明示的なポリシーエラーコード、または明確なコンテンツポリシー上の
拒否がある場合に限ります。メッセージに
safety が含まれることや HTTP 502 だけで、
ポリシー違反と判断しないでください。非同期タスクが pending または processing の間は、
同じ task_id で /v1/tasks/{task_id} を継続して照会し、生成リクエストを重複送信しないでください。