mcpField
S
social-to-imgur

social-to-imgur

github.com/gkwaクリエイティブ・メディア074 回インストール1 日前に更新
リポジトリ

social-to-imgur について

ソーシャルメディアの URL からサムネイルを取得し、恒久的な Imgur 画像リンクに変換するワークフロースキルです。macOS のキーチェーンに保存した Imgur Client ID を使い、ダウンロード確認から匿名アップロードまで案内します。

主な機能

  1. 01yt-dlp によるサムネイル取得
  2. 02JPEG ファイルのダウンロードと確認
  3. 03macOS キーチェーンから Imgur Client ID を取得
  4. 04画像の Imgur へのアップロード
  5. 05恒久的な画像リンクの返却

活用シーン

  1. 01Instagram URL から永続的な画像リンクを作成
  2. 02yt-dlp 対応サービスの動画サムネイルをアップロード
  3. 03API 応答を使ったアップロード失敗の調査

インストール

コマンドをコピーしてターミナルで実行します。

$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-api で保存された Imgur Client ID

新しい 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 レスポンス全体を表示します。

コメント