Hoppa till navigering

Fel

Utforska felmeddelanden och lösningar.

API-fel

ElevenLabs använder vanliga HTTP-statuskoder för att ange om en begäran lyckades eller misslyckades. Dessutom returnerar alla API-begäranden ett JSON-objekt med egenskapen detail, som innehåller information om felet.

Generellt innebär HTTP-statuskoden 200 att begäran lyckades. En 4xx-kod anger ett problem med begäran, till exempel en ogiltig parameter eller ett saknat obligatoriskt fält. HTTP-statuskoden 500 anger ett problem med ElevenLabs servrar, vilket bör vara ovanligt.

Felegenskaper

EgenskapBeskrivning
typeTypen av fel som inträffade. Se tabellen nedan för möjliga värden.
codeFelkoden. Den är mer specifik än typen och kan användas för att avgöra orsaken till felet.
messageFelmeddelandet. Det ger mer information om felet.
statusFelstatusen. Detta är ett äldre fält som inte längre används. Använd i stället egenskapen code.
request_idFelets begärande-ID. Det är en unik identifierare för begäran som kan användas för att felsöka felet.
paramParametern som orsakade felet. Vid ett valideringsfel anger den vilken parameter som är ogiltig.

Exempel på felsvar

Här är svaret för en API-begäran som använde ett felaktigt modell-ID:

{
"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"
}
}

Med hjälp av felegenskaperna ser vi att felet är ett valideringsfel och att koden är invalid_parameters. Meddelandet ger mer information om felet, och request_id är en unik identifierare för begäran som kan användas för att felsöka felet. Egenskapen param anger parametern som orsakade felet.

Felhantering i SDK:er

ElevenLabs SDK:er har typade felklasser som ger dig åtkomst till felinformationen.

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

Hastighetsbegränsning och samtidighet

Om du får HTTP-statuskoden 429 betyder det att du antingen har gjort för många begäranden under en kort tidsperiod och överskridit hastighetsgränsen för API-slutpunkten, eller att du har överskridit samtidighetsgränsen för API-slutpunkten. Felkoden code blir då rate_limit_exceeded respektive concurrent_limit_exceeded.

Vid hastighetsbegränsning bör du implementera exponentiell backoff i din kod när du får ett 429-fel. Det innebär att lägga till en fördröjning innan du försöker igen.

Vid samtidighetsbegränsning bör du vänta tills de pågående begärandena har slutförts innan du gör nya. Läs mer i avsnittet Samtidighet och prioritet.

Feltyper

Ett fel har egenskapen type som anger vilken typ av fel som inträffade. Se tabellen nedan för möjliga värden.

TypBeskrivningHTTP-statuskod
validation_errorBegäran innehåller ogiltiga parametervärden.400
invalid_requestBegärandestrukturen är felaktig eller saknar obligatoriska fält.400
authentication_errorAutentiseringen misslyckades – API-nyckeln/token saknas eller är ogiltig.401
payment_requiredAnvändaren har otillräckligt med krediter eller betalning krävs.402
authorization_errorDen autentiserade användaren saknar behörighet för åtgärden.403
not_foundDen begärda resursen hittades inte.404
conflictBegäran står i konflikt med resursens aktuella tillstånd.409
rate_limit_errorFör många begäranden – försök igen senare.429
internal_errorEtt oväntat serverfel inträffade.500
service_unavailableTjänsten är tillfälligt otillgänglig, vilket bör vara ovanligt.503

Felkoder

KodTypBeskrivning
voice_not_foundnot_foundDet angivna röst-ID:t finns inte. Kontrollera röst-ID:t och försök igen.
sample_not_foundnot_foundDet angivna röstprovet hittades inte.
voice_collection_not_foundnot_foundDen angivna röstsamlingen finns inte.
user_not_foundnot_foundDen angivna användaren hittades inte.
auth_account_not_foundnot_foundAutentiseringskontot hittades inte.
workspace_not_foundnot_foundDen angivna arbetsytan finns inte.
project_not_foundnot_foundDet angivna projektet hittades inte.
history_item_not_foundnot_foundDet angivna historikobjektet finns inte.
collection_not_foundnot_foundDen angivna samlingen hittades inte.
document_not_foundnot_foundDet angivna dokumentet finns inte.
file_not_foundnot_foundDen angivna filen hittades inte.
conversation_not_foundnot_foundDen angivna konversationen finns inte.
agent_not_foundnot_foundDen angivna agenten hittades inte.
dubbing_not_foundnot_foundDet angivna dubbningsprojektet finns inte.
song_not_foundnot_foundDen angivna låten hittades inte.
read_not_foundnot_foundDen angivna läsningen hittades inte.
pronunciation_dictionary_not_foundnot_foundDen angivna uttalsordlistan finns inte.
knowledge_base_not_foundnot_foundDen angivna kunskapsbasen hittades inte.
phone_number_not_foundnot_foundDet angivna telefonnumret finns inte.
tool_not_foundnot_foundDet angivna verktyget hittades inte.
snapshot_not_foundnot_foundDen angivna ögonblicksbilden finns inte.
task_not_foundnot_foundDen angivna uppgiften hittades inte.
model_not_foundnot_foundDen angivna modellen finns inte.
transcript_not_foundnot_foundDet angivna transkriptet hittades inte.
keywords_list_not_foundnot_foundDen angivna nyckelordslistan hittades inte.
category_not_foundnot_foundDen angivna kategorin hittades inte.
text_too_longvalidation_errorDen angivna texten överskrider den högsta tillåtna längden.
text_too_shortvalidation_errorDen angivna texten är kortare än den minsta tillåtna längden.
invalid_textvalidation_errorDen angivna texten innehåller ogiltiga tecken eller formatering.
empty_textvalidation_errorTextfältet får inte vara tomt.
invalid_parametersvalidation_error

En eller flera begärandeparametrar är ogiltiga. Kontrollera egenskapen param för den ogiltiga parametern.

missing_required_fieldvalidation_error

Ett obligatoriskt fält saknas i begäran. Kontrollera egenskapen param för det saknade fältet.

invalid_voice_settingsvalidation_error

Röstinställningarna innehåller ogiltiga värden. Kontrollera egenskapen param för de ogiltiga röst- inställningarna.

invalid_voice_idvalidation_errorRöst-ID:ts format är ogiltigt.
unsupported_modelvalidation_errorDen angivna modellen stöds inte för den här åtgärden.
invalid_audiovalidation_errorDet angivna ljudet är ogiltigt eller skadat.
invalid_audio_formatvalidation_errorDet angivna ljudformatet stöds inte.
invalid_output_formatvalidation_errorDet begärda utdataformatet stöds inte.
audio_too_longvalidation_errorLjudet överskrider den längsta tillåtna varaktigheten.
audio_too_shortvalidation_errorLjudet är kortare än den minsta tillåtna varaktigheten.
invalid_file_typevalidation_errorFiltypen stöds inte.
invalid_page_sizevalidation_errorParametern för sidstorlek ligger utanför det tillåtna intervallet.
invalid_cursorvalidation_errorSidindelningsmarkören är ogiltig eller har löpt ut.
bad_requestinvalid_requestServern kunde inte tolka begäran.
malformed_jsoninvalid_requestBegärandetexten innehåller ogiltig JSON.
invalid_content_typeinvalid_requestContent-Type-rubriken saknas eller är ogiltig.
request_too_largeinvalid_requestBegärandetexten överskrider den högsta tillåtna storleken.
invalid_api_keyauthentication_errorDen angivna API-nyckeln är ogiltig.
missing_api_keyauthentication_errorIngen API-nyckel angavs i begäran.
invalid_authorization_headerauthentication_errorAuthorization-rubrikens format är ogiltigt.
unauthorizedauthentication_errorAutentisering krävs för att få åtkomst till den här resursen.
sign_in_requiredauthentication_errorDu måste vara inloggad för att utföra den här åtgärden.
forbiddenauthorization_errorÅtkomst till den här resursen är förbjuden.
insufficient_permissionsauthorization_errorDu saknar behörighet för den här åtgärden.
workspace_access_deniedauthorization_errorDu har inte åtkomst till den här arbetsytan.
feature_not_availableauthorization_errorDen här funktionen är inte tillgänglig i din nuvarande plan.
subscription_requiredauthorization_errorEn betald prenumeration krävs för att få åtkomst till den här funktionen.
voice_access_deniedauthorization_errorDu har inte åtkomst till den här rösten.
model_access_deniedauthorization_errorDu har inte åtkomst till den här modellen.
conflictconflictEn konflikt inträffade.
resource_already_existsconflictEn resurs med samma identifierare finns redan.
voice_already_existsconflictEn röst med det här namnet finns redan.
already_runningconflictÅtgärden körs redan.
already_processingconflictResursen bearbetas redan.
concurrent_modificationconflictResursen ändrades av en annan begäran. Försök igen med den senaste versionen.
slug_already_existsconflictEn resurs med denna slug finns redan.
rate_limit_exceededrate_limit_errorFör många begäranden. Vänta innan du försöker igen.
concurrent_limit_exceededrate_limit_error

Det högsta antalet samtidiga begäranden har överskridits. Högre prenumerationsnivåer har en högre samtidighetsgräns.

system_busyrate_limit_errorSystemet är för närvarande upptaget. Försök igen senare.
insufficient_creditspayment_requiredDitt konto har inte tillräckligt med krediter för den här åtgärden.
internal_errorinternal_errorEtt oväntat fel inträffade. Kontakta supporten om problemet kvarstår.
service_unavailableservice_unavailableTjänsten är tillfälligt otillgänglig. Försök igen senare.
maintenanceservice_unavailableTjänsten genomgår planerat underhåll.