关于 video-fetch-and-summarize
video-fetch-and-summarize 是一个从视频链接下载视频并通过 Gemini 生成 Markdown 摘要的 Skill,适用于整理公开视频或用户可访问的登录内容。它支持自定义提取目标,并会跳过已处理的视频以便重复运行。
主要功能
- 01从链接或文本文件提取视频 URL
- 02下载 MP4 视频
- 03使用 Gemini 生成 Markdown 摘要
- 04支持自定义提示词或提示词文件
- 05跳过已有输出以便重复运行
适用场景
- 01整理多个视频的摘要与要点
- 02从视频中提取工具、价格或行动项
- 03汇总登录后可访问的视频
- 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——如果缺失,将在首次运行时自动安装- Python 可通过
py(Windows)或python3使用
脚本
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 应如何处理用户参数
用户调用此技能时:
- 如果用户指定了自定义提示词或提取目标(例如“提取提到的所有工具”“重点总结定价”“列出待办事项”),通过
--prompt "..."传入。 - 如果用户提供了提示词文件路径,通过
--prompt-file path/to/file.txt传入。 - 如果用户没有提供具体指示,则运行时不使用
--prompt,采用默认格式。 - 自定义提示词会完全替换默认提示词,而不是在默认提示词的基础上添加内容。
工作流
- 从提供的参数和/或文件中提取所有 URL(基于正则表达式,适用于任何文本格式)
- 对于每个 URL:
a. 通过
yt-dlp --dump-json获取视频元数据,以取得文件夹名称所需的标题 b. 将最佳画质的 MP4 视频下载到<output>/<Title>/c. 将 MP4 上传到 Gemini Files API,并等待其状态变为 ACTIVE d. 生成 Markdown 摘要(使用自定义或默认提示词),然后从 Gemini 存储中删除文件 e. 将摘要保存为<output>/<Title>/summary.md - 如果 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 等 1000 多个平台
私人内容或需要登录的内容的身份验证
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(过载),请重新运行脚本——已完成的视频会自动跳过
评论
支持 Markdown