Fehler

Entdecken Sie Fehlermeldungen und Lösungen.

API-Fehler

ElevenLabs verwendet standardmäßige HTTP-Statuscodes, um den Erfolg oder Fehler einer Anfrage anzuzeigen. Zusätzlich geben alle API-Anfragen ein JSON-Objekt mit einer detail-Eigenschaft zurück, die Informationen über den Fehler enthält.

Im Allgemeinen weist ein HTTP-Statuscode 200 auf eine erfolgreiche Anfrage hin. Ein 4xx-Code weist auf ein Problem mit der Anfrage hin, etwa einen ungültigen Parameter oder ein fehlendes Pflichtfeld. Ein HTTP-Statuscode 500 weist auf ein Problem mit den Servern von ElevenLabs hin, was selten vorkommen sollte.

Fehlereigenschaften

EigenschaftBeschreibung
typeDer aufgetretene Fehlertyp. Mögliche Werte finden Sie in der Tabelle unten.
codeDer Fehlercode. Diese sind spezifischer als der Typ und können zur Bestimmung der Fehlerursache verwendet werden.
messageDie Fehlermeldung. Sie enthält weitere Details zum Fehler.
statusDer Status des Fehlers. Dies ist ein veraltetes Feld, das nicht mehr verwendet wird. Verwenden Sie stattdessen code.
request_idDie Anfrage-ID des Fehlers. Dies ist eine eindeutige Kennung für die Anfrage, die zur Fehlerbehebung verwendet werden kann.
paramDer Parameter, der den Fehler verursacht hat. Bei einem Validierungsfehler zeigt er den ungültigen Parameter an.

Beispiel für eine Fehlerantwort

Hier ist die Antwort für eine API-Anfrage, die eine falsche Modell-ID verwendet hat:

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

Anhand der Fehlereigenschaften sehen wir, dass es sich um einen Validierungsfehler handelt und der Code invalid_parameters lautet. Die Meldung enthält weitere Details zum Fehler, und die request_id ist eine eindeutige Kennung für die Anfrage, die zur Fehlerbehebung verwendet werden kann. Die Eigenschaft param zeigt den Parameter an, der den Fehler verursacht hat.

Fehlerbehandlung im SDK

Die ElevenLabs SDKs bieten typisierte Fehlerklassen, die Ihnen Zugriff auf die Fehlerdetails geben.

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

Ratenbegrenzung und Parallelität

Wenn Sie einen HTTP-Statuscode 429 erhalten, haben Sie entweder in kurzer Zeit zu viele Anfragen gestellt und das Ratenlimit für den API-Endpunkt überschritten oder das Parallelitätslimit für den API-Endpunkt überschritten. Der Fehler-code lautet entsprechend rate_limit_exceeded oder concurrent_limit_exceeded.

Bei einer Ratenbegrenzung sollten Sie bei einem 429-Fehler in Ihrem Code exponentielles Backoff implementieren. Das bedeutet, vor dem erneuten Versuch der Anfrage eine Verzögerung hinzuzufügen.

Bei Parallelität sollten Sie warten, bis die aktuellen Anfragen abgeschlossen sind, bevor Sie neue stellen. Weitere Informationen finden Sie im Abschnitt Parallelität und Priorität.

Fehlertypen

Ein Fehler enthält eine type-Eigenschaft, die den aufgetretenen Fehlertyp angibt. Mögliche Werte finden Sie in der Tabelle unten.

TypBeschreibungHTTP-Statuscode
validation_errorDie Anfrage enthält ungültige Parameterwerte.400
invalid_requestDie Anfragestruktur ist fehlerhaft oder Pflichtfelder fehlen.400
authentication_errorAuthentifizierung fehlgeschlagen – ungültiger oder fehlender API-Schlüssel/Token.401
payment_requiredDer Benutzer hat nicht genügend Credits oder eine Zahlung ist erforderlich.402
authorization_errorDer authentifizierte Benutzer hat nicht die erforderlichen Berechtigungen für diese Aktion.403
not_foundDie angeforderte Ressource wurde nicht gefunden.404
conflictDie Anfrage steht im Konflikt mit dem aktuellen Zustand der Ressource.409
rate_limit_errorZu viele Anfragen – versuchen Sie es später erneut.429
internal_errorEin unerwarteter Serverfehler ist aufgetreten.500
service_unavailableDer Dienst ist vorübergehend nicht verfügbar. Dies sollte selten vorkommen.503

Fehlercodes

CodeTypBeschreibung
voice_not_foundnot_foundDie angegebene Stimmen-ID existiert nicht. Überprüfen Sie die Stimmen-ID und versuchen Sie es erneut.
sample_not_foundnot_foundDas angegebene Stimmen-Sample wurde nicht gefunden.
voice_collection_not_foundnot_foundDie angegebene Stimmensammlung existiert nicht.
user_not_foundnot_foundDer angegebene Benutzer wurde nicht gefunden.
auth_account_not_foundnot_foundDas Authentifizierungskonto wurde nicht gefunden.
workspace_not_foundnot_foundDer angegebene Workspace existiert nicht.
project_not_foundnot_foundDas angegebene Projekt wurde nicht gefunden.
history_item_not_foundnot_foundDas angegebene Verlaufselement existiert nicht.
collection_not_foundnot_foundDie angegebene Sammlung wurde nicht gefunden.
document_not_foundnot_foundDas angegebene Dokument existiert nicht.
file_not_foundnot_foundDie angegebene Datei wurde nicht gefunden.
conversation_not_foundnot_foundDie angegebene Unterhaltung existiert nicht.
agent_not_foundnot_foundDer angegebene Agent wurde nicht gefunden.
dubbing_not_foundnot_foundDas angegebene Synchronisationsprojekt existiert nicht.
song_not_foundnot_foundDer angegebene Song wurde nicht gefunden.
read_not_foundnot_foundDer angegebene Read wurde nicht gefunden.
pronunciation_dictionary_not_foundnot_foundDas angegebene Aussprachewörterbuch existiert nicht.
knowledge_base_not_foundnot_foundDie angegebene Wissensdatenbank wurde nicht gefunden.
phone_number_not_foundnot_foundDie angegebene Telefonnummer existiert nicht.
tool_not_foundnot_foundDas angegebene Tool wurde nicht gefunden.
snapshot_not_foundnot_foundDer angegebene Snapshot existiert nicht.
task_not_foundnot_foundDie angegebene Aufgabe wurde nicht gefunden.
model_not_foundnot_foundDas angegebene Modell existiert nicht.
transcript_not_foundnot_foundDas angegebene Transkript wurde nicht gefunden.
keywords_list_not_foundnot_foundDie angegebene Keyword-Liste wurde nicht gefunden.
category_not_foundnot_foundDie angegebene Kategorie wurde nicht gefunden.
text_too_longvalidation_errorDer bereitgestellte Text überschreitet die maximal zulässige Länge.
text_too_shortvalidation_errorDer bereitgestellte Text ist kürzer als die erforderliche Mindestlänge.
invalid_textvalidation_errorDer bereitgestellte Text enthält ungültige Zeichen oder Formatierungen.
empty_textvalidation_errorDas Textfeld darf nicht leer sein.
invalid_parametersvalidation_error

Ein oder mehrere Anfrageparameter sind ungültig. Prüfen Sie die Eigenschaft param auf den ungültigen Parameter.

missing_required_fieldvalidation_error

Ein Pflichtfeld fehlt in der Anfrage. Prüfen Sie die Eigenschaft param auf das fehlende Feld.

invalid_voice_settingsvalidation_error

Die Stimmeneinstellungen enthalten ungültige Werte. Prüfen Sie die Eigenschaft param auf die ungültigen Stimmen- einstellungen.

invalid_voice_idvalidation_errorDas Format der Stimmen-ID ist ungültig.
unsupported_modelvalidation_errorDas angegebene Modell wird für diesen Vorgang nicht unterstützt.
invalid_audiovalidation_errorDas bereitgestellte Audio ist ungültig oder beschädigt.
invalid_audio_formatvalidation_errorDas angegebene Audioformat wird nicht unterstützt.
invalid_output_formatvalidation_errorDas angeforderte Ausgabeformat wird nicht unterstützt.
audio_too_longvalidation_errorDas Audio überschreitet die maximal zulässige Dauer.
audio_too_shortvalidation_errorDas Audio ist kürzer als die erforderliche Mindestdauer.
invalid_file_typevalidation_errorDer Dateityp wird nicht unterstützt.
invalid_page_sizevalidation_errorDer Parameter für die Seitengröße liegt außerhalb des zulässigen Bereichs.
invalid_cursorvalidation_errorDer Paginierungs-Cursor ist ungültig oder abgelaufen.
bad_requestinvalid_requestDer Server konnte die Anfrage nicht verstehen.
malformed_jsoninvalid_requestDer Anfrage-Body enthält ungültiges JSON.
invalid_content_typeinvalid_requestDer Content-Type-Header fehlt oder ist ungültig.
request_too_largeinvalid_requestDer Anfrage-Body überschreitet die maximal zulässige Größe.
invalid_api_keyauthentication_errorDer bereitgestellte API-Schlüssel ist ungültig.
missing_api_keyauthentication_errorIn der Anfrage wurde kein API-Schlüssel bereitgestellt.
invalid_authorization_headerauthentication_errorDas Format des Authorization-Headers ist ungültig.
unauthorizedauthentication_errorFür den Zugriff auf diese Ressource ist eine Authentifizierung erforderlich.
sign_in_requiredauthentication_errorSie müssen angemeldet sein, um diese Aktion auszuführen.
forbiddenauthorization_errorDer Zugriff auf diese Ressource ist untersagt.
insufficient_permissionsauthorization_errorSie haben nicht die erforderlichen Berechtigungen für diese Aktion.
workspace_access_deniedauthorization_errorSie haben keinen Zugriff auf diesen Workspace.
feature_not_availableauthorization_errorDiese Funktion ist in Ihrem aktuellen Tarif nicht verfügbar.
subscription_requiredauthorization_errorFür den Zugriff auf diese Funktion ist ein kostenpflichtiges Abonnement erforderlich.
voice_access_deniedauthorization_errorSie haben keinen Zugriff auf diese Stimme.
model_access_deniedauthorization_errorSie haben keinen Zugriff auf dieses Modell.
conflictconflictEs ist ein Konflikt aufgetreten.
resource_already_existsconflictEine Ressource mit derselben Kennung existiert bereits.
voice_already_existsconflictEine Stimme mit diesem Namen existiert bereits.
already_runningconflictDer Vorgang wird bereits ausgeführt.
already_processingconflictDie Ressource wird bereits verarbeitet.
concurrent_modificationconflictDie Ressource wurde durch eine andere Anfrage geändert. Wiederholen Sie den Versuch mit der neuesten Version.
slug_already_existsconflictEine Ressource mit diesem Slug existiert bereits.
rate_limit_exceededrate_limit_errorZu viele Anfragen. Warten Sie, bevor Sie es erneut versuchen.
concurrent_limit_exceededrate_limit_error

Die maximale Anzahl paralleler Anfragen wurde überschritten. Höhere Abonnementstufen haben ein höheres Parallelitätslimit.

system_busyrate_limit_errorDas System ist derzeit ausgelastet. Versuchen Sie es später erneut.
insufficient_creditspayment_requiredIhr Konto verfügt nicht über genügend Credits für diesen Vorgang.
internal_errorinternal_errorEin unerwarteter Fehler ist aufgetreten. Wenden Sie sich an den Support, wenn das Problem weiterhin besteht.
service_unavailableservice_unavailableDer Dienst ist vorübergehend nicht verfügbar. Versuchen Sie es später erneut.
maintenanceservice_unavailableDer Dienst wird planmäßig gewartet.