大規模なRAGアプリのためのYouTube文字起こし: クレジット、自動チャージ、予算
開発者がYouTube動画1万本をRAGアプリに取り込みます。コスト、レート制限の計算、自動チャージと予算で支出を予測可能に保つ方法を見ていきます。

RAGやAIアプリで大規模にYouTubeの文字起こしが必要なら、現実的な構成は、前払いクレジットの従量課金型の文字起こしAPI、長い取り込み処理が止まらないようにする自動チャージ、バグで請求額が膨らまないようにする月間予算の組み合わせです。このウォークスルーでは、sum.videoの文字起こしAPIを使ったこの構成を、ある開発者の例で追います。
状況
Mayaは、カンファレンスの講演についての質問に答えるリサーチアシスタントを作っています。インデックスは、数百のチャンネルから約1万本のYouTube動画をカバーし、その後は月に約300本ずつ増えていく予定です。取り込みは小さなサーバーで実行し、つきっきりで見守ることも、請求書に驚かされることも避けたいと考えています。
条件はシンプルです。コストが予測できること、処理の途中で手動チャージが要らないこと、文字起こしのない動画をきれいに扱えることです。
必要なもの
- 各動画のプレーンテキスト。分割して埋め込みに回せる状態であること。
- 回答が動画内のちょうどその場面にリンクできるよう、タイムスタンプがあること。
- 開始前に見積もれるコスト。
- 支出の厳格な上限。
手順
1. まずコストを見積もる
文字起こし1件は2クレジットで、文字起こしを返さなかったリクエストは無料です。1万本なら最大でも2万クレジットです。5,000クレジットのパック($74.99、1件あたり$0.030)を使えば、1万件の文字起こしは合計約$300で、字幕のない動画があればそれより少し安くなります。小さいパックは1件あたりが高くなります。100クレジットで$0.090、500で$0.056、2,000で$0.038です。最新の詳細は料金ページにあります。
クレジットは一度買えば期限がないので、開発中にサブスクの時計が進むことはありません。
2. 無料クレジットで試す
最初のAPIキーには10クレジット(5件分)が無料で付きます。これを使って、数本の動画のレスポンスをjson形式(秒単位のoffsetとdurationを持つセグメント)とtext形式で確認します。リクエストの詳細は、curl、Python、JavaScriptの動作例があるAPIでYouTubeの文字起こしを取得する方法のガイドを参照してください。
3. 自動チャージを設定する
APIダッシュボードで自動チャージをオンにします。ルールは、残高が選んだ水準を下回ったら、保存済みのカードに別のパック分を請求するというものです。取り込み処理は手動チャージなしで一晩中動き続けます。
4. 予算を設定する
次の2つの上限で守られます。
- 自動チャージが1か月に使える金額の上限となる月間チャージ予算。
- 月間クレジット上限。到達すると、以降のリクエストは
402 budget_exceededを返します。
さらに、残高不足、月間上限の80%到達、チャージ失敗のメール通知もオンにします。通知は、まだ対処できるうちに問題を知らせてくれます。
5. レート制限を守る
キー1つにつき1分あたり60リクエストまでです。このペースでは、1万リクエストに約167分、1つのキーで3時間弱かかります。1秒に1リクエストを送る単純なキューを動かすことで、急なバーストなしに制限内に収まります。有効なキーは最大5つ作れるので、たとえば取り込み用と、アプリのライブ検索用に分ければ、バックフィルがユーザーのリクエストを妨げることはありません。
6. 文字起こしのない動画を扱う
APIが返すのは既存のYouTube字幕だけです。ライブ配信、非公開または削除された動画、字幕のない動画は404 no_transcriptを返します。キューでは、このステータスはスキップ済みとして記録して次へ進むことを意味し、再試行はしません。こうしたリクエストは無料なので、字幕のない動画だらけのチャンネルがあっても予算は減りません。
疑似コードで書いたループは次のとおりです。
- キューから次の動画IDを取り出す。
format=jsonでAPIを呼ぶ。- 成功したら、セグメントを約1分ごとのチャンクに分け、各チャンクを開始オフセットとともに保存し、埋め込みを作る。
404 no_transcriptなら、「文字起こしなし」のフラグを保存する。402 budget_exceededなら、キューを一時停止して自分に通知する。- サーバーエラーなら、少し待ってから再試行する。
7. コードで残高を確認する
大きなバッチの前には毎回GET /api/v1/creditsを呼びます。残高がバッチに必要な量より少なく、自動チャージがオフなら、処理は開始を拒否します。中途半端なインポートを防ぐ、手軽な安全策です。
最終的に得られるもの
最初の夜が明けると、インデックスにはほぼ1万本すべての動画の文字起こしが入り、各チャンクに開始時刻が付いています。ユーザーが質問すると、アシスタントは講演とタイムスタンプを引用し、リンクはその場面から動画を開きます。継続コストは小さく、月300本の新規動画は最大600クレジット、5,000パックの1件$0.030の料金で約$18です。
MayaがProを購読すれば、毎月100クレジットのボーナスも付くので、この増加分の一部をまかなえます。
足りない点
- 字幕がなければ文字起こしもありません。 APIは音声を文字起こししません。字幕のない動画には、音声認識サービスなど別の手段が必要で、その料金は別にかかります。他の文字起こしAPIには音声のフォールバックを提供するものもあります。YouTube文字起こしAPIの比較を参照してください。
- 自動生成の字幕には誤りがあります。 名前や専門用語が特に影響を受けます。レスポンスにはトラックが自動生成かどうかが含まれるので、そのようなチャンクに重みを付けたり、フラグを立てたりできます。
- 言語は字幕トラックの言語です。 レスポンスには実際の言語が入るので、リクエストした言語と同じだと決めつけないでください。
- スループットはキーごとに制限されています。 非常に大きなバックフィルは、数秒ではなく数時間の作業になります。
- 返すのは文字起こしだけです。 チャンク分割、埋め込み、検索はあなたの仕事です。1本の動画の要約だけが必要なら、YouTube要約ツールを使ってください。
出典
よくある質問
YouTubeの文字起こしを1万件取得するといくらかかりますか?
最大2万クレジットです。1件が2クレジットだからです。5,000クレジットのパック($74.99、1件$0.030)なら約$300です。文字起こしのない動画は無料なので、実際の合計はもっと低くなることがあります。
長い処理の途中で残高がなくなるとどうなりますか?
自動チャージをオンにしていれば、残高が選んだ水準を下回った時点で保存済みのカードに別のパック分が請求され、処理は続きます。オフの場合は、クレジットがなくなるとリクエストが止まります。
バグで請求額が膨らむのを防ぐには?
月間チャージ予算と月間クレジット上限を設定します。クレジット上限に達すると、リクエストは402 budget_exceededを返します。残高不足、月間上限の80%到達、チャージ失敗のメール通知も受け取れます。
レート制限はどのくらいですか?
キー1つにつき1分あたり60リクエストで、有効なキーは最大5つです。1秒に1リクエストなら、1万本の動画は1つのキーで3時間弱で終わります。
字幕のない動画はどうなりますか?
404 no_transcriptを返し、料金はかかりません。APIは音声を文字起こししないので、それらの動画には別の手段が必要です。
関連記事
おすすめのYouTube文字起こしAPIを比較: sum.video、Supadata、Transcribr、PythonライブラリコードでYouTubeの文字起こしを取得する4つの方法を、価格、制限、信頼性で比較します。sum.video、Supadata、Transcribr、youtube-transcript-apiです。
APIでYouTubeの文字起こしを取得する方法(curl、Python、JavaScript)公開されているYouTube動画の文字起こしを、HTTPリクエスト1回で取得。curl、Python、JavaScriptの動作例、出力形式、エラーコード、料金を紹介します。
YouTube動画から個人の知識ベースを構築する学習に役立つYouTube動画を、検索可能な要約と保存されたポイントのライブラリに変え、毎週の要約で数ヶ月後でもアイデアを再び見つけられるようにします。
最新の投稿
おすすめのYouTube文字起こしAPIを比較: sum.video、Supadata、Transcribr、PythonライブラリコードでYouTubeの文字起こしを取得する4つの方法を、価格、制限、信頼性で比較します。sum.video、Supadata、Transcribr、youtube-transcript-apiです。
APIでYouTubeの文字起こしを取得する方法(curl、Python、JavaScript)公開されているYouTube動画の文字起こしを、HTTPリクエスト1回で取得。curl、Python、JavaScriptの動作例、出力形式、エラーコード、料金を紹介します。
YouTube動画から個人の知識ベースを構築する学習に役立つYouTube動画を、検索可能な要約と保存されたポイントのライブラリに変え、毎週の要約で数ヶ月後でもアイデアを再び見つけられるようにします。