ユースケース

トランスクリプトで YouTube 動画を検索できるナレッジベースにする

YouTube の字幕全文をタイムスタンプ付きの JSON で動画リンクごとに取得し、RAG のインデックス、要約、引用、コンテンツの再利用に活用できます。

プリペイド、サブスクなしREST でも MCP でもモデル・データ・エージェントを 1 つのキーで
YouTubelovelyjsonitems[0]"video": "youtube.com/watch?v=d…"lang": "en""segments": 412"start": "00:03:12""text": "so the key is to grin…"auto_generated": false

知りたい答えは 2 時間の講演、カンファレンスの再生リスト、創業者の毎週の動画の中にあるのに、全部を見る時間のある人はいません。トランスクリプトがあれば、そのコンテンツを検索し、引用し、モデルに使わせることができます。Lovely Router が代わりに取得します。動画のリンクを送るとタイムスタンプ付きのトランスクリプトが 1 本につき 1 つの JSON オブジェクトで返り、プリペイド残高からトランスクリプト 1 件ごとに課金されます。結果はベクトルストア、要約ツール、AI エージェントのどこにでも、1 つの API キーで渡せます。

AI エージェントに任せる

このプロンプトを Claude Code、Cursor、Codex などのコーディングエージェントに貼り付けてください。ドキュメントの場所と API キーの使い方をエージェントに伝えます。

トランスクリプトで YouTube 動画を検索できるナレッジベースにする. Use the Lovely Router data tools: each returns JSON and is billed per result.

- Docs (read first): https://lovelyrouter.com/docs/tools/find.md and https://lovelyrouter.com/docs/tools/run.md
- Plan first: POST https://lovelyrouter.com/v1/tools/suggest with `{"task": "<my task in plain words>"}` (free). It returns the tools to run in order, each with an example `input`, the `input_required` fields, an estimated cost and a ready-made `run` request. Replace the example values with my task's; if a field is unclear, read the tool with GET https://lovelyrouter.com/v1/tools/<id>. To browse instead, POST https://lovelyrouter.com/v1/tools/discover searches the catalog.
- Show me the plan and its estimated cost (`total_est_cost_usd`) before running anything large.
- Run: POST https://lovelyrouter.com/v1/tools/<id>/run with `{"input": {...}, "max_results": N}`. A 200 has the finished run with `items`; a 202 means it is still running, so poll the `poll` path until `status` is `succeeded`, `failed`, `timed_out` or `stopped`.
- Only delivered results are billed. Keep max_results small on the first run, check the output, then scale up.
- If you support MCP, connect https://lovelyrouter.com/mcp instead (Streamable HTTP, same key; https://lovelyrouter.com/docs/tools/mcp.md) and use suggest_tools, get_tool and run_tool.
- Auth: read my API key from the LOVELY_API_KEY environment variable and send it as `Authorization: Bearer $LOVELY_API_KEY`. Never print or commit the key. If it is not set, ask me to create one at https://lovelyrouter.com/app/keys.
- Billing is prepaid: every call is charged to my balance, so test with a small request before running anything large.
- Every docs page is plain Markdown; the full index is https://lovelyrouter.com/llms.txt.

My task: <the inputs (links, keywords or accounts) and how many results you need>
01

仕組み

010203
  1. インデックスに入れたい youtube.com/watch?v= または youtu.be/ のリンクを集めます。講座、カンファレンス、競合のチャンネル、自社の過去の動画などです。

  2. 上限を付けてツールを実行する

    リンクを startUrls に入れて POST /v1/tools/youtube-transcript/run に送ります。字幕の言語を指定したい場合は lang を、実行の上限は max_results を指定します。実行は最大費用を残高から仮押さえし、トランスクリプトを JSON で返します。

  3. インデックス化または要約する

    各トランスクリプトをタイムスタンプを保ったままチャンクに分割し、埋め込みを作成して保存します。そうすれば、検索結果から動画の該当する瞬間へ直接リンクできます。

02

1 回のリクエストでトランスクリプトを取得する

{}

YouTube のトランスクリプトを取得は、startUrls に動画のリンクを受け取り、リンク 1 件につき 1 つのトランスクリプトを返します。任意の lang には en、es、de、pt-BR などの字幕の言語コードを指定します。自動生成の字幕も対象です。lang を空にすると、その動画の既定のトラックが返ります。1 回の実行で最大 50 本の動画を読み取れます。

curl https://lovelyrouter.com/v1/tools/youtube-transcript/run \
  -H "Authorization: Bearer $LOVELY_API_KEY" \
  -H "content-type: application/json" \
  -d '{
    "input": {
      "startUrls": ["https://www.youtube.com/watch?v=dQw4w9WgXcQ"],
      "lang": "en"
    },
    "max_results": 1
  }'

60 秒を過ぎても実行中の場合は 202 が返ります。ポーリングの方法はツールを実行するをご覧ください。

03

トランスクリプトごとの内容

{}
項目グループ取得できる内容
テキスト動画の字幕の全文
時間テキストのタイムスタンプ
言語動画にある場合は、指定した言語

Shorts、ライブ、再生リストのリンクは受け付けません。単独の動画のリンクを渡してください。指定した言語の字幕がない動画からは、その言語を返せません。

04

レシピ

チャンネル全体の RAG インデックスを作る。

youtube-channel でチャンネルの動画を一覧し、そのリンクをここに送ってトランスクリプトをチャンクに分け、タイムスタンプへのリンク付きで質問に答えます。

カンファレンスを要約する。

イベントのすべての講演を実行し、それぞれを 5 つの箇条書きで要約するようモデルに頼んで、1 ページにまとめて公開します。

引用を拾う。

トランスクリプトから人名、製品名、主張を検索し、動画とその瞬間を明記して引用します。

自社の動画を再利用する。

トランスクリプトをブログ記事、ニュースレター、ショーノートに変換します。書き直しはモデルが行います。

グローバルなチームのために翻訳する。

英語から翻訳する代わりに、動画に字幕があれば es や de の字幕を指定します。

普段の言葉で頼みたい場合は、MCP サーバーを接続して Claude Code や Cursor に次のように伝えます。「talks.txt にある 12 件のリンクの英語のトランスクリプトを取得し、それぞれを 5 つの箇条書きで要約して、要点のタイムスタンプも添え、1 つの markdown ファイルにまとめてください。max_results は 12 に設定してください。」

05

他のデータと組み合わせる

トランスクリプトからは、何が話されたかがわかります。その周辺は次のとおりです。

  • youtube-channel はチャンネルの動画を一覧するので、端から端までインデックス化できます。
  • youtube-search は、トピックに関する動画をキーワードで見つけます。
  • youtube-comments は、各動画について視聴者が語った内容を加えます。

情報源を読んで引用するエージェントについては、リサーチエージェントをご覧ください。

06

料金

料金はトランスクリプト 1 件ごとにかかります。実行を開始すると最大費用(呼び出し料金 + トランスクリプト単価 × max_results)が仮押さえされ、実際に返った分で精算されて、仮押さえの残りは残高に戻ります。失敗またはタイムアウトした実行は返したトランスクリプトの分だけを支払い、開始時に拒否された実行は無料です。

200 本の動画をインデックス化すると、トランスクリプト 200 件分として課金されます。サブスクリプションや月額の最低利用料はなく、$5 からチャージでき、1 つの残高でツールとモデルの両方を支払えます。現在の価格は上のカードに表示されており、料金ではすべてのツールを一覧できます。

07

よくある質問

?
字幕のない動画でも使えますか?+

動画にある字幕を返します。自動生成の字幕も対象です。指定した言語の字幕がない動画では、その言語で返せるものはありません。

言語を選べますか?+

はい。動画にそのトラックがあれば、lang(たとえば en、es、de、pt-BR)で指定できます。既定のトラックを使う場合は空のままにしてください。

トランスクリプトにタイムスタンプは付きますか?+

はい、トランスクリプトにはタイムスタンプが付きます。

再生リストや Shorts のリンクを送れますか?+

いいえ。再生リスト、ライブ、Shorts のリンクには対応していません。youtube.com/watch?v= または youtu.be/ 形式の、単独の動画のリンクを送ってください。

1 回の実行で何本の動画を扱えますか?+

最大 50 本です。それより長いリストは、複数の実行に分けてください。

サブスクリプションは必要ですか?+

いいえ。プリペイド残高にクレジットを追加し、実行ごとに残高から差し引かれます。失敗した実行は返した結果の分だけを支払い、自動で更新されるものは何もありません。

情報源を読むエージェントを作るなら、リサーチエージェント、ソーシャルリスニング、そしてツールカタログもご覧ください。

モデル・データ・エージェントを 1 つのプリペイドキーで

サブスクリプションなし。チャージして必要な分だけ使い、すべての請求をログで確認できます。