Asynchroniczna zamiana mowy na tekst
Z tego przewodnika dowiesz się, jak używać webhooków do odbierania asynchronicznych powiadomień po ukończeniu zadań transkrypcji.
Przewodnik krok po kroku · Zakłada ukończenie krótkiego wprowadzenia do Speech to Text .
Omówienie
Webhooki pozwalają automatycznie otrzymywać powiadomienia po ukończeniu zadań transkrypcji Speech to Text, więc nie musisz stale odpytywać API o aktualizacje statusu. Jest to szczególnie przydatne przy długich zadaniach transkrypcji lub przetwarzaniu dużej liczby plików audio.
Po ukończeniu transkrypcji ElevenLabs wyśle żądanie POST na wskazany adres URL webhooka wraz z wynikami transkrypcji, w tym tekstem transkrypcji, wykrytym językiem i metadanymi.
Korzystanie z webhooków
Ten przewodnik zakłada, że skonfigurowałeś klucz API i SDK. Jeśli jeszcze tego nie zrobiłeś, najpierw ukończ krótkie wprowadzenie.
Utwórz lub edytuj webhook
W panelu ElevenLabs przejdź do Deweloperzy > Webhooki. Kliknij Utwórz webhook lub edytuj istniejący webhook.

Skonfiguruj webhook:
- Nazwa: Opisowa nazwa webhooka
- Adres URL wywołania zwrotnego: Publicznie dostępny endpoint HTTPS
- Metoda uwierzytelniania webhooka:
HMAClubOAuth. Klient odpowiada za wdrożenie mechanizmu weryfikacji. ElevenLabs wysyła nagłówki umożliwiające weryfikację, ale jej nie wymuszamy. - Zdarzenia: Wybierz Transcription completed.
Dane webhooka
Po ukończeniu transkrypcji endpoint webhooka otrzyma żądanie POST z danymi transkrypcji i webhooka:
Szczegóły struktury odpowiedzi znajdziesz w dokumentacji Speech-to-text API.
Jeśli żądanie zawierało instrukcję transcript_edit, obiekt transcription zawiera też pole edited_transcript z edytowanym tekstem.
Jeśli transkrypcja się nie powiedzie, endpoint otrzyma zdarzenie webhook_error. Nie ma ono obiektu data: zawiera główne pole request_id (ten sam identyfikator, który zwrócono po przyjęciu żądania), error_message oraz webhook_metadata żądania.
Implementacja endpointu webhooka
Oto przykład implementacji endpointu webhooka do obsługi przychodzących powiadomień:
Kwestie bezpieczeństwa
Weryfikacja podpisu
Zawsze weryfikuj podpisy webhooków, aby upewnić się, że żądania pochodzą z ElevenLabs.
Wymaganie HTTPS
Adresy URL webhooków muszą używać HTTPS, aby zapewnić bezpieczne przesyłanie danych transkrypcji.
Ograniczanie liczby żądań
Wdróż ograniczanie liczby żądań na endpointcie webhooka, aby zapobiec nadużyciom:
Odpowiedzi na błędy
Zwróć kod statusu 2xx, aby potwierdzić odbiór webhooka.
Domyślnie webhooki transkrypcji Speech to Text są dostarczane raz. Każda odpowiedź inna niż 2xx jest uznawana za nieudane dostarczenie, a powtarzające się błędy automatycznie wyłączają webhook.
Jeśli włączysz ponawianie prób dla webhooka, nieudane dostarczenia (5xx, 408, 429 lub błędy połączenia) są ponawiane maksymalnie 5 razy: około 30 sekund, 2 minuty, 8 minut, 30 minut i 30 minut po poprzedniej próbie. Inne odpowiedzi 4xx nie są ponawiane. Każda próba dla tego samego zdarzenia zawiera ten sam nagłówek ElevenLabs-Webhook-Delivery-Id, więc handler może ignorować duplikaty.
Żądania z enable_logging ustawionym na false (tryb zerowej retencji) otrzymują maksymalnie 2 szybkie ponowienia — 5 i 30 sekund po poprzedniej próbie — gdy ponawianie jest włączone. Transkrypcja nigdy nie jest zapisywana.
Jeśli dostarczenie nadal się nie powiedzie, pobierz wynik za pomocą Get transcript, używając transcription_id zwróconego po przyjęciu żądania. Transkrypcje nie są przechowywane dla żądań z enable_logging ustawionym na false.
Testowanie webhooków
Lokalny development
Do lokalnych testów użyj narzędzi takich jak ngrok, aby udostępnić lokalny serwer:
Podczas developmentu użyj podanego adresu HTTPS jako endpointu webhooka.
Testowanie webhooka
Możesz przetestować implementację webhooka, wysyłając żądanie transkrypcji i monitorując endpoint: