Community画像github.com

jp-skill-image

テキストからCloudflare Workers AI(flux-1-schnellモデル)を使って画像を生成します。ユーザーが画像、ロゴ、サムネイルなどの作成を依頼したときに使用します。

jp-skill-image とは?

このスキルは、ユーザーが自然言語で画像作成を依頼した際に、Claudeがプロンプトを最適化し、Cloudflare Workers AI(@cf/black-forest-labs/flux-1-schnell)を呼び出して画像を生成するためのものです。対応するリクエストは「画像を作って」「ロゴをデザインして」「サムネイルが必要」など多岐にわたりますが、編集やベクターアートには対応しません。スキルはまず`.env`ファイルから`CF_ACCOUNT_ID`と`CF_API_TOKEN`を確認し、不足している場合はユーザーに具体的な取得手順(3ステップ)を提示します。その後、`generate.py`スクリプトを実行し、Flux用に最適化された高品質な英語プロンプト(被写体、スタイル、構図、照明、色、技術品質を明示)を渡し、結果をJPGファイルとしてローカルに保存します。デフォルトの拡散ステップ数は8(最高品質)で、高速化が必要な場合のみ4に下げます。Python標準ライブラリのみで動作し、外部依存は不要です。

対応✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/josephprada/jp-skill-image/tree/HEAD

Installed? Explore more 画像 skills: steipete/songsee, affaan-m/frontend-design, mattpocock/improve-codebase-architecture · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

jp-skill-image は何をしますか?

自然言語のリクエストを Cloudflare Workers AI(@cf/black-forest-labs/flux-1-schnell)で生成した画像に変換します。完全なフローは次のとおりです。ユーザーが希望を説明 → Claudeがプロンプトをエンジニアリング → スクリプトがCloudflare APIを呼び出す → 画像がローカルにJPGとして保存されます。

いつ使用するか

ユーザーが説明に基づいた画像生成を希望する場合 — 「カフェのロゴを作って」「AI動画のサムネイルを作って」「サイバーパンクな猫の写真」など。Claudeは、漠然としたリクエストを生成前に適切なプロンプトに変換する責任があります。

対象外: 既存画像の編集、ベクターアート/SVG、動画。

ステップ0 — 常に最初に .env を確認する

スクリプトを実行する前に、資格情報が解決できることを確認してください。スクリプトは次の順序で検索します。実際の環境変数 → カレントディレクトリまたは親ディレクトリの .env → ~/.claude/skills/jp-skill-image/.env(グローバルフォールバック)。

python3 -c "import sys; sys.path.insert(0, '$HOME/.claude/skills/jp-skill-image'); from generate import load_credentials; print('OK' if all(load_credentials()) else 'MISSING')"

変数が不足している場合(新規ユーザー / クローンしたばかりのプロジェクト)は、画像生成を試みずに、まずユーザーに以下の3つの短い手順で取得方法を伝えてください。

  1. CF_ACCOUNT_ID: Cloudflare Dashboard → 任意のドメイン/プロジェクト → Workers & Pages → Overview(右側に表示)、または直接 https://dash.cloudflare.com/profile/account-id... そこに表示されない場合は、ダッシュボードのURLまたは左サイドバーの Manage Account セクション(「My Profile」ではない)にあるIDを使用します。
  2. CF_API_TOKEN: https://dash.cloudflare.com/profile/api-tokens → Create Token → Custom Token → 権限 Account.Workers AI Scripts: Edit → Account Resources: 該当アカウント → Create。
  3. .env ファイルを作成する — プロジェクトのルート、または任意のフォルダから機能させるために ~/.claude/skills/jp-skill-image/.env に以下を記述:
    CF_ACCOUNT_ID=xxxxx
    CF_API_TOKEN=xxxxx
    

プロジェクトがインターネットアクセスに企業プロキシを使用している場合(.npmrc に HTTPS_PROXY が存在するか、外部APIへのリクエストがタイムアウトで失敗する場合)、以下も追加してください:

HTTPS_PROXY=<proxy-corporativo>

変数が存在することを確認したら、通常通り続行します。

実行方法

任意のディレクトリから(画像はカレントディレクトリからの相対パスで保存されます):

python3 ~/.claude/skills/jp-skill-image/generate.py "<最適化されたプロンプト>" -o <ファイル名>.jpg --steps <N>
  • "<最適化されたプロンプト>" — あなたが作成するプロンプト(下記参照)。ユーザーの生の言葉をそのまま使わないでください。
  • -o / --output — 保存先(デフォルト out.jpg)。短く説明的な名前を使用してください。例:coffee-logo.jpg
  • --steps — 拡散ステップ数(デフォルト 4)。flux-schnellは少ないステップ数に調整されていますが、最高品質を得るにはユーザーが速度を要求しない限り8を使用してください。4未満は使用しないでください。

スクリプトは成功時に Saved <ファイル> ... を出力し、失敗時には読みやすいエラーを出力します(base64画像を含むJSONレスポンスのケースも内部で処理済み)。

Claudeの本当の仕事:最高品質のプロンプトを書く

このスキルの価値は、Claudeがスクリプトを呼び出す前に、ユーザーの意図を鮮明で具体的かつ技術的に正確なプロンプトに拡張することにあります。ユーザーのリクエストをそのまま渡さず、必ず事前に加工してください。

Flux用の高品質プロンプトは、以下の順序で指定する必要があります:

  1. 主な被写体 — シーンに何があるか、具体的かつ曖昧さなく。
  2. スタイル/メディア — フォトリアリスティック、3Dレンダリング、フラットベクター、水彩、アイソメトリック、ピクセルアートなど。
  3. 構図とフレーミング — クローズアップ、ワイドショット、中央配置、三分割法、カメラアングル。
  4. 照明と雰囲気 — ゴールデンアワー、ネオン、ソフトなスタジオ照明、劇的な影、逆光。
  5. 色と詳細レベル — 特定のパレット、背景、テクスチャ、詳細レベル(“highly detailed”、“clean minimal”)。
  6. 技術的な品質(リアルな写真/レンダリングの場合) — “cinematic”、“8k”、“sharp focus”、“professional photography” などの用語は、Fluxがプレミアムな結果に近づくのに役立ちます。

変換例:

  • ユーザー:"カフェのロゴ"
  • 渡すプロンプト:"minimalist logo of a steaming coffee cup, flat vector illustration, warm brown and cream palette, centered on a clean off-white background, simple bold shapes, modern branding, professional design"

厳格なルール:

  • プロンプトは常に英語で(Fluxは英語に最もよく反応します)。
  • 1〜2文で、情報密度が高く、無駄のないものに。
  • 画像内に読み取り可能なテキスト/単語を要求しないでください — Fluxはそれらをうまくレンダリングできません。
  • ユーザーが十分な詳細を提供しない場合は、最善のクリエイティブ判断で不足部分を補ってください(被写体が本当に曖昧な場合を除き、質問しないでください)。
  • デフォルトで --steps 8 を使用して品質を最大化し、ユーザーが明示的に速度を要求した場合のみ4に下げてください。

生成後

  1. ファイルが保存されたことを確認します(スクリプトがパスを出力します)。
  2. ユーザーにファイル名と使用した正確なプロンプトを伝え、調整して再実行できるようにします。
  3. バリエーションが必要な場合は、修正したプロンプトと新しい -o で再実行します。

技術要件

  • CF_ACCOUNT_ID と CF_API_TOKEN がステップ0の3つのソースのいずれかで解決されていること。
  • Python 3.8以上。外部依存関係なし — スクリプトは標準ライブラリ(urllib)のみを使用するため、pip install や仮想環境は不要です。
  • スクリプトはCloudflare APIからのbase64レスポンスをデコードし、バイナリJPGとして保存します — レスポンス自体は画像ではありません。

関連スキル