mcpField
V
video-fetch-and-summarize

video-fetch-and-summarize

github.com/maystudios生産性2667 回インストール11 週間前に更新
リポジトリ

video-fetch-and-summarize について

video-fetch-and-summarizeは、URLから動画をダウンロードし、GeminiでMarkdownの要約を作成するスキルです。動画の整理に使え、抽出内容の指定や、処理済み動画を除外する再実行にも対応します。

主な機能

  1. 01URLまたはテキストファイルから動画URLを抽出
  2. 02動画をMP4でダウンロード
  3. 03GeminiでMarkdown要約を作成
  4. 04カスタムプロンプトやファイルに対応
  5. 05再実行時に既存の出力をスキップ

活用シーン

  1. 01複数動画の要約と要点をまとめる
  2. 02動画からツール、価格、タスクを抽出
  3. 03ログイン後に見られる動画を要約
  4. 04新しい動画を追加して再処理

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/maystudios/claude-skills --skill video-fetch-and-summarize

インストール後、Claude Code で/video-fetch-and-summarizeを入力して読み込まれたか確認します。

同梱ファイルREADME.mdscripts/fetch_and_summarize.py

詳細

動画の取得と要約

URLから動画をダウンロードし、Geminiを使って動画ごとにMarkdown形式の要約を生成します。完全に自己完結しており、ほかのスキルは必要ありません。

出力構成

<output_dir>/
  <Video_Title>/
      <uploader>_<id>.mp4
      summary.md

前提条件

  • GEMINI_API_KEY 環境変数が設定されていること
  • yt-dlp と google-genai — 見つからない場合、初回実行時に自動インストールされます
  • py(Windows)または python3 としてPythonを利用できること

スクリプト

scripts/fetch_and_summarize.py

使い方

# Direct URLs — default summary
py scripts/fetch_and_summarize.py "https://..." "https://..." -o ./output

# File containing URLs (TXT, Markdown, or any text file)
py scripts/fetch_and_summarize.py links.txt -o ./output

# Custom prompt (inline) — replaces default summary format
py scripts/fetch_and_summarize.py "https://..." --prompt "Extract all mentioned tools and prices"

# Custom prompt (from file) — replaces default summary format
py scripts/fetch_and_summarize.py links.txt --prompt-file my-prompt.txt

# With browser cookies (for private/login-required content)
py scripts/fetch_and_summarize.py links.txt --cookies-from-browser chrome

Claude がユーザーの引数を処理する方法

ユーザーがこのスキルを呼び出した場合:

  1. ユーザーがカスタムプロンプトまたは抽出の目的(例:「言及されているすべてのツールを抽出する」「料金に注目して要約する」「アクションアイテムを一覧にする」)を指定した場合は、--prompt "..." を使って渡します。
  2. ユーザーがプロンプトファイルのパスを指定した場合は、--prompt-file path/to/file.txt を使って渡します。
  3. ユーザーが具体的な指示を指定していない場合は、--prompt を指定せずに実行し、デフォルト形式を使います。
  4. カスタムプロンプトはデフォルトの内容を追加するのではなく、完全に置き換えます。

ワークフロー

  1. 指定された引数および/またはファイルからURLをすべて抽出します(正規表現ベースで、あらゆるテキスト形式に対応)。
  2. URLごとに、以下を実行します。 a. yt-dlp --dump-json で動画のメタデータを取得し、フォルダー名に使うタイトルを取得します。 b. 最高画質のMP4として、<output>/<Title>/ に動画をダウンロードします。 c. MP4をGemini Files APIにアップロードし、状態がACTIVEになるまで待ちます。 d. Markdown形式の要約を生成し(カスタムまたはデフォルトのプロンプトを使用)、Geminiストレージからファイルを削除します。 e. 要約を <output>/<Title>/summary.md として保存します。
  3. MP4とsummary.mdの両方がすでに存在する動画はスキップします(何度実行しても結果が変わらないようにします)。

ダウンロードの詳細(yt-dlp)

  • 形式:bestvideo[ext=mp4]+bestaudio[ext=m4a]/best[ext=mp4]/best — 最高画質、常にMP4
  • ファイル名のパターン:{uploader}_{video_id}.mp4 — 例:DesignMotion_DUf3nehjIg7.mp4
  • デフォルトで --no-playlist が設定されます(単一の動画のみ)。
  • 対応プラットフォーム:YouTube、Instagram(投稿/リール)、TikTok、Twitter/X、Facebook、Vimeo、Redditなど、1,000以上
非公開またはログインが必要なコンテンツの認証
py scripts/fetch_and_summarize.py links.txt --cookies-from-browser chrome
# also works with: firefox, edge, safari

ユーザーは、指定したブラウザーでプラットフォームにログインしている必要があります。

要約の詳細(Gemini)

  • モデル:gemini-3-flash-preview
  • Gemini Files API経由でアップロードします(大きな動画ファイルに対応)。
  • アップロードしたファイルは生成後にGeminiストレージから自動削除されます(いずれにせよ上限は48時間です)。
  • 要約の言語は、動画で話されている言語または表示されている言語に一致します。
デフォルトの出力形式(カスタムプロンプトが指定されていない場合)
# [Video Title]

## Summary
[2-3 sentence description of the video and its main topic]

## Key Points
- key point 1
- key point 2
- ...

## Core Content & Takeaways
[Central message and most important insight, 2-4 sentences]

---
*Auto-generated with Gemini API*

注意事項

  • 出力先ディレクトリのデフォルトは現在の作業ディレクトリです。
  • フォルダー名は動画タイトルをサニタイズして作成されます(最大80文字、特殊文字は置き換えられます)。
  • すでに処理済みの動画は、再実行時にスキップされます。
  • Gemini APIが503(過負荷)を返した場合は、スクリプトを再実行してください。処理済みの動画は自動的にスキップされます。

コメント