タイムスタンプを残せば、引用元に戻れます
format=textとtimestamps=trueを指定すると、各行に時刻が付きます。話者分離を指定した文字起こしには話者ラベルも付きます。引数は取得APIで確認できます。
字幕の書式は不要でも、発言の位置は残したいときに使えます。時刻と一緒に動画URLやファイル名も保存してください。00:12:40という時刻だけでは、どの録音の発言か分からなくなります。以下のテキストは形式を示すサンプルです。
JSONのstartとendは、録音の先頭からの秒数です。実際の時刻や日付ではありません。その値をプレーヤーの再生位置やメモの参照先として保存すると、同じ箇所を聞き直せます。
curl "https://api.transcript1.com/v1/transcriptions/tr_8fK2Lm0PqRsTuVwXyZaBcD?format=text×tamps=true" \
-H "Authorization: Bearer $TRANSCRIPT1_API_KEY"
[00:00:00] Place the microphone near the speaker.
[00:00:04] Record a short test before the interview.編集ソフトにはSRT、HTMLの動画にはWebVTT
SRTには字幕番号と開始・終了時刻、WebVTTにはWEBVTTヘッダーが付きます。文字起こしの完了後にformat=srtかformat=vttで取得し、レスポンスを保存します。WebVTTはHTMLのtrack要素で使えます。
字幕の読み込み先が受け付ける形式を選びます。編集ソフトや字幕のアップロードにはSRT、HTMLの動画にはWebVTTが使われます。どちらも字幕を映像に焼き付ける機能ではありません。文字の見た目や位置は、読み込み先のソフトやプレーヤーで設定します。
ミリ秒の区切りはSRTがカンマ、WebVTTがピリオドです。拡張子の変更だけでは変換できません。別の形式が必要なら、完了済みの同じ文字起こしから取得します。再度の文字起こし料金はかかりません。
1
00:00:00,000 --> 00:00:04,200
Place the microphone near the speaker.
2
00:00:04,200 --> 00:00:09,800
Record a short test before the interview.単語のハイライトにはinclude=wordsを使います
JSONの取得時にinclude=wordsを付けると、利用できる単語ごとのタイムスタンプを返します。単語のハイライトや切り出す箇所の確認に使えます。データがなければwords: nullです。フィールドの仕様も確認してください。
AI文字起こしには単語の開始・終了位置と信頼度があります。YouTubeの自動生成字幕には開始位置があり、終了位置は次の単語の開始から求めます。投稿者がアップロードしたYouTube字幕と、YouTube以外の字幕には単語の時刻がありません。X、TikTok、Blueskyの自動生成字幕も同様です。Xの字幕はtranscript_source: x_captionsで判別できます。
単語のデータがない場合も、セグメントの時刻で表示できるようにします。動画を切り出す前には境界の前後を聞き、発声の始まりや息継ぎが切れていないか確認してください。字幕として見せる場合は、単語を読みやすい長さにまとめ、実際の画面サイズで確かめます。
curl "https://api.transcript1.com/v1/transcriptions/tr_8fK2Lm0PqRsTuVwXyZaBcD?include=words" \
-H "Authorization: Bearer $TRANSCRIPT1_API_KEY"取り込めないときは、まず保存した中身を確認します
SRT・VTT・テキストを取得できるのはstatus=completedになってからです。処理中は状態を示すJSONを返します。プレーヤーが字幕を読み込めない場合は、そのJSONを字幕ファイルとして保存していないか確認してください。
字幕の時刻は、送信した録音の先頭を基準にしています。途中から切り出した動画や長さを変えた動画に使う場合は、時刻の調整が必要です。コンテンツの再利用では切り出す範囲を残し、編集が終わってから字幕を合わせます。
公開前に、使うプレーヤーで通常速度で再生します。行の長さ、読む時間、話者の表示を確認してください。アクセシビリティ向け字幕では、発話以外の重要な音や映像の文脈も補います。
保存したファイルには文字起こしIDもひも付けます。後でSRTからWebVTTに変える場合や、単語データ付きのJSONが必要になった場合も、同じIDから取得できます。新しいメディアの処理は不要です。