文字起こしのアップロード
専用のREST APIで、エピソードにSRT・VTT形式の文字起こしをアップロードできます。無料を含む全プランで利用できます。番組のオーナー権限と、APIトークンのupdate権限が必要です。{episode}にはエピソードIDを指定します。ファイルをUTF-8で読み込み、本文をJSONのcontentに渡してください(10 MB以下、20,000字幕以内)。
エンドポイント
PUT https://listen.style/api/v1/episodes/{episode}/transcript
jq -n --rawfile content transcript.vtt '{format: "vtt", content: $content}' | \
curl -X PUT "https://listen.style/api/v1/episodes/$EPISODE_ID/transcript" \
-H "Authorization: Bearer $LISTEN_API_TOKEN" \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
--data-binary @-
レスポンス
成功時は、新規作成なら201、置き換えなら200と、次のJSONを返します。
{"data":{"episode_id":"EPISODE_ID","segment_count":12}}
401は未認証、403は権限不足、404はエピソードが見つからない場合、422は形式・時刻・サイズの不備や文字起こし処理中、429は回数制限です。422の詳細はJSONのerrorsを確認してください。
対応形式とアップロード時の動作
SRTの場合はformat: "srt"を指定します。各字幕の開始・終了時刻は必須です。時刻のないテキスト、重複・逆順の時刻はアップロードできません。VTTの<v 話者名>にも対応します(1字幕につき1話者)。
アップロードしたファイルの本文・字幕の区切り・時刻で、既存の文字起こし全体を置き換えます。既存チャプターのタイトル・開始時刻とサマリーは保持します。単語単位の時刻情報は削除します。文字起こしがまだないエピソードにもアップロードできます。自動文字起こし・話者分離の処理中はエラーになるため、完了後に再度実行してください。
目次だけをアップロードする場合は、チャプターのアップロードを参照してください。