mcpField
S
superimage-generator

superimage-generator

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

superimage-generator について

基本的な画像プロンプトを、モデルに合わせた構造化スーパープロンプトに整えるスキルです。画像生成を行うユーザー向けに、意図の確認、モデル選択、検証、形式調整を順に案内し、参照画像のワークフローにも対応します。

主な機能

  1. 01生成前に画像の意図を確認
  2. 02モデル選択とモデル別スキーマの利用
  3. 03参照画像に対応した構造化プロンプト作成
  4. 04形式調整前のプロンプト検証
  5. 05モデル入力用のプロンプト整形

活用シーン

  1. 01短い画像アイデアを詳細なプロンプトに展開
  2. 02主題やスタイルに応じたモデル選択
  3. 03参照画像を使った本人性の保持
  4. 04モデル送信前のプロンプト構造確認

インストール

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

$npx skills add https://github.com/bluebagai/skills --skill superimage-generator

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

同梱ファイル

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

examples/
asian-bar-candid-dreamy.json
backyard-lounger.json
balcony-flash-selfie.json
beach-cabana-turquoise-bikini.json
bedroom-floral-sleepwear.json
black-athleisure-thumbs-up.json
brand-concept-object-editorial-template.json
brand-social-collage-campaign-template.json
bw-window-portrait.json
cafe-sideways-selfie-thigh.json
car-rainy-night.json
champagne-lace-elevator-selfie.json
coquette-bedroom.json
editorial-portrait.json
elevator-mirror-selfie.json
fashion-editorial-split-catalog.json
fashion-studio-collage.json
gym-bench-vtaper.json
hawaiian-tropic-loungewear.json
heart-pendant-hallway-selfie.json
helicopter-coastline-portrait.json
hotel-bathroom-couple.json
INDEX.md
iris-necklace-portrait.json
ivory-nightdress-flash-pov.json
jet-ski-lookback.json
kitchen-candid.json
lightning-mcqueen-bathroom-selfie.json
low-angle-lace-bedroom-portrait.json
macbook-screen-nested.json

詳細

Superprompt Generator

基本的なプロンプトを、特定のAI画像モデルに最適化されたプロ品質のスーパープロンプトに変換します。

用語:

  • prompt = ユーザーの基本的な入力(例:「自撮りをする女性」)
  • superprompt = 詳細な仕様を含む、強化・構造化された出力

⚠️ 必須のワークフロー — どの手順も省略しないでください

このスキルには、順序と依存関係のあるワークフローがあります。各手順は前の手順を踏まえて進みます。手順を省略すると、結果の質が低下し、生成に失敗します。

重要な遵守ルール:
  • 手順1を完了してから手順2に進んでください — 意図を明確にする前にモデルを選択してはいけません
  • 手順3では生成前に必ずexamples/INDEX.mdを確認してください — インデックスを読み、その指示に従ってください。例のファイルを3つ以上読んではいけません。
  • 手順4の検証は必須です。例外はありません — 先に進む前に検証スクリプトを実行してください
  • 検証結果が✓ VALIDになるまで、手順5のフラット化を行わないでください — 無効なプロンプトはモデルで失敗します
  • 検証レポートは必ずユーザーに表示してください — ユーザーは品質スコアと警告を確認する必要があります

手順を省略したくなっても、省略しないでください。このワークフローには理由があります。

目次

クイックスタート

[! IMPORTANT] クイックスタートのセクションだけを読んで、処理を進めないでください。出力の生成を決める前に、必ずワークフローの選択を読んでください。

入力: "a woman taking a selfie"

出力: subject、wardrobe、pose、scene、lighting、cameraのブロックで構成され、解剖学的な精度、布地の詳細、カメラの技術仕様、ネガティブ制約を含む、構造化されたスーパープロンプト。

参照画像を使用する場合: "gym selfie" + [uploaded face reference] → 下記の参照画像を使うワークフローを参照してください。

ワークフローの選択

ユーザーは顔やアイデンティティの保持に使う参照画像を提供していますか?


ワークフロー

このチェックリストをコピーして進捗を記録してください — 各手順は必須です::

Superprompt Generation (SEQUENTIAL):
- [ ] Step 1: Clarify user intent ← START HERE
- [ ] Step 2: Select target model ← DEPENDS ON STEP 1
- [ ] Step 3: Generate structured superprompt ← DEPENDS ON STEP 2
- [ ] Step 4: Validate with script ← MANDATORY, NON-OPTIONAL
- [ ] Step 5: Flatten for model format ← ONLY AFTER VALIDATION PASSES
- [ ] Step 6: Return to user ← FINAL STEP
手順1:意図を明確にする

この手順を省略しないでください。意図が不明な場合は、ユーザーに質問してください:

  • 主な被写体は何ですか?(人物、製品、風景、建築物、食べ物、動物)
  • スタイルは何ですか?(フォトリアル、アーティスティック、イラスト)
  • 希望するアスペクト比はありますか?(9:16のモバイル向け、16:9の横長、1:1の正方形)
  • その他、指定したい雰囲気や設定はありますか?

回答を記録してください。手順2で必要になります。

ステップ 2:モデルを選択する

モデルの選択は、ステップ 1 の回答によって異なります。以下の表を使用してください。

被写体の種類ごとのデフォルト:

  • 人物/人間の被写体 → nano-banana(解剖学的な正確さ、複雑なポーズ)
  • 製品/物体/風景 → flux(汎用的なフォトリアリズム)

別のモデルを使用する場合:

  • テキストの描画が必要ですか? → ideogram または gpt-image-1.5
  • 顔/アイデンティティの保持が必要ですか? → flux-kontext-max
  • 芸術的/美的なスタイルが必要ですか? → midjourney
  • 動画/モーションが必要ですか? → luma
  • 反復的な編集が必要ですか? → gpt-image-1.5
モデル最適な用途テンプレート
nano-bananaデフォルト(人物) - 解剖学的な正確さ、ポーズmodels/nano-banana.md
fluxデフォルト(人物以外) - 汎用的なフォトリアリズムmodels/flux.md
flux-kontext-max画像編集、アイデンティティの保持models/flux-kontext-max.md
gpt-image-1.5推論ベース、UI モックアップ、ロゴmodels/gpt-image-1.5.md
seedream-4.5自然言語、画像内のテキスト、4Kmodels/seedream-4.5.md
midjourney美的品質、芸術性models/midjourney.md
ideogramタイポグラフィ、ロゴmodels/ideogram.md
recraftイラスト、ベクターmodels/recraft.md
luma動画、3D、モーションmodels/luma.md
reve芸術的なスタイルmodels/reve.md
grok-imagine素早い反復models/grok-imagine.md

使用するモデルが分からない場合: 被写体の種類(人物か物体/シーンか)と希望するスタイルについてユーザーに尋ね、上記のデフォルトを適用してください。

ステップ 3:スーパープロンプトを生成する

生成する前に:

  1. examples/INDEX.md を開きます
  2. 指示に従い、共通例を1つとカテゴリに合った例を1つ読みます
  3. 構造の参考として使用します。文面をそのままコピーしないでください

視点を検討する:

  • ユーザーのリクエストからムード、緊張感、規模、物語性が読み取れる場合は、画像を引き立てる視点が resources/perspectives.md にあるか確認します
  • ユーザーがすでにカメラアングルを指定している場合は、それに従います
  • デフォルトでは、すべてのプロンプトに無理に変わった視点を使う必要はありません。特に指定がなければ、標準的なアイレベルで問題ありません

次に、選択したモデルに合ったスキーマ構造を使用します。

警告 -- 出力形式: 生成する JSON には、スーパープロンプトのフィールドだけをトップレベルに含めてください。superprompt キーで囲まないでください。name、description、input_prompt、target_model、model_adaptations、flattened_prompt、color_palette、playbook_principles_applied などのメタデータキーを含めないでください。examples/ ディレクトリ内の例ファイルには、ドキュメント用にこれらのラッパーフィールドが含まれていますが、バリデーターはスーパープロンプトの内容をトップレベルで直接チェックします。ラッパーキーを含めると、バリデーターが JSON のルートで必須フィールドを見つけられず、検証に失敗します。

主題に応じて prompt_type を選択します:

  • portrait — 人物、キャラクター、アイデンティティや表情のある主題
  • product — オブジェクト、アイテム、静物、建築物
  • collage — 複数パネルの構図、エディトリアルレイアウト

スキーマは対象モデルによって異なります:

  • Nano-banana → 独自のフラット構造を使用します(prompt_type フィールドはありません)。以下の Nano-banana の例を参照してください。
  • Luma → 動画専用の独自構造を使用します。models/luma.md を参照してください。
  • その他すべてのモデル → prompt_type 識別子と meta.target_model を含む基本スキーマを使用します。以下のポートレート/プロダクトの例を参照してください。
例:ポートレート(基本スキーマ — flux、midjourney、ideogram、recraft、gpt-image-1.5、seedream-4.5 など)

必須: prompt_type、meta、subject、wardrobe、pose_action、environment、lighting、camera_technical、realism_anchors、negative_prompt

{
  "prompt_type": "portrait",
  "meta": {
    "quality_tier": "professional",
    "aspect_ratio": "9:16",
    "style": "photorealistic",
    "target_model": "flux"
  },
  "subject": {
    "description": "young woman mid-20s, honey blonde beach waves, confident smile",
    "identity": {
      "age_range": "mid-20s",
      "type": "young woman",
      "distinguishing_features": ["honey blonde beach waves", "confident smile"]
    },
    "physical_details": {
      "skin": { "tone": "light warm", "texture": "visible pores, natural" },
      "hair": {
        "color": "honey blonde",
        "style": "beach waves, past shoulders"
      },
      "face": { "expression": "confident smile", "gaze": "direct at camera" }
    },
    "expression_mood": "confident, relaxed"
  },
  "wardrobe": {
    "clothing": [
      {
        "type": "tank top",
        "material": "cotton",
        "fit": "fitted",
        "color": "white"
      },
      { "type": "denim shorts", "fit": "high-waisted", "details": "frayed hem" }
    ],
    "accessories": ["gold layered necklaces", "small hoop earrings"]
  },
  "pose_action": {
    "position": "mirror selfie, phone at chest level",
    "posture": "slight hip tilt"
  },
  "environment": {
    "location": "modern apartment bedroom",
    "background": ["natural light from window"],
    "atmosphere": "casual, warm"
  },
  "lighting": {
    "type": "natural",
    "quality": "soft diffused",
    "effects": ["window light", "subtle shadows"]
  },
  "camera_technical": {
    "device": "iPhone 15 Pro",
    "lens": "24mm wide",
    "aperture": "f/2.0"
  },
  "realism_anchors": [
    "visible skin pores",
    "fabric texture",
    "natural window light"
  ],
  "negative_prompt": [
    "cartoon",
    "deformed",
    "blurry",
    "airbrushed",
    "watermark",
    "low quality"
  ]
}
例:プロダクト(基本スキーマ)

必須: prompt_type、meta、subject、environment、lighting、camera_technical、realism_anchors、negative_prompt

{
  "prompt_type": "product",
  "meta": {
    "quality_tier": "professional",
    "aspect_ratio": "1:1",
    "style": "photorealistic",
    "target_model": "flux"
  },
  "subject": {
    "description": "vintage 1970s Polaroid camera, cream and brown body, rainbow stripe",
    "physical_details": {
      "materials": ["plastic body", "metal accents"],
      "finish": "matte with age patina"
    }
  },
  "environment": {
    "location": "weathered wooden table surface",
    "background": ["soft out-of-focus bookshelf", "warm afternoon light"],
    "atmosphere": "nostalgic, cozy"
  },
  "lighting": {
    "type": "golden-hour",
    "direction": "side lighting from window",
    "quality": "soft warm",
    "effects": ["warm highlights", "soft shadows"]
  },
  "camera_technical": { "lens": "50mm macro", "aperture": "f/2.8" },
  "realism_anchors": [
    "surface scratches",
    "dust particles",
    "leather texture",
    "metal patina"
  ],
  "negative_prompt": [
    "blurry",
    "low quality",
    "oversaturated",
    "artificial",
    "floating",
    "watermark"
  ]
}
例:Nano-banana モデル

Nano-banana は独自のフラット構造を使用するため、prompt_type フィールドは不要です。

必須: subject(body を含む)、wardrobe、scene、lighting、camera

{
  "subject": {
    "description": "young woman mid-20s, honey blonde beach waves, confident smile",
    "body": {
      "physique": "natural athletic build, hourglass figure",
      "anatomy": "defined shoulders, narrow waist, curved hips",
      "details": "visible skin pores, natural texture, subtle imperfections"
    }
  },
  "wardrobe": {
    "top": "white cotton tank top, fitted, subtle outline visible",
    "bottom": "high-waisted denim shorts, frayed hem",
    "accessories": ["gold layered necklaces", "small hoop earrings"]
  },
  "pose_action": {
    "description": "mirror selfie, holding smartphone at chest level, slight hip tilt"
  },
  "scene": {
    "environment": "modern apartment bedroom, natural light from window"
  },
  "lighting": {
    "type": "soft natural",
    "effects": ["diffused window light", "subtle shadows"]
  },
  "camera": {
    "technical": "iPhone 15 Pro, 24mm wide, f/2.0",
    "aspect_ratio": "9:16",
    "negative_constraints": "no cartoon, no deformed, no blurry, no airbrushed, no watermark"
  }
}
ステップ 4:検証する
# Auto-detects model from meta.target_model (defaults to nano-banana if absent)
node /skills/generating-image-superprompts/scripts/validate-prompt.js --input prompt.json

# Or specify model explicitly
node /skills/generating-image-superprompts/scripts/validate-prompt.js --input prompt.json --model flux

検証項目:prompt_type とモデルごとの必須フィールド、競合、モデル固有の要件、ネガティブプロンプトの網羅性。

重要 -- 検証時の JSON 構造: 検証スクリプトに渡す JSON では、プロンプトフィールド(subject、wardrobe、scene、lighting、camera など)をオブジェクトのトップレベルに置いてください。examples/ ディレクトリ内の例ファイルでは、これらのフィールドをドキュメント用のメタデータ(name、description、model_adaptations など)とともに superprompt キーの中に配置していますが、バリデーターはそのラッパーを想定していません。フィールドがルートレベルにあることを想定しています。

よくある失敗: 検証で subject、wardrobe、scene、lighting、camera の「Required」エラーが発生した場合、プロンプトフィールドを superprompt オブジェクトの中に入れてしまっている可能性が非常に高いです。ラッパーを削除し、すべてのフィールドを JSON のルートに置いてください。

検証に失敗した場合:

  1. エラーメッセージを注意深く確認します
  2. プロンプトフィールドを誤って superprompt キーで囲んでいないか、またはメタデータキー(name、description、model_adaptations など)を含めていないか確認します。含めている場合は削除し、プロンプトフィールドをルートレベルに置きます
  3. JSON 内の該当する問題を修正します
  4. 検証を再実行します
  5. 検証に合格するまで、ステップ 5 に進まないでください

✓ VALID のステータスが表示されるまで、この手順を繰り返します。

ステップ 5:モデル向けにフラット化する

構造化された JSON を、モデルが想定するテキスト形式に変換します。「フラット化」とは、ネストされた値をカンマ区切りの文字列に結合することです。

例(Flux):

構造化 JSON:

{
  "quality_prefix": "masterpiece, 8k uhd",
  "subject": "young woman mid-20s, honey blonde beach waves",
  "wardrobe": "white tank top, denim mini skirt",
  "pose": "mirror selfie, back arch",
  "lighting": "hard direct sunlight"
}

フラット化されたプロンプト(モデルですぐに使用できます):

masterpiece, 8k uhd, young woman mid-20s, honey blonde beach waves, white tank top, denim mini skirt, mirror selfie, back arch, hard direct sunlight

モデル固有のフラット化ルールについては、モデルテンプレートを参照してください(一部のモデル、たとえば GPT Image 1.5 は、カンマ区切りのタグではなく自然な文章を好みます)。

ステップ 6:ユーザーに返す

必ず提供するもの:

  1. フラット化済みですぐに使えるプロンプト(コピーしてモデルに貼り付けられます)
  2. 推奨モデル設定(guidance_scale、steps、aspect_ratio)

必要に応じて提供するもの: 3. 構造化 JSON — ユーザーから明示的に求められた場合、または後でプロンプトを反復・編集する必要がある場合に含めます

参照画像のワークフロー

顔やアイデンティティを保持するための参照画像がユーザーから提供された場合も、完全なスーパープロンプトを生成します。アイデンティティを保持するための reference ブロックを追加してください。

[! IMPORTANT] > これは標準ワークフローの代替ではありません。標準ワークフローに従ったうえで、参照設定を追加してください。

Reference Image Generation:
- [ ] Step 1: Confirm reference image uploaded
- [ ] Step 2: Follow Standard Workflow Steps 1-3 (generate FULL superprompt)
- [ ] Step 3: Add reference block to the superprompt
- [ ] Step 4: Ensure subject.appearance.skin references the image
- [ ] Step 5: Continue with Standard Workflow Steps 4-6 (validate, flatten, return)
生成する内容

通常のすべてのブロック(subject、wardrobe、pose、scene、lighting、camera)に加えて、先頭に reference ブロックを含む完全なスーパープロンプトを生成します。

参照ブロックの構造

完全なスーパープロンプトにこのブロックを追加します:

{
  "reference": {
    "face_identity": "use uploaded reference image",
    "identity_lock": true,
    "face_accuracy": "100% identical to reference — same facial structure, proportions, skin texture, expression, and details"
  }
}
完全な例(参照画像+完全なスーパープロンプト)
{
  "reference": {
    "face_identity": "use uploaded reference image",
    "identity_lock": true,
    "face_accuracy": "100% identical to reference — same facial structure, proportions, skin texture"
  },
  "subject": {
    "description": "young woman mid-20s, athletic build",
    "body": {
      "physique": "toned athletic build",
      "anatomy": "defined shoulders, narrow waist",
      "details": "visible skin pores, natural texture"
    },
    "appearance": {
      "skin": {
        "tone": "same as reference image",
        "texture": "natural, visible pores"
      },
      "expression": "confident smile",
      "gaze": "direct at camera"
    }
  },
  "wardrobe": {
    "top": "black sports bra, fitted",
    "bottom": "high-waisted grey leggings",
    "accessories": "small stud earrings"
  },
  "pose": "gym mirror selfie, phone at chest level, slight hip tilt",
  "scene": {
    "environment": "modern gym, weight racks in background",
    "lighting": { "type": "overhead fluorescent", "quality": "bright, even" }
  },
  "lighting": {
    "type": "gym fluorescent",
    "effects": "even illumination, subtle shadows"
  },
  "camera": {
    "technical": "iPhone 15 Pro, 24mm wide, f/1.8",
    "aspect_ratio": "9:16",
    "negative_constraints": "no cartoon, no deformed, no blurry, no face change, no identity drift"
  }
}
主な参照設定
設定目的
identity_lock: true顔の変化を防ぎます
face_accuracy: "100%"顔を正確に一致させます
skin.tone: "same as reference"肌の特徴を保持します
参照画像に対応するモデル
  • Flux IP-Adapter - 顔の保持に最適です
  • Flux Kontext Max - 編集を重ねてもアイデンティティを優れた精度で保持します
  • GPT Image 1.5 - 反復編集でも顔とアイデンティティを安定して保持します
  • Seedream 4.5 - キャラクターの一貫性を保つため、最大 14 枚の参照画像に対応します
  • Nano Banana - アイデンティティロックを強力にサポートします
  • Midjourney --cref - キャラクター参照フラグ

完全な例については、examples/reference-image-gym.json を参照してください。


スーパープロンプトの実践ガイド

高品質なプロンプトを作成するための基本原則です。詳しい説明と例については、playbook.md を参照してください。

7 つの原則(クイックリファレンス):

  1. 階層的な具体性 — 曖昧にせず、具体的にします("wearing a dress" ではなく "fitted burgundy velvet midi dress")
  2. リアリズムの要素 — 物理的な現実に基づかせます(visible pores、fabric weave、accurate shadows)
  3. 技術的なカメラ用語 — 写真撮影の用語を使います(85mm lens、f/1.8 aperture)
  4. ネガティブプロンプトの整理 — 品質上の問題、解剖学的な誤り、スタイルの混入を除外します
  5. 空間の一貫性 — カメラアングルと被写体の位置を明確に定義します
  6. ストーリーテリングとしての照明 — ゴールデンアワーは暖かく、真昼の強い光は大胆に、リムライトはドラマチックに
  7. アイデンティティロック — キャラクターの一貫性を保つため、年齢、髪型、体型を固定します

例

入力 → 出力の変換を含む完全な例です。それぞれ、複数のモデルに合わせたプロンプトを含みます。

カテゴリ別の主な例

リファレンス画像(アイデンティティの保持には、まずこちらをご覧ください):

鏡越しの自撮り(最も一般的なユースケース):

屋外/ライフスタイル:

室内/カジュアル:

アーティスティック/スタイライズ:

その他の例

examples/ ディレクトリでは、次の内容を含む50以上の追加例をご覧いただけます。

  • アスレチック/ジムでのポーズ、複雑な衣装、ブランドアイテム
  • カップル、グループ写真、2人の被写体
  • 夜間撮影、フラッシュの美学、低照度
  • エディトリアルファッション、コラージュ、分割レイアウト
  • キャラクター/コスプレ、ファンタジー要素

モデルテンプレート

モデルごとに、プロンプトの形式に関する要件があります。

検証スクリプト

# Validate a prompt
node /skills/generating-image-superprompts/scripts/validate-prompt.js --input prompt.json --model nano-banana

# Strict mode (warnings as errors)
node /skills/generating-image-superprompts/scripts/validate-prompt.js --input prompt.json --model nano-banana --strict

# Pipe from stdin
cat prompt.json | node /skills/generating-image-superprompts/scripts/validate-prompt.js --model nano-banana

出力には、具体性、リアリズム、技術面、ネガティブ指定の網羅性に関する品質スコア(0~100)が含まれます。

アスペクト比の参照

比率用途
9:16モバイル/ストーリーズ/TikTok
16:9デスクトップ/YouTube
1:1Instagram/プロフィール
4:5Instagramのポートレート

コメント