mcpField
S
social-to-imgur

social-to-imgur

github.com/gkwa创意与媒体074 次安装1 天前更新
代码仓库

关于 social-to-imgur

将社交媒体 URL 的缩略图转换为 Imgur 永久图片链接的工作流技能。它指导提取缩略图、下载并检查文件,再使用 macOS 钥匙串中的 Imgur Client ID 匿名上传。

主要功能

  1. 01使用 yt-dlp 提取缩略图
  2. 02下载并验证 JPEG 文件
  3. 03从 macOS 钥匙串读取 Imgur Client ID
  4. 04将图片上传到 Imgur
  5. 05返回永久图片链接

适用场景

  1. 01为 Instagram URL 创建持久图片链接
  2. 02上传 yt-dlp 支持平台的视频缩略图
  3. 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