nanobanana
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.
Install
npx skills add https://github.com/gargantuax/openskills --skill nanobananaSKILL.md
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
- Open references/config.md to choose environment variables and override order.
- Open references/models-and-api.md to pick the right Nano Banana tier and check model-specific constraints.
- 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). - Run
scripts/nanobanana.py generatefor one request orscripts/nanobanana.py batchfor repeated variants. - Add
--dry-runfirst when the main risk is the payload shape, endpoint, or model-specific option support. - Pass
--base-urlorGEMINI_BASE_URLwhen you need a custom Gemini-compatible gateway. - Add
--save-response <path>ongeneratewhen you need the raw JSON body for debugging.
Commands
Single text-to-image request:
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:
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:
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:
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:
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
--modelaccepts the aliasesnanobanana,nanobanana-2, andnanobanana-pro, or an exact Gemini model ID.nanobananaresolves togemini-2.5-flash-image,nanobanana-2resolves togemini-3.1-flash-image-preview, andnanobanana-proresolves togemini-3-pro-image-preview.image_sizeis only valid on Gemini 3 image models;nanobananarejects--size.512resolution is only valid onnanobanana-2.- Process environment variables override
.env; CLI flags override both. - Never print secrets.
generateaccepts repeated--input-imagepaths for image editing or multi-reference generation.--base-urlshould point to the Gemini API root such ashttps://generativelanguage.googleapis.com/v1beta, not directly to/models/....--auth-mode autousesx-goog-api-keyfor the official Google endpoint and sends bothAuthorization: Bearerandx-goog-api-keyfor custom endpoints to maximize gateway compatibility.
Resources
- Script: scripts/nanobanana.py
- Config reference: references/config.md
- Models and API reference: references/models-and-api.md
Related skills
ai-image-generationgenmedia-labs713KGenerate and edit images on RunComfy via the `runcomfy` CLI — a smart router across the full image-model catalog: FLUX 2 (Klein 9B/4B, Pro, Dev, Flash, Turbo, Max), Google Nano Banana 2 / Pro, OpenAI GPT Image 2, ByteDance Seedream 5 / 4-5 / 4-0 and Dreamina 4-0, Alibaba Qwen Image and Z-Image Turbo, Wan 2-7. Covers both text-to-image (t2i) and image-to-image / edit (i2i) endpoints — the skill picks the right model for the user's actual intent (typography precision, photoreal portraits, sub-secoai-image-generation101-skills547KGenerate AI images with GPT-Image-2, FLUX, Gemini, Grok, Seedream, Reve and 50+ models via inference.sh CLI. Models: GPT-Image-2, FLUX Dev LoRA, FLUX.2 Klein LoRA, Gemini 3 Pro Image, Grok Imagine, Seedream 4.5, Reve, ImagineArt. Capabilities: text-to-image, image-to-image, inpainting, LoRA, image editing, upscaling, text rendering. Use for: AI art, product mockups, concept art, social media graphics, marketing visuals, illustrations. Triggers: flux, image generation, ai image, text to image, stnano-banana-2prime-skills424KGenerate images with Google Nano Banana 2 (Gemini-family flash-tier text-to-image) on RunComfy — bundled with the model's documented prompting patterns so the skill gets sharper output than naive prompting against the same model. Documents Nano Banana 2's strengths (rapid iteration, in-image typography rendering, predictable framing, optional web-grounded context), the resolution-tier pricing, the safety-tolerance dial, and when to route to Nano Banana Pro / GPT Image 2 / Flux 2 / Seedream insteimage-editprime-skills424KEdit images on RunComfy — this skill is a smart router that matches the user's intent to the right edit model in the RunComfy catalog. Picks Nano Banana Edit (batch up to 20, identity-preserving default), OpenAI GPT Image 2 Edit (multilingual in-image text rewrite, multi-ref composition, layout precision), Flux Kontext Pro (single-ref high-fidelity local edit), or Z-Image Turbo Inpaint (mask-driven precise region edit). Bundles each model's documented prompting patterns so the skill gets sharper
