ナビゲーションにスキップ

文字起こし編集

このガイドでは、スピーチtoテキストAPIで自然言語の指示を使用して文字起こしを編集する方法をご紹介します。

ハウツーガイド · スピーチtoテキストの クイックスタートを完了していることを前提としています。

概要

トランスクリプト編集は実験的な機能で、基本の文字起こし料金に加えて30%の追加料金がかかります。リクエストごとに最低10秒分のオーディオ料金が請求されます。詳しい料金については、API 料金ページ をご覧ください。

トランスクリプト編集では、自然言語の指示を文字起こしリクエストに追加できます。オーディオの文字起こし後、その指示がトランスクリプトに適用され、編集済みテキストが元のテキストとともに返されます。

これにより、独自のパイプラインで別途後処理を行う必要がなくなります。一般的な用途には、日付、時刻、単位の表記統一、略語の展開、不要なコンテンツの削除、別のスタイルやトーンの適用、トランスクリプトの再フォーマットなどがあります。

たとえば、Write all dates in ISO 8601 format (YYYY-MM-DD)という指示でボイスメールを文字起こしすると、両方のバージョンのテキストが返されます。

{
"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."
}
}

textフィールドとwordsフィールドは常に元のトランスクリプトを示します。編集済みバージョンはedited_transcriptとして別途返されます。

トランスクリプト編集の統合

トランスクリプト編集は、convertメソッドにtranscript_editパラメータを渡すことで、スピーチtoテキストAPIに統合できます。指示は最大2000文字まで指定できます。

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)

トランスクリプト編集は、同期リクエストとWebhookリクエストの両方で利用できます。Webhookリクエストでは、edited_transcriptがWebhookペイロードのtranscriptionオブジェクトに含まれます。

Scribe v2 Realtimeでは、コミットされた各トランスクリプトに同じ指示を適用できます。詳細はリアルタイムトランスクリプト編集ガイドをご覧ください。

指示の書き方

指示は関連する箇所すべてに対してトランスクリプト全体に適用され、最初の一致箇所だけでなく、すべての一致箇所が編集されます。特定の単語やフレーズだけを変更して他はそのままにすることも、テキスト全体を書き換えたり注釈を追加したりすることもできます。1つの指示に複数の編集を組み合わせることも可能です。

以下の例は、対応している指示の幅を示しています。

指示効果
Write all dates in ISO 8601 format (YYYY-MM-DD)the twelfth of July twenty twenty-sixが2026-07-12になる
Write times in 24-hour formathalf past two in the afternoonが14:30になる
Expand abbreviations such as "ETA" and "ASAP" on first useETAが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.が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.がThat was a d*** good call.になる
Format the transcript as a bulleted list, one sentence per bulletトランスクリプト全体を再フォーマットします

一部の調整には、編集指示よりも低コストで予測しやすい専用パラメータがあります。特定の名前や用語の認識精度を高めるにはキーターム プロンプティングを使用し、フィラー語や 非流暢な発話を削除するにはno_verbatimを、数字と単語のどちらを使用するか選ぶには(対応している場合)numbers_formatを使用してください。 これらのオプションで対応できない変更にのみ、トランスクリプト編集を使用してください。

指示を作成する際は、以下に注意してください。

  • 望む出力を明確に指定してください。Write all dates in ISO 8601 format (YYYY-MM-DD)の方がfix the datesより信頼性が高くなります。
  • 指示はどの言語でも記述できますが、英語で書かれた指示が最も効果的です。編集済みトランスクリプトは元の言語のままです。
  • 実行されるのは指示だけです。オーディオ内で話された内容はデータとして扱われ、指示の適用方法を変更することはできません。
  • 指示の影響を受ける内容がトランスクリプト内にない場合、編集済みトランスクリプトは元のものと同一です。

レスポンス形式

transcript_editが設定されている場合、レスポンスにはedited_transcriptオブジェクトが含まれます。そのkindフィールドは編集が成功したかどうかを示します。

kindフィールド説明
transcripttext編集済みトランスクリプト。編集が行われなかった場合は元のtextと同一です。
errorerror_type(edit_failed)、message編集を生成できませんでした。文字起こし自体は成功しており、元のtextは引き続き返されます。

transcript_editがリクエストされていない場合、このフィールドは存在しません。

編集に失敗
{
"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."
}
}

注意が必要な動作:

  • 編集済みトランスクリプトはプレーンテキストです。単語レベルのタイムスタンプ、話者ラベル、additional_formatsは引き続き元のトランスクリプトを示します。
  • 編集は文字起こしの完了後に実行されるため、トランスクリプトの長さに応じてレイテンシーが増加します。
  • 追加料金はリクエストのオーディオ時間に適用され、リクエストごとに最低10秒分が請求されます。

トランスクリプト編集は、entity_detection、entity_redaction、 use_multi_channelと組み合わせることはできません。これらを組み合わせたリクエストは、無効なパラメータエラーで拒否されます。

次のステップ