sum.video logosum.video/
シナリオ著者: Péter Nagy

大規模なRAGアプリのためのYouTube文字起こし: クレジット、自動チャージ、予算

開発者がYouTube動画1万本をRAGアプリに取り込みます。コスト、レート制限の計算、自動チャージと予算で支出を予測可能に保つ方法を見ていきます。

今すぐYouTube動画を要約

リンクを貼り付けると、クリックできるタイムスタンプ付きで要点がわかります。

RAGやAIアプリで大規模にYouTubeの文字起こしが必要なら、現実的な構成は、前払いクレジットの従量課金型の文字起こしAPI、長い取り込み処理が止まらないようにする自動チャージ、バグで請求額が膨らまないようにする月間予算の組み合わせです。このウォークスルーでは、sum.videoの文字起こしAPIを使ったこの構成を、ある開発者の例で追います。

状況

Mayaは、カンファレンスの講演についての質問に答えるリサーチアシスタントを作っています。インデックスは、数百のチャンネルから約1万本のYouTube動画をカバーし、その後は月に約300本ずつ増えていく予定です。取り込みは小さなサーバーで実行し、つきっきりで見守ることも、請求書に驚かされることも避けたいと考えています。

条件はシンプルです。コストが予測できること、処理の途中で手動チャージが要らないこと、文字起こしのない動画をきれいに扱えることです。

必要なもの

  • 各動画のプレーンテキスト。分割して埋め込みに回せる状態であること。
  • 回答が動画内のちょうどその場面にリンクできるよう、タイムスタンプがあること。
  • 開始前に見積もれるコスト。
  • 支出の厳格な上限。

今すぐYouTube動画を要約

リンクを貼り付けると、クリックできるタイムスタンプ付きで要点がわかります。

手順

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を返します。キューでは、このステータスはスキップ済みとして記録して次へ進むことを意味し、再試行はしません。こうしたリクエストは無料なので、字幕のない動画だらけのチャンネルがあっても予算は減りません。

疑似コードで書いたループは次のとおりです。

  1. キューから次の動画IDを取り出す。
  2. format=jsonでAPIを呼ぶ。
  3. 成功したら、セグメントを約1分ごとのチャンクに分け、各チャンクを開始オフセットとともに保存し、埋め込みを作る。
  4. 404 no_transcriptなら、「文字起こしなし」のフラグを保存する。
  5. 402 budget_exceededなら、キューを一時停止して自分に通知する。
  6. サーバーエラーなら、少し待ってから再試行する。

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動画を要約

リンクを貼り付けると、クリックできるタイムスタンプ付きで要点がわかります。

ragyoutube 文字起こし apiaiアプリ自動チャージapi予算

関連記事

最新の投稿

どんなYouTube動画も数秒で要約

sum.videoを試す