image-nanobanana
Generate and edit production-ready, watermark-free image assets with Google's Nano Banana models — gemini-3.1-flash-image (Nano Banana 2) and…
Skill by github.com/kryptobaseddev
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/kryptobaseddev-image-nanobanana
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: spreadsheets, design, backend, writing
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Python package
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/image-nanobanana
Tools it pre-approves 6
From allowed-tools in SKILL.md: the agent may use these without asking you each time.
BashReadWriteEditGlobGrep
What's inside
- Skill name
image-nanobanana- Description
- Generate and edit production-ready, watermark-free image assets with Google's Nano Banana models — gemini-3.1-flash-image (Nano Banana 2) and gemini-3-pro-image (Nano Banana Pro) — via the paid Gemini API and the gemini-cli nanobanana extension. Use when the user wants to create, generate, make, draw, design, edit, restore, or iterate on any image, picture, photo, graphic, illustration, logo, or visual asset; mentions Nano Banana, Gemini image generation, text-to-image, or AI images; complains about the Gemini sparkle watermark or wants a watermark removed from an image; or asks for app icons, favicons, hero banners, OG/social cards, YouTube thumbnails, marketing creatives, diagrams, seamless patterns, sprite sheets, or consistent characters. Bundles preflight, a direct-API generator with aspect-ratio and 512/1K/2K/4K control, gemini-cli setup, prompting guidance, and per-asset production recipes.
- License
- MIT
- Compatibility
- Bundled scripts need Python 3.8+ (standard library only), bash, and curl. A paid-tier Gemini API key is required for generation (image models have no free-tier quota). gemini-cli is optional — only the interactive extension path uses it. Linux, macOS, and WSL.
- Allowed tools
- Bash, Read, Write, Edit, Glob, Grep
- Metadata
- author: github.com/kryptobaseddev · version: 1.2.0 · category: media · last_updated: 2026-06-11 19:00:00
- Instructions
- 209 lines in SKILL.md · view on GitHub
Before installing
- Ships executable scripts
- Pre-approves any shell command
Files (9)
- SKILL.md
- api.md · references/
- asset-recipes.md · references/
- gemini-cli.md · references/
- prompting.md · references/
- watermarks.md · references/
- nb-cli-setup.sh · scripts/
- nb-generate.py · scripts/
- nb-preflight.sh · scripts/
SKILL.md (first lines)
# Nano Banana Image Asset Generation
Produce professional, production-ready image assets — icons, banners,
thumbnails, OG cards, diagrams, patterns, character sets — with Google's
Gemini image models ("Nano Banana"). Two execution paths, one skill:
1. **Direct API** via `scripts/nb-generate.py` — the production path: exact
aspect ratios, 512/1K/2K/4K sizes, editing with reference images, retries,
JSON output, cost estimates.
2. **gemini-cli** + nanobanana extension — the interactive path for users who
live in a gemini-cli session (`/generate`, `/edit`, `/icon`, ...).
Both paths produce images with **no visible watermark** (the Gemini "sparkle"
overlay exists only in the consumer Gemini app for free/Pro tiers). Every
image carries Google's invisible SynthID provenance mark — leave it intact.
## Facts that prevent broken work (June 2026)
| Fact | Consequence |
|---|---|
| GA model ids: `gemini-3.1-flash-image` (Nano Banana 2), `gemini-3-pro-image` (Nano Banana Pro) | Use these. The `-preview` ids **shut down 2026-06-25** |
| The nanobanana extension still defaults to a `-preview` id | Always pin `NANOBANANA_MODEL` (nb-cli-setup.sh does it) |
| Image models have **zero free-tier API quota** | A key without billing gets 429s — that's a billing problem, not a bug |
| gemini-cli consumer OAuth retires **2026-06-18** | API-key auth is the only durable gemini-cli setup |
| Visible sparkle watermark = consumer Gemini app (free/Pro) only | Never source production assets from the Gemini app; generate via API |
## Preflight (run once per session)
```bash
bash scripts/nb-preflight.sh # human-readable; --quiet for JSON
```
It verifies python3/curl, finds the API key, probes the GA model with the key,
and audits gemini-cli/extension/auth. Exit codes: 0 ready, 2 usage, 4 missing
binary, 5 network, 6 key missing/rejected. One blind spot: preflight cannot
prove billing — an un-billed key still passes and then 429s on the first real
generation (that 429 means "enable billing", not "retry").
If there's no key: send the user to https://aistudio.google.com/apikey,
remind them to enable billing on the key's project, then **give them this
exact command to run in their own terminal** (it needs hidden keyboard
input, so the agent must not run it):
```bash
bash ~/.claude/skills/image-nanobanana/scripts/nb-cli-setup.sh --set-key -
```
It stores the key in `~/.gemini/.env` (chmod 600 — the one file gemini-cli,
the extension, and these scripts all read), live-validates it, and does
nothing else. **Never write a key into the skill folder** — it's a
git-tracked directory and keys placed there end up in commits. Don't attempt
generation before preflight passes — every failure mode after that is harder
to diagnose.
Which commands run where: the agent runs preflight and all generation
commands itself; the **user** runs `--set-key -` (hidden input) and the full
extension setup (Google shows interactive consent prompts) in their own
terminal.
## Generating assets
Default model choice: iterate on **flash** at 1K (cheap, fast), render the
final on the format the asset needs — switch to **pro** for maximum fidelity,
complex composition, or in-image text.
```bash
# Basic generation
python3 scripts/nb-generate.py "modern flat illustration of a rocket launch, purple gradient, no text" \
-a 16:9 -s 1K
# Production render: pro model, 4K, named output
python3 scripts/nb-generate.py "minimalist app icon, bold checkmark, flat geometric, teal on off-white, no text" \
-m pro -a 1:1 -s 4K -o assets/icons --name app-icon
# Variants to choose from
python3 scripts/nb-generate.py "..." -n 3
# Edit / iterate (pass the exact path the previous run printed — cheaper and
# more faithful than re-rolling)
python3 scripts/nb-generate.py "make the background darker, keep everything else identical" \
-i assets/icons/app-icon-20260611-173000.png
# Pop the result straight into the user's image viewer
python3 scripts/nb-generate.py "..." --open
# Machine-readable result (paths, cost, model) on stdout
python3 scripts/nb-generate.py "..." --json
# Inspect the exact API payload without spending money or needing a key
python3 scripts/nb-generate.py "..." -a 21:9 -s 2K --dry-run
```
The script prints saved paths on stdout and a summary with clickable
`file://` links + cost on stderr.
**Always show the result, never just name a path.** After every generation:
in a runtime that can render images inline (Claude Code: use the Read tool on
the saved file), display the image to the user; otherwise pass `--open` to
pop the system viewer, or give the user the clickable `file://` link the
script printed. The user should see their image without hunting for it.
Model aliases: `-m flash` → gemini-3.1-flash-image · `-m pro` →
gemini-3-pro-image · `-m legacy` → gemini-2.5-flash-image. Aspect ratios:
1:1, 2:3, 3:2, 3:4, 4:3, 4:5, 5:4, 9:16, 16:9, 21:9 everywhere; banner ratios
1:4, 4:1, 1:8, 8:1 on flash only. The script validates combinations before
spending money and prints an estimated cost after.
### Crafting the prompt
Write prompts as creative direction, not keyword soup. The four golden rules:
natural language, specific subjects/materials, state the purpose, edit instead
of re-rolling. For the full method (dimension checklist, camera/lighting
vocabulary, text rendering, anti-patterns, calibration examples), read
[references/prompting.md](references/prompting.md) before writing anything
beyond a trivial prompt. For named deliverables (icon, thumbnail, OG card...)
start from the matching recipe in
[references/asset-recipes.md](references/asset-recipes.md) — it fixes the
right model/aspect/size per asset type.From kryptobaseddev/awesome-skills, MIT.
More from kryptobaseddev/awesome-skills
- 0.570score
deuxui
github.com/kryptobaseddev
Engineer and verify interfaces against a 235-rule UX contract with runnable checks, not opinions.
SkillAFreshness: AClaude Code - 0.565score
flarectl
kryptobaseddev
Cloudflare CLI management via the flarectl tool.
SkillAFreshness: AClaude Code +9 - 0.529score
proxmox-admin
github.com/kryptobaseddev
Use this skill to administer a Proxmox VE 8.x/9.x host, node, or cluster remotely — provisioning, day-2 ops, troubleshooting, hardening, IaC, migration off…
SkillBFreshness: BClaude Code +9 - 0.529score
neon
kryptobaseddev
Neon CLI (`neon`, formerly `neonctl`) for Lakebase Postgres — projects, branches, databases, roles, connection strings, snapshots, Functions, object-storage…
SkillBFreshness: BClaude Code +9 - 0.520score
neonctl
kryptobaseddev
DEPRECATED POINTER — this skill was renamed to `neon` when the Neon CLI itself was renamed from `neonctl` to `neon`.
SkillBFreshness: BClaude Code +9 - 0.479score
resend
resend
Use when working with the Resend email API — sending transactional emails (single or batch), receiving inbound emails via webhooks, managing email templates…
SkillCFreshness: CClaude Code +9 - 0.479score
quo
github.com/kryptobaseddev
Build, scaffold, and integrate Quo — formerly OpenPhone — telephony into a full-stack app: send & receive SMS/text messages, list and analyze calls…
SkillCFreshness: CClaude Code - 0.479score
moonpay-payments
github.com/kryptobaseddev
Build, scaffold, and integrate MoonPay crypto on-ramp (buy) and off-ramp (sell) payments into a website or app — the embeddable Widget (@moonpay/moonpay-js /…
SkillCFreshness: CClaude Code - 0.479score
better-auth
github.com/kryptobaseddev
Implement Better Auth (better-auth.com) — the framework-agnostic TypeScript authentication library — across ANY stack: Next.js, SvelteKit, Nuxt, SolidStart…
SkillCFreshness: CClaude Code - 0.479score
plugin-creator
github.com/kryptobaseddev
Scaffold, validate, test, and ship a production-grade Claude Code plugin + marketplace — especially the pattern where the plugin's ONLY component is an MCP…
SkillCFreshness: CClaude Code +9 - 0.479score
3d-parametric-models
github.com/kryptobaseddev
Model parametric 3D geometry as code and edit mesh files programmatically.
SkillCFreshness: CClaude Code - 0.474score
code-optimizer
kryptobaseddev
Deep code optimization audit using parallel specialist agents.
SkillCFreshness: CClaude Code +9
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Jun 12, 2026 (4 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- Version
- 1.2.0
- License
- MIT
- Repository
- github.com/kryptobaseddev/awesome-skills
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from github.com/kryptobaseddev
- 0.570score
deuxui
github.com/kryptobaseddev
Engineer and verify interfaces against a 235-rule UX contract with runnable checks, not opinions.
SkillAFreshness: AClaude Code - 0.529score
proxmox-admin
github.com/kryptobaseddev
Use this skill to administer a Proxmox VE 8.x/9.x host, node, or cluster remotely — provisioning, day-2 ops, troubleshooting, hardening, IaC, migration off…
SkillBFreshness: BClaude Code +9 - 0.479score
better-auth
github.com/kryptobaseddev
Implement Better Auth (better-auth.com) — the framework-agnostic TypeScript authentication library — across ANY stack: Next.js, SvelteKit, Nuxt, SolidStart…
SkillCFreshness: CClaude Code - 0.479score
quo
github.com/kryptobaseddev
Build, scaffold, and integrate Quo — formerly OpenPhone — telephony into a full-stack app: send & receive SMS/text messages, list and analyze calls…
SkillCFreshness: CClaude Code - 0.479score
moonpay-payments
github.com/kryptobaseddev
Build, scaffold, and integrate MoonPay crypto on-ramp (buy) and off-ramp (sell) payments into a website or app — the embeddable Widget (@moonpay/moonpay-js /…
SkillCFreshness: CClaude Code - 0.479score
plugin-creator
github.com/kryptobaseddev
Scaffold, validate, test, and ship a production-grade Claude Code plugin + marketplace — especially the pattern where the plugin's ONLY component is an MCP…
SkillCFreshness: CClaude Code +9
Cite this page
image-nanobanana skill. Agent Mart. https://agentmart.dev/skills/kryptobaseddev-image-nanobanana (last updated 2026-10-24)