mcpField
I
imagegen

imagegen

github.com/ckorhonenクリエイティブ・メディア2244 回インストール5 週間前に更新
リポジトリ

imagegen について

imagegenは、現在のプロジェクト向けに画像を生成・編集するスキルです。Webサイト、ゲーム、インターフェースなどの素材を作る人を対象とし、生成・編集・一括処理の手順を使い分け、再現可能な実行のため同梱CLIを優先します。

主な機能

  1. 01単一画像や一括画像の生成
  2. 02既存画像や一部領域の編集
  3. 03生成・編集に応じた手順の選択
  4. 04プロンプトの指針や例に沿った入力整理
  5. 05出力確認と変更点を絞った反復

活用シーン

  1. 01Webサイトのヒーロー画像や商品画像の作成
  2. 02画像の背景、照明、オブジェクトの変更
  3. 03複数プロンプトによる素材の一括生成
  4. 04UIモックアップ、インフォグラフィック、ロゴの作成

インストール

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

$npx skills add https://github.com/ckorhonen/claude-skills --skill imagegen

インストール後、Claude Code で/imagegenを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

LICENSE.txt
agents/
openai.yaml
assets/
imagegen-small.svg
references/
cli.md
codex-network.md
image-api.md
prompting.md
sample-prompts.md
scripts/
image_gen.py

詳細

画像生成スキル

現在のプロジェクト向けに画像を生成または編集します(例:ウェブサイト用アセット、ゲーム用アセット、UIモックアップ、製品モックアップ、ワイヤーフレーム、ロゴデザイン、フォトリアリスティックな画像、インフォグラフィック)。デフォルトでは gpt-image-1.5 と OpenAI Image API を使用し、再現性の高い決定論的な実行のために同梱の CLI を優先します。

使用するタイミング

  • 新しい画像を生成する(コンセプトアート、製品写真、カバー、ウェブサイトのヒーロー画像)
  • 既存の画像を編集する(インペインティング、マスクを使った編集、照明や天候の変換、背景の置き換え、オブジェクトの削除、合成、透明な背景)
  • バッチ実行(多数のプロンプト、またはプロンプトごとに多数のバリエーションを生成)

判断フロー(生成 vs 編集 vs バッチ)

  • ユーザーが入力画像を提供している場合(または「編集/レタッチ/インペイント/マスク/翻訳/ローカライズ/Xだけを変更」と言っている場合)→ 編集
  • そうでなく、ユーザーが多数の異なるプロンプトやアセットを必要としている場合 → generate-batch
  • それ以外 → 生成

ワークフロー

  1. 意図を判断する:生成 vs 編集 vs バッチ(上記の判断フローを参照)。
  2. 入力を事前にまとめて収集する:プロンプト、正確なテキスト(原文のまま)、制約事項や避けるべき要素のリスト、入力画像やマスク。複数画像の編集では、各入力に番号と役割のラベルを付け、編集では不変条件を明示的に列挙する。
  3. バッチの場合:tmp/ 配下に一時的な JSONL を作成し(1行に1ジョブ)、一度実行してから JSONL を削除する。
  4. 新しい創作要件を追加せずに、プロンプトを短いラベル付きの仕様(構成と制約)に整形する。
  5. 適切なデフォルト設定で同梱の CLI(scripts/image_gen.py)を実行する(references/cli.md を参照)。
  6. 複雑な編集や生成の場合は、出力を確認(画像を開いて表示)し、被写体、スタイル、構図、テキストの正確さ、不変条件と避けるべき要素を検証する。
  7. 反復改善:プロンプトやマスクに対して1つだけ的を絞った変更を加え、再実行して再確認する。
  8. 最終的な出力を保存・返却し、最終的なプロンプトと使用したフラグを記載する。

一時ファイルと出力の規則

  • 中間ファイル(JSONL バッチなど)には tmp/imagegen/ を使用し、完了後に削除する。
  • このリポジトリで作業する場合、最終成果物は output/imagegen/ 配下に書き出す。
  • 出力パスの制御には --out または --out-dir を使用し、ファイル名は安定していて分かりやすいものにする。

依存関係(不足している場合はインストール)

依存関係の管理には uv を優先して使用する。

Python パッケージ:

uv pip install openai pillow

uv が利用できない場合:

python3 -m pip install openai pillow

環境

  • ライブ API 呼び出しには OPENAI_API_KEY が設定されている必要があります。

キーが未設定の場合は、ユーザーに次の手順を案内してください:

  1. OpenAI プラットフォームの UI で API キーを作成する:https://platform.openai.com/api-keys
  2. システムの環境変数として OPENAI_API_KEY を設定する。
  3. 必要に応じて、ユーザーの OS やシェルに合わせて環境変数の設定を案内することを申し出る。
  • ユーザーにキー全体をチャットに貼り付けるよう求めないでください。ローカルで設定してもらい、準備ができたら確認してもらいます。

この環境でインストールができない場合は、不足している依存関係と、ユーザーがローカルでインストールする方法を伝えてください。

デフォルトとルール

  • ユーザーが明示的に gpt-image-1-mini を求めるか、より安価・高速なモデルを明示的に希望しない限り、gpt-image-1.5 を使用する。
  • ユーザーが明示的に編集を求めない限り、新しい画像を求めているものとみなす。
  • ライブ API 呼び出しの前には必ず OPENAI_API_KEY を確認する。
  • すべての API 呼び出しに OpenAI Python SDK(openai パッケージ)を使用し、生の HTTP は使用しない。
  • ユーザーが編集を要求した場合は、client.images.edit(...) を使用し、入力画像(マスクが提供されている場合はマスクも)を含める。
  • 新たに単発のスクリプトを書くよりも、同梱の CLI(scripts/image_gen.py)を優先する。
  • scripts/image_gen.py は決して変更しない。不足しているものがある場合は、何よりも先にユーザーに確認する。
  • 結果が明らかに関連性がない、または制約を満たさない場合は、プロンプトへの小さく的を絞った変更で反復する。質問するのは、不足している詳細が成功を妨げる場合に限る。

プロンプトの拡張

ユーザーのプロンプトを、構造化された本番向けの仕様に整形します。暗黙の詳細を明示するだけにとどめ、新しい要件は追加しないでください。

ユースケース分類(正確なスラッグ)

各リクエストを以下のバケットのいずれかに分類し、プロンプトと参照全体でスラッグを一貫して使用してください。

生成:

  • photorealistic-natural — 本物の質感と自然光を備えた、スナップ写真風またはエディトリアル調のライフスタイルシーン。
  • product-mockup — 製品・パッケージのショット、カタログ用画像、グッズのコンセプト。
  • ui-mockup — 出荷可能に見えるアプリ・Webインターフェースのモックアップ。
  • infographic-diagram — 構造化されたレイアウトとテキストを含む図やインフォグラフィック。
  • logo-brand — ロゴ・マークの検討。ベクターに適したもの。
  • illustration-story — コミック、絵本のイラスト、物語性のあるシーン。
  • stylized-concept — スタイル重視のコンセプトアート、3D・スタイライズドレンダー。
  • historical-scene — 時代考証に基づく、または世界知識に基づくシーン。

編集:

  • text-localization — 画像内のテキストを翻訳・置換し、レイアウトを維持。
  • identity-preserve — 試着、シーン内の人物。顔・体・ポーズを固定。
  • precise-object-edit — 特定の要素の削除・置換(インテリアの入れ替えを含む)。
  • lighting-weather — 時間帯・季節・雰囲気のみの変更。
  • background-extraction — 透明背景・クリーンな切り抜き。
  • style-transfer — 被写体やシーンを変えつつ、参照のスタイルを適用。
  • compositing — 光の当たり方と遠近感を合わせた、複数画像の挿入・合成。
  • sketch-to-render — 線画・ドローイングからフォトリアルなレンダーへ変換。

簡単な確認(補強と創作の違い):

  • ユーザーが「ランディングページ用のヒーロー画像」と言った場合、その用途から示唆されるレイアウト・構図の制約(例:「見出しテキスト用に右側に十分な余白を確保」)を追加してかまいません。
  • ユーザーが求めていない新しい創作要素は追加しないでください(例:マスコットの追加、被写体の変更、ブランド名・ロゴの創作)。

テンプレート(関連する行のみを含める):

Use case: <taxonomy slug>
Asset type: <where the asset will be used>
Primary request: <user's main prompt>
Scene/background: <environment>
Subject: <main subject>
Style/medium: <photo/illustration/3D/etc>
Composition/framing: <wide/close/top-down; placement>
Lighting/mood: <lighting + mood>
Color palette: <palette notes>
Materials/textures: <surface details>
Quality: <low/medium/high/auto>
Input fidelity (edits): <low/high>
Text (verbatim): "<exact text>"
Constraints: <must keep/must avoid>
Avoid: <negative constraints>

補強のルール:

  • 短くまとめ、ユーザーがすでに示唆または別途提供した詳細のみを追加してください。
  • リクエストは必ず上記のいずれかのスラッグに分類し、そのバケットに合わせて制約・構図・品質を調整してください。スラッグを使って references/sample-prompts.md の対応する例を探してください。
  • ユーザーが「このウェブサイト用の画像を生成して」のように広範な依頼をした場合は、状況に合った適切なアセットを判断して提案し、それぞれを分類スラッグに対応付けてください。
  • 編集の場合は、不変条件を明示してください(「Xのみを変更し、Yは変更しない」)。
  • 成功を妨げる重要な詳細が不足している場合は質問してください。それ以外の場合はそのまま進めてください。

例

生成の例(ヒーロー画像)
Use case: stylized-concept
Asset type: landing page hero
Primary request: a minimal hero image of a ceramic coffee mug
Style/medium: clean product photography
Composition/framing: centered product, generous negative space on the right
Lighting/mood: soft studio lighting
Constraints: no logos, no text, no watermark
編集の例(不変条件)
Use case: precise-object-edit
Asset type: product photo background replacement
Primary request: replace the background with a warm sunset gradient
Constraints: change only the background; keep the product and its edges unchanged; no text; no watermark

プロンプト作成のベストプラクティス(要点)

  • プロンプトはシーン → 被写体 → 詳細 → 制約の順に構成してください。
  • 用途(広告、UIモック、インフォグラフィックなど)を含めて、モードと仕上がりのレベルを指定してください。
  • フォトリアリズムには、カメラや構図に関する言葉を使ってください。
  • 正確なテキストは引用符で囲み、タイポグラフィと配置を指定してください。
  • 扱いにくい単語は一文字ずつつづりを示し、逐語的な再現を指示してください。
  • 複数画像を入力する場合は、画像をインデックスで参照し、どのように組み合わせるかを説明してください。
  • 編集では、ドリフトを抑えるために不変条件を毎回の反復で繰り返してください。
  • 単一の変更を加える追加指示で反復してください。
  • レイテンシが重要な実行では quality=low から始め、テキストが多い出力や細部が重要な出力には quality=high を使ってください。
  • 厳密な編集(アイデンティティやレイアウトの固定)では、input_fidelity=high の使用を検討してください。
  • 結果が「安っぽい」と感じられる場合は、簡潔な「Avoid:」行を追加し(ストックフォト的な雰囲気、安っぽいレンズフレア、過飽和のネオン、強いブルーム、過度のシャープ化、雑然さ)、「エディトリアル」「プレミアム」「控えめ」などの抑制を指定してください。

その他の原則: references/prompting.md。コピー&ペースト可能な仕様: references/sample-prompts.md。

アセット種別ごとのガイダンス

アセット種別のテンプレート(Webサイト用アセット、ゲーム用アセット、ワイヤーフレーム、ロゴ)は references/sample-prompts.md にまとめられています。

CLI・環境に関する注意

  • CLIコマンドと例: references/cli.md
  • API パラメータの簡易リファレンス: references/image-api.md
  • ネットワーク承認やサンドボックス設定が障害になる場合: references/codex-network.md

リファレンスマップ

  • references/cli.md: scripts/image_gen.py を使って画像生成・編集・バッチ処理を 実行 する方法(コマンド、フラグ、レシピ)。
  • references/image-api.md: API レベルで設定できる項目(パラメータ、サイズ、品質、背景、編集専用フィールド)。
  • references/prompting.md: プロンプト作成の原則(構造、制約・不変条件、反復パターン)。
  • references/sample-prompts.md: そのままコピーして使えるプロンプトのレシピ(生成と編集のワークフロー。例のみ)。
  • references/codex-network.md: 環境、サンドボックス、ネットワーク承認に関するトラブルシューティング。

コメント