Asynkron Speech to Text
Den här guiden visar hur du använder webhooks för att få asynkrona aviseringar när transkriberingsuppgifter är klara.
Guide · Förutsätter att du har slutfört snabbstartsguiden för Speech to Text .
Översikt
Med webhooks kan du få automatiska aviseringar när dina transkriberingsuppgifter i Speech to Text är klara, så att du slipper kontinuerligt fråga API:t efter statusuppdateringar. Det är särskilt användbart för långvariga transkriberingsjobb eller när du bearbetar stora mängder ljudfiler.
När en transkribering är klar skickar ElevenLabs en POST-begäran till den webhook-URL du har angett med transkriberingsresultaten, inklusive transkriptionstexten, språkidentifiering och metadata.
Använda webhooks
Den här guiden förutsätter att du har konfigurerat din API-nyckel och SDK. Slutför snabbstartsguiden först om du inte redan har gjort det.
Skapa eller redigera en webhook
Gå till Developers > Webhooks i ElevenLabs-kontrollpanelen. Klicka på Create webhook eller redigera en befintlig webhook.

Konfigurera webhooken med:
- Name: Ett beskrivande namn för din webhook
- Callback URL: Din offentligt tillgängliga HTTPS-slutpunkt
- Webhook Auth Method: Antingen
HMACellerOAuth. Det är upp till klienten att implementera verifieringsmekanismen. ElevenLabs skickar headers som möjliggör verifiering, men vi kräver inte det. - Events: Välj Transcription completed.
Webhook-payload
När en transkribering är klar får din webhook-slutpunkt en POST-begäran med transkriberings- och webhookdata:
Se Speech-to-text API-referensen för mer information om svarsstrukturens detaljer.
Om begäran innehöll en transcript_edit-instruktion innehåller objektet transcription även fältet edited_transcript med den redigerade texten.
Om transkriberingen misslyckas får din slutpunkt i stället händelsen webhook_error. Den har inget data-objekt: den innehåller ett request_id på toppnivå (samma id som returnerades när begäran godkändes), ett error_message och begärans webhook_metadata.
Implementera din webhook-slutpunkt
Här är ett exempel på hur du implementerar en webhook-slutpunkt för att hantera inkommande aviseringar:
Säkerhetsaspekter
Signaturverifiering
Verifiera alltid webhook-signaturer för att säkerställa att begäranden kommer från ElevenLabs.
HTTPS-krav
Webhook-URL:er måste använda HTTPS för att säkerställa säker överföring av transkriberingsdata.
Hastighetsbegränsning
Implementera hastighetsbegränsning på din webhook-slutpunkt för att förhindra missbruk:
Felrespons
Returnera en 2xx-statuskod för att bekräfta webhooken.
Som standard levereras Speech to Text-transkriberingswebhooks en gång. Varje svar som inte är 2xx räknas som en misslyckad leverans, och upprepade fel inaktiverar webhooken automatiskt.
Om du aktiverar återförsök för webhooken försöker systemet igen med misslyckade leveranser (5xx, 408, 429 eller anslutningsfel) upp till 5 gånger till, ungefär 30 sekunder, 2 minuter, 8 minuter, 30 minuter och 30 minuter efter föregående försök. Andra 4xx-svar försöker systemet inte igen med. Varje försök för samma händelse har samma header ElevenLabs-Webhook-Delivery-Id, så din hanterare kan ignorera dubbletter.
Begäranden där enable_logging är satt till false (läge utan lagring) får upp till 2 snabba återförsök, 5 sekunder och 30 sekunder efter föregående försök, när återförsök är aktiverade. Transkriptionen lagras aldrig.
Om en leverans fortfarande misslyckas hämtar du resultatet med Get transcript och använder transcription_id som returnerades när begäran godkändes. Transkriptioner lagras inte för begäranden där enable_logging är satt till false.
Testa webhooks
Lokal utveckling
För lokal testning kan du använda verktyg som ngrok för att exponera din lokala server:
Använd den angivna HTTPS-URL:en som webhook-slutpunkt under utvecklingen.
Webhook-testning
Du kan testa din webhook-implementering genom att göra en transkriberingsbegäran och övervaka din slutpunkt: