The first Claude Code plugin that generates AI images — from your terminal. Claude reads your brief, writes the prompt, dispatches one well-chosen call, then derives every variant you need via sharp.
/plugin marketplace add Sakaax/img-pilot
Copy
/plugin install img-pilot@img-pilot
Copy
One generated logo (1024 × 1024) becomes eight brand assets via sharp. You pay $0.04. You don't pay $0.32. The math is in the decision tree.
You context-switch, you prompt, you download, you drag into your project, you repeat for every variant. img-pilot lives inside Claude Code — the terminal you're already in — and makes Claude the art director.
| Browser tool | img-pilot | |
|---|---|---|
| Prompt quality | User guesses at specifics | Claude builds from full UX + brand context |
| API calls per set | One per asset (5+ for full set) | One source → 8+ derived assets via sharp |
| Cost for full set | $0.20 – $0.40 | $0.03 – $0.08 |
| Consistency | Each asset designed in isolation | All derived from same source, guaranteed |
| Favicon set | Forgotten or default | Auto-derived, all sizes, webmanifest |
| Provider lock-in | Hardcoded to one | 9 providers, one config line |
| API key safety | Hope you gitignored | Auto-gitignore + chmod 600 + pre-commit hook |
Every command runs through the same decision tree. The full plan is shown in chat before any paid API call. You approve, you pay.
Priority order: brand-pilot/tokens.css + palette cache + Tailwind snippet → ux-pilot/ux-brief.md → img-pilot/brief.md. If nothing exists, img-pilot runs a 6-question discovery and saves img-pilot/brief.md for future runs. You never repeat yourself across plugins.
200–300 word production-quality prompts. Exact hex values, specific style words from the brief, explicit constraints (works at 16×16, transparent background, flat design), and a curated anti-slop list (no gradients on logo marks, no stock aesthetics, no generic tech clichés). The full prompt is shown in chat before anything is dispatched.
Exists already? Skill asks "regenerate?" → SVG-pure viable? Zero cost, no API → Derivable from an existing asset? Resize / compose / round corners, zero cost → Derivable from another asset in this run's plan? One API call + N sharp derivations → API call with prompt + provider + cost emitted as a plan step.
Every run updates img-pilot/gallery.html — a persistent dark-themed audit log of every asset. Each card shows the image, the prompt used, the provider, the cost, dimensions, and timestamp. Latest run on top. Browse on localhost with --serve.
Every command runs standalone or as part of the guided flow via /img-pilot. Outputs land in img-pilot/ at your project root (auto-gitignored).
site.webmanifest. Derived from the logo at zero API cost..github/banner.png.Thin adapters, same interface. Plug your own key. Switch per run with --provider <name>. Cost estimates shown before every call.
| Provider | Best for | ~$/image |
|---|---|---|
| OpenAI | General quality baseline (GPT Image 1.5) | $0.04 |
| Black Forest Labs | Photorealism, sharp edges (FLUX 2 Pro) | $0.04 |
| Google Imagen | Best value, strong text rendering (Vertex AI) | $0.04 |
| Stability AI | Dev-friendly, self-hostable path (SD 3.5) | $0.03 |
| Ideogram | Text-in-image — logos, wordmarks (v3) | $0.08 |
| Leonardo AI | Custom models, brand fine-tuning | $0.035 |
| Replicate | Access to any open-source model | variable |
| Recraft | Native SVG output — icons (v3) | $0.04 |
| fal.ai | Ultra-fast, async webhooks | variable |
img-pilot is the third plugin in the Sakaax pilot family. It reads both sister plugins' outputs automatically — palette, fonts, tone, style, validated design tokens — and inherits every design decision. Zero reconfiguration.
ux-pilot → UX discovery + brief brand-pilot → Brand tokens (CSS + Tailwind + palette) img-pilot → AI-generated visual assets
Same typography. Same palette. Same voice. The pilot plugins share one visual identity on purpose — when you install a second or third one, you already know where everything lives. Consistency at the ecosystem level is the same discipline img-pilot enforces at the asset level.
API keys are protected at three layers. Every call is confirmed before it costs money. Zero telemetry, zero outbound traffic you didn't trigger.
--confirm.max_api_calls_per_session = 5 by default. Configurable. Enforced in the CLI, not just the skill.img-pilot/ is appended to .gitignore before any config write. Write aborts if the check fails.config.toml is set to owner read/write only immediately after write (POSIX; icacls equivalent on Windows)..git/hooks/pre-commit, scans staged files for sk-… / AIza… / key-… / api_key = "…" and blocks matching commits.sharp at zero API cost. You pay for one call, you get eight assets. The cost optimizer runs this decision tree before every request and always proposes the cheapest path.--provider <name>.tcpdump will show you the only outbound traffic is the provider call you explicitly approved. On disk, keys live in config.toml with chmod 600 and the file is gitignored before it's even written. A pre-commit hook blocks any accidental commit of common key patterns.img-pilot/brief.md you can reuse on future runs. The ecosystem is additive — more briefs mean richer prompts, but one is enough.