用途:从任意 YouTube 频道下载观看量最高的缩略图,按普通视频、Shorts、直播三类各取前 10 张,并生成带嵌入图片的 Obsidian 兼容索引。
主要能力:支持 @handle、频道 URL 或频道 ID(UCxxxxxxx)作为输入;分类优先顺序为直播 > Short > 普通视频;每类按观看量排序保留前 10;缩略图按最高可用分辨率下载(maxres → sd → hq → mq),命名为 <rank><safe_title><video_id>.jpg;输出 index.md、分类子目录及 JSON 数据文件。
使用方式:命令形式为 /youtube-thumbnails @ChannelHandle,可加 --skip-verify 跳过二级 HTTP 校验,或加 --scan-limit N 限制扫描上传数。需 YouTube Data API v3 密钥,脚本运行命令为 YT_API_KEY=API_KEY python3 <skill-dir>/scripts/download_thumbnails.py CHANNEL_ARG [--skip-verify],依赖 pip3 install google-api-python-client requests。
分类机制:一级用 videos.list 的 liveStreamingDetails 判断,有 actualStartTime 或 scheduledStartTime 为直播,时长 1 至 180 秒为 Short,其余为普通视频;二级 HTTP 校验中,Shorts 用 HEAD /shorts/{id} 返回 200 判定,直播页显示“Streamed live”判定,校验失败降级为普通视频。
输出布局:reports/data/ 下存 JSON,reports/thumbnails/<channel-slug>-<YYYY-MM-DD>/ 下含 index.md 及 videos、shorts、live_streams 子目录。
配额:不使用 search.list;500 视频频道约消耗 21 单位,缩略图下载走 img.youtube.com 不耗配额,每日默认 10000 单位,太平洋时间午夜重置。
限制:需自备 API 密钥;二级校验依赖网络,失败时保守降级;未提供收费、价格或平台支持等更多信息。