Source: https://ailoot.ai/docs/ja/errors/
Canonical: https://ailoot.ai/docs/ja/errors/
Language: ja

[ヘルプ](https://ailoot.ai/docs/ja/) 

# エラーと制限

[Markdown](https://ailoot.ai/docs/ja/errors/index.md)

レスポンスコードの意味と対処方法。すべてのエラーはJSONで返され、Request IDが付いています。

## [](https://ailoot.ai/docs/ja/errors/#format)エラー形式

エラーは、呼び出したAPIの形式で返されます。オブジェクト `error` はOpenAI、 `{"type": "error", "error": {...}}` はAnthropic、 `error` にはフィールド `status`と`details` が含まれるのはGeminiです。そのため、SDKは通常のAPIエラーとして認識できます。

- `error.code`と`error.reason` は、以下の表にあるエラー分類です。両者は同じ値です。`error.type` は、その形式の標準値です（例：`invalid_request_error` または `server_error`).
- `error.request_id` （Anthropicでは `request_id` が最上位にあります）、ヘッダー `X-Request-ID` 、メッセージ末尾には、リクエストの識別子が含まれます。
- Geminiの分類が記載されるのは `error.details`：`ErrorInfo.reason` です。同じコードが大文字で表されます（例：`MODEL_OVERLOADED`), `domain` — `ailoot.ai`；リクエストの識別子が記載されるのは `RequestInfo.requestId`。
- Gemini形式では、自動再送してはいけない5xxエラーと`result_pending_check` は、ステータス409と`status` `ABORTED`で返されます。Gemini SDKやCLIが自動で再送しないようにするためです。エラー分類が記載されるのは `ErrorInfo.reason` （例：`MODEL_TIMEOUT` または `RESULT_PENDING_CHECK`).
- OpenAI形式のレスポンスには、古いクライアント向けの最上位フィールドもあります：`code`と`message` 。古いクライアント向けのフィールドです。

```json
{
  "code": "API_KEY_REQUIRED",
  "error": {
    "code": "invalid_api_key",
    "message": "No API key was sent with the request. Nothing was charged. Please check that the full key is sent in the Authorization header as \"Bearer <key>\". Request ID: 3b28d3de-5b02-4d07-9f3c-4b9a7d0e68d6.",
    "param": null,
    "reason": "invalid_api_key",
    "request_id": "3b28d3de-5b02-4d07-9f3c-4b9a7d0e68d6",
    "type": "invalid_request_error"
  },
  "message": "No API key was sent with the request. Nothing was charged. …"
}
```

```json
{
  "type": "error",
  "error": {
    "type": "authentication_error",
    "code": "invalid_api_key",
    "reason": "invalid_api_key",
    "message": "… Nothing was charged. … Request ID: 94ed3e31-4373-41ce-bf8a-0d1ed3f7235e."
  },
  "request_id": "94ed3e31-4373-41ce-bf8a-0d1ed3f7235e"
}
```

```json
{
  "error": {
    "code": 401,
    "status": "UNAUTHENTICATED",
    "message": "The API key is not valid. Nothing was charged. … Request ID: e7aa743b-9d0d-4064-b206-2562609f545b.",
    "details": [
      {
        "@type": "type.googleapis.com/google.rpc.ErrorInfo",
        "reason": "INVALID_API_KEY",
        "domain": "ailoot.ai",
        "metadata": {
          "code": "invalid_api_key",
          "reason": "invalid_api_key",
          "request_id": "e7aa743b-9d0d-4064-b206-2562609f545b"
        }
      },
      {
        "@type": "type.googleapis.com/google.rpc.RequestInfo",
        "requestId": "e7aa743b-9d0d-4064-b206-2562609f545b"
      }
    ]
  }
}
```

「Nothing was charged」は、残高から料金が差し引かれていないことを意味します。X-Should-Retry: falseが返された場合は、自動で再送せず、先に履歴のRequest IDを確認してください。

## [](https://ailoot.ai/docs/ja/errors/#codes)エラーコード

| HTTP | 分類（reason） | 発生した内容 | 対処方法 |
| --- | --- | --- | --- |
| 400 | `invalid_request` | リクエストが不正：ボディやパラメータが間違っている、モデルが指定されたフィールド・添付ファイル・ツールに対応していない、キーをURLで渡している | エラーテキストに従ってリクエストを修正してください。非対応のフィールド、添付ファイル、ツールを削除し、キーはヘッダーで渡してください。非対応のフィールド、添付ファイル、ツールによる拒否は仮確保前に行われ、料金は差し引かれません。 |
| 400 | `context_length_exceeded` | リクエストがモデルのコンテキスト長を超えている | 履歴を短くするか、より長いコンテキストに対応するモデルを使用してください。 |
| 400 | `content_policy_violation` | モデルのルールによりリクエストが拒否された | リクエストを言い換えてください。 |
| 401 | `invalid_api_key` | キーがない、または無効 | キー全体が送信されていることを確認してください。 |
| 401 | `api_key_disabled` | キーが無効化されている | キーを有効にするか、新しいキーを作成してください。 |
| 402 | `insufficient_balance`, `insufficient_quota` | 最低限の仮確保に必要な空き残高もない (`insufficient_quota` は、同じ状態をOpenAI SDKで一般的な形式にしたものです) | 残高をチャージするか、max\_tokensを小さくしてください。 |
| 402 | `api_key_quota_exhausted` | キーの総支出上限に達した | ダッシュボードでキーの上限を引き上げてください。 |
| 402 | `payment_disputed` | アカウントに、異議申し立て対象の支払いに関する未払いがある | 未払いが解消されるまで、新しいリクエストは停止されます。サポートにお問い合わせください。 |
| 403 | `api_key_expired` | キーの有効期限が切れた | 新しいキーを作成してください。 |
| 403 | `account_inactive` | アカウントが無効化されている | サポートにお問い合わせください。 |
| 403 | `permission_denied` | キーでこのリクエストが許可されていない（例：IPによる制限） | キーの制限を確認してください。 |
| 404 | `model_not_found` | 指定されたモデルが存在しない | /v1/modelsでIDを確認してください。 |
| 404 | `unsupported_endpoint` | モデルがこの形式に対応していない | 別の形式かモデルを選択してください。 |
| 404 | `not_found` | 指定されたパスやオブジェクトが存在しない（例：ジョブ） | アドレスと識別子を確認してください。 |
| 409 | `duplicate_request` | 同じ冪等性キーの操作がすでに受け付けられており、完了している可能性がある | 最初の操作の結果を確認してください。新しい操作は送信しないでください。 |
| 409 | `not_ready`, `video_not_ready` | 動画または他のジョブが、まだ完成していない | 後でステータスを取得してください。 |
| 409, 503 | `result_pending_check` | リクエストの結果を確認中です。動画ジョブでは、ステータスのレスポンスのフラグ `result_pending_check: true` で示され、ジョブ自体の状態は `in_progress` | リクエストを再送しないでください。ステータスは履歴（GET https://ailoot.ai/api/v1/usage）に表示されます。動画ジョブを作り直さず、後でGET /v1/videos/{id}を確認してください。 |
| 410 | `model_retired` | モデルの提供が終了した | GET /v1/modelsで新しいバージョンを選択してください。 |
| 413 | `request_too_large` | リクエストボディが大きすぎる | ファイルや履歴を小さくしてください。 |
| 429 | `rate_limit_exceeded`, `gateway_concurrency_limit`, `gateway_queue_full` | アカウントのリクエスト数、または同時リクエスト数が多すぎる | ヘッダー `Retry-After`に指定された時間（通常10秒）だけ待ってから、再試行してください。 |
| 429 | `usage_limit_reached` | キーの支出ウィンドウ（5時間、1日、7日）の上限に達した | ウィンドウが更新されるまで待つか、キーの上限を引き上げてください。 |
| 500 | `internal_error` | Ailootのエラー | Request IDを添えてサポートにお問い合わせください。 |
| 502 | `invalid_model_response`, `empty_response`, `incomplete_response` | モデルが、不正・空・不完全なレスポンスを返した | ダッシュボードの履歴でRequest IDを確認してください。結果や残高の差し引きが記録されている場合、再送すると二つ目の有料リクエストになります。記録がないことは、リクエストが送信も実行もされていない証拠にはなりません。送信状態が不明なリクエストは再送せず、Request IDを添えてサポートに連絡してください。 |
| 502 | `result_not_delivered` | Ailootの責任で結果が届かず、仮確保額または差し引き額が返された | リクエストを再送できます。 |
| 503 | `model_overloaded` | モデルが一時的に過負荷 | X-Should-Retry: trueの場合はRetry-Afterに指定された秒数後に再試行してください。falseの場合は、先に履歴のRequest IDを確認してください。 |
| 503 | `model_unavailable` | モデルが一時的に利用できない | 別のモデルを選択してください。X-Should-Retry: trueの場合は、Retry-Afterに指定された秒数後に再試行してください。falseの場合は、先に履歴のRequest IDを確認してください。 |
| 503 | `service_unavailable` | Ailoot側の一時的な障害 | X-Should-Retry: trueの場合はRetry-Afterに指定された秒数後に再試行してください。falseの場合は、先に履歴のRequest IDを確認してください。 |
| 503 | `charge_not_confirmed` | レスポンスは提供されていません。残高の差し引きを確認できなかったため、仮確保額は解放され、料金は差し引かれていません。 | X-Should-Retry: trueの場合はRetry-Afterに指定された秒数後に再試行してください。falseの場合は、先に履歴のRequest IDを確認してください。 |
| 504 | `model_timeout` | モデルが制限時間内に応答しなかった。結果が後で届く可能性がある | 履歴のRequest IDを確認するまで、リクエストを再送しないでください。 |

モデルのレスポンスと結果の確認に関するコード（502、503、504）は、モデルまたはリクエストを指す名前になりました：`model_unavailable`, `model_timeout`, `invalid_model_response`, `incomplete_response`, `charge_not_confirmed`と`result_pending_check`。コードで `error.code` を以前の値と比較している場合は、表のコードに置き換えてください。旧コードと新コードの対応関係を確認する窓口：[サポート](https://ailoot.ai/docs/ja/support/)。

## [](https://ailoot.ai/docs/ja/errors/#retry)リクエストを再送する条件

- **まずX-Should-Retryを確認してください**。値が `false`, `result_pending_check` または `model_timeout` の場合は、自動で再送しないでください。ダッシュボードの履歴でRequest IDを確認すると、結果と差し引き額が分かります。
- **安全に再送できるのは、X-Should-Retry: trueが返された場合です**。次の値で指定された時間だけ待ってください：`Retry-After` 秒。5xxでは、コードだけでは判断できません。すでに結果が返っている可能性があります。先にダッシュボードの履歴を確認するか、Request IDを添えてサポートにお問い合わせください。特に画像、動画、音楽、長いエージェントのステップでは重要です。
- **再送しても解決しないケース**：400、401、402、403、404。先にリクエスト、キー、残高を修正してください。

OpenAIとAnthropicのSDKは通常、ネットワークエラーや5xxで自動的に再送します。生成では、この動作を無効にし (`max_retries=0`)、再試行前に `X-Should-Retry` を確認してください。レスポンスが失われても、リクエストが実行されていないとは限りません。

## [](https://ailoot.ai/docs/ja/errors/#limits)制限

頻度と同時リクエスト数の制限は、キー単位ではなく、アカウント全体に適用されます。超過すると429と`rate_limit_exceeded` 、ヘッダーは `Retry-After: 10`が返ります。モデル自体が過負荷の場合は503と`model_overloaded` 、 `Retry-After: 30`が返ります。より大きな負荷が必要な場合は、こちらへお問い合わせください：[サポート](https://ailoot.ai/docs/ja/support/)。

支出上限はキーに設定します。総上限を超えると402と`api_key_quota_exhausted`が返り、5時間、1日、7日のウィンドウを超えると429と`usage_limit_reached`が返ります。詳細：[APIキーとAPIアドレス](https://ailoot.ai/docs/ja/keys/#key)。

## [](https://ailoot.ai/docs/ja/errors/#nvidia)NVIDIAモデル：キュー

モデル一覧は残高ゼロでも取得できます。生成には仮確保に必要な残高が必要です。NVIDIAモデル（Nemotronなど）は共通のキューで処理されるため、負荷が高いと応答が遅れたり、Retry-Afterヘッダー付きの「モデルが一時的に過負荷」エラーが返ったりする場合があります。指定された時間後に再試行してください。料金はカタログに記載され、残高の差し引きは他のモデルと同様です。

サイズの制限はモデルごとに定められています。コンテキスト長（送信できるトークン数）と最大出力長の記載先：[カタログ](https://ailoot.ai/models/ja/)。

## 履歴と支出

[履歴と支出](https://ailoot.ai/usage) · [GET https://ailoot.ai/api/v1/usage](https://ailoot.ai/docs/ja/cabinet/usage/) · JWT · `Authorization: Bearer $TOKEN`

`JWT ≠ sk-…` · [ログインとセッション](https://ailoot.ai/docs/ja/cabinet/auth/)

ご不明な点はありますか？Request IDと状況の説明をお送りください。調査をお手伝いします。[サポートに問い合わせる](mailto:support@ailoot.ai)

## Ailoot · 企業とそのプロジェクト群





Ailootは、蓄積した運営経験、幅広い顧客基盤、安定したサービス、継続的なKPI管理を基盤としています。





企業とそのプロジェクト群：数百万の顧客、毎月数十億規模の売上。





Ailootはこの運営経験を、お客様の製品、エージェント、アプリケーション、自動化でAI機能を利用するためのAPIアクセスに活かしています。
