文字起こしの編集
このガイドでは、リアルタイムスピーチtoテキストAPIを使って、確定済み文字起こしに自然言語の編集指示を適用する方法を説明します。
ハウツーガイド · クライアント側または サーバー側 ストリーミングガイドを完了していることを前提としています。
概要
文字起こしの編集は実験的な機能で、基本の文字起こし料金に30%が上乗せされます。 確定済み文字起こしごとに、最低10秒分のオーディオが課金されます。料金の詳細はAPI料金 ページをご覧ください。
リアルタイム文字起こしでは、確定済みの各文字起こしに自然言語の編集指示を適用できます。たとえば、発話された日付を固定形式で表記したり、略語や頭字語を正式名称に展開したりできます。接続を開く際に指示を一度渡すと、確定済み文字起こしの後に、編集済みテキストを含む個別の edited_transcript イベントが送信されます。
部分文字起こしは編集されません。committed_transcript イベントも変更されないため、この機能を有効にしても既存のインテグレーションはそのまま動作します。
文字起こしの編集は entity_detection または entity_redaction と併用できません。両方を
設定した接続は、invalid_request エラーで拒否されます。
文字起こしの編集を有効にする
接続時に transcriptEdit オプション(WebSocket APIの transcript_edit クエリパラメーター)で指示を渡します。指示は最大2000文字です。指示の書き方については、バッチ文字起こし編集ガイドをご覧ください。
すべてのSDKで、編集済み文字起こしは RealtimeEvents.EDITED_TRANSCRIPT イベントを通じて届きます。
クライアント側
クライアント側ストリーミングガイドの説明に従い、サーバーが発行した使い捨てトークンとともにブラウザーで @elevenlabs/client を使用します。
サーバー側
サーバー側ストリーミングガイドの説明に従い、サーバーで公式SDKを使用します。このガイドと異なるのはオプションとイベントハンドラーのみです。オーディオの送信と接続の終了は同じ方法で行います。
編集済み文字起こしを受信する
有効にすると、確定済みの各文字起こしの後に、確定済みテキストとその編集版を含む edited_transcript イベントが送信されます。
注意すべき動作:
- 編集は確定済みセグメントごとに適用されます。編集は非同期で行われるため、
edited_transcriptイベントは対応するcommitted_transcriptイベントの少し後に送信されます。次の部分文字起こしより後に届く場合があり、連続するセグメントの編集が順不同で届くこともあります。textフィールドを使用して、編集を対応する確定済み文字起こしと照合してください。 - セグメントが編集されなかった場合、
edited_textはtextと同じです。 - セグメントの編集版を生成できなかった場合、そのセグメントの
edited_transcriptイベントは送信されません。committed_transcriptイベントには影響しません。 committed_transcript_with_timestampsの単語単位のタイムスタンプは、編集済みテキストではなく、元の確定済みテキストを示します。