关于 social-to-imgur
将社交媒体 URL 的缩略图转换为 Imgur 永久图片链接的工作流技能。它指导提取缩略图、下载并检查文件,再使用 macOS 钥匙串中的 Imgur Client ID 匿名上传。
主要功能
- 01使用 yt-dlp 提取缩略图
- 02下载并验证 JPEG 文件
- 03从 macOS 钥匙串读取 Imgur Client ID
- 04将图片上传到 Imgur
- 05返回永久图片链接
适用场景
- 01为 Instagram URL 创建持久图片链接
- 02上传 yt-dlp 支持平台的视频缩略图
- 03根据 API 响应排查上传失败
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ gkwa/ volcanicviper --skill social-to-imgur安装后在 Claude Code 中输入/social-to-imgur确认已加载。
附带文件tile.json
详细介绍
要求
uvx(随uv一同提供)——用于运行yt-dlp,无需安装- 存储在 macOS 钥匙串中的 Imgur Client ID,服务名称为
imgur-api
获取新的 Imgur Client ID
在 https://api.imgur.com/oauth2/addclient 注册新应用。
选择“OAuth 2 authorization without a callback URL”作为授权类型。
注册后会立即显示 Client ID——匿名上传无需密钥。
将 Client ID 存入钥匙串
使用服务名称 imgur-api 将 Client ID 存入 macOS 钥匙串:
security add-generic-password -s imgur-api -a "$USER" -w "your_client_id_here"
验证是否已正确存储:
security find-generic-password -s imgur-api -w
更新现有条目:
security add-generic-password -U -s imgur-api -a "$USER" -w "your_client_id_here"
社交媒体到 Imgur 工作流
当用户分享社交媒体 URL(Instagram、Facebook 或任何 yt-dlp 支持的平台),并希望获得永久图片 URL 时,请按以下步骤操作。
步骤 1:获取缩略图 URL
uvx yt-dlp --get-thumbnail "<post_url>"
保存输出内容——这是封面图片的临时 CDN URL。
步骤 2:下载图片
生成一个随机临时文件名:
mktemp /tmp/social_XXXXXX.jpg
在后续所有步骤中使用它返回的路径。
curl -sL "<thumbnail_url>" -o "<tempfile>"
确认它是 JPEG:
file "<tempfile>"
如果文件不是 JPEG,请停止并告知用户返回的文件类型。
步骤 3:上传到 Imgur
从 macOS 钥匙串获取 Client ID:
security find-generic-password -s imgur-api -w
如果命令失败,请停止并告知用户将 Client ID 添加到钥匙串:
security add-generic-password -s imgur-api -a "$USER" -w "your_client_id_here"
上传:
curl -s -X POST -H "Authorization: Client-ID <client_id>" -F "image=@<tempfile>" https://api.imgur.com/3/image
步骤 4:提取并返回 URL
解析 JSON 响应并提取 link 字段。
向用户输出永久 Imgur URL。
如果上传失败,请显示完整的 API 响应,以便用户调试。
评论
支持 Markdown