image-fetcher について
image-fetcher は、URL から画像を個別または一括で取得する Claude 向けスキルです。一般的な画像形式を判別し、文書への埋め込みなどに使うファイルを保存します。
主な機能
- 01URLから画像を1枚ダウンロード
- 02テキストまたはJSONのURLを一括取得
- 03サーバーの応答から画像形式を判定
- 04保存先とダウンロード結果を表示
- 05存在しない出力ディレクトリを作成
活用シーン
- 01画像をダウンロードして文書に埋め込む
- 02複数のWeb画像をギャラリーに保存
- 03Webサイトからロゴを取得
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ interstellar-code/ claud-skills --skill image-fetcherインストール後、Claude Code で/image-fetcherを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
requirements.txtscripts/fetch_image.pyfetch_images_batch.py詳細
画像取得スキル
このスキルを使うと、Claude は複数の画像形式に対応し、一括ダウンロードもできるようになり、インターネットから画像を取得してダウンロードできます。
このスキルを使うタイミング
次のようなリクエストがあったときに、このスキルを使います。
- 特定の URL から画像をダウンロードする
- ドキュメントに埋め込む画像をウェブから取得する
- インターネット上の画像をローカルに保存する
- 複数の画像を一括ダウンロードする
- 事前にダウンロードが必要な画像を変換または処理する
対応する画像形式
このスキルは、次の形式を自動的に検出して処理します。
- JPG/JPEG
- PNG
- GIF
- WebP
- BMP
- SVG
- ICO
- TIFF/TIF
主なワークフロー
画像を1枚ダウンロードする
URL から画像を1枚ダウンロードするには、次のようにします。
python scripts/fetch_image.py <image_url> [output_directory] [filename]
パラメーター:
image_url(必須):ダウンロードする画像の URLoutput_directory(任意):画像の保存先ディレクトリ(デフォルトは現在のディレクトリ)filename(任意):保存する画像のカスタムファイル名(デフォルトは URL のファイル名)
例:
# Basic download to current directory
python scripts/fetch_image.py https://example.com/photo.jpg
# Download to specific directory
python scripts/fetch_image.py https://example.com/photo.jpg ./downloads
# Download with custom filename
python scripts/fetch_image.py https://example.com/photo.jpg ./downloads myimage.jpg
画像を一括ダウンロードする
URL のリストから複数の画像をダウンロードするには、次のようにします。
python scripts/fetch_images_batch.py <urls_file> [output_directory]
入力ファイルの形式:
- 1行につき URL が1つ記載されたテキストファイル
- URL の配列を含む JSON ファイル:
["url1", "url2", ...]
例:
# Download from text file
python scripts/fetch_images_batch.py urls.txt
# Download to specific directory
python scripts/fetch_images_batch.py urls.json ./images
# Create a URL list on the fly
echo -e "https://example.com/img1.jpg\nhttps://example.com/img2.png" > urls.txt
python scripts/fetch_images_batch.py urls.txt ./downloads
一括ダウンロードスクリプトは、各ダウンロードの詳細な結果を記録した fetch_results.json ファイルを作成します。
Claude のワークフローとの統合
ドキュメントへの埋め込み
ドキュメント(DOCX、PPTX など)に埋め込む画像を取得する場合:
- 画像を一時的な場所にダウンロードします
- 返されたファイルパスを使って、ドキュメントに画像を埋め込みます
- 必要に応じて一時ファイルを削除します
# Download image
python scripts/fetch_image.py https://example.com/chart.png /home/claude/temp
# The script outputs the full path which can be used for embedding
# Example output: /home/claude/temp/chart.png
チャットでの表示
チャットに表示する画像をダウンロードする場合:
/mnt/user-data/outputs/ディレクトリにダウンロードします- ダウンロードした画像へのリンクをユーザーに提供します
python scripts/fetch_image.py https://example.com/image.jpg /mnt/user-data/outputs
検索との統合
ウェブ検索と組み合わせる場合:
- web_search ツールを使って画像を検索します
- 検索結果から画像 URL を抽出します
- このスキルを使って画像をダウンロードします
エラー処理
スクリプトは、次のような一般的な状況に対応します。
- 無効な URL
- ネットワークタイムアウト
- 対応していない形式
- 権限エラー
- ディレクトリが存在しない場合(自動作成)
ダウンロードに失敗した場合は、明確なエラーメッセージで報告します。
出力情報
ダウンロードが成功すると、次の情報が提供されます。
- 保存先ファイルの完全なパス
- ファイルサイズ(KB)
- サーバーからの Content-Type
- 成功の確認
ベストプラクティス
- ダウンロードを試みる前に、必ず URL を検証します
- 効率を高めるため、複数の画像には一括ダウンロードを使います
- ダウンロードを適切に整理するため、出力ディレクトリを指定します
- ファイル拡張子を確認します。URL に拡張子がない場合、スクリプトはヘッダーから形式を自動検出します
- エラーに適切に対処し、ダウンロードに失敗した場合はユーザーに知らせます
よくある使用例
使用例 1:プレゼンテーションにウェブ画像を埋め込む
# User: "Add this chart to my presentation: https://data.com/chart.png"
python scripts/fetch_image.py https://data.com/chart.png /home/claude/temp
# Then use the path to embed in PPTX
使用例 2:URL から画像ギャラリーを作成する
# User: "Download these product images and save them"
# Create urls.txt with image URLs
python scripts/fetch_images_batch.py urls.txt /mnt/user-data/outputs/gallery
使用例 3:ブランディング用にロゴをダウンロードする
# User: "Get the company logo from their website"
python scripts/fetch_image.py https://company.com/logo.svg /home/claude/assets logo.svg
技術上の注意
- ブロックされないよう、適切なヘッダーを設定して
requestsライブラリを使用します - メモリーを効率的に使えるよう、大きなファイルはストリーミングします
- ダウンロードごとのタイムアウトは30秒です
- Content-Type の自動検出と拡張子のマッピングに対応します
- 出力ディレクトリが存在しない場合は自動的に作成します
コメント
Markdown 対応