Referens för Python SDK
Klasser, metoder och händelser för Speech Engine Python SDK.
Den här sidan dokumenterar det offentliga API:et för Python SDK:t för Speech Engine (elevenlabs).
Hämta en Speech Engine-resurs
Hämta en SpeechEngineResource via dess motor-ID. Det returnerade objektet innehåller metoder för att starta en server, verifiera förfrågningar eller skapa enskilda sessioner.
SpeechEngineResource
Egenskaper
serve
Starta en fristående WebSocket-server. Blockerar tills den stoppas.
Inaktivera autentisering
Som standard verifierar serve() rubriken X-Elevenlabs-Speech-Engine-Authorization för varje inkommande anslutning. Om servern ligger bakom ett infrastrukturlager som redan begränsar inkommande trafik till ElevenLabs (vanligtvis en IP-tillåtelselista begränsad till ElevenLabs utgående IP-intervall) kan du hoppa över JWT-verifiering genom att ange disable_auth=True:
När autentisering är inaktiverad accepterar servern alla klienter som kan nå den och visar en UserWarning vid start.
Använd bara disable_auth=True om du har en IP-tillåtelselista, egna rubrikvärden eller en motsvarande
begränsning på nätverksnivå framför servern. Utan en sådan kan vem som helst på internet öppna en
session och förbruka din beräkningskapacitet och LLM-kvot för efterföljande tjänster.
verify_request
Verifiera att en inkommande förfrågan kommer från ElevenLabs Speech Engine API. Kontrollerar rubriken X-Elevenlabs-Speech-Engine-Authorization efter en giltig JWT som signerats med SHA-256-hashen av din API-nyckel.
Behövs bara när du själv hanterar WebSocket-uppgraderingen. När du använder serve() hanteras verifieringen automatiskt (såvida inte disable_auth=True har angetts).
Returnerar: bool — True om förfrågan är giltig.
create_session
Omslut en accepterad WebSocket i en SpeechEngineSession. Använd detta för egen serverintegration (t.ex. FastAPI, Starlette eller manuell WebSocket-hantering).
Returnerar: SpeechEngineSession
SpeechEngineSession
Omsluter en enskild WebSocket-anslutning. Varje anslutning representerar en konversation. Sessionen skickar händelser för transkriptioner och livscykelförändringar samt innehåller metoder för att skicka tillbaka LLM-svar.
När en ny transkription kommer in avbryts den föregående transkriptionshanteraren automatiskt, vilket avbryter pågående LLM-anrop.
Egenskaper
on
Registrera en hanterare för en händelse. Returnerar sessionen för kedjning.
off
Ta bort en tidigare registrerad hanterare.
once
Registrera en hanterare som körs en gång och sedan tar bort sig själv.
send_response
Skicka tillbaka ett LLM-svar till Speech Engine API för talsyntes. Måste anropas inuti en on_transcript-hanterare. Om den anropas utanför en hanterare visas en varning och funktionen returnerar utan att skicka något.
SDK:t identifierar automatiskt och extraherar text från följande LLM-strömformat:
run
Kör mottagningsloopen tills WebSocket-anslutningen stängs. Detta är huvudingångspunkten efter att du har skapat en session manuellt via create_session().
close
Stäng sessionen och den underliggande WebSocket-anslutningen.
Återanrop
Nyckelordsargumenten som skickas till serve(). Alla återanrop är valfria. Hanterare kan vara synkrona eller asynkrona funktioner (koroutiner).
Händelser
När du använder session.on() direkt i stället för återanrop är detta händelsenamnen och deras hanterarsignaturer.
Konstanter för händelsenamn finns tillgängliga för typsäker användning:
ConversationMessage
Ett enskilt meddelande i konversationshistoriken. Hela transkriptionen skickas till on_transcript vid varje tur.
Wire-protokoll
Som referens visas här JSON-meddelandena som utbyts över WebSocket-anslutningen. SDK:t hanterar serialisering och deserialisering automatiskt.