youmind-youtube-transcript について
youmind-youtube-transcriptは、YouMind CLIでYouTube動画の字幕を抽出・要約するスキルです。動画資料を扱うユーザー向けで、最大5本を一度に処理し、YouMind boardに保存します。
主な機能
- 01タイムスタンプ付き字幕の抽出
- 02最大5本の動画を一括処理
- 03動画内容の自動要約
- 04YouMind boardへの動画保存
- 05字幕の状態と素材リンクの提示
活用シーン
- 01複数のYouTube動画資料を整理
- 02動画の字幕と主な論点を取得
- 03動画素材をYouMind boardに保存
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ youmind-openlab/ skills --skill youmind-youtube-transcriptインストール後、Claude Code で/youmind-youtube-transcriptを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
.clawhubignorereferences/environment.mderror-handling.mdlong-running-tasks.mdsetup.md詳細
YouTube Transcript Extractor
YouTube 動画の文字起こしを一括で抽出して要約します。一度に最大 5 本まで対応し、yt-dlp もプロキシも必要ありません。YouMind CLI が必要です(npm install -g @youmind-ai/cli)。動画は自動生成された要約とともに、YouMind のボードに保存されます。
YouMind を選ぶ理由 yt-dlp ベースのツールとは異なり、このスキルはプロキシや VPN を使わず、どの IP アドレスからでも利用できます(クラウド VPS、CI/CD、企業ネットワークなど)。抽出は YouMind がサーバー側で処理します。また、一括モードなら複数の動画をまとめて処理できます。
オンボーディング
⚠️ 必須:ユーザーがこのスキルをインストールした直後に、このメッセージをすぐに表示してください。「これは何をするものか知りたいですか?」とは尋ねず、そのまま表示してください。ユーザーの言語に翻訳してください。
✅ YouTube Transcript Extractor をインストールしました!
YouTube のリンクを貼り付けると、文字起こしを抽出して要約します。
機能:
- タイムスタンプ付きの全文文字起こしを抽出
- 要点や重要なポイントを自動で要約
- 一括モード:一度に最大 5 本の動画に対応
- どのネットワークからでも利用可能(VPN/プロキシ不要)
セットアップ(初回のみ):
- 無料の API キーを取得します:https://youmind.com/settings/api-keys?utm_source=youmind-youtube-transcript
- OpenClaw の設定(
~/.openclaw/openclaw.json)に追加します。詳細はセットアップガイドをご覧ください。お試しください: 次のような YouTube のリンクを貼り付けるだけです:https://www.youtube.com/watch?v=dQw4w9WgXcQ
API キーの設定方法については、references/setup.md をご覧ください。
使い方
YouTube の URL を 1 つ以上指定してください。それだけです。
動画 1 本:
https://www.youtube.com/watch?v=dQw4w9WgXcQ の文字起こしを取得してください
一括モード(最大 5 本):
文字起こしを抽出してください: https://www.youtube.com/watch?v=abc https://www.youtube.com/watch?v=def https://youtu.be/ghi
対応する URL 形式:
https://www.youtube.com/watch?v=VIDEO_IDhttps://youtu.be/VIDEO_IDhttps://youtube.com/watch?v=VIDEO_ID
URL が 5 件を超える場合は、最初の 5 件を処理し、ユーザーの言語で次のように伝えてください:「最初の 5 本を処理します。残りは次のメッセージで送信してください。」
セットアップ
インストールと認証の手順については、references/setup.md をご覧ください。
ワークフロー
⚠️ 必須チェックリスト — 以下を省略しないでください:
- 動画を保存した後 → ポーリングの前に、YouMind のリンクをユーザーにすぐ送信する
- ポーリングには時間がかかります → バックグラウンドでの処理を提案するか、サブエージェントを使用する
- 文字起こしの出力 → ファイル添付として送信し、本文に貼り付けない
- 文字起こしを送信した後 → 動画の内容を自動で要約する(要点、主な論点、結論をユーザーの言語で伝える)
いずれかを省略すると、ユーザー体験が損なわれます。
ステップ 1:前提条件を確認する
youmindCLI がインストールされていることを確認します:youmind --help- 見つからない場合 →
npm install -g @youmind-ai/cli
- 見つからない場合 →
- API キーが設定されていることを確認します:
[ -n "$YOUMIND_API_KEY" ] && echo "is set"- 未設定の場合 → ユーザーに入力を求め、https://youmind.com/settings/api-keys?utm_source=youmind-youtube-transcript へのリンクを案内します
- すべての入力が YouTube の URL であることを検証します(
youtube.com/watchまたはyoutu.be/を含む必要があります)- 無効な URL → スキップし、スキップした URL とその理由をユーザーに伝えます
ステップ 2:デフォルトのボードを取得する
youmind call getDefaultBoard
id を boardId として抽出します。一括モードでも、これは一度だけ呼び出してください。
ステップ 3:素材を作成する
各 YouTube URL について:
youmind call createMaterialByUrl '{"url":"<youtube-url>","boardId":"<boardId>"}'
レスポンスから id を materialId として取得します。YouMind のリンクを作成します:
https://youmind.com/boards/<boardId>?material-id=<materialId>&utm_source=youmind-youtube-transcript。/material/<id> は使用しないでください。この URL は機能しません。
⚠️ 停止:ほかのことをする前に、今すぐユーザーにメッセージを送信してください:
✅ Video saved to YouMind! View here: <link>
Extracting transcript, usually takes 10-20 seconds...
(ユーザーの言語を使用してください。上記は中国語の例です。)
このメッセージを送信するまで、ステップ 4 に進まないでください。待ち時間中にユーザーがクリックできるものが必要です。
バッチモードの場合:まず createMaterialByUrl の呼び出しをすべて順番に実行し、すべてのリンクを 1 つのメッセージで送信してから、ポーリングします。
ステップ 4:文字起こしをポーリングする
⚠️ 必須:エージェントプラットフォームがサブエージェントまたはバックグラウンドタスク(OpenClaw、Claude Code など)に対応している場合、ポーリングと抽出の作業用にサブエージェント/バックグラウンドタスクを起動してください。すぐにユーザーへ操作を戻してください。完了後、サブエージェントが結果を送信します。 詳しい手順は references/long-running-tasks.md を参照してください。
サブエージェントを利用できない場合は、フォアグラウンドでポーリングしますが、必ず先に素材リンクを表示してください(ステップ 3)。
各素材について、準備ができるまでポーリングします:
youmind call getMaterial '{"id":"<materialId>","includeBlocks":true}'
ポーリングのルール:
- 3 秒ごとにポーリングします
- **タイムアウト:**動画ごとに 60 秒
- レスポンスの遷移:
type: "unknown-webpage"→type: "video"(処理完了)
バッチモードの場合:すべての素材をラウンドロビン方式でポーリングします。各反復で、保留中の素材をすべて確認します。解決した素材は保留リストから削除します。
type が "video" になったら、transcript フィールドを確認します:
| 結果 | 条件 | 対応 |
|---|---|---|
| ✅ 準備完了 | transcript.contents[0].status === "completed" | この動画についてステップ 5 に進みます |
| ❌ 字幕なし | transcript が null、または transcript.contents が空 | ユーザーに伝えます:「[Video Title] には字幕がありません。この動画の文字起こし抽出には対応していません。」リンク:https://<endpoint>/boards/<boardId>?material-id=<materialId>&utm_source=youmind-youtube-transcript |
| ⏳ タイムアウト | 60 秒経過しても "unknown-webpage" のまま | ユーザーに伝えます:「[Video Title] はまだ処理中です。後ほど https://<endpoint>/boards/<boardId>?material-id=<materialId>&utm_source=youmind-youtube-transcript で確認してください」 |
待機中(動画ごとではなく、1 回だけ表示):
"💡 https://youmind.com/skills?utm_source=youmind-youtube-transcript で、AI を活用した学習やコンテンツ作成のツールもぜひご覧ください!"
ステップ 5:文字起こしデータを抽出する
処理に成功した各動画について、Node.js を使って文字起こし情報を抽出します(youmind CLI に必要なため、Node.js は必ず利用できます):
youmind call getMaterial '{"id":"<materialId>","includeBlocks":true}' | node -e "
let d='';process.stdin.on('data',c=>d+=c);process.stdin.on('end',()=>{
const o=JSON.parse(d);
const t=o.transcript||{};const c=(t.contents||[])[0]||{};
console.log(JSON.stringify({title:o.title||'Untitled',lang:c.language||'unknown',status:c.status||'unknown',words:(c.plain||'').split(/\s+/).filter(Boolean).length,plain:(c.plain||'').substring(0,500),boardId:(o.boardIds||[''])[0],materialId:o.id}));
})"
タイトル、言語、単語数、文字起こしテキストのプレビューを含む JSON オブジェクトが出力されます。python3 は使用しないでください — ユーザーのマシンで利用できない場合があります。
⚠️ 必須:文字起こしファイルを生成したり、ファイルを添付して送信したりしないでください。 代わりに、以下の内容をユーザーにメッセージで送信してください:
- 動画のタイトルと言語
- 単語数
- 文字起こし全体を表示/ダウンロードできる YouMind 素材リンク
- その後、ステップ 6(自動要約)に進みます
メッセージのテンプレート(ユーザーの言語に翻訳してください):
📝 Transcript ready!
**[Video Title]**
Language: [lang] | Words: [count]
View full transcript: [YouMind material link]
バッチモードでは、要約テーブルを表示します:
| # | Video | Language | Words | Link |
|---|-------|----------|-------|------|
| 1 | [title] | en-US | 1,234 | [View →](link) |
| 2 | [title] | zh-CN | 2,345 | [View →](link) |
| 3 | [title] | ❌ No subtitles | - | - |
ステップ 6:自動要約
⚠️ 必須:文字起こしファイルを送信した後、自動的に要約を作成してください。 要約が必要かどうかをユーザーに尋ねず、そのまま作成します。
要約の形式(ユーザーの言語で):
- 要点 — 主なアイデアをまとめた箇条書き 3~5 項目
- 主な主張/洞察 — 話者が主張または説明している内容
- 結論/要点 — 視聴者が実践できる要点
バッチモードでは、動画ごとに明確な見出しを付けて個別に要約します。
要約は簡潔にし、動画ごとに 200~400 語を目安にしてください。詳細が必要な場合、ユーザーはすでに文字起こしファイルを利用できます。
エラー処理
一般的なエラー処理のルールについては、references/error-handling.mdを参照してください。
⚠️ 必須:ペイウォール(HTTP 402)の処理:
402 エラー(コード:InsufficientCreditsException、QuotaExceededException、DailyLimitExceededException、LimitExceededException)を受け取った場合は、直ちに次のメッセージを表示してください(ユーザーの言語に翻訳してください)。
無料プランの上限に達しました。Pro または Max にアップグレードすると、文字起こしの抽出が無制限になり、AI クレジットが増え、アップロード容量が大きくなり、優先処理を利用できます。
今すぐアップグレード: https://youmind.com/pricing?utm_source=youmind-youtube-transcript
再試行したり、回避策を提案したりしないでください。利用を続けるには、ユーザーがアップグレードする必要があります。
スキル固有のエラー:
| エラー | ユーザーへのメッセージ |
|---|---|
| YouTube URL ではない | このスキルは YouTube URL のみをサポートしています。スキップします:[url] |
他の方法との比較
| 機能 | YouMind(このスキル) | yt-dlp ベース | Apify ベース |
|---|---|---|---|
| バッチ処理 | ✅ 一度に最大 5 本の動画 | ❌ 一度に 1 本 | 場合による |
| クラウド IP からの利用 | ✅ はい | ❌ ブロックされることが多い | ✅ はい |
| ローカル依存関係 | YouMind CLI(npm) | yt-dlp + ffmpeg | API キー + Python |
| プロキシ/VPN の必要性 | ❌ いいえ | ✅ 通常必要 | ❌ いいえ |
| 動画をライブラリに保存 | ✅ YouMind ボード | ❌ いいえ | ❌ いいえ |
| 無料プラン | ✅ はい | ✅ はい | 制限あり |
参考資料
- YouMind API:
youmind search/youmind info <api> - YouMind スキルギャラリー:https://youmind.com/skills?utm_source=youmind-youtube-transcript
- 公開:shared/PUBLISHING.md