From image-sprout
Generates and iterates on AI images with consistent style and subject identity using image-sprout CLI projects, references, guides, and OpenRouter integration.
npx claudepluginhub tmchow/tmc-marketplace --plugin image-sproutThis skill uses the workspace's default tool permissions.
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 you can build on across runs.
Guides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Guides building MCP servers enabling LLMs to interact with external services via tools. Covers best practices, TypeScript/Node (MCP SDK), Python (FastMCP).
Generates original PNG/PDF visual art via design philosophy manifestos for posters, graphics, and static designs on user request.
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 you can build on across runs.
Use this skill when:
--json outputInstall globally from npm:
npm install -g image-sprout
Or run without installing — prefer this in Codex sandbox environments where PATH is unreliable:
npx image-sprout help
All examples below use npx image-sprout. Substitute image-sprout directly if you have a global install.
Image Sprout stores its OpenRouter key on disk. Set it once per machine:
npx image-sprout config set apiKey <your-openrouter-key>
npx image-sprout config show # confirm key is set (does not reveal the raw key)
Three context layers drive every generation:
Two reference pools:
--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.
# Create a project
npx image-sprout project create <name>
# Add references (3+ recommended; more refs = better derivation)
npx image-sprout ref add --project <name> ./ref1.png ./ref2.png ./ref3.png
# Optional: persistent instructions
npx image-sprout project update <name> --instructions "Watermark bottom-right: subtle."
# Derive guides from refs
npx image-sprout project derive <name> --target both # or: style, subject
# Check readiness before generating
npx image-sprout project status <name> --json
# Generate (--count controls images per run: 1, 2, 4, 6; default is 4)
npx image-sprout project generate <name> --prompt "hero in neon rain"
npx image-sprout project generate <name> --prompt "hero in neon rain" --count 1
# Inspect results
npx image-sprout run latest --project <name> --json
# Delete a session and all its runs/images
npx image-sprout session delete --project <name> <session-id>
Top-level aliases:
npx image-sprout generate --project <name> --prompt "hero in neon rain" # same as project generate
npx image-sprout analyze --project <name> --target both # same as project derive
Always use --json for structured output:
npx image-sprout project show <name> --json
npx image-sprout project status <name> --json
npx image-sprout run latest --project <name> --json
npx image-sprout run list --project <name> --json --limit 5
Use --value PATH to pluck a single field:
npx image-sprout run latest --project <name> --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.
npx image-sprout project use <name> sets a shared "current project" state on disk. In multi-agent workflows, this state can collide across concurrent processes. Always pass --project <name> explicitly — never rely on the current project shortcut.
The web app runs over the same on-disk store as the CLI. Agents won't use it directly, but should surface it to users when interactive review is appropriate.
npx image-sprout web # launches local app
npx image-sprout web --open # also opens in default browser
npx image-sprout web --port 8080 # custom port (default: 4310)
Useful for:
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.
npx image-sprout model list
npx image-sprout model set-default google/gemini-3.1-flash-image-preview
npx image-sprout model add openai/gpt-5-image
npx 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
npx image-sprout config set analysisModel google/gemini-2.5-flash
# Override per-derive
npx image-sprout project derive <name> --target both --analysis-model google/gemini-2.5-flash