Design & media

Image Sprout

Try it

Generate and iterate on images using Image Sprout projects. Creates consistent outputs from reference images, style guides, and subject guides. Use when an a...

What it does

Generate and iterate on images with consistent style and subject identity. Image Sprout turns reusable project context — reference images, derived guides, and persistent instructions — into repeatable outputs.

The skill document

image-sprout

Generate and iterate on images with consistent style and subject identity. Image Sprout turns reusable project context — reference images, derived guides, and persistent instructions — into repeatable outputs.

1. OpenRouter Key Setup

Image Sprout stores its OpenRouter key on disk. Set it once per machine:

image-sprout config set apiKey 
image-sprout config show    # confirm key is set (does not reveal the raw key)

How the calling environment stores or injects that key is outside this skill's scope.

2. The Project Model

Three context layers drive every generation:

  • Visual Style — consistent look and feel across outputs
  • Subject Guide — consistent subject identity across outputs
  • Instructions — persistent generation constraints (watermarks, framing, branding)

Two reference pools:

  • Shared refs — drive both guides (default, simplest)
  • Split refs — separate style and subject pools (advanced; use --role style or --role subject when adding)

Understanding this model prevents the most common agent mistake: generating without saved context and wondering why outputs are inconsistent.

3. Core CLI Workflow

# Create a project
image-sprout project create 

# Add references (3+ recommended; more refs = better derivation)
image-sprout ref add --project  ./ref1.png ./ref2.png ./ref3.png

# Optional: persistent instructions
image-sprout project update  --instructions "Watermark bottom-right: subtle."

# Derive guides from refs
image-sprout project derive  --target both   # or: style, subject

# Check readiness before generating
image-sprout project status  --json

# Generate (--count controls images per run: 1, 2, 4, 6; default is 4)
image-sprout project generate  --prompt "hero in neon rain"
image-sprout project generate  --prompt "hero in neon rain" --count 1

# Inspect results
image-sprout run latest --project  --json

# Delete a session and all its runs/images
image-sprout session delete --project  

Top-level aliases for convenience:

image-sprout generate --project  --prompt "hero in neon rain"   # same as project generate
image-sprout analyze --project  --target both                    # same as project derive

4. JSON Output — the Agent Pattern

Always use --json for structured output:

image-sprout project show  --json
image-sprout project status  --json
image-sprout run latest --project  --json
image-sprout run list --project  --json --limit 5

Use --value PATH to pluck a single field:

image-sprout run latest --project  --json --value images[0].path

This is how agents hand image paths to downstream tools. Run images land in image-sprout's internal app data directory — use run latest --json --value images[0].path to get the path and leave what to do with it to the calling workflow.

5. Parallel-Safe Usage

image-sprout project use sets a shared "current project" state on disk. When multiple agents or processes run concurrently, this state can collide. Always pass --project explicitly — never rely on the current project shortcut in agent workflows.

6. Web UI — Agent Awareness

The web app runs over the same on-disk store as the CLI. Agents won't use it directly, but should know it exists so they can offer it to users when interactive review is appropriate.

image-sprout web              # launches local app
image-sprout web --open       # also opens in default browser
image-sprout web --port 8080  # custom port (default: 4310)

Useful for:

  • reviewing and comparing generated images visually
  • setting up a project interactively before handing off to CLI/agent use
  • iterating on outputs via the canvas interface

Security: do not expose the web UI to the public internet. The server has no authentication. Safe options are localhost only, or a private network like Tailscale. The risk is public internet exposure — LAN and tailnet access are fine.

7. Model Management

image-sprout model list
image-sprout model set-default google/gemini-3.1-flash-image-preview
image-sprout model add openai/gpt-5-image
image-sprout model restore-defaults

Default generation model is Nano Banana 2 (google/gemini-3.1-flash-image-preview). Custom models must accept image input and produce image output via OpenRouter.

Guide derivation uses a separate configurable analysis model (default: google/gemini-3.1-flash-image-preview):

# Set a persistent analysis model
image-sprout config set analysisModel google/gemini-2.5-flash

# Override per-derive
image-sprout project derive  --target both --analysis-model google/gemini-2.5-flash

Related skills

Join a video meeting as an AI bot with voice, avatar, and screenshare across four operating modes.

by johnpatternai21 installs8 stars

pdf

Official

Merge, split, extract, and create PDFs in Python or from the command line.

by Anthropic177.6k stars

Build Figma screens from code or descriptions by reusing your existing design system components, variables, and styles.

by OpenAI27.6k stars

hatch-pet

Official

Generate Codex-compatible animated pets and spritesheets from text, brand cues, or references.

by OpenAI27.6k stars

Link published Figma components to source files via Code Connect, with codebase search and user-confirmed batch mappings.

by OpenAI27.6k stars

More from tmchow

Browse all skills

Spin up a cloaked Firefox browser via the Camofox server and OpenClaw plugin for agent tasks that need anti-detection browsing.

by tmchow13 installs

Generate editorial illustrations where a recurring mascot enacts one idea, in any of seventeen bundled looks.

by tmchow12 installs

Persistent task ledger for agent coordination. Plan multi-step work, checkpoint progress across session boundaries, and coordinate across multiple agents wit...

by tmchow172 installs8 stars

Format and deliver rich Telegram messages with HTML formatting via direct Telegram API. Auto-invoked by the main session for substantive Telegram output — no other skills need to call it. Decision rule: If your Telegram reply is >3 lines or contains structured data (lists, stats, sections, reports), spawn this as a Haiku sub-agent to format and send. Short replies (<3 lines) go directly via OpenClaw message tool. Handles: research summaries, alerts, status updates, reports, briefings, notifications — anything with visual hierarchy.

by tmchow215 installs4 stars

Use when looking for a CLI, API wrapper, scraper, data-source tool, automation tool, or focused agent skill for a task; searches the Printing Press Library a...

by tmchow22 installs1 stars

This skill should be used when the user names chrome-devtools-axi, asks to "execute npx -y chrome-devtools-axi", wants Chrome DevTools Protocol browser autom...

by tmchow6 installs