Przejdź do nawigacji

Edycja transkrypcji

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

Przewodnik krok po kroku · Zakłada, że masz 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% doliczaną do podstawowego kosztu transkrypcji. Za każde żądanie naliczamy opłatę za co najmniej 10 sekund audio. Szczegółowe informacje o cenach znajdziesz na stronie cen API .

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

Zastępuje to osobny etap post-processingu 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 transkryptu.

Na przykład transkrypcja wiadomości 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ą oryginalny transkrypt. 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_v2",
# 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 uwzględniany w obiekcie transcription w payloadzie webhooka.

Scribe v2 Realtime obsługuje te same instrukcje dla każdego zatwierdzonego transkryptu. Zobacz przewodnik po edycji transkrypcji w czasie rzeczywistym.

Pisanie instrukcji

Instrukcja jest stosowana do całego transkryptu wszędzie tam, gdzie ma zastosowanie, a każda pasująca instancja jest edytowana — nie tylko pierwsza. Instrukcja może zmienić konkretne słowa lub frazy i pozostawić resztę bez zmian, albo przepisać czy opisać 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ły transkrypt

Niektóre zmiany mają dedykowane parametry, które są tańsze i bardziej przewidywalne niż instrukcja edycji. Użyj promptowania słów kluczowych, aby zwiększyć szansę rozpoznania konkretnych nazw i terminów, no_verbatim, aby usunąć słowa wypełniające i zawahania, oraz numbers_format (tam, gdzie jest obsługiwany), aby wybrać między cyframi a słowami. Edycję transkrypcji zostaw na zmiany, których te opcje nie obejmują.

Podczas pisania instrukcji pamiętaj o tym:

  • Jasno określ oczekiwany wynik. Write all dates in ISO 8601 format (YYYY-MM-DD) działa pewniej niż fix the dates.
  • Instrukcję możesz napisać w dowolnym języku, choć najlepiej działają instrukcje po angielsku. Edytowany transkrypt 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ęść transkryptu, edytowany transkrypt jest identyczny z oryginałem.

Format odpowiedzi

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

kindPolaOpis
transcripttextEdytowany transkrypt. Identyczny z oryginalnym text, gdy nie wprowadzono zmian.
errorerror_type (edit_failed), messageNie udało się utworzyć edycji. Sama transkrypcja zakończyła się powodzeniem, 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 wiedzieć:

  • Edytowany transkrypt to zwykły tekst. Znaczniki czasu na poziomie słów, etykiety mówców i additional_formats nadal opisują oryginalny transkrypt.
  • Edycja uruchamia się po zakończeniu transkrypcji, więc zwiększa opóźnienie wraz z długością transkryptu.
  • Dodatkowa opłata jest naliczana na podstawie czasu trwania audio w żądaniu, przy minimum 10 sekund na żądanie.

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

Kolejne kroki