social-to-imgur について
ソーシャルメディアの URL からサムネイルを取得し、恒久的な Imgur 画像リンクに変換するワークフロースキルです。macOS のキーチェーンに保存した Imgur Client ID を使い、ダウンロード確認から匿名アップロードまで案内します。
主な機能
- 01yt-dlp によるサムネイル取得
- 02JPEG ファイルのダウンロードと確認
- 03macOS キーチェーンから Imgur Client ID を取得
- 04画像の Imgur へのアップロード
- 05恒久的な画像リンクの返却
活用シーン
- 01Instagram URL から永続的な画像リンクを作成
- 02yt-dlp 対応サービスの動画サムネイルをアップロード
- 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 レスポンス全体を表示します。