Claude Skill

image-generation

Generate images through the Hyper MCP with the unified `images_generate` tool — text-to-image, image-to-image, and branded ad creatives — choosing the model (gpt-image-2.5-flare, gpt-image-2.5-sunburst, nano-banana, nano-banana-pro, seedream-4.5) per task. Use when the user asks

LLM Mart · 0 points · 2 views 0 listing impressions 0 install-command copies
Virus-scanned Reviewed automatically before listing.

Full trust report

Download hyperfx-ai-marketing-skills-skills_image-generation-abd711a.zip · 6 KB
Part of hyperfx-ai/marketing-skills — 30 skills

Install

skills CLI npx skills add https://github.com/hyperfx-ai/marketing-skills/tree/main/skills/image-generation
Claude Code claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install hyperfx-ai-marketing-skills@llmmart
Git git clone https://github.com/hyperfx-ai/marketing-skills.git

The skills CLI installs just this skill, for any of its supported agents. Claude Code installs the whole hyperfx-ai/marketing-skills collection as a plugin from our marketplace. Git is the plain clone.

Skill manifest

Image Generation

Generate images with the images_generate tool. It handles text-to-image, image-to-image (pass reference_images), and multi-image composition. By default (model="auto") it picks the best model for the request; set model to choose one.

Requirements

This skill assumes the Hyper MCP is connected to your agent so the images_generate tool is available. For brand-consistent ad creative work, Firecrawl must also be configured under your Hyper integrations.

How to run the tools in this skill

Every tool in this skill is named by its canonical tool name. Run it with the call your surface gives you:

Surface Find a tool Run it
MCP client (Claude, Cursor, Codex, ChatGPT) search("<what you want to do>"), then describe("<name>") call("<name>", {...})
Hyper CLI hyperai search "<what you want to do>", then hyperai describe <name> hyperai call <name> --json '{...}'

If a tool is not found, its integration is not connected or not enabled for the workspace: stop and tell the user which integration to connect.

Call shape

images_generate(
    requests=[{"id": "ad1", "prompt": "A polished SaaS ad, clean composition"}],
    aspect_ratio="16:9",     # "1:1" (default), "9:16", "16:9", "4:5", "5:4", "2:3", "3:2", "3:4", "4:3", "21:9"
    quality="standard",      # "draft" | "standard" | "high"
    n=1,                      # 1-4 images per request
    model="auto",            # see "Choosing a model" below
)
  • Image-to-image / brand references: put files in the request: requests=[{"prompt": "Compose into a gift basket", "reference_images": ["file1", "file2"]}].
  • Reproducible output: pass seed=....
  • Ground in real-world search: pass use_search=True.
  • Do not display image URLs — they render automatically in chat.

Choosing a model

model="auto" is the right default. Override only when the task clearly calls for a specific model:

Task model
First-pass concepts / quick ad ideation / everyday generation gpt-image-2.5-flare
Precise edits and branded compositions from reference images, production creative gpt-image-2.5-sunburst
Cheap iteration, image-to-image, the widest aspect ratios (adds 1:4, 1:8, 4:1, 8:1) nano-banana
Readable text inside the image (posters, labels, infographics) or search-grounded scenes nano-banana-pro
Product photography, material/fabric fidelity, accurate spatial depth seedream-4.5

See references/image-prompting.md for per-model prompt-writing tips.

Branded / website ad creatives — extract branding first

If the user gives a website URL and wants on-brand creatives:

  1. Call firecrawl_branding_extract with the URL → returns brand colors, fonts, personality/tone, and saved image files (logo, favicon, og_image).
  2. Optionally firecrawl_urls_scrape with formats=["screenshot"] for visual context.
  3. Write the prompt using the actual hex colors, font names, and tone, and pass the logo file_id in reference_images.

The branding result's file field is a JSON data file, NOT an image — never pass it as a reference. Only logo.file_id and images.*.file_id are usable images.

Higher-level workflows

For multi-shot product or marketplace work, prefer the workflow tools — they preserve product identity and return structured results:

Reminders

  • Do NOT display image URLs to the user — they show automatically in chat.
  • Refine vague prompts unless the user wants verbatim generation.
  • Match aspect_ratio to intent (social, print, web).
  • Use quality="high" for production, "draft"/"standard" while iterating.
  • Generated file_ids can be reused as reference_images in later calls.
  • For website brand work, call firecrawl_branding_extract before generating.
Files (marketing-skills)
  • references
    • image-prompting.md 2.4 KB
      # Image Prompting (per model)
      
      `images_generate` picks a model for you when `model="auto"`, but the prompt you
      write should still play to whichever model runs. Set `model` when the task clearly
      calls for a specific one; otherwise let `auto` decide.
      
      ## Choosing a model (cheat sheet)
      
      | Need | `model` |
      |------|---------|
      | First-pass concepts, ad ideation, everyday generation | `gpt-image-2.5-flare` |
      | Precise edits, compositions with reference images, production creative | `gpt-image-2.5-sunburst` |
      | Cheap iteration, the widest aspect ratios, image-to-image with multiple references | `nano-banana` |
      | Readable text inside the image (posters, labels, infographics) or search-grounded scenes | `nano-banana-pro` |
      | Product photography, material/fabric fidelity, accurate spatial depth | `seedream-4.5` |
      | No strong preference | `auto` (default) |
      
      ## Per-model prompt shapes
      
      ### `gpt-image-2.5-flare` and `gpt-image-2.5-sunburst` (OpenAI)
      - Flare: first-pass concepts, ad creative ideation, fast everyday generation.
      - Sunburst: precise edits and compositions from references, production creative.
      - Prompt sections: objective → composition → style → brand constraints.
      - Both take every aspect ratio between 1:3 and 3:1. Avoid long blocks of literal text.
      
      ### `nano-banana` (Gemini)
      - Best for: high-resolution refinements, broad aspect ratios, image-to-image with multiple references.
      - Prompt sections: subject → composition → style → lighting.
      - Avoid competing visual instructions in the same prompt.
      
      ### `nano-banana-pro` (Gemini Pro)
      - Best for: exact readable text inside the image (posters, labels, infographics) and search-grounded scenes.
      - Prompt sections: exact_text → layout → hierarchy → style → aspect_ratio.
      - Avoid ambiguous copy and too many independent text blocks.
      
      ### `seedream-4.5`
      - Best for: product photography, material/fabric preservation, scenes requiring accurate spatial depth.
      - Prompt sections: product_identity → surface_materials → lighting → camera_angle → environment.
      - Avoid changing logo/text, warping packaging geometry, and busy backgrounds.
      
      ## Parameters
      
      `images_generate` takes: `requests` (each `{prompt, id?, reference_images?}`),
      `model`, `aspect_ratio`, `quality` (`"draft" | "standard" | "high"`), `n` (1-4),
      `seed`, and `use_search`. `aspect_ratio` is the single spatial control and `quality`
      covers the resolution/quality tier across models — pass intent through those, not
      raw pixel sizes.
      
    • marketplace-cards.md 2.6 KB
      # Marketplace Cards Reference
      
      Use `images_marketplace_cards_create` for the standard image set retailers expect on a listing — Amazon main image + secondary images + A+ modules, Shopify product images, Etsy product photos.
      
      ## Scopes
      
      Pick a scope and the tool expands it to the deterministic asset set:
      
      | Scope | Assets |
      |-------|--------|
      | `main` | `main_image` |
      | `product_images` | `main_image`, `infographic`, `multi_angle`, `detail_shot`, `lifestyle`, `whats_in_box` |
      | `aplus` | `aplus_hero_banner`, `aplus_pain_points`, `aplus_features`, `aplus_ingredients`, `aplus_efficacy`, `aplus_how_to_use` |
      | `full_set` | `product_images` + selected A+ modules |
      
      You can override the scope by passing an explicit `assets=[...]` list.
      
      ## Per-asset framing
      
      Each asset has its own aspect ratio and prompt focus baked in:
      
      - `main_image` — pure white background, product fills 85% of the frame, no overlays. **1:1**
      - `infographic` — feature callouts with icons + short labels. **1:1**
      - `multi_angle` — three-angle composite, consistent lighting. **1:1**
      - `detail_shot` — extreme close-up on signature feature, shallow depth. **1:1**
      - `lifestyle` — real environment of intended use. **4:5**
      - `whats_in_box` — flat lay of every included item, neutral background. **1:1**
      - `aplus_hero_banner` — wide hero with negative space, premium lighting. **16:9**
      - `aplus_pain_points` — before/after split or icon grid. **16:9**
      - `aplus_features` — three to four feature tiles. **16:9**
      - `aplus_ingredients` — ingredient hero shots with sourcing notes. **16:9**
      - `aplus_efficacy` — results-led visual with supporting metric. **16:9**
      - `aplus_how_to_use` — numbered usage steps with hands-on shots. **16:9**
      
      ## Marketplace targeting
      
      `marketplace="amazon" | "shopify" | "etsy" | "generic"` adds a per-target compliance hint to every prompt — e.g. Amazon enforces white background on the main image and no logos/watermarks. Use `generic` when the listing isn't tied to a specific marketplace.
      
      ## Identity preservation
      
      Every asset prompt includes preservation clauses (logo/text exact, geometry, colorway, material, scale). Pass product references via `product.references` so the underlying image-to-image backend has them.
      
      ## Example
      
      ```python
      images_marketplace_cards_create(
          product=ProductContext(
              name="Glow Vitamin C Serum",
              brand_name="Glow Lab",
              selling_points=[
                  "20% L-ascorbic acid",
                  "vegan",
                  "results in 4 weeks",
              ],
              references=[MediaInput(file_id="file_image_gen_..._serum")],
          ),
          scope="product_images",
          marketplace="amazon",
          quality="high",
      )
      ```
      
    • product-photoshoot.md 2.9 KB
      # Product Photoshoot Reference
      
      Use `images_product_photoshoots_create` (not generic image generation) whenever the goal is on-brand product or campaign visuals. The tool wraps prompt construction, identity preservation, and variant generation so you don't have to reinvent it per call.
      
      ## When to use
      
      - The user asks for "product photos", "product shots", "lifestyle photos", "hero banner", "campaign image", "moodboard", "ad creative pack", "carousel", or similar.
      - You have a `ProductContext` (name, brand, references, selling points) — even a partial one.
      - You want multiple variants from a single call.
      
      ## Modes
      
      | Mode | What it produces | Default aspect |
      |------|------------------|----------------|
      | `product_shot` | Clean studio catalog shot | 1:1 |
      | `lifestyle_scene` | Real-environment in-use moment | 4:5 |
      | `closeup_product_with_person` | Tight crop with hands or partial face | 4:5 |
      | `moodboard_pin` | Pinterest-style moodboard composition | 2:3 |
      | `hero_banner` | 16:9 campaign banner with negative space | 16:9 |
      | `social_carousel` | Connected slide system with shared palette | 4:5 |
      | `ad_creative_pack` | Paid social variants with offer/hook areas | 1:1 |
      | `virtual_model_tryout` | Model wearing or using product | 4:5 |
      | `conceptual_product` | Surreal CGI styling, levitation/splash | 1:1 |
      | `restyle` | Keep subject, change mood/season/styling | mode default |
      
      ## Variant strategy
      
      `variant_strategy` controls which dimension changes between variants:
      
      - `angles` — front, three-quarter, top-down, low angle, side, back
      - `scenes` — kitchen, café, studio, desk, soft daylight, dinner table
      - `hooks` — before/after, problem/solution, scroll-stop, social proof
      - `palette` — warm, cool, mono, high contrast, pastel, earthy
      - `props` — minimal, matched accessories, ingredient props, lifestyle, food, outdoor
      - `mixed` — automatic, picks the natural strategy for the mode
      
      ## Identity preservation
      
      The tool always inserts these clauses (unless `preserve_product_identity=False`):
      
      - Preserve logo and printed text exactly
      - Preserve packaging geometry and proportions
      - Preserve colorway and material finish
      - Keep product scale and silhouette accurate
      
      If `product.brand_colors` is set, it's also added as a respect-palette constraint. Anything in `product.constraints` is appended verbatim.
      
      ## Example
      
      ```python
      images_product_photoshoots_create(
          product=ProductContext(
              name="Ember Travel Mug",
              category="insulated travel mug",
              brand_name="Ember",
              brand_colors=["#0F172A", "#FFEED9"],
              selling_points=[
                  "leakproof closure",
                  "16-hour heat retention",
              ],
              references=[MediaInput(file_id="file_image_gen_..._mug")],
          ),
          mode="lifestyle_scene",
          prompt="Morning commute, modern apartment kitchen, warm light",
          count=4,
          variant_strategy="scenes",
          quality="high",
      )
      ```
      
  • SKILL.md 4.9 KB
    ---
    name: image-generation
    description: Generate images through the Hyper MCP with the unified `images_generate` tool — text-to-image, image-to-image, and branded ad creatives — choosing the model (gpt-image-2.5-flare, gpt-image-2.5-sunburst, nano-banana, nano-banana-pro, seedream-4.5) per task. Use when the user asks to generate an image, create an ad creative, do an image-to-image edit, render text inside an image, or produce a print-quality poster.
    metadata:
      version: 1.0.0
    requires_toolkits:
      - image_gen
    icon: image_gen
    short_description: Generate and edit images with one tool and a model choice, from ad creatives to product shots.
    ---
    
    # Image Generation
    
    Generate images with the `images_generate` tool. It handles text-to-image,
    image-to-image (pass `reference_images`), and multi-image composition. By default
    (`model="auto"`) it picks the best model for the request; set `model` to choose one.
    
    ## Requirements
    
    This skill assumes the [Hyper MCP](https://app.hyperfx.ai/mcp) is connected to your
    agent so the `images_generate` tool is available. For brand-consistent ad creative
    work, Firecrawl must also be configured under your Hyper integrations.
    
    ### How to run the tools in this skill
    
    Every tool in this skill is named by its canonical tool name. Run it with the call your surface gives you:
    
    | Surface | Find a tool | Run it |
    | --- | --- | --- |
    | MCP client (Claude, Cursor, Codex, ChatGPT) | `search("<what you want to do>")`, then `describe("<name>")` | `call("<name>", {...})` |
    | Hyper CLI | `hyperai search "<what you want to do>"`, then `hyperai describe <name>` | `hyperai call <name> --json '{...}'` |
    
    If a tool is not found, its integration is not connected or not enabled for the workspace: stop and tell the user which integration to connect.
    
    ## Call shape
    
    ```python
    images_generate(
        requests=[{"id": "ad1", "prompt": "A polished SaaS ad, clean composition"}],
        aspect_ratio="16:9",     # "1:1" (default), "9:16", "16:9", "4:5", "5:4", "2:3", "3:2", "3:4", "4:3", "21:9"
        quality="standard",      # "draft" | "standard" | "high"
        n=1,                      # 1-4 images per request
        model="auto",            # see "Choosing a model" below
    )
    ```
    
    - **Image-to-image / brand references:** put files in the request:
      `requests=[{"prompt": "Compose into a gift basket", "reference_images": ["file1", "file2"]}]`.
    - **Reproducible output:** pass `seed=...`.
    - **Ground in real-world search:** pass `use_search=True`.
    - Do not display image URLs — they render automatically in chat.
    
    ## Choosing a model
    
    `model="auto"` is the right default. Override only when the task clearly calls for a
    specific model:
    
    | Task | `model` |
    |------|---------|
    | First-pass concepts / quick ad ideation / everyday generation | `gpt-image-2.5-flare` |
    | Precise edits and branded compositions from reference images, production creative | `gpt-image-2.5-sunburst` |
    | Cheap iteration, image-to-image, the widest aspect ratios (adds 1:4, 1:8, 4:1, 8:1) | `nano-banana` |
    | Readable text inside the image (posters, labels, infographics) or search-grounded scenes | `nano-banana-pro` |
    | Product photography, material/fabric fidelity, accurate spatial depth | `seedream-4.5` |
    
    See [references/image-prompting.md](references/image-prompting.md) for per-model
    prompt-writing tips.
    
    ## Branded / website ad creatives — extract branding first
    
    If the user gives a website URL and wants on-brand creatives:
    
    1. Call `firecrawl_branding_extract` with the URL → returns brand colors, fonts,
       personality/tone, and saved image files (logo, favicon, og_image).
    2. Optionally `firecrawl_urls_scrape` with `formats=["screenshot"]` for visual context.
    3. Write the prompt using the actual hex colors, font names, and tone, and pass the
       logo `file_id` in `reference_images`.
    
    The branding result's `file` field is a JSON data file, NOT an image — never pass it
    as a reference. Only `logo.file_id` and `images.*.file_id` are usable images.
    
    ## Higher-level workflows
    
    For multi-shot product or marketplace work, prefer the workflow tools — they preserve
    product identity and return structured results:
    
    - `images_product_photoshoots_create` — multi-shot product photography (studio,
      lifestyle, hero, carousel, ad pack). See
      [references/product-photoshoot.md](references/product-photoshoot.md).
    - `images_marketplace_cards_create` — marketplace listing image sets (Amazon main +
      secondary, A+ modules, Shopify). See
      [references/marketplace-cards.md](references/marketplace-cards.md).
    
    ## Reminders
    
    - Do NOT display image URLs to the user — they show automatically in chat.
    - Refine vague prompts unless the user wants verbatim generation.
    - Match `aspect_ratio` to intent (social, print, web).
    - Use `quality="high"` for production, `"draft"`/`"standard"` while iterating.
    - Generated `file_id`s can be reused as `reference_images` in later calls.
    - For website brand work, call `firecrawl_branding_extract` before generating.
    

Comments (0)

Sign in to join the conversation.

No comments yet.

Reviews (0)

No reviews yet.

Related