Skip to navigation

Fouten

Bekijk foutmeldingen en oplossingen.

API-fouten

ElevenLabs gebruikt standaard HTTP-statuscodes om aan te geven of een request is geslaagd of mislukt. Daarnaast retourneren alle API-requests een JSON-object met een eigenschap detail die informatie over de fout bevat.

Over het algemeen geeft een HTTP-statuscode 200 een geslaagd request aan. Een code 4xx wijst op een probleem met het request, zoals een ongeldige parameter of een ontbrekend verplicht veld. Een HTTP-statuscode 500 wijst op een probleem met de servers van ElevenLabs, wat zelden zou moeten voorkomen.

Fouteigenschappen

EigenschapBeschrijving
typeHet type fout dat is opgetreden. Zie de onderstaande tabel voor mogelijke waarden.
codeDe code van de fout. Deze zijn specifieker dan het type en kunnen worden gebruikt om de oorzaak van de fout te bepalen.
messageHet foutbericht. Dit geeft meer informatie over de fout.
statusDe status van de fout. Dit is een verouderd veld dat niet meer wordt gebruikt; gebruik in plaats daarvan de eigenschap code.
request_idDe request-ID van de fout. Dit is een unieke identifier voor het request die je kunt gebruiken om de fout op te lossen.
paramDe parameter die de fout heeft veroorzaakt. Bij een validatiefout geeft dit aan welke parameter ongeldig is.

Voorbeeld van een foutresponse

Dit is de response voor een API-request waarvoor een onjuiste model-ID is gebruikt:

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

Aan de hand van de fouteigenschappen zien we dat het om een validatiefout gaat en dat de code invalid_parameters is. Het bericht geeft meer informatie over de fout en de request_id is een unieke identifier voor het request die je kunt gebruiken om de fout op te lossen. De eigenschap param geeft de parameter aan die de fout heeft veroorzaakt.

Foutafhandeling in SDK’s

De ElevenLabs SDK’s bieden getypeerde foutklassen waarmee je toegang krijgt tot de foutdetails.

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

Rate limiting en concurrency

Als je een HTTP-statuscode 429 ontvangt, betekent dit dat je te veel requests in korte tijd hebt gedaan en de ratelimiet voor het API-endpoint hebt overschreden, of dat je de concurrencylimiet voor het API-endpoint hebt overschreden. De fout-code is respectievelijk rate_limit_exceeded of concurrent_limit_exceeded.

Bij rate limiting moet je exponential backoff in je code implementeren wanneer je een 429-fout ontvangt. Dit betekent dat je een vertraging toevoegt voordat je het request opnieuw probeert.

Bij concurrency moet je wachten tot de huidige requests zijn voltooid voordat je nieuwe doet. Zie het gedeelte Concurrency en prioriteit voor meer informatie.

Fouttypen

Een fout heeft een eigenschap type die aangeeft welk type fout is opgetreden. Zie de onderstaande tabel voor mogelijke waarden.

TypeBeschrijvingHTTP-statuscode
validation_errorHet request bevat ongeldige parameterwaarden.400
invalid_requestDe structuur van het request is onjuist of verplichte velden ontbreken.400
authentication_errorAuthenticatie is mislukt - ongeldige of ontbrekende API-sleutel/token.401
payment_requiredDe gebruiker heeft onvoldoende credits of betaling is vereist.402
authorization_errorDe geauthenticeerde gebruiker heeft niet de vereiste rechten voor deze actie.403
not_foundDe opgevraagde resource is niet gevonden.404
conflictHet request conflicteert met de huidige status van de resource.409
rate_limit_errorTe veel requests - probeer het later opnieuw.429
internal_errorEr is een onverwachte serverfout opgetreden.500
service_unavailableDe service is tijdelijk niet beschikbaar; dit zou zelden moeten voorkomen.503

Foutcodes

CodeTypeBeschrijving
voice_not_foundnot_foundDe opgegeven stem-ID bestaat niet. Controleer de stem-ID en probeer het opnieuw.
sample_not_foundnot_foundHet opgegeven stemvoorbeeld is niet gevonden.
voice_collection_not_foundnot_foundDe opgegeven stemcollectie bestaat niet.
user_not_foundnot_foundDe opgegeven gebruiker is niet gevonden.
auth_account_not_foundnot_foundHet authenticatieaccount is niet gevonden.
workspace_not_foundnot_foundDe opgegeven workspace bestaat niet.
project_not_foundnot_foundHet opgegeven project is niet gevonden.
history_item_not_foundnot_foundHet opgegeven geschiedenisitem bestaat niet.
collection_not_foundnot_foundDe opgegeven collectie is niet gevonden.
document_not_foundnot_foundHet opgegeven document bestaat niet.
file_not_foundnot_foundHet opgegeven bestand is niet gevonden.
conversation_not_foundnot_foundHet opgegeven gesprek bestaat niet.
agent_not_foundnot_foundDe opgegeven agent is niet gevonden.
dubbing_not_foundnot_foundHet opgegeven nasynchronisatieproject bestaat niet.
song_not_foundnot_foundHet opgegeven nummer is niet gevonden.
read_not_foundnot_foundDe opgegeven read is niet gevonden.
pronunciation_dictionary_not_foundnot_foundHet opgegeven uitspraakwoordenboek bestaat niet.
knowledge_base_not_foundnot_foundDe opgegeven kennisbank is niet gevonden.
phone_number_not_foundnot_foundHet opgegeven telefoonnummer bestaat niet.
tool_not_foundnot_foundDe opgegeven tool is niet gevonden.
snapshot_not_foundnot_foundDe opgegeven snapshot bestaat niet.
task_not_foundnot_foundDe opgegeven taak is niet gevonden.
model_not_foundnot_foundHet opgegeven model bestaat niet.
transcript_not_foundnot_foundHet opgegeven transcript is niet gevonden.
keywords_list_not_foundnot_foundDe opgegeven lijst met zoekwoorden is niet gevonden.
category_not_foundnot_foundDe opgegeven categorie is niet gevonden.
text_too_longvalidation_errorDe opgegeven tekst is langer dan de maximaal toegestane lengte.
text_too_shortvalidation_errorDe opgegeven tekst is korter dan de minimaal vereiste lengte.
invalid_textvalidation_errorDe opgegeven tekst bevat ongeldige tekens of opmaak.
empty_textvalidation_errorHet tekstveld mag niet leeg zijn.
invalid_parametersvalidation_error

Een of meer requestparameters zijn ongeldig. Controleer de eigenschap param op de ongeldige parameter.

missing_required_fieldvalidation_error

Een verplicht veld ontbreekt in het request. Controleer de eigenschap param op het ontbrekende veld.

invalid_voice_settingsvalidation_error

De steminstellingen bevatten ongeldige waarden. Controleer de eigenschap param op de ongeldige stem- instellingen.

invalid_voice_idvalidation_errorDe indeling van de stem-ID is ongeldig.
unsupported_modelvalidation_errorHet opgegeven model wordt niet ondersteund voor deze bewerking.
invalid_audiovalidation_errorDe opgegeven audio is ongeldig of beschadigd.
invalid_audio_formatvalidation_errorHet opgegeven audioformaat wordt niet ondersteund.
invalid_output_formatvalidation_errorHet opgevraagde uitvoerformaat wordt niet ondersteund.
audio_too_longvalidation_errorDe audio overschrijdt de maximaal toegestane duur.
audio_too_shortvalidation_errorDe audio is korter dan de minimaal vereiste duur.
invalid_file_typevalidation_errorHet bestandstype wordt niet ondersteund.
invalid_page_sizevalidation_errorDe parameter voor de paginagrootte valt buiten het toegestane bereik.
invalid_cursorvalidation_errorDe pagineringscursor is ongeldig of verlopen.
bad_requestinvalid_requestDe server kon het request niet begrijpen.
malformed_jsoninvalid_requestDe requestbody bevat ongeldige JSON.
invalid_content_typeinvalid_requestDe header Content-Type ontbreekt of is ongeldig.
request_too_largeinvalid_requestDe requestbody overschrijdt de maximaal toegestane grootte.
invalid_api_keyauthentication_errorDe opgegeven API-sleutel is ongeldig.
missing_api_keyauthentication_errorEr is geen API-sleutel opgegeven in het request.
invalid_authorization_headerauthentication_errorDe indeling van de Authorization-header is ongeldig.
unauthorizedauthentication_errorAuthenticatie is vereist om toegang te krijgen tot deze resource.
sign_in_requiredauthentication_errorJe moet ingelogd zijn om deze actie uit te voeren.
forbiddenauthorization_errorToegang tot deze resource is verboden.
insufficient_permissionsauthorization_errorJe hebt niet de vereiste rechten voor deze actie.
workspace_access_deniedauthorization_errorJe hebt geen toegang tot deze workspace.
feature_not_availableauthorization_errorDeze functie is niet beschikbaar in je huidige abonnement.
subscription_requiredauthorization_errorEen betaald abonnement is vereist om toegang te krijgen tot deze functie.
voice_access_deniedauthorization_errorJe hebt geen toegang tot deze stem.
model_access_deniedauthorization_errorJe hebt geen toegang tot dit model.
conflictconflictEr is een conflict opgetreden.
resource_already_existsconflictEr bestaat al een resource met dezelfde identifier.
voice_already_existsconflictEr bestaat al een stem met deze naam.
already_runningconflictDe bewerking wordt al uitgevoerd.
already_processingconflictDe resource wordt al verwerkt.
concurrent_modificationconflictDe resource is gewijzigd door een ander request. Probeer het opnieuw met de nieuwste versie.
slug_already_existsconflictEr bestaat al een resource met deze slug.
rate_limit_exceededrate_limit_errorTe veel requests. Wacht voordat je het opnieuw probeert.
concurrent_limit_exceededrate_limit_error

Het maximale aantal gelijktijdige requests is overschreden. Hogere abonnementsniveaus hebben een hogere concurrencylimiet.

system_busyrate_limit_errorHet systeem is momenteel bezig. Probeer het later opnieuw.
insufficient_creditspayment_requiredJe account heeft niet genoeg credits voor deze bewerking.
internal_errorinternal_errorEr is een onverwachte fout opgetreden. Neem contact op met support als dit aanhoudt.
service_unavailableservice_unavailableDe service is tijdelijk niet beschikbaar. Probeer het later opnieuw.
maintenanceservice_unavailableDe service ondergaat gepland onderhoud.