> This is a page from the ElevenLabs documentation. For a complete page index, fetch https://elevenlabs.io/docs/llms.txt. For the full documentation in a single file, fetch https://elevenlabs.io/docs/llms-full.txt.

# エラー

## APIエラー

ElevenLabsでは、リクエストの成功または失敗を示すために標準のHTTPステータスコードを使用します。さらに、すべてのAPIリクエストは、エラーに関する情報を含む`detail`プロパティを持つJSONオブジェクトを返します。

通常、HTTPステータスコード`200`はリクエストの成功を示します。`4xx`コードは、無効なパラメータや必須フィールドの欠落など、リクエストに問題があることを示します。HTTPステータスコード`500`はElevenLabsのサーバーに問題があることを示しますが、これはまれなケースです。

### エラープロパティ

| プロパティ        | 説明                                                             |
| ------------ | -------------------------------------------------------------- |
| `type`       | 発生したエラーの種類です。可能な値については以下の表を参照してください。                           |
| `code`       | エラーコードです。typeよりも具体的で、エラーの原因を特定するために使用できます。                     |
| `message`    | エラーメッセージです。エラーについての詳細情報を提供します。                                 |
| `status`     | エラーのステータスです。これは現在使用されていないレガシーフィールドです。代わりに`code`プロパティを使用してください。 |
| `request_id` | エラーのリクエストIDです。エラーのトラブルシューティングに使用できる、リクエスト固有の識別子です。             |
| `param`      | エラーの原因となったパラメータです。バリデーションエラーの場合は、無効なパラメータを示します。                |

### エラー応答の例

誤ったモデルIDを使用したAPIリクエストの応答は次のとおりです。

```json
{
  "detail": {
    "type": "validation_error",
    "code": "invalid_parameters",
    "message": "The 'keyterms' parameter is only supported with the 'scribe_v2' model. You specified 'scribe_v1'.",
    "status": "invalid_parameters",
    "request_id": "3c807fc4c3a1705f9638ecc764a91c01",
    "param": "keyterms"
  }
}
```

エラープロパティから、このエラーはバリデーションエラーで、コードは`invalid_parameters`であることがわかります。メッセージにはエラーの詳細が示され、`request_id`はエラーのトラブルシューティングに使用できるリクエスト固有の識別子です。`param`プロパティは、エラーの原因となったパラメータを示します。

### SDKでのエラー処理

ElevenLabs SDKには、エラーの詳細にアクセスできる型付きエラークラスが用意されています。

```python
from elevenlabs import ElevenLabs
from elevenlabs.core import ApiError

elevenlabs = ElevenLabs()

try:
    audio = elevenlabs.text_to_speech.convert(
        voice_id="invalid-voice-id",
        model_id="eleven_v4",
        text="Hello, world!",
    )
except ApiError as e:
    print(f"Status code: {e.status_code}")

    # Access the error body
    if e.body and "detail" in e.body:
        detail = e.body["detail"]
        print(f"Error type: {detail.get('type')}")
        print(f"Error code: {detail.get('code')}")
        print(f"Message: {detail.get('message')}")
        print(f"Request ID: {detail.get('request_id')}")

        # Handle specific error types
        if detail.get("type") == "rate_limit_error":
            print("Rate limited - implement exponential backoff")
        elif detail.get("type") == "authentication_error":
            print("Check your API key")
```

```typescript
import { ElevenLabsClient, ElevenLabsError } from "@elevenlabs/elevenlabs-js";

const elevenlabs = new ElevenLabsClient();

try {
  const audio = await elevenlabs.textToSpeech.convert("invalid-voice-id", {
    text: "Hello, world!",
    modelId: "eleven_v4",
  });
} catch (error) {
  if (error instanceof ElevenLabsError) {
    console.log(`Status code: ${error.statusCode}`);

    // Access the error body
    const detail = (error.body as any)?.detail;
    if (detail) {
      console.log(`Error type: ${detail.type}`);
      console.log(`Error code: ${detail.code}`);
      console.log(`Message: ${detail.message}`);
      console.log(`Request ID: ${detail.request_id}`);

      // Handle specific error types
      if (detail.type === "rate_limit_error") {
        console.log("Rate limited - implement exponential backoff");
      } else if (detail.type === "authentication_error") {
        console.log("Check your API key");
      }
    }
  }
}
```

エラーを解決できない場合は、エラー応答の`request_id`、完全なエラーメッセージ、問題を再現する手順を添えて、[support@elevenlabs.io](mailto:support@elevenlabs.io)のサポートまでメールでお問い合わせください。

#### レート制限と同時実行数

429 HTTPステータスコードを受け取った場合、短時間にリクエストを多く送信しすぎてAPIエンドポイントのレート制限を超えたか、APIエンドポイントの同時実行数制限を超えたことを意味します。エラー`code`は、それぞれ`rate_limit_exceeded`または`concurrent_limit_exceeded`です。

レート制限の場合は、429エラーを受け取ったときにコードで指数バックオフを実装してください。これは、リクエストを再試行する前に遅延を追加することを意味します。

同時実行数の場合は、新しいリクエストを送信する前に、現在のリクエストが完了するまで待機してください。詳しくは、[同時実行数と優先度](/docs/ja/overview/models#concurrency-and-priority)のセクションを参照してください。

### エラーの種類

エラーには、発生したエラーの種類を示す`type`プロパティが含まれます。可能な値については以下の表を参照してください。

| 種類                     | 説明                                   | HTTPステータスコード |
| ---------------------- | ------------------------------------ | ------------ |
| `validation_error`     | リクエストに無効なパラメータ値が含まれています。             | 400          |
| `invalid_request`      | リクエスト構造が不正であるか、必須フィールドが不足しています。      | 400          |
| `authentication_error` | 認証に失敗しました。APIキーまたはトークンが無効、または存在しません。 | 401          |
| `payment_required`     | ユーザーのクレジットが不足しているか、支払いが必要です。         | 402          |
| `authorization_error`  | 認証済みユーザーに、この操作に必要な権限がありません。          | 403          |
| `not_found`            | 要求されたリソースが見つかりませんでした。                | 404          |
| `conflict`             | リクエストがリソースの現在の状態と競合しています。            | 409          |
| `rate_limit_error`     | リクエストが多すぎます。後でもう一度お試しください。           | 429          |
| `internal_error`       | 予期しないサーバーエラーが発生しました。                 | 500          |
| `service_unavailable`  | サービスは一時的に利用できません。これはまれなケースです。        | 503          |

### エラーコード

<table searchable>
  <thead>
    <tr>
      <th>
        コード
      </th>

      <th>
        種類
      </th>

      <th>
        説明
      </th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>
        `voice_not_found`
      </td>

      <td>
        `not_found`
      </td>

      <td>
        指定した音声IDは存在しません。音声IDを確認して、もう一度お試しください。
      </td>
    </tr>

    <tr>
      <td>
        `sample_not_found`
      </td>

      <td>
        `not_found`
      </td>

      <td>
        指定した音声サンプルが見つかりませんでした。
      </td>
    </tr>

    <tr>
      <td>
        `voice_collection_not_found`
      </td>

      <td>
        `not_found`
      </td>

      <td>
        指定した音声コレクションは存在しません。
      </td>
    </tr>

    <tr>
      <td>
        `user_not_found`
      </td>

      <td>
        `not_found`
      </td>

      <td>
        指定したユーザーが見つかりませんでした。
      </td>
    </tr>

    <tr>
      <td>
        `auth_account_not_found`
      </td>

      <td>
        `not_found`
      </td>

      <td>
        認証アカウントが見つかりませんでした。
      </td>
    </tr>

    <tr>
      <td>
        `workspace_not_found`
      </td>

      <td>
        `not_found`
      </td>

      <td>
        指定したワークスペースは存在しません。
      </td>
    </tr>

    <tr>
      <td>
        `project_not_found`
      </td>

      <td>
        `not_found`
      </td>

      <td>
        指定したプロジェクトが見つかりませんでした。
      </td>
    </tr>

    <tr>
      <td>
        `history_item_not_found`
      </td>

      <td>
        `not_found`
      </td>

      <td>
        指定した履歴項目は存在しません。
      </td>
    </tr>

    <tr>
      <td>
        `collection_not_found`
      </td>

      <td>
        `not_found`
      </td>

      <td>
        指定したコレクションが見つかりませんでした。
      </td>
    </tr>

    <tr>
      <td>
        `document_not_found`
      </td>

      <td>
        `not_found`
      </td>

      <td>
        指定したドキュメントは存在しません。
      </td>
    </tr>

    <tr>
      <td>
        `file_not_found`
      </td>

      <td>
        `not_found`
      </td>

      <td>
        指定したファイルが見つかりませんでした。
      </td>
    </tr>

    <tr>
      <td>
        `conversation_not_found`
      </td>

      <td>
        `not_found`
      </td>

      <td>
        指定した会話は存在しません。
      </td>
    </tr>

    <tr>
      <td>
        `agent_not_found`
      </td>

      <td>
        `not_found`
      </td>

      <td>
        指定したエージェントが見つかりませんでした。
      </td>
    </tr>

    <tr>
      <td>
        `dubbing_not_found`
      </td>

      <td>
        `not_found`
      </td>

      <td>
        指定した吹き替えプロジェクトは存在しません。
      </td>
    </tr>

    <tr>
      <td>
        `song_not_found`
      </td>

      <td>
        `not_found`
      </td>

      <td>
        指定した楽曲が見つかりませんでした。
      </td>
    </tr>

    <tr>
      <td>
        `read_not_found`
      </td>

      <td>
        `not_found`
      </td>

      <td>
        指定した読み上げが見つかりませんでした。
      </td>
    </tr>

    <tr>
      <td>
        `pronunciation_dictionary_not_found`
      </td>

      <td>
        `not_found`
      </td>

      <td>
        指定した発音辞書は存在しません。
      </td>
    </tr>

    <tr>
      <td>
        `knowledge_base_not_found`
      </td>

      <td>
        `not_found`
      </td>

      <td>
        指定したナレッジベースが見つかりませんでした。
      </td>
    </tr>

    <tr>
      <td>
        `phone_number_not_found`
      </td>

      <td>
        `not_found`
      </td>

      <td>
        指定した電話番号は存在しません。
      </td>
    </tr>

    <tr>
      <td>
        `tool_not_found`
      </td>

      <td>
        `not_found`
      </td>

      <td>
        指定したツールが見つかりませんでした。
      </td>
    </tr>

    <tr>
      <td>
        `snapshot_not_found`
      </td>

      <td>
        `not_found`
      </td>

      <td>
        指定したスナップショットは存在しません。
      </td>
    </tr>

    <tr>
      <td>
        `task_not_found`
      </td>

      <td>
        `not_found`
      </td>

      <td>
        指定したタスクが見つかりませんでした。
      </td>
    </tr>

    <tr>
      <td>
        `model_not_found`
      </td>

      <td>
        `not_found`
      </td>

      <td>
        指定したモデルは存在しません。
      </td>
    </tr>

    <tr>
      <td>
        `transcript_not_found`
      </td>

      <td>
        `not_found`
      </td>

      <td>
        指定した文字起こしが見つかりませんでした。
      </td>
    </tr>

    <tr>
      <td>
        `keywords_list_not_found`
      </td>

      <td>
        `not_found`
      </td>

      <td>
        指定したキーワードリストが見つかりませんでした。
      </td>
    </tr>

    <tr>
      <td>
        `category_not_found`
      </td>

      <td>
        `not_found`
      </td>

      <td>
        指定したカテゴリが見つかりませんでした。
      </td>
    </tr>

    <tr>
      <td>
        `text_too_long`
      </td>

      <td>
        `validation_error`
      </td>

      <td>
        指定したテキストが許容される最大長を超えています。
      </td>
    </tr>

    <tr>
      <td>
        `text_too_short`
      </td>

      <td>
        `validation_error`
      </td>

      <td>
        指定したテキストが必要な最小長より短すぎます。
      </td>
    </tr>

    <tr>
      <td>
        `invalid_text`
      </td>

      <td>
        `validation_error`
      </td>

      <td>
        指定したテキストに無効な文字または書式が含まれています。
      </td>
    </tr>

    <tr>
      <td>
        `empty_text`
      </td>

      <td>
        `validation_error`
      </td>

      <td>
        テキストフィールドを空にすることはできません。
      </td>
    </tr>

    <tr>
      <td>
        `invalid_parameters`
      </td>

      <td>
        `validation_error`
      </td>

      <td>
        1つ以上のリクエストパラメータが無効です。無効な
        パラメータについては`param`プロパティを確認してください。
      </td>
    </tr>

    <tr>
      <td>
        `missing_required_field`
      </td>

      <td>
        `validation_error`
      </td>

      <td>
        リクエストに必須フィールドがありません。不足している
        フィールドについては`param`プロパティを確認してください。
      </td>
    </tr>

    <tr>
      <td>
        `invalid_voice_settings`
      </td>

      <td>
        `validation_error`
      </td>

      <td>
        音声設定に無効な値が含まれています。無効な音声
        設定については`param`プロパティを確認してください。
      </td>
    </tr>

    <tr>
      <td>
        `invalid_voice_id`
      </td>

      <td>
        `validation_error`
      </td>

      <td>
        音声IDの形式が無効です。
      </td>
    </tr>

    <tr>
      <td>
        `unsupported_model`
      </td>

      <td>
        `validation_error`
      </td>

      <td>
        指定したモデルはこの操作ではサポートされていません。
      </td>
    </tr>

    <tr>
      <td>
        `invalid_audio`
      </td>

      <td>
        `validation_error`
      </td>

      <td>
        指定したオーディオが無効または破損しています。
      </td>
    </tr>

    <tr>
      <td>
        `invalid_audio_format`
      </td>

      <td>
        `validation_error`
      </td>

      <td>
        指定したオーディオ形式はサポートされていません。
      </td>
    </tr>

    <tr>
      <td>
        `invalid_output_format`
      </td>

      <td>
        `validation_error`
      </td>

      <td>
        要求された出力形式はサポートされていません。
      </td>
    </tr>

    <tr>
      <td>
        `audio_too_long`
      </td>

      <td>
        `validation_error`
      </td>

      <td>
        オーディオが許容される最大時間を超えています。
      </td>
    </tr>

    <tr>
      <td>
        `audio_too_short`
      </td>

      <td>
        `validation_error`
      </td>

      <td>
        オーディオが必要な最小時間より短すぎます。
      </td>
    </tr>

    <tr>
      <td>
        `invalid_file_type`
      </td>

      <td>
        `validation_error`
      </td>

      <td>
        このファイル形式はサポートされていません。
      </td>
    </tr>

    <tr>
      <td>
        `invalid_page_size`
      </td>

      <td>
        `validation_error`
      </td>

      <td>
        ページサイズパラメータが許容範囲外です。
      </td>
    </tr>

    <tr>
      <td>
        `invalid_cursor`
      </td>

      <td>
        `validation_error`
      </td>

      <td>
        ページネーションカーソルが無効または期限切れです。
      </td>
    </tr>

    <tr>
      <td>
        `bad_request`
      </td>

      <td>
        `invalid_request`
      </td>

      <td>
        サーバーがリクエストを理解できませんでした。
      </td>
    </tr>

    <tr>
      <td>
        `malformed_json`
      </td>

      <td>
        `invalid_request`
      </td>

      <td>
        リクエスト本文に無効なJSONが含まれています。
      </td>
    </tr>

    <tr>
      <td>
        `invalid_content_type`
      </td>

      <td>
        `invalid_request`
      </td>

      <td>
        Content-Typeヘッダーがないか、無効です。
      </td>
    </tr>

    <tr>
      <td>
        `request_too_large`
      </td>

      <td>
        `invalid_request`
      </td>

      <td>
        リクエスト本文が許容される最大サイズを超えています。
      </td>
    </tr>

    <tr>
      <td>
        `invalid_api_key`
      </td>

      <td>
        `authentication_error`
      </td>

      <td>
        指定したAPIキーが無効です。
      </td>
    </tr>

    <tr>
      <td>
        `missing_api_key`
      </td>

      <td>
        `authentication_error`
      </td>

      <td>
        リクエストにAPIキーが指定されていません。
      </td>
    </tr>

    <tr>
      <td>
        `invalid_authorization_header`
      </td>

      <td>
        `authentication_error`
      </td>

      <td>
        Authorizationヘッダーの形式が無効です。
      </td>
    </tr>

    <tr>
      <td>
        `unauthorized`
      </td>

      <td>
        `authentication_error`
      </td>

      <td>
        このリソースにアクセスするには認証が必要です。
      </td>
    </tr>

    <tr>
      <td>
        `sign_in_required`
      </td>

      <td>
        `authentication_error`
      </td>

      <td>
        この操作を行うにはサインインが必要です。
      </td>
    </tr>

    <tr>
      <td>
        `forbidden`
      </td>

      <td>
        `authorization_error`
      </td>

      <td>
        このリソースへのアクセスは禁止されています。
      </td>
    </tr>

    <tr>
      <td>
        `insufficient_permissions`
      </td>

      <td>
        `authorization_error`
      </td>

      <td>
        この操作に必要な権限がありません。
      </td>
    </tr>

    <tr>
      <td>
        `workspace_access_denied`
      </td>

      <td>
        `authorization_error`
      </td>

      <td>
        このワークスペースにアクセスできません。
      </td>
    </tr>

    <tr>
      <td>
        `feature_not_available`
      </td>

      <td>
        `authorization_error`
      </td>

      <td>
        この機能は現在のプランでは利用できません。
      </td>
    </tr>

    <tr>
      <td>
        `subscription_required`
      </td>

      <td>
        `authorization_error`
      </td>

      <td>
        この機能にアクセスするには有料サブスクリプションが必要です。
      </td>
    </tr>

    <tr>
      <td>
        `voice_access_denied`
      </td>

      <td>
        `authorization_error`
      </td>

      <td>
        この音声にアクセスできません。
      </td>
    </tr>

    <tr>
      <td>
        `model_access_denied`
      </td>

      <td>
        `authorization_error`
      </td>

      <td>
        このモデルにアクセスできません。
      </td>
    </tr>

    <tr>
      <td>
        `conflict`
      </td>

      <td>
        `conflict`
      </td>

      <td>
        競合が発生しました。
      </td>
    </tr>

    <tr>
      <td>
        `resource_already_exists`
      </td>

      <td>
        `conflict`
      </td>

      <td>
        同じ識別子を持つリソースがすでに存在します。
      </td>
    </tr>

    <tr>
      <td>
        `voice_already_exists`
      </td>

      <td>
        `conflict`
      </td>

      <td>
        この名前の音声はすでに存在します。
      </td>
    </tr>

    <tr>
      <td>
        `already_running`
      </td>

      <td>
        `conflict`
      </td>

      <td>
        この操作はすでに実行中です。
      </td>
    </tr>

    <tr>
      <td>
        `already_processing`
      </td>

      <td>
        `conflict`
      </td>

      <td>
        リソースはすでに処理中です。
      </td>
    </tr>

    <tr>
      <td>
        `concurrent_modification`
      </td>

      <td>
        `conflict`
      </td>

      <td>
        別のリクエストによってリソースが変更されました。最新バージョンで再試行してください。
      </td>
    </tr>

    <tr>
      <td>
        `slug_already_exists`
      </td>

      <td>
        `conflict`
      </td>

      <td>
        このスラッグを持つリソースがすでに存在します。
      </td>
    </tr>

    <tr>
      <td>
        `rate_limit_exceeded`
      </td>

      <td>
        `rate_limit_error`
      </td>

      <td>
        リクエストが多すぎます。待機してから再試行してください。
      </td>
    </tr>

    <tr>
      <td>
        `concurrent_limit_exceeded`
      </td>

      <td>
        `rate_limit_error`
      </td>

      <td>
        同時リクエスト数の上限を超えました。より上位のサブスクリプションプランでは、より高い
        同時実行数制限が適用されます。
      </td>
    </tr>

    <tr>
      <td>
        `system_busy`
      </td>

      <td>
        `rate_limit_error`
      </td>

      <td>
        システムは現在混雑しています。後でもう一度お試しください。
      </td>
    </tr>

    <tr>
      <td>
        `insufficient_credits`
      </td>

      <td>
        `payment_required`
      </td>

      <td>
        この操作を行うためのクレジットがアカウントに不足しています。
      </td>
    </tr>

    <tr>
      <td>
        `internal_error`
      </td>

      <td>
        `internal_error`
      </td>

      <td>
        予期しないエラーが発生しました。問題が続く場合はサポートにお問い合わせください。
      </td>
    </tr>

    <tr>
      <td>
        `service_unavailable`
      </td>

      <td>
        `service_unavailable`
      </td>

      <td>
        サービスは一時的に利用できません。後でもう一度お試しください。
      </td>
    </tr>

    <tr>
      <td>
        `maintenance`
      </td>

      <td>
        `service_unavailable`
      </td>

      <td>
        サービスは定期メンテナンス中です。
      </td>
    </tr>
  </tbody>
</table>