mcpField
E
elevenlabs-scribe

elevenlabs-scribe

github.com/calesthioクリエイティブ・メディア219103 回インストール15 週間前に更新
リポジトリ

elevenlabs-scribe について

ElevenLabs Scribeを使うメディア制作向けの音声認識スキルです。既存の音声・動画から、字幕や編集準備、内容確認に使えるタイミング情報と話者情報付きのテキストを作成します。

主な機能

  1. 01音声・動画の一括文字起こし
  2. 02単語単位のタイムスタンプ
  3. 03話者分離とマルチチャンネル処理
  4. 04音声イベントのタグ付け
  5. 05エンティティ検出と文字起こしのマスキング
  6. 06字幕・編集素材の準備

活用シーン

  1. 01ポッドキャストの話者別インタビューログ作成
  2. 02字幕案の作成と編集箇所の特定
  3. 03録音内の個人情報や機微情報の確認

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/calesthio/generative-media-skills --skill elevenlabs-scribe

インストール後、Claude Code で/elevenlabs-scribeを入力して読み込まれたか確認します。

同梱ファイルEVAL.md

詳細

ElevenLabs Scribe 音声テキスト変換

メディア制作の作業で、文字起こし、字幕のタイミング調整、話者ラベル付きのインタビューログ、ポッドキャストの編集準備、アクセシビリティ対応の字幕、ローカライズへの引き継ぎ、通話・インタビューの分析、文字起こしの整形に ElevenLabs Speech to Text(Scribe)が必要な場合は、このスキルを使用してください。テキスト読み上げ、吹き替え、音声クローン、翻訳のスキルとしては使用しないでください。Scribe は既存の音声・動画からテキスト、タイミング、メタデータを生成します。吹き替えまたは TTS のスキルは、文字起こしの確認が完了し、ユーザーが元データを変換する権利を有する場合にのみ使用してください。

以下の変動する情報は、2026-07-10 に ElevenLabs の公式ドキュメントで確認済みです。稼働中の API を使用する場合、取り消せない本番作業に入る前に、モデル名、制限、料金、データ保管場所のエンドポイント、保持オプションを再確認してください。

ソースに基づく情報

現行モデルと適合する用途
  • バッチ処理やファイルの文字起こしには scribe_v2 を使用してください。ElevenLabs のドキュメントによると、Scribe v2 は 90 以上の言語、単語レベルのタイムスタンプ、最大 32 人の話者のダイアライゼーション、動的な音声タグ付け、キータームのプロンプト指定、エンティティ検出、スマート言語検出に対応しています。
  • scribe_v2_realtime は、エージェント、ライブ会議、インタラクティブなモニタリングなど、ライブストリーミングの用途にのみ使用してください。これは WebSocket ベースの STT サービスであり、完成したファイルからポストプロダクション用の字幕を作成する通常の方法ではありません。
  • 新規作業では scribe_v1 を廃止済み、または安全に使用できないものとして扱ってください。確認時点では API スキーマに scribe_v1 が許可値として記載されていましたが、公式変更履歴では 2026-07-09 に Scribe v1 を削除すると発表されています。scribe_v2 を優先し、Scribe v1 への依存がある場合は移行上の問題として報告してください。
入力、出力、リクエストの形式

バッチエンドポイント:POST https://api.elevenlabs.io/v1/speech-to-text(マルチパートフォームデータを使用)。

入力:

  • ファイル入力のパスまたは URL ソースを正確に 1 つ指定します。現在の API リファレンスでは、file によるアップロードと source_url が記載されています。cloud_storage_url は非推奨で、source_url に置き換えられています。
  • 音声ファイルと動画ファイルを受け付けます。公式ドキュメントには、AAC、AIFF、OGG、MP3、OPUS、WAV、FLAC、M4A、WebM などの一般的な音声形式と、MP4、AVI、MKV、MOV、WMV、FLV、WebM、MPEG、3GPP などの一般的な動画形式が記載されています。
  • ファイルサイズについて、ドキュメント間に矛盾があります。API リファレンスではアップロードするファイルは 5.0 GB 未満とされていますが、概要/主要情報のページでは最大 3 GB とされています。本番環境の計画では、現在の API テストまたはアカウントのドキュメントでより大きな上限が確認できない限り、事前チェックの保守的な上限として 3 GB を使用してください。
  • 長さ/マルチチャンネルについて、ドキュメント間に矛盾があります。概要の FAQ では標準モードの上限は 10 時間、マルチチャンネルの合計時間は 10 時間未満とされていますが、主要情報ではマルチチャンネルの最大時間は 1 時間とされています。無人の本番環境では、マルチチャンネルの保守的な計画上限として 1 時間を使用し、それを超えるファイルは分割してください。

主なレスポンスフィールド:

  • language_code、language_probability、text、words。
  • words[] のエントリには、指定したオプションに応じて text、start、end、type、speaker_id、characters、logprob が含まれる場合があります。
  • 単語の種類には、word、spacing、audio_event があります。イベントタグ付けが有効な場合、audio_event は笑い声や拍手などの非音声を表します。

便利なパラメーター:

  • model_id="scribe_v2"。
  • language_code:ISO-639-1 または ISO-639-3。言語が既知で安定している場合は指定し、そうでない場合は自動検出を利用します。
  • timestamps_granularity:デフォルトは word です。character は単語ごとに文字単位のタイミングを返します。none はタイミングの詳細を減らすため、字幕、編集決定リスト、マルチチャンネルの統合出力には使用しないでください。
  • tag_audio_events:デフォルトは true です。笑い声、拍手、足音などのイベントが重要なポッドキャスト、ドキュメンタリー、アクセシビリティ、編集メモに使用します。後続の成果物を純粋な発話テキストにする必要がある場合にのみ無効にしてください。
  • diarize:デフォルトは false です。話者ラベルが役立つ、複数話者が含まれるモノラル録音では true に設定します。
  • num_speakers:任意の話者数のヒントで、最大値は 1~32 です。話者数がわかっている場合に使用します。不確かな場合は省略し、品質保証を通じて調整してください。
  • diarization_threshold:任意の値で、範囲は 0.1~0.4 です。diarize=true かつ num_speakers が未設定の場合にのみ使用します。値を大きくすると話者が統合されやすくなり、小さくすると分割されやすくなります。デフォルト値はモデルが選択し、通常は 0.22 前後です。
  • keyterms:製品名、人名、専門用語、ブランド、URL、頭字語、固有名詞を優先して文字起こしします。バッチの Scribe v2 では最大 1000 個のキータームを指定でき、それぞれ 50 文字未満、正規化後で最大 5 語です。リアルタイムでは最大 50 個のキータームを指定でき、それぞれ 20 文字未満です。キータームのプロンプト指定には追加料金がかかります。
  • no_verbatim:字幕や要約を読みやすくするため、フィラーワード、言いよどみ、発話の乱れ、非音声を除去する Scribe v2 のオプションです。法律、研究、調査、定性インタビュー、ドキュメンタリーなどで逐語的な発話の完全性が必要な場合は有効にしないでください。
  • temperature:通常は省略するか、本番環境では 0 または 0 に近い値にします。値を大きくすると結果の決定性が低下する可能性があり、文字起こしでは望ましくない場合がほとんどです。
  • seed:再現性の高いサンプリングをベストエフォートで行いますが、保証はされません。
話者の扱い:ダイアライゼーション、チャンネル分離、話者ライブラリ、役割

ファイルを送信する前に、話者の処理方法を選択します。

  1. 参加者ごとに個別のオーディオチャンネルに分離されている場合は、マルチチャンネルモードを使用します。
  2. すべての話者の音声が1つのモノラル/ステレオ音声にミックスされている場合は、ダイアライゼーションを使用します。
  3. ナレーターが1人だけの場合は、ダイアライゼーションをリクエストせず、出力が単一話者の文字起こしになっていることを確認します。

マルチチャンネルモード:

  • use_multi_channel=true、diarize=false、および timestamps_granularity=word または character を設定します。
  • 最大5チャンネルに対応しています。各チャンネルは個別に処理され、speaker_0、speaker_1 などに決定論的に割り当てられます。
  • num_speakers は設定しないでください。話者数はチャンネル数によって決まります。
  • multichannel_output_style="separate" を指定すると、transcripts の下にチャンネルごとの文字起こしが返されます。
  • multichannel_output_style="combined" を指定すると、単一のトップレベルの文字起こしが返され、単語は開始時刻順に統合されます。各単語には channel_index が付与されます。統合出力にはタイムスタンプが必要で、Webhook 配信、エンティティ検出、または墨消しには対応していません。
  • 料金と同時実行数はチャンネルの長さに比例して増加します。60分の3チャンネルファイルは、180チャンネル分として課金・計上される場合があります。

ダイアライゼーションモード:

  • 話者の交代を識別する必要があり、チャンネルが分離されていない場合は、diarize=true を設定します。
  • 話者数がわかっている場合は num_speakers を指定します(例:ホスト+ゲスト=2)。話者数が不明な場合は、num_speakers を null のままにして、クラスタリング結果を確認します。
  • diarization_threshold は、最初の処理で過剰な分割や統合が体系的に発生する場合にのみ調整します。根拠なく調整しないでください。
  • ダイアライゼーションのラベルは、本人確認を意味するものではありません。speaker_0 は「クラスタ0」を示すものであり、特定の人物であることを確認したものではありません。音声を聞いたうえで、人がラベルと名前を対応付けてください。

話者ライブラリと役割:

  • API リファレンスには、ダイアライゼーション中にワークスペースの話者ライブラリ内に登録された話者と照合するための use_speaker_library が含まれています。ワークスペースに話者が意図的に登録されており、かつユーザーにその人物を識別する権利と同意がある場合にのみ使用してください。
  • API リファレンスには、agent/customer の役割ラベルを付ける detect_speaker_roles が含まれています。これを使用するには diarize=true が必要で、マルチチャンネルモードと併用できず、追加料金が発生します。コールセンター形式の音声にのみ使用し、一般的なポッドキャストやドキュメンタリーには使用しないでください。
キャプション、字幕、編集準備

API クライアントが対応している場合は additional_formats を使用します。SDK/ツールレイヤーで利用できない場合は、JSON レスポンスからキャプションを生成します。公式 API スキーマには、docx、html、pdf、segmented_json、srt、txt などのエクスポート形式が記載されています。ElevenLabs の製品 UI では、字幕のエクスポート形式として SRT と VTT、文字起こしのエクスポート形式としてプレーンテキスト、JSON、HTML、SRT、VTT が案内されています。API 経由で VTT を提供すると約束する前に、クライアントが実際にサポートしている API の形式を確認してください。

キャプションのワークフロー:

  • timestamps_granularity=word を指定します。
  • ユーザーが機械生成キャプションを受け入れる場合を除き、SRT/VTT は最終的なアクセシビリティ対応キャプションではなく、草案として提供します。
  • 読みやすいキャプションを作成する場合、納品物が字幕や要約で、未加工の文字起こしを別途保存しているときに限り、no_verbatim=true を優先します。
  • 単語単位のタイムスタンプから、プラットフォームの制約を満たすキューを作成します。目安は1~2行、読みやすい文字数、過度に長くない表示時間、重複なし、フレーズの切れ目に合わせたカットです。
  • 未加工の文字起こし JSON を信頼できる唯一の情報源として保持します。SRT/VTT は派生データとして扱います。
  • ElevenLabs の製品字幕エディターでは、文字起こしの編集と字幕の編集は別々に管理されます。人が字幕を編集しても、元の文字起こしが変更されたとは限らない点に注意してください。

編集準備:

  • 紙上での編集、サウンドバイトの選定、ジャンプカットの計画に備えて、単語単位のタイムスタンプを保持します。
  • 話者ラベル付きの単語を、speaker_id、start、end、text、および信頼度/QA メモを含むターン単位のセグメントに変換します。
  • ストーリーのリズム、リアクションのタイミング、拍手、笑い声、またはアクセシビリティに影響する可能性がある場合は、音声イベントを保持します。
非同期ジョブと Webhook

小規模なジョブや対話型のジョブには、同期バッチ文字起こしを使用し、JSON レスポンスを待ちます。

長時間のファイル、大量の処理、または無人処理には、次の方法を使用します。

  • ElevenLabs ダッシュボードで Speech-to-Text Webhook を設定します。
  • webhook=true を指定して送信します。リクエストはリクエスト識別子を返して早期に終了し、文字起こし結果は後から Webhook 経由で届きます。
  • Webhook が複数ある場合は、webhook_id を使用して特定の設定済み Webhook を指定します。
  • プロジェクト ID、ソースアセット ID、予想所要時間、ハッシュ、エディタージョブ ID、管理記録の参照情報には webhook_metadata を使用します。浅い構造にしてください。公式ドキュメントでは最大深度は 2、最大サイズは 16 KB と定められています。
  • Webhook の署名を検証します。ElevenLabs のドキュメントでは、HMAC または OAuth 認証方式と署名検証を推奨しています。
  • Webhook URL は HTTPS である必要があります。
  • ペイロードを永続的に保存した後にのみ 2xx を返します。再試行可能なサーバーエラーには 5xx を返し、4xx は再試行できないクライアントエラーを示します。
  • Webhook 配信では複数チャンネルの統合出力はサポートされていません。個別に出力し、クライアント側で結合してください。
エンティティ検出、マスキング、機密コンテンツ

Scribe v2 は、正確な位置とタイムスタンプ、および pii、phi、pci、other、offensive_language などのカテゴリに加え、個別の多数のラベル(氏名、生年月日、クレジットカード、SSN、健康状態、薬剤、所在地、メールアドレス、電話番号、URL など)を用いたエンティティ検出をサポートしています。追加料金が発生します。

次のような場合にエンティティ検出を使用します。

  • 顧客との通話やインタビューから公開用のクリップを作成する場合。
  • 個人情報、医療情報、金融情報、またはアカウント情報を含む録音から、ローカライズ用または編集用のメモを作成する場合。
  • マスキングレビュー用のキューを作成する場合。

文字起こしそのものを安全に共有できる状態にする必要がある場合は、エンティティマスキングを使用します。API リファレンスでは、マスキング対象を entity_detection の部分集合にする必要があります。マスキングを行うと entities フィールドは抑制されます。マスキング形式は {REDACTED}、{ENTITY_TYPE}、または番号付きエンティティマーカーから選択できます。

規制対象のリリースや一般公開において、自動マスキングのみに頼らないでください。まず自動マスキングを行い、その後、元の音声と文字起こし結果を人が確認してください。

料金、コスト、制限

公式 API 料金の確認日:2026-07-10

  • Scribe v1/v2:1 時間あたり $0.22 と記載されています。
  • Scribe v2 Realtime:1 時間あたり $0.39 と記載されています。
  • エンティティ検出:1 時間あたり $0.070 と記載されています。
  • キータームプロンプト:料金表では 1 時間あたり $0.050 と記載されていますが、API リファレンスでは基本の文字起こし料金に 20% の追加料金がかかると説明されています。料金は変動するものとして扱ってください。相違点を説明する場合に限り両方を提示し、クライアントに見積もりを提示する前に再確認してください。
  • API リファレンスでは、エンティティ検出とマスキングには 30%、話者ロール検出には 10% の追加料金がかかると説明されています。
  • 複数チャンネルでは、各チャンネルに対して全再生時間分の料金が個別に請求されます。

次の式で事前にコストを見積もります。

billable_audio_hours = duration_hours * max(1, channel_count_when_multichannel)

次に、有効にした機能の追加料金を加算します。ドキュメントの記載が一致しない場合は、控えめな見積もりをユーザーに提示し、確認日を明記してください。

プライバシー、保持、セキュリティ、管理

素材に適した権利、同意、プライバシーの方針をユーザーが確認するまで、元の録音をアップロードしないでください。

2026-07-10 に確認した公式の保持/セキュリティ情報:

  • デフォルトでは、ElevenLabs はサービスの改善、トラブルシューティング、システムセキュリティのため、プライバシーポリシーに従ってデータを保持します。
  • エンタープライズ顧客は、Speech to Text のゼロ保持モードを利用できる場合があります。API 製品では enable_logging=false で有効にします。STT で使用すると、リクエストの音声入力とテキスト出力はログに記録されず、長期保存されませんが、サポート/デバッグが制限され、文字起こしの保存機能は利用できません。
  • ゼロ保持モードは一部のエンタープライズ顧客のみが利用できます。HIPAA 関連の統合では、HIPAA 対象のワークロードを処理する前に BAA に署名するため、ElevenLabs の営業担当に連絡する必要があります。
  • ElevenLabs のドキュメントでは、サービスアカウント、環境の分離、スコープを限定した API キー、最小権限、リソースレベルのアクセス許可が推奨されています。
  • 公式ドキュメントには、EU、インド、シンガポール向けの、データレジデンシーが分離された API/WebSocket のベース URL が記載されています。標準環境はデフォルトで米国にホストされており、レイテンシ/ルーティングの要件に応じて、api.us.elevenlabs.io を使用し、API トラフィックを米国のサーバーに固定できます。契約で必要な場合は、ワークスペースで設定されている環境エンドポイントを使用してください。公開されているグローバルエンドポイントがデータレジデンシーの要件を満たすと決めつけないでください。
  • Webhook には文字起こしテキストやメタデータが含まれる場合があります。Webhook ペイロードは、本番環境の機密成果物として扱ってください。

成果物の管理に関するルール:

  • 元の音声/動画、送信したチャンク、返された JSON、SRT/VTT/DOCX/PDF のエクスポート、編集済みの各バージョン、人が編集した字幕ファイルは、来歴情報を添えて別々の成果物として保存してください。
  • リクエストのパラメーター、モデル ID、確認日、ソースメディアのハッシュ、チャンク境界、チャンネルの対応付け、話者ラベルの対応付け、コスト見積もり、保持モードを記録してください。
  • 整理済みの文字起こしを作成する際に、元の文字起こしを上書きしないでください。raw、corrected、caption、redacted の状態は区別して保持してください。
  • 文字起こしジョブの完了後も有効なままになる署名付き URL の送信は避けてください。最小権限の URL を使用し、完了後に無効化するか、期限切れにしてください。
  • API キーはサーバー側に保持してください。クライアント側のリアルタイム STT には、現行のドキュメントでそのフローがサポートされている場合に限り、使い捨てトークンを使用してください。
同意、権利、安全性、開示

文字起こしで主に問題となる権利は、通常、音声合成ではなく、人の発話の録音と処理に関するものです。文字起こしの前に、以下を確認してください。

  • ユーザーが録音をアップロードして処理する権利を有していることを確認してください。
  • プライベートな通話、インタビュー、未成年者、医療/金融データ、職場での録音については、同意が記録されているか、明確な法的根拠があることを必須としてください。録音に関する同意法は法域によって異なります。ファイルを所有していることを、許可があることの根拠とみなさないでください。
  • 機密性の高い元メディアをクラウド API に送信する前に、ユーザーに警告してください。Scribe の品質のほうが高い場合でも、プロジェクトで必要であれば、ローカル/オフラインでの文字起こしを提案してください。
  • 一般公開する字幕、要約、クリップについては、ポリシー、プラットフォームのルール、契約、または現地法で必要とされる場合、AI が実質的に関与したことを開示してください。
  • Scribe の出力を、なりすまし、監視、個人情報の暴露、嫌がらせ、同意の回避、誤解を招く帰属表示に使用しないでください。
  • 文字起こしを吹き替え、音声の複製、または置き換え音声の合成に使用する場合は、作業を中断し、該当する音声同意/吹き替え/TTS ポリシーを適用してください。文字起こしへの同意は、合成音声の生成を自動的に許可するものではありません。

本番ワークフロー

  1. ソースを監査します。

    • 長さ、ファイルサイズ、形式、チャンネル数、言語、話者数、プライバシー上の機微性、後続の成果物を特定します。
    • 動画の場合は、動画を直接アップロードするか、先に音声を抽出するかを決めます。クリアな WAV を抽出すると、アップロードサイズを抑えられ、管理経路も明確になります。
  2. モードを選択します。

    • 単一話者:diarize=false。
    • 1 つのトラックに複数の話者が混在:diarize=true、必要に応じて num_speakers。
    • 話者ごとに分離されたチャンネル:use_multi_channel=true、diarize=false。
    • ライブ/エージェント:scribe_v2_realtime、WebSocket ワークフロー。
  3. 音声を準備します。

    • クリアで、ロスレスまたは高品質な音声を優先します。マルチチャンネルの場合は、使用しないチャンネルを削除し、各チャンネルに話者が 1 人だけ含まれるようにします。
    • 長時間のファイルやリスクの高いファイルは、自然な無音箇所または既知のタイムコード間隔で分割し、オフセットのメタデータを保持します。
    • pcm_s16le_16 の場合は、16 ビット PCM、16 kHz、モノラル、リトルエンディアンであることを確認します。低レイテンシが重要で、取り込みツールが形式に正確に対応できる場合にのみ使用します。
  4. 語彙とプライバシーオプションを追加します。

    • 名前、ブランド、製品用語、頭字語、専門分野の用語、エピソードタイトル、英語以外の固有名詞から keyterms を作成します。
    • entity_detection/entity_redaction は必要な場合にのみ追加し、コストと出力形式への影響を考慮します。
    • Zero Retention Mode がアカウントで有効になっているエンタープライズユーザーであり、リクエスト履歴とトランスクリプトの保存が失われても問題ない場合にのみ、enable_logging=false を使用します。
  5. 文字起こしを行い、生データのアーティファクトを保持します。

    • クリーンアップする前に、生の JSON を保存します。
    • リクエストのメタデータとソースのハッシュを保存します。
    • Webhook の場合は署名を検証し、リクエスト ID に基づいてペイロードを冪等に永続化します。
  6. 出力を使用する前に QA を行います。

    • 代表的なサンプルと重要な箇所をすべて聞いて確認します。
    • 話者の交代、名前、数字、編集箇所付近のタイムスタンプ、法律・医療・金融関連の用語を確認します。
    • ソースの長さとトランスクリプトの網羅範囲を比較し、大きな欠落、繰り返し部分、タイムスタンプのずれを調査します。
    • 字幕の場合は、字幕を有効にして動画を視聴し、読みやすさ、改行、字幕表示のタイミング、シーン切り替えとの競合を確認します。

運用上の所見

  • 複数話者が混在するモノラル音声の話者ダイアライゼーションは便利ですが、話者の同一性を保証するものではありません。発話の重なり、クロストーク、似た声、室内の残響、電話音声によって、1 人の話者が複数のクラスタに分割されたり、異なる話者が統合されたりすることがあります。
  • 各話者が実際に分離されている場合、マルチチャンネルモードは通常、話者ダイアライゼーションよりも明瞭です。チャンネル間の音声漏れが多い場合や、複数人の声が含まれる場合は、逆に精度が低下します。
  • キーワードはスペルや専門用語に役立ちますが、効果の弱い用語を追加しすぎるとコストが増加し、意外な箇所で出力に偏りが生じる場合があります。価値の高い用語を厳選して使用してください。
  • no_verbatim=true は字幕の読みやすさを向上させることがありますが、ドキュメンタリー、研究、法律、編集の文脈で重要となる、ためらい、感情、証拠を消してしまう可能性があります。
  • 音声イベントタグはアクセシビリティや編集のリズムに役立ちますが、ノイズが多い場合があります。最終的な演出指示ではなく、確認が必要な注釈として扱ってください。
  • 本番システムではリトライや重複通知が発生する可能性があるため、Webhook ジョブの保存には冪等性が必要です。

本番運用のヒューリスティクス

  • ポッドキャスト/インタビューの場合:単語ごとのタイムスタンプ、話者ダイアライゼーションまたはマルチチャンネルラベル、音声イベントの有効化、ゲスト名や番組固有の語彙に対するキータームを指定し、生のターン単位の文字起こしと整形済みのターン単位の文字起こしの両方を作成します。
  • SNS向けキャプションの場合:生の JSON を保持し、読みやすいキャプションをユーザーが希望する場合に限り、no_verbatim=true を指定して整形済みの字幕案を作成します。その後、最終編集版に照らしてキューのタイミングを人手で確認します。
  • ローカライズの準備の場合:Scribe で原文の文字起こしとタイミングを作成し、検証済みテキストを翻訳/吹き替えに引き渡します。Scribe を翻訳システムとして扱わないでください。
  • 編集箇所の決定の場合:単語ごとのタイムスタンプからセグメントを導き出しますが、最終的なカット位置は単語の境界だけで決めず、音声/映像を確認して調整します。
  • 機密性の高い通話の場合:エンティティの検出/マスキングを一次選別のレイヤーとして使用し、利用可能であればエンタープライズ向けのゼロリテンションを使用します。また、マスキング済みと未マスキングの文字起こしは、別々のアクセス制御されたストアに保管します。
  • 長いファイルの場合:Webhook または分割処理を優先します。可能であれば無音部分で分割し、そうでない場合は正確な時間オフセットを引き継ぎ、境界で単語が失われていないことを確認します。

例

例:ステレオ/モノラル混在の音声を使った、2人のポッドキャストの編集準備

制作目的:話者が1つのトラックにミックスされた72分間のポッドキャストから、検索可能な文字起こし、ホスト/ゲストの発話ターン一覧、切り抜き候補を作成します。

ワークフロー:

  1. 元のファイルが動画の場合、音声をクリーンな WAV として抽出します。
  2. Scribe v2 に送信します:
{
  "model_id": "scribe_v2",
  "diarize": true,
  "num_speakers": 2,
  "timestamps_granularity": "word",
  "tag_audio_events": true,
  "keyterms": ["guest name", "company name", "product name", "technical acronym"],
  "no_verbatim": false
}

想定される結果:

  • 単語ごとのタイムスタンプと speaker_id クラスターを含む生の JSON。
  • 話者ごとに連続する単語をグループ化した、ターン単位の文字起こし。
  • 笑い声/拍手/リアクションの箇所で音声イベントが保持されます。

失敗モード:

  • 無音やクロストークの後に話者クラスターが入れ替わります。
  • キータームが不十分だと、製品名のスペルが誤ったままになることがあります。
  • 長い音楽や広告の前後でタイムスタンプがずれることがあります。

バリエーション:

  • 参加者ごとに別のチャンネルに収録されている場合は、ダイアライゼーションではなくマルチチャンネルモードを使用します。
  • 公開用の番組概要を作成する場合は、逐語的な生の文字起こしを保持したうえで、整形済みの文字起こしを作成します。
例:マスキング付きのデュアルチャンネル顧客通話

制作目的:エージェントと顧客が別々のチャンネルに収録され、アカウント情報が話題に出る可能性のあるカスタマーサポート通話から、安全にレビューできる文字起こしを作成します。

ワークフロー:

{
  "model_id": "scribe_v2",
  "use_multi_channel": true,
  "diarize": false,
  "multichannel_output_style": "separate",
  "timestamps_granularity": "word",
  "entity_detection": ["pii", "pci"],
  "entity_redaction": ["pii", "pci"],
  "entity_redaction_mode": "enumerated_entity_type",
  "tag_audio_events": false
}

想定される結果:

  • speaker_0 と speaker_1 に対応付けられた、チャンネルごとの文字起こし。
  • より広範な社内レビューに適した、テキストをマスキングした文字起こし。
  • マスキングが有効な場合、マスキングされていない entities フィールドは含まれません。

失敗モード:

  • エンティティ検出/マスキングと組み合わせてマルチチャンネル出力を統合するよう要求すると、リクエストが失敗します。
  • チャンネル間の音漏れにより、顧客の発話がエージェントのチャンネルに入ることがあります。
  • 自動マスキングでは ID の発音上のバリエーションを見逃すことがあります。外部公開の前に人手による確認が必要です。

バリエーション:

  • 役割がチャンネルごとに分離されていないものの、音声がコールセンター形式のモノラルミックスである場合は、コストと QA を考慮したうえで detect_speaker_roles=true と diarize=true の使用を検討します。
  • 非同期処理では、Webhook による配信を使用し、必要に応じてクライアント側で個別の出力を統合します。
例:製品発表動画のキャプション案

制作目的:完成版の90秒の MP4 からキャプションの初稿を作成し、編集者に引き渡します。

ワークフロー:

{
  "model_id": "scribe_v2",
  "timestamps_granularity": "word",
  "language_code": "en",
  "tag_audio_events": true,
  "no_verbatim": true,
  "additional_formats": [
    {
      "format": "srt",
      "max_segment_duration_s": 4,
      "max_characters_per_line": 42
    }
  ],
  "keyterms": ["brand name", "feature name", "speaker name"]
}

想定される結果:

  • クライアント/ツールが additional_formats を公開している場合、生の文字起こし JSON と SRT の草案。
  • 逐語的な文字起こしより読みやすいものの、全編を通した確認が必要なキャプション。

失敗モード:

  • SDK のラッパーが返された additional_formats を公開しない場合は、必要に応じて JSON から SRT を生成します。
  • no_verbatim=true によって、意図的な繰り返しやブランド特有の話し方が削除される場合があります。
  • キャプションがショットの切り替わりをまたいだり、プラットフォームの可読性要件を超えたりすることがあります。

バリエーション:

  • 法務承認で発話された言葉の正確な再現が必要な場合は、no_verbatim を無効にします。
  • 最終的な納品形式が VTT で、現在のクライアントで API の VTT 対応が確認されていない場合は、検証済みの単語ごとのタイムスタンプ付き JSON または ElevenLabs UI のエクスポートから VTT を生成します。

ソースリンクの確認日:2026-07-10

コメント