Python SDK-Referenz
Python SDK-Referenz
Klassen, Methoden und Ereignisse für das Speech Engine Python SDK.
Diese Seite dokumentiert die öffentliche API für das Speech Engine Python SDK (elevenlabs).
Speech Engine-Ressource abrufen
Rufen Sie eine SpeechEngineResource über ihre Engine-ID ab. Das zurückgegebene Objekt bietet Methoden zum Starten eines Servers, zum Verifizieren von Anfragen oder zum Erstellen einzelner Sitzungen.
SpeechEngineResource
Eigenschaften
serve
Startet einen eigenständigen WebSocket-Server. Blockiert bis zum Beenden.
Authentifizierung deaktivieren
Standardmäßig verifiziert serve() bei jeder eingehenden Verbindung den Header X-Elevenlabs-Speech-Engine-Authorization. Wenn Ihr Server hinter einer Infrastrukturschicht liegt, die eingehenden Datenverkehr bereits auf ElevenLabs beschränkt (in der Regel eine IP-Zulassungsliste für die Egress-Bereiche von ElevenLabs), können Sie die JWT-Verifizierung überspringen, indem Sie disable_auth=True übergeben:
Wenn die Authentifizierung deaktiviert ist, akzeptiert der Server jeden Client, der ihn erreichen kann, und gibt beim Start eine UserWarning aus.
Verwenden Sie disable_auth=True nur, wenn sich vor dem Server eine IP-Zulassungsliste, benutzerdefinierte Header-Werte oder eine gleichwertige
Einschränkung auf Netzwerkebene befindet. Ohne diese kann jeder im Internet eine
Sitzung öffnen und Ihre Rechenkapazität sowie Ihr nachgelagertes LLM-Kontingent verbrauchen.
verify_request
Verifiziert, dass eine eingehende Anfrage von der ElevenLabs Speech Engine API stammt. Prüft den Header X-Elevenlabs-Speech-Engine-Authorization auf ein gültiges JWT, das mit dem SHA-256-Hash Ihres API-Schlüssels signiert ist.
Nur erforderlich, wenn Sie das WebSocket-Upgrade selbst verwalten. Bei Verwendung von serve() wird die Verifizierung automatisch durchgeführt (außer wenn disable_auth=True gesetzt ist).
Rückgabe: bool — True, wenn die Anfrage gültig ist.
create_session
Kapselt eine akzeptierte WebSocket-Verbindung in einer SpeechEngineSession. Verwenden Sie dies für die Integration in benutzerdefinierte Server (z. B. FastAPI, Starlette oder manuelle WebSocket-Verarbeitung).
Rückgabe: SpeechEngineSession
SpeechEngineSession
Kapselt eine einzelne WebSocket-Verbindung. Jede Verbindung repräsentiert eine Unterhaltung. Die Sitzung sendet Ereignisse für Transkripte und Lebenszyklusänderungen und bietet Methoden, um LLM-Antworten zurückzusenden.
Wenn ein neues Transkript eintrifft, wird der vorherige Transkript-Handler automatisch abgebrochen. Dadurch wird ein laufender LLM-Aufruf unterbrochen.
Eigenschaften
on
Registriert einen Handler für ein Ereignis. Gibt die Sitzung für Verkettungen zurück.
off
Entfernt einen zuvor registrierten Handler.
once
Registriert einen Handler, der einmal ausgeführt wird und sich dann selbst entfernt.
send_response
Sendet eine LLM-Antwort zur Text-to-Speech-Synthese an die Speech Engine API zurück. Muss innerhalb eines on_transcript-Handlers aufgerufen werden. Ein Aufruf außerhalb eines Handlers gibt eine Warnung aus und kehrt zurück, ohne etwas zu senden.
Das SDK erkennt automatisch Text aus den folgenden LLM-Stream-Formaten und extrahiert ihn:
run
Führt die Empfangsschleife aus, bis die WebSocket-Verbindung geschlossen wird. Dies ist der Haupteinstiegspunkt, nachdem Sie eine Sitzung manuell über create_session() erstellt haben.
close
Schließt die Sitzung und die zugrunde liegende WebSocket-Verbindung.
Callbacks
Die an serve() übergebenen Keyword-Argumente. Alle Callbacks sind optional. Handler können synchrone oder asynchrone (Coroutine-)Funktionen sein.
Ereignisse
Wenn Sie session.on() direkt statt Callbacks verwenden, finden Sie hier die Ereignisnamen und die Signaturen ihrer Handler.
Konstanten für Ereignisnamen sind zur typsicheren Verwendung verfügbar:
ConversationMessage
Eine einzelne Nachricht im Unterhaltungsverlauf. Das vollständige Transkript wird bei jeder Runde an on_transcript übergeben.
Wire-Protokoll
Zur Referenz: Dies sind die JSON-Nachrichten, die über die WebSocket-Verbindung ausgetauscht werden. Das SDK übernimmt Serialisierung und Deserialisierung automatisch.