Skip to main content
skill CX Codex

nanobanana · gargantuax — Claude Code skill: what it does, how to install

Generates and edits images via Gemini models. Handles local multi-image references, batch output, and dry-run validation without sending requests.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add GargantuaX/openskills --skill nanobanana -a claude-code
Open on GitHub

What nanobanana does

The skill provides a Python CLI entrypoint to generate and edit images through Gemini models. Under the hood, scripts/nanobanana.py handles single requests with generate and bulk jobs with batch. It exposes aliases for exact models: nanobanana targets gemini-2.5-flash-image, nanobanana-2 calls gemini-3.1-flash-image-preview, and nanobanana-pro runs gemini-3-pro-image-preview.

Strict option validation catches errors before dispatching calls. The --size flag is supported only on Gemini 3 image models; passing it to nanobanana causes an immediate failure. Also, resolution 512 works exclusively on nanobanana-2. You should run --dry-run whenever payload shape needs checking.

Editing uses repeated --input-image flags to blend multiple local references into one output. Custom endpoints are configured via --base-url or GEMINI_BASE_URL. With --auth-mode auto, the script passes x-goog-api-key to official endpoints and attaches Bearer authorization headers on custom gateways.

What it helps with

  • generate images from text prompts using Gemini models
  • combine multiple local reference images into one graphic edit
  • produce several image variants in a single batch command
  • validate request payloads before sending them with --dry-run

Example prompts for the agent

  • Run nanobanana-2 to generate a 16:9 hero image and save it into out/hero.png
  • Edit refs/subject.png and refs/background.png using nanobanana-pro into out/poster.png
  • Test the batch icon generation command with nanobanana using --dry-run

How to install nanobanana

1Skills CLI (Vercel)

npx skills add GargantuaX/openskills --skill nanobanana -a claude-code

2Manually: put the files in place

~/.claude/skills/nanobanana/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/nanobanana/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about nanobanana

How to install nanobanana in Claude Code?

Run npx skills add GargantuaX/openskills --skill nanobanana -a claude-code in your terminal.

What does nanobanana do?

It is a Python-based skill for generating and editing images with Gemini models. It supports single prompts, multi-reference edits, batch runs, and dry-run inspection.

Which models does nanobanana support?

It supports nanobanana (gemini-2.5-flash-image), nanobanana-2 (gemini-3.1-flash-image-preview), and nanobanana-pro (gemini-3-pro-image-preview). The --size option works only with Gemini 3 models.

Source text

SKILL.md · MIT
---
name: nanobanana
description: Gemini-native Nano Banana image generation and editing across Nano Banana, Nano Banana 2, and Nano Banana Pro. Use when you need text-to-image, image-to-image edits, repeated local references, batch generation, dry-run request inspection, or a custom Gemini-compatible base URL such as a self-hosted gateway.
---

# Nano Banana

A single Python entrypoint for Gemini-native Nano Banana image generation and editing, with model aliases, strict option validation, batch runs, and custom endpoint support.

## Workflow

1. Open [references/config.md](./references/config.md) to choose environment variables and override order.
2. Open [references/models-and-api.md](./references/models-and-api.md) to pick the right Nano Banana tier and check model-specific constraints.
3. Prefer `gemini-3.1-flash-image-preview` (`nanobanana-2`) unless you need either the fastest low-cost default (`nanobanana`) or the highest-fidelity reasoning model (`nanobanana-pro`).
4. Run `scripts/nanobanana.py generate` for one request or `scripts/nanobanana.py batch` for repeated variants.
5. Add `--dry-run` first when the main risk is the payload shape, endpoint, or model-specific option support.
6. Pass `--base-url` or `GEMINI_BASE_URL` when you need a custom Gemini-compatible gateway.
7. Add `--save-response <path>` on `generate` when you need the raw JSON body for debugging.

## Commands

Single text-to-image request:

```powershell
python .\skills\nanobanana\scripts\nanobanana.py generate `
  --prompt "A retro-futurist product hero illustration for a developer tool" `
  --output .\out\hero.png `
  --model nanobanana-2 `
  --ratio 16:9 `
  --size 2K
```

Edit an existing image with two local references:

```powershell
python .\skills\nanobanana\scripts\nanobanana.py generate `
  --prompt "Turn these references into a clean launch poster with legible title text" `
  --input-image .\refs\subject.png `
  --input-image .\refs\background.png `
  --output .\out\poster.png `
  --model nanobanana-pro `
  --ratio 4:5 `
  --size 2K
```

Use a custom Gemini-compatible gateway:

```powershell
python .\skills\nanobanana\scripts\nanobanana.py generate `
  --prompt "A bold mascot sticker pack" `
  --output .\out\stickers.png `
  --base-url http://your-gateway.example.com/v1beta `
  --auth-mode bearer
```

Batch-generate five variants:

```powershell
python .\skills\nanobanana\scripts\nanobanana.py batch `
  --prompt "Minimal app icon for a PDF workflow product" `
  --count 5 `
  --dir .\out\icons `
  --prefix icon `
  --model nanobanana `
  --ratio 1:1
```

Inspect the final request without sending it:

```powershell
python .\skills\nanobanana\scripts\nanobanana.py generate `
  --prompt "An editorial illustration of AI agents at work" `
  --model nanobanana-2 `
  --output .\out\agents.png `
  --dry-run
```

## Rules

- `--model` accepts the aliases `nanobanana`, `nanobanana-2`, and `nanobanana-pro`, or an exact Gemini model ID.
- `nanobanana` resolves to `gemini-2.5-flash-image`, `nanobanana-2` resolves to `gemini-3.1-flash-image-preview`, and `nanobanana-pro` resolves to `gemini-3-pro-image-preview`.
- `image_size` is only valid on Gemini 3 image models; `nanobanana` rejects `--size`.
- `512` resolution is only valid on `nanobanana-2`.
- Process environment variables override `.env`; CLI flags override both.
- Never print secrets.
- `generate` accepts repeated `--input-image` paths for image editing or multi-reference generation.
- `--base-url` should point to the Gemini API root such as `https://generativelanguage.googleapis.com/v1beta`, not directly to `/models/...`.
- `--auth-mode auto` uses `x-goog-api-key` for the official Google endpoint and sends both `Authorization: Bearer` and `x-goog-api-key` for custom endpoints to maximize gateway compatibility.

## Resources

- Script: [scripts/nanobanana.py](./scripts/nanobanana.py)
- Config reference: [references/config.md](./references/config.md)
- Models and API reference: [references/models-and-api.md](./references/models-and-api.md)

© GargantuaX · MIT · GargantuaX/openskills

Similar skills

Everything for AI and ML →

nanobanana by other authors comes first.

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor