エラー

エラーメッセージと解決方法を確認します。

APIエラー

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

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

エラープロパティ

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

エラー応答の例

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

{
"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には、エラーの詳細にアクセスできる型付きエラークラスが用意されています。

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")

レート制限と同時実行数

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

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

同時実行数の場合は、新しいリクエストを送信する前に、現在のリクエストが完了するまで待機してください。詳しくは、同時実行数と優先度のセクションを参照してください。

エラーの種類

エラーには、発生したエラーの種類を示す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

エラーコード

コード種類説明
voice_not_foundnot_found指定した音声IDは存在しません。音声IDを確認して、もう一度お試しください。
sample_not_foundnot_found指定した音声サンプルが見つかりませんでした。
voice_collection_not_foundnot_found指定した音声コレクションは存在しません。
user_not_foundnot_found指定したユーザーが見つかりませんでした。
auth_account_not_foundnot_found認証アカウントが見つかりませんでした。
workspace_not_foundnot_found指定したワークスペースは存在しません。
project_not_foundnot_found指定したプロジェクトが見つかりませんでした。
history_item_not_foundnot_found指定した履歴項目は存在しません。
collection_not_foundnot_found指定したコレクションが見つかりませんでした。
document_not_foundnot_found指定したドキュメントは存在しません。
file_not_foundnot_found指定したファイルが見つかりませんでした。
conversation_not_foundnot_found指定した会話は存在しません。
agent_not_foundnot_found指定したエージェントが見つかりませんでした。
dubbing_not_foundnot_found指定した吹き替えプロジェクトは存在しません。
song_not_foundnot_found指定した楽曲が見つかりませんでした。
read_not_foundnot_found指定した読み上げが見つかりませんでした。
pronunciation_dictionary_not_foundnot_found指定した発音辞書は存在しません。
knowledge_base_not_foundnot_found指定したナレッジベースが見つかりませんでした。
phone_number_not_foundnot_found指定した電話番号は存在しません。
tool_not_foundnot_found指定したツールが見つかりませんでした。
snapshot_not_foundnot_found指定したスナップショットは存在しません。
task_not_foundnot_found指定したタスクが見つかりませんでした。
model_not_foundnot_found指定したモデルは存在しません。
transcript_not_foundnot_found指定した文字起こしが見つかりませんでした。
keywords_list_not_foundnot_found指定したキーワードリストが見つかりませんでした。
category_not_foundnot_found指定したカテゴリが見つかりませんでした。
text_too_longvalidation_error指定したテキストが許容される最大長を超えています。
text_too_shortvalidation_error指定したテキストが必要な最小長より短すぎます。
invalid_textvalidation_error指定したテキストに無効な文字または書式が含まれています。
empty_textvalidation_errorテキストフィールドを空にすることはできません。
invalid_parametersvalidation_error

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

missing_required_fieldvalidation_error

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

invalid_voice_settingsvalidation_error

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

invalid_voice_idvalidation_error音声IDの形式が無効です。
unsupported_modelvalidation_error指定したモデルはこの操作ではサポートされていません。
invalid_audiovalidation_error指定したオーディオが無効または破損しています。
invalid_audio_formatvalidation_error指定したオーディオ形式はサポートされていません。
invalid_output_formatvalidation_error要求された出力形式はサポートされていません。
audio_too_longvalidation_errorオーディオが許容される最大時間を超えています。
audio_too_shortvalidation_errorオーディオが必要な最小時間より短すぎます。
invalid_file_typevalidation_errorこのファイル形式はサポートされていません。
invalid_page_sizevalidation_errorページサイズパラメータが許容範囲外です。
invalid_cursorvalidation_errorページネーションカーソルが無効または期限切れです。
bad_requestinvalid_requestサーバーがリクエストを理解できませんでした。
malformed_jsoninvalid_requestリクエスト本文に無効なJSONが含まれています。
invalid_content_typeinvalid_requestContent-Typeヘッダーがないか、無効です。
request_too_largeinvalid_requestリクエスト本文が許容される最大サイズを超えています。
invalid_api_keyauthentication_error指定したAPIキーが無効です。
missing_api_keyauthentication_errorリクエストにAPIキーが指定されていません。
invalid_authorization_headerauthentication_errorAuthorizationヘッダーの形式が無効です。
unauthorizedauthentication_errorこのリソースにアクセスするには認証が必要です。
sign_in_requiredauthentication_errorこの操作を行うにはサインインが必要です。
forbiddenauthorization_errorこのリソースへのアクセスは禁止されています。
insufficient_permissionsauthorization_errorこの操作に必要な権限がありません。
workspace_access_deniedauthorization_errorこのワークスペースにアクセスできません。
feature_not_availableauthorization_errorこの機能は現在のプランでは利用できません。
subscription_requiredauthorization_errorこの機能にアクセスするには有料サブスクリプションが必要です。
voice_access_deniedauthorization_errorこの音声にアクセスできません。
model_access_deniedauthorization_errorこのモデルにアクセスできません。
conflictconflict競合が発生しました。
resource_already_existsconflict同じ識別子を持つリソースがすでに存在します。
voice_already_existsconflictこの名前の音声はすでに存在します。
already_runningconflictこの操作はすでに実行中です。
already_processingconflictリソースはすでに処理中です。
concurrent_modificationconflict別のリクエストによってリソースが変更されました。最新バージョンで再試行してください。
slug_already_existsconflictこのスラッグを持つリソースがすでに存在します。
rate_limit_exceededrate_limit_errorリクエストが多すぎます。待機してから再試行してください。
concurrent_limit_exceededrate_limit_error

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

system_busyrate_limit_errorシステムは現在混雑しています。後でもう一度お試しください。
insufficient_creditspayment_requiredこの操作を行うためのクレジットがアカウントに不足しています。
internal_errorinternal_error予期しないエラーが発生しました。問題が続く場合はサポートにお問い合わせください。
service_unavailableservice_unavailableサービスは一時的に利用できません。後でもう一度お試しください。
maintenanceservice_unavailableサービスは定期メンテナンス中です。