Przejdź do nawigacji

Edycja transkrypcji

Ten przewodnik pokazuje, jak edytować transkrypcje za pomocą instrukcji w języku naturalnym i API Speech to Text.

Przewodnik krok po kroku · Zakłada, że masz już za sobą krótki przewodnik po Speech to Text .

Omówienie

Edycja transkrypcji to funkcja eksperymentalna, która wiąże się z dodatkową opłatą 30% ponad podstawowy koszt transkrypcji. Opłata jest naliczana za co najmniej 10 sekund audio na żądanie. Szczegółowe informacje znajdziesz na stronie cen API.

Edycja transkrypcji pozwala dołączyć instrukcję w języku naturalnym do żądania transkrypcji. Po przetranskrybowaniu audio instrukcja jest stosowana do transkrypcji, a edytowany tekst jest zwracany obok oryginału.

Zastępuje to osobny etap postprocessingu w twoim pipeline. Typowe zastosowania to ujednolicanie zapisu dat, godzin lub jednostek, rozwijanie skrótów, usuwanie niepotrzebnych treści, stosowanie innego stylu lub tonu albo formatowanie transkrypcji.

Na przykład transkrypcja poczty głosowej z instrukcją Write all dates in ISO 8601 format (YYYY-MM-DD) zwraca obie wersje tekstu:

{
"language_code": "eng",
"language_probability": 0.9912,
"text": "Hi, this is Jill. Your appointment is confirmed for the twelfth of July twenty twenty-six, and the follow-up is on the third of August.",
"words": [
{ "text": "Hi,", "start": 0.12, "end": 0.38, "type": "word", "logprob": 0.0 },
{ "text": " ", "start": 0.38, "end": 0.41, "type": "spacing", "logprob": 0.0 },
{ "text": "this", "start": 0.41, "end": 0.55, "type": "word", "logprob": 0.0 },
...
],
"transcription_id": "Y2ZX8AxHUzTPCIualYiE",
"edited_transcript": {
"kind": "transcript",
"text": "Hi, this is Jill. Your appointment is confirmed for 2026-07-12, and the follow-up is on 2026-08-03."
}
}

Pola text i words zawsze opisują oryginalną transkrypcję. Edytowana wersja jest zwracana osobno w edited_transcript.

Integracja edycji transkrypcji

Edycja transkrypcji jest zintegrowana z API Speech to Text przez przekazanie parametru transcript_edit do metody convert. Instrukcja może mieć do 2000 znaków.

import os
from dotenv import load_dotenv
from elevenlabs.client import ElevenLabs
load_dotenv()
elevenlabs = ElevenLabs(
api_key=os.getenv("ELEVENLABS_API_KEY"),
)
with open("voicemail.mp3", "rb") as audio_file:
transcription = elevenlabs.speech_to_text.convert(
file=audio_file,
model_id="scribe_v3",
# Natural-language instruction applied to the finished transcript.
transcript_edit="Write all dates in ISO 8601 format (YYYY-MM-DD)",
)
print("Original:", transcription.text)
print("Edited:", transcription.edited_transcript)

Edycja transkrypcji działa zarówno z żądaniami synchronicznymi, jak i żądaniami webhook. W przypadku żądań webhook edited_transcript jest zawarty w obiekcie transcription w danych webhooka.

Scribe v3 Live i Scribe v2 Realtime obsługują te same instrukcje dla każdej zatwierdzonej transkrypcji. Zobacz przewodnik po edycji transkrypcji w czasie rzeczywistym.

Pisanie instrukcji

Instrukcja jest stosowana do całej transkrypcji wszędzie tam, gdzie jest istotna, a każda pasująca część jest edytowana, nie tylko pierwsza. Instrukcja może zmieniać konkretne słowa lub frazy i pozostawiać resztę bez zmian albo przepisywać czy opatrywać komentarzem cały tekst. Jedna instrukcja może łączyć kilka zmian.

Poniższe przykłady pokazują zakres obsługiwanych instrukcji:

InstrukcjaEfekt
Write all dates in ISO 8601 format (YYYY-MM-DD)the twelfth of July twenty twenty-six zmienia się w 2026-07-12
Write times in 24-hour formathalf past two in the afternoon zmienia się w 14:30
Expand abbreviations such as "ETA" and "ASAP" on first useETA zmienia się w estimated time of arrival (ETA)
Add the sentiment of every sentence in brackets at the end. Choose from [positive, negative, neutral]Thanks, that was really helpful. zmienia się w Thanks, that was really helpful. [positive]
Redact every curse word with its first letter followed by stars, e.g. s***That was a damn good call. zmienia się w That was a d*** good call.
Format the transcript as a bulleted list, one sentence per bulletFormatuje całą transkrypcję

Niektóre poprawki mają dedykowane parametry, które są tańsze i bardziej przewidywalne niż instrukcja edycji. Użyj promptowania kluczowymi terminami, aby zwiększyć rozpoznawanie konkretnych nazw i terminów, no_verbatim, aby usunąć wypełniacze i niepłynności, oraz numbers_format (Scribe v3), aby wybrać między cyframi a słowami. Edycję transkrypcji zostaw dla zmian, których te opcje nie obejmują.

Podczas pisania instrukcji pamiętaj o poniższych zasadach:

  • Jasno określ oczekiwany wynik. Write all dates in ISO 8601 format (YYYY-MM-DD) jest bardziej niezawodne niż fix the dates.
  • Instrukcję można napisać w dowolnym języku, choć najlepiej działają instrukcje po angielsku. Edytowana transkrypcja pozostaje w języku oryginału.
  • Wykonywana jest tylko instrukcja. Treść wypowiedziana w audio jest traktowana jako dane i nie może zmienić sposobu zastosowania instrukcji.
  • Jeśli instrukcja nie wpływa na żadną część transkrypcji, edytowana transkrypcja jest identyczna z oryginałem.

Format odpowiedzi

Gdy ustawiono transcript_edit, odpowiedź zawiera obiekt edited_transcript. Pole kind wskazuje, czy edycja się powiodła:

kindPolaOpis
transcripttextEdytowana transkrypcja. Identyczna z oryginalnym text, gdy nie wprowadzono zmian.
errorerror_type (edit_failed), messageNie udało się utworzyć edycji. Transkrypcja się powiodła, a oryginalny text nadal jest zwracany.

Pola nie ma, gdy nie zażądano transcript_edit.

Nieudana edycja
{
"text": "Hi, this is Jill. Your appointment is confirmed for ...",
"edited_transcript": {
"kind": "error",
"error_type": "edit_failed",
"message": "The transcript could not be edited. Please try again."
}
}

Warto pamiętać o tym zachowaniu:

  • Edytowana transkrypcja to zwykły tekst. Znaczniki czasu na poziomie słów, etykiety mówców i additional_formats nadal opisują oryginalną transkrypcję.
  • Edycja jest uruchamiana po zakończeniu transkrypcji, więc zwiększa opóźnienie wraz z długością transkrypcji.
  • Dopłata jest naliczana od długości audio w żądaniu, przy minimum 10 sekund rozliczanych na żądanie.

Edycji transkrypcji nie można łączyć z entity_detection, entity_redaction ani use_multi_channel. Żądania, które je łączą, są odrzucane z błędem nieprawidłowych parametrów.

Kolejne kroki