Edycja transkrypcji
Ten przewodnik pokazuje, jak stosować instrukcje edycji w języku naturalnym do zatwierdzonych transkrypcji za pomocą API Realtime Speech to Text.
Poradnik · Zakłada, że masz już za sobą poradnik o streamingu po stronie klienta lub streamingu po stronie serwera.
Omówienie
Edycja transkrypcji to funkcja eksperymentalna, która zwiększa podstawowy koszt transkrypcji o 30%. Opłata jest naliczana za co najmniej 10 sekund audio na każdą zatwierdzoną transkrypcję. Szczegółowe informacje o cenach znajdziesz na stronie cen API.
Transkrypcja w czasie rzeczywistym może stosować instrukcję edycji w języku naturalnym do każdej zatwierdzonej transkrypcji, na przykład aby zapisywać wypowiedziane daty w stałym formacie albo rozwijać skróty i akronimy. Instrukcję przekazujesz raz przy otwieraniu połączenia, a po każdej zatwierdzonej transkrypcji pojawia się osobne zdarzenie edited_transcript z edytowanym tekstem.
Częściowe transkrypcje nigdy nie są edytowane. Zdarzenie committed_transcript również się nie zmienia, więc obecne integracje nadal działają po włączeniu tej funkcji.
Edycji transkrypcji nie można łączyć z entity_detection. Połączenia ustawiające oba parametry
są odrzucane z błędem invalid_request.
Włączanie edycji transkrypcji
Przekaż instrukcję w opcji transcriptEdit podczas łączenia (parametr zapytania transcript_edit w WebSocket API). Instrukcja może mieć do 2000 znaków. Wskazówki dotyczące pisania instrukcji znajdziesz w poradniku edycji transkrypcji wsadowych.
We wszystkich SDK edytowane transkrypcje przychodzą przez zdarzenie RealtimeEvents.EDITED_TRANSCRIPT.
Po stronie klienta
Użyj @elevenlabs/client w przeglądarce z tokenem jednorazowym wydanym przez twój serwer, jak opisano w poradniku streamingu po stronie klienta.
Po stronie serwera
Użyj oficjalnego SDK na serwerze, jak opisano w poradniku streamingu po stronie serwera. Od tego poradnika różnią się tylko opcja i obsługa zdarzenia; wysyłanie audio oraz zamykanie połączenia działają tak samo.
Odbieranie edytowanych transkrypcji
Po włączeniu funkcji po każdej zatwierdzonej transkrypcji pojawia się zdarzenie edited_transcript zawierające zatwierdzony tekst i jego edytowaną wersję:
Warto pamiętać o tym, że:
- Edycje są stosowane do każdego zatwierdzonego segmentu osobno. Zdarzenie
edited_transcriptjest wysyłane krótko po odpowiadającym mu zdarzeniucommitted_transcript, ponieważ edycja działa asynchronicznie. Może nadejść po kolejnej częściowej transkrypcji, a edycje kolejnych segmentów mogą nadejść w innej kolejności. Użyj polatext, aby dopasować edycję do zatwierdzonej transkrypcji. - Jeśli segment nie został zmieniony,
edited_textjest identyczne ztext. - Jeśli nie można utworzyć edycji segmentu, nie jest dla niego wysyłane zdarzenie
edited_transcript. Nie wpływa to na zdarzeniecommitted_transcript. - Znaczniki czasu na poziomie słów w
committed_transcript_with_timestampsopisują oryginalny zatwierdzony tekst, a nie tekst po edycji.