エラー

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

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

レート制限と同時実行数

HTTPステータスコード429を受け取った場合、短時間にリクエストを多く送信して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サービスは定期メンテナンス中です。