Skip to main content

エラー応答形式

Chat Completions、Responses、Messages、Gemini は公開プロトコル境界であり、Web API ではありません。ネイティブプロトコルのエラーを Web の { success, data, error } envelope で包みません。次は Chat と Responses における OpenAI 互換 gateway エラーの例です。
OpenAI 互換 gateway エラーでは messagetype があり、codeparam、ヒント拡張は任意です。Messages と Gemini はそれぞれのネイティブエラー形式を使用します。安全に返せる upstream validation エラーは保持され、確定的な 400/422 で channel を切り替えず、最初の byte を配信した後は retry しません。

HTTP ステータスコード

エラータイプ

認証エラー (401)

支払いエラー (402)

アクセスエラー (403)

バリデーションエラー (400)

パブリックルートは、レスポンス本文でタイポ、非表示、保留、非公開のモデル状態を区別しません。モデルが現在モデル詳細を通じて利用できない場合、TokenLabはmodel_not_foundを返します。

レート制限エラー (429)

当該レート制限を超えた場合:
含まれるヘッダー:
Retry-Afterヘッダーとretry_afterフィールドは、いずれも再試行するまで待つ秒数を示します。

ペイロードが大きすぎる (413)

入力またはファイルサイズが制限を超えた場合:
主な原因:
  • 画像ファイルが大きすぎる(最大20MB)
  • 音声ファイルが大きすぎる(最大25MB)
  • 入力テキストがモデルのコンテキスト長を超えている

上流エラー (502, 503)

すべてのチャネルが失敗した場合、レスポンスには代替モデルが含まれます:

Pythonでのエラー処理

JavaScriptでのエラー処理

ベストプラクティス

レート制限にかかった場合、再試行の間隔を徐々に長くしてください:
ハングするリクエストを避けるために、常に適切なタイムアウトを設定してください:
サポートのためにリクエストIDを含む完全なエラー応答をログに記録してください:
一部のモデルには特定の要件(例:最大トークン数、画像フォーマット)があります。 リクエストを行う前に入力を検証してください。