用途:当用户分享 Instagram 链接并希望得到永久图片 URL 时,从帖子中提取封面/缩略图,下载后上传至 Imgur,返回永久链接。
依赖与准备:需要 uvx(随 uv 提供,用于免安装运行 yt-dlp);Imgur Client ID 需存放在 macOS 钥匙串,服务名为 imgur-api。注册 Client ID 可前往 https://api.imgur.com/oauth2/addclient,授权类型选择“OAuth 2 authorization without a callback URL”,注册后立即显示 Client ID,匿名上传无需 secret。
钥匙串操作:存入使用 security add-generic-password -s imgur-api -a "$USER" -w "your_client_id_here";验证使用 security find-generic-password -s imgur-api -w;更新已有条目加 -U。
工作流程:第一步用 uvx yt-dlp --get-thumbnail "<instagram_url>" 获取封面 CDN 链接(会过期);第二步用 mktemp /tmp/instagram_XXXXXX.jpg 生成临时文件名,再用 curl -sL "<thumbnail_url>" -o "<tempfile>" 下载,并用 file "<tempfile>" 确认是 JPEG,若不是则停止并告知用户实际文件类型;第三步从钥匙串读取 Client ID,若失败则提示用户按上述命令添加,然后用 curl -s -X POST -H "Authorization: Client-ID <client_id>" -F "image=@<tempfile>" https://api.imgur.com/3/image 上传;第四步解析 JSON 响应,提取 link 字段并输出永久 Imgur URL,失败时展示完整 API 响应以便排查。
限制:资料未提供平台支持范围、上传大小限制、失败重试机制或配额说明,相关事实暂未提供。