Community画像github.com

shaharsha/image-generation

ロゴ、アイコン、UIモックアップ、ヒーロー画像、商品写真などのデザインアセットを、OpenAI GPT Image 2.5(Sunburst, Flare)またはGoogle Gemini(Nano Banana 2, Nano Banana Pro, Nano Banana 2 Lite)を用いて生成します。ユーザーがビジュアルアセットの作成、デザイン、生成、モックアップ、レンダリング、イラスト作成を依頼したり、透明PNGが必要な場合や画像プロンプトエンジニアリングを依頼したときに使用します。タスクに最適なモデルと品質を選択し、各モデルの公式プロンプトルールに従ったモデル固有のプロンプトを作成します。

image-generation とは?

このスキルは、AIエージェント(Claude Code、Cursor、Codexなど)向けに設計された画像生成ユーティリティです。OpenAIのGPT Image 2.5(Sunburst, Flare)とGoogle Gemini(Nano Banana Pro, Nano Banana 2, Nano Banana 2 Lite)の2つのモデルファミリーを統合し、ロゴ、UIモックアップ、商品写真、ヒーロー画像など、あらゆるデザインアセットを生成します。各モデルの特性を理解し、アセットの種類や用途(本番品質か迅速なラフ案か)に応じて最適なモデルと品質設定を自動選択します。プロンプト作成はモデルごとに異なるベストプラクティス(OpenAIはラベル付きセクション、Geminiはナラティブ段落)に従い、透明背景、ヘブライ語/RTLテキスト、複数キャラクターの一貫性維持など高度なワークフローもサポートします。また、生成結果をセルフレビューし、ユーザーに提示する前に品質を確認する「反復して完璧にする」自律ループを備えています。

対応✓Claude Code✓Codex CLI~Cursor✓Gemini CLI
npx skills add https://github.com/shaharsha/claude-skills/tree/HEAD/skills/image-generation

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

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

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

ドキュメント

画像生成

2つのモデルファミリー、3つのジョブ。

対応モデル

モデルIDファミリー用途コスト(1024×1536、2026-10-02計測)
gpt-image-2.5-sunburstOpenAI(Images 2.5、2026-09-08)デフォルト。出荷されうるものすべて。主要リーダーボード(生成、編集、テキストレンダリング、ポートレート)でNo.1max ≈ $0.165、約90秒 · high ≈ $0.041、約35秒
gpt-image-2.5-flareOpenAI(Images 2.5)クイックラフ — 方向性の探索、プロンプトのテスト。Sunburstと同じプロンプトで約2倍高速medium ≈ $0.01、約15秒
gemini-3-pro-imageGoogle(Nano Banana Pro)投票とレビューが分かれる際の自然な肌/髪のクローズアップ。最大14個の参照画像$0.134(1K/2K)· $0.24(4K)
gemini-3.1-flash-imageGoogle(Nano Banana 2)極端なアスペクト比(1:4…8:1)、画像検索グラウンディング$0.067(1K)
gemini-3.1-flash-lite-imageGoogle(Nano Banana 2 Lite)最も安価なGemini探索。1Kのみ、JPEG出力$0.034

gpt-image-2 はまだ動作しますが(非推奨ではありません)、2.5モデルのどちらよりも劣ります。Geminiの *-preview モデルIDとすべてのImagenモデルはシャットダウンされています — スクリプトはそれらを拒否します。

このスキルの3つのジョブ

  1. モデルと品質を選択します。アセットに応じて。reference/model-selection.md を参照。
  2. プロンプトを作成します。モデルのルールに従って。2つのプロバイダーは正反対のものを要求します:
    • OpenAI GPT Image 2.5 はラベル付きセクション(scene / subject / details / constraints)を必要とし、正確なテキストを引用符で囲み、インラインでの除外指定(「余分なテキストなし、ウォーターマークなし」)を受け入れます。reference/openai-gpt-image.md を読んでください。
    • Gemini はナラティブ形式の段落を必要とし、否定的な表現は逆効果です(「人物なし」を「誰もいない通り」と書き換えます)。アスペクト比は imageConfig で指定します。reference/gemini-image.md を読んでください。
  3. APIを実行します。バンドルされたスクリプトを使用。scripts/README.md を参照。

2.5の品質 — 落とし穴

2.5の品質ラダーは再編成されました。 同じサイズで、2.5の high はgpt-image-2の medium に相当する出力トークンを購入します。2.5の max はgpt-image-2の high に相当するトークン(計測値: Sunburst 1024×1536 high = 1,372出力トークン、max = 5,488)を購入します。古い習慣で "quality=high" をコピーすると、気付かないうちに中程度の詳細の画像が生成されます。

ラフ案は再生成ではなく編集で昇格させます。 新規生成ごとに新しい画像が構成されるため、承認済みラフ案のプロンプトを max で再実行すると、異なる 画像が得られます。代わりに、選択したラフ案を参照画像としてSunburst max 編集に渡し、レンダリング品質のみを変更して他のすべてを保持します。2026-10-02に検証済み:この方法で昇格させたFlare medium ポスターは、構図、人物、ポーズ、色、ヘブライ語テキストを維持し、質感と詳細が向上しました($0.18、85秒)。

段階モデル + 品質理由
方向性の探索、プロンプトのテストFlare medium (--draft)約1セント、約15秒なので、6方向で最終版1枚分よりも安い
選択したラフ案を昇格Sunburst max 編集、--ref <draft> および reference/openai-gpt-image.md の昇格プロンプトを使用ユーザーが選んだ見た目を維持し、詳細を追加
確定プロンプトからの最終版Sunburst max(スクリプトデフォルト)フル詳細。約90秒、約$0.17
細かい詳細よりも時間が重要な場合のSunburstSunburst highトークン数1/4、約35秒

auto は絶対に使用しないでください。同一の呼び出しでも異なる予算に割り当てられます。

デフォルトのモデル選択 — 30秒ルール

方向性の探索 / 「いくつかクイックオプション」 / プロンプトのテスト?
  YES → Flare medium (--draft)。ユーザーの選択をSunburst max編集で昇格 (--ref <draft>)。
  NO  ↓

肌のテクスチャが重要なフォトリアルな人間の顔のクローズアップ?
  YES → まずSunburst max(ポートレート投票でリーダー)。ズームで肌がシャープネス過剰に見える場合は、
        gemini-3-pro-image 4Kと比較し、人間に選んでもらう。
  NO  ↓

3:1を超える超ワイド/縦長バナー(1:4、4:1、1:8、8:1)?
  YES → gemini-3.1-flash-image(GPT Imageは3:1まで)。
  NO  ↓

それ以外 → Sunburst、品質=max。
  └── 透明PNG?ネイティブ対応: --background transparent (png/webp)。rembg不要。

アセットタイプ別の完全な決定木: reference/model-selection.md。

リクエストごとのワークフロー

  1. スコープを確認します。アセットの種類、ブランドコンテキスト、カラー/スタイルの方向性、目標アスペクト比+サイズ、保存先。リクエストにすでに明記されている場合は次に進みます。
  2. モデルと品質を選択します。上記のルールを使用。選択理由を一文で説明します。
  3. モデル固有のリファレンスを読む — reference/openai-gpt-image.md または reference/gemini-image.md。記憶だけで書かないでください。2つのプロバイダーは正反対のプロンプト構造を必要とし、2.5のガイダンスはgpt-image-2のいくつかの習慣を変更しました。
  4. 透明背景? GPT Image 2.5ではネイティブ対応。Gemini出力または既存画像を切り抜く場合のみ reference/transparent-backgrounds.md を読んでください。
  5. 対応するテンプレートを開く templates/ 内から選択し、プレースホルダーを埋めます。
  6. 画像内にヘブライ語またはRTLテキスト? 最初に reference/hebrew-rtl.md を読んでください。
  7. APIを呼び出す前にプロンプトをユーザーに見せる — ただしユーザーが「そのまま実行して」と言った場合は除きます。1回のプロンプトレビューで、ほとんどの高価な再生成を防げます。
  8. スクリプトを実行します。特に指示がない限り、カレントディレクトリの ./generated-images/<説明的な名前>.png に保存します。OpenAIスクリプトはレイテンシ、出力トークン、コストを呼び出しごとに出力します — 累計を記録しておきます。
  9. 保存された画像をReadツールで読む — Claudeはマルチモーダルで、実際にピクセルを見ることができます。 要求事項に照らして批評します: 構図、テキストが引用符で囲まれたとおりに正確に綴られ、1回だけ出現しているか、色、欠陥(文字の崩れ、余分な指、壊れた形状、滑らかな領域のざらつき)。ユーザーが指摘する前に問題を見つけます。
  10. ユーザーに見せる。open <パス> を実行し、見えたもの(良い点と悪い点)を要約し、出荷するか、特定の変更を加えて反復するかを提案します。

アセットタイプ別テンプレート

アセットテンプレート
ブランドロゴ / マーク / ワードマークtemplates/logo.md
アイコンセット(一貫したスタイル)templates/icon-set.md
モバイルアプリUI画面templates/ui-mobile.md
Webダッシュボード / SaaS UItemplates/ui-dashboard.md
マーケティングヒーロー画像 / バナーtemplates/hero-image.md
商品写真 / ヒーローショットtemplates/product-shot.md

完全な実例については、examples.md を参照してください。

継続キャラクターとストーリーパネル

同じ人物が複数の画像に登場するコミック、ストーリーボード、アニメーションエピソード向け:

  • 写真からのキャラクター作成。 写真全体を参照画像として渡してはいけません。編集エンドポイントは写真を再スタイル(ポーズ、服、背景をコピーし、キャプションテキストを追加)してしまい、人物を描画しません。有効なパイプライン:

    1. まず顔を切り抜く: python3 <this-skill-dir>/scripts/crop_faces.py photos/ faces/ --sheet faces/_sheet.jpg。
    2. 切り抜きからアニメ顔を作成する。
    3. その顔を半身のコスチュームカードに編集し、体型を指定する。
    4. 人間の承認を得て、昇格する。

    プロンプトとレビューループ: reference/characters-from-photos.md。

  • 2人以上のキャラクターがいるシーン。

    • FlareではなくSunburst high でラフ案を作成する。Flareは画像1枚、屋外、字幕付きで描画した。
    • 最初の言及で各名前をそのカードに結び付ける例: 「ダナ(画像1の女性)」。
    • あらゆる言語の字幕を禁止する。
    • スマートフォンやタブレットの画面は後ろからレンダリングされる。画面コンテンツを独立した画像として生成し、合成する。

    レシピ: reference/multi-character-scenes.md。

  • バッチ請求。 credit_balance_exhausted はOpenAIアカウントの残高不足を意味し、リクエストの不良ではありません。停止し、どのショットが完了したかリストアップし、追加チャージ後に不足分のみを再実行します。

APIキーと依存関係

APIキーは環境変数から取得します。スクリプトを実行するシェルで、自身のシークレットストアから設定します(新しいシェルごとに再度設定が必要です):

  • OPENAI_IMAGE_API_KEY → scripts/openai-image.sh 用
  • GEMINI_IMAGE_API_KEY(または GEMINI_API_KEY)→ scripts/gemini-image.sh 用。同じGoogle AI Studioキーは生成ビデオクリップにも機能します

これらのキーは画像生成にスコープ指定されています。チャットや埋め込みに再利用したり、絶対に出力してはいけません — 変数にロードし、エコーしないでください。

ローカルツール(Gemini出力または既存画像の切り抜き専用): rembg (pip install "rembg[cli]" onnxruntime)、オプションでImageMagick。

出力規則

  • デフォルト保存先: カレントワーキングディレクトリの ./generated-images/<説明的な名前>.png。
  • ファイル名: 説明的なケバブケース(logo-agentleh-monochrome-v1.png)。ラフ案には -draft-N を付加(logo-agentleh-draft-3.png)。
  • バージョン管理: 反復時は -v1、-v2、… を追加。以前の生成物を許可なく上書きしない。
  • 透明出力: バージョン後に -transparent を追加。
  • macOSでは open <パス> で生成直後にユーザーに見せる。

反復パターン — 「完璧になるまで反復」自律ループ

エージェントの役割は、ユーザーに尋ねる前に画像を「出荷可能な品質」にまで持っていくことです:

1. 生成(スクリプト呼び出し)
2. Readツールで保存ファイルを読む — Claudeはピクセルを見る
3. 要求事項に照らしてセルフ批評:
   - 構図は適切か?(配置、フレーミング、バランス、階層、余白)
   - テキストは引用符で囲まれたとおり正確に綴られ、各文字列が1回出現し、読みやすいか?
   - 色は正しいか?(HEX一致、パレット準拠)
   - 欠陥は?(文字の崩れ、余分な指、壊れた形状、空や背景のざらつき)
   - 要求事項は実際に満たされているか?
4. 判断:
   - 出荷 → 要求事項を満たしている。ユーザーに見せる
   - 編集 → 1箇所の局所的な修正。--ref <前回> と「Xのみ変更」とすべての以前の修正と保持した詳細を再記述したプロンプトで編集
   - 書き直し → 根本的なプロンプトの問題。微調整せずに最初から書き直す
5. 停止条件: このアセットで5回の反復を使用、または$3を消費(スクリプトのコストラインを合計)、または出荷可能になった場合

ユーザーが最終判断者ですが — Claudeが最初の判断者です。 不完全な結果を「これでいいですか?」と見せないでください。要求事項を満たしていることを確認した後、または批評を添えて(「ワードマークのカーニングがズレています。次で修正します」)見せてください。

モデル別の仕組み

  • GPT Image 2.5編集は scripts/openai-image.sh --ref <画像>(最大16参照)を介して /v1/images/edits に送信されます。マスクがないと、ターンごとにキャンバス全体が再生成されるため、ドリフトが蓄積します — 毎ターン、新しいリクエストだけでなく、すべての以前の変更と保持したすべての詳細を再記述してください。 領域をピクセル単位で同一に保つ必要がある場合は、プロンプトで保持することを期待するのではなく、承認済み編集を元の画像に合成してください。
  • Geminiマルチターン編集: scripts/gemini-image.sh --ref <前回の出力> --prompt "change X, keep Y" とし、常に「画像内のその他すべて — 構図、照明、色、他の要素 — を正確に同じままにしてください」で終わります。
  • ドリフト対策。 同じ画像で3回の反復が成功しなかった場合、戦略を切り替えます: ベースプロンプトを書き直すか、モデルを変更します。

価格

GPT Image 2、2.5 Flare、2.5 Sunburstはトークンレートを共有します(画像出力$30/100万トークン、画像入力$8/100万トークン、テキスト入力$5/100万トークン。Batch APIでは半額)。ただし、画像あたりのトークン数は品質、サイズ、モデルによって異なるため、想定せずにスクリプトが出力するコストを読んでください。Geminiは画像ごとに価格設定されています。完全なテーブルと想定シナリオ: reference/pricing.md。

ヘブライ語 / RTL

SunburstとFlareは両方とも、2026-10-02のテストでヘブライ語の見出しを正しくレンダリングしました(正しい文字、正しい順序、正しい方向、英語とバッジと共に)。まず直接レンダリングを試し、長いヘブライ語の行やライセンスフォントが必要な場合は合成ワークフローにフォールバックしてください。ヘブライ語はGoogleのGemini画像モデルの最高パフォーマンス言語リストに含まれていません — ヘブライ語テキストにはGPT Imageを推奨します。reference/hebrew-rtl.md を参照。

このスキルを使用すべきでない場合

  • ユーザーが編集可能なベクターファイル(パス付きSVG)を必要としている場合。これらのモデルはラスターを出力します。brand-assets スキル、またはRecraft V4.1 Vector(recraftv4_1_vector、ネイティブSVG、これらのスクリプトには配線されていません)を使用してください。
  • ユーザーがサポートされているサイズ外の正確なピクセル寸法(例: 1200×630)を必要としている場合。最も近いサポートアスペクト比で生成し、その後クロップ/リサイズしてください。
  • ユーザーが特定の実在人物の実際の写真を必要としている場合。両プロバイダーは拒否するか不正確な似顔絵を生成し、ポリシー上の問題もあります。
  • ユーザーがデザインブリーフなしで一般的な「AIアート」を求めている場合 — ChatGPTまたはGeminiアプリに誘導してください。このスキルはデザインワーク用に調整されています。

Individual skills in this repo

This repo contains 3 individual skills — each has its own dedicated page.

shaharsha/deck-to-video

Use when turning a slide deck plus per-slide narration audio into an mp4 video — a self-playing/self-presenting deck video, "slides to video", "presentation to mp4", a shareable WhatsApp/Slack/Drive video of a narrated deck, or when a slide video needs a per-slide progress bar / countdown / slide counter. Also use when a slide video should highlight, glow or spotlight the element being talked about in time with the voice, or when narration and on-screen animation need syncing. Also use when...

shaharsha/generating-video-clips

Use when turning a still image, illustration, comic panel or character art into a short animated clip (image-to-video), choosing a video model or provider (Gemini Omni, Veo, Seedance, Kling, ElevenLabs Flows) or hitting their API gates, lip-syncing a character's mouth to existing dialogue audio (Sync, fal.ai, active speaker), or fixing a generated clip with artifacts - duplicated props, a door or a second figure appearing, hands through bodies, glowing eyes, a gesture repeated at the start,...

shaharsha/producing-animated-episodes

Use when making a narrated or voiced animated video with recurring characters - an anime, cartoon or comic episode, a short for a group chat, a story video about friends, family, a class or a team - from photos, a chat export, a story idea or a script, in any visual style, Hebrew/RTL or English. Also use when such a video has subtitles or cards too fast to read, music stopping early, the ending cut off, lines buried under music, mouths out of sync, a gesture before its line, or one face...

関連スキル