SuperAPI AI 工具集

amazon-photos-album-download

设计与创作

查看项目

更新于 10-16 05:43

技能介绍

用途:从公开的 Amazon Photos 共享相册链接(如 https://www.amazon.ca/photos/share/<shareId>)下载全部原始照片和视频到本地。公开分享无需 Amazon 登录,相册通过 shareId 匿名授权。常见场景包括:拿回原始文件重新处理(例如把 iPhone HEIC 原图转成 JPEG 发给无法打开 HEIC 的接收者,可配合 heic-to-jpeg-bundle 技能)、自行重新托管相册(静态画廊或 ZIP)、以及为发出的分享做完整本地备份。

主要能力:脚本通过 Amazon Drive 的 /drive/v1/ JSON API 工作,依次获取共享集合根节点、相册文件夹节点、资源节点列表(名称、contentType、大小),再对每个节点用 contentRedirection?download=true 拉取原始字节。JSON 调用在无头 Chrome(Playwright)页面内执行,以携带 Web 应用使用的 cookie 和请求头;文件按真实文件名写入,并按 contentProperties.size 校验字节大小,生成 manifest.json 记录每个节点 id、名称、类型和大小。

使用方式:前置条件为安装 bun、playwright-core 和 Google Chrome,且相册链接必须公开(用未登录浏览器打开确认不会跳转登录页)。一次性初始化:mkdir -p ~/scratch/amazon-album && cd ~/scratch/amazon-album,然后 bun add playwright-core。运行示例: SKILL_DIR="$(dirname "$(find ~/.claude ~/eon -path '*/amazon-photos-album-download/scripts/download-album.ts' 2>/dev/null | head -1)")" ALBUM_URL="https://www.amazon.ca/photos/share/REPLACE_WITH_SHARE_ID" ALBUM_OUT="$HOME/Pictures/my-album-originals" bun "$SKILL_DIR/download-album.ts" 可用环境变量:ALBUM_URL(必填,/photos/share/<id> 链接)、ALBUM_OUT(默认 ./album-originals)、ALBUM_INCLUDE(默认 image,可选 image,video 或 all)、ALBUM_PROFILE_DIR(默认 ~/.cache/amazon-album/chrome)、ALBUM_CHROME_CHANNEL(默认 chrome)、ALBUM_PAUSE_MS(默认 800,下载间隔)。

限制与注意事项:相册实际节点数可能多于预期,Live Photo 静帧和视频会让“约 40 张”的相册出现 100+ 个资源节点,默认只保留静态图片。contentRedirection?download=true 返回原图而非缩略图,不要使用相册列表中的 tempLinks(可能是低清缩略图)。/drive/v1/ 接口在普通 curl 下会失败,必须在浏览器上下文内调用。该 API 未公开,Amazon 可能变更端点,失效时可在有头浏览器中重新观察 /drive/v1/ 请求以重新推导。原始文件常带 GPS EXIF、车牌、VIN/里程及居家环境信息,建议存放在 git 仓库之外,谨慎公开重新托管(未公开主机加 heic-to-jpeg-bundle 密码 ZIP 是较稳妥的做法)。运行后应检查 verified 数量是否等于 selected,若 API 返回 4xx/5xx 需重新推导端点并更新脚本。