Generate or edit images using Google Gemini API via nanobanana. Use when the user asks to create, generate, edit images with nanobanana, or mentions image generation/editing tasks.
Use the bundled nanobanana.py tool to generate or edit images with Gemini image models. The default path now targets Nano Banana 2 (gemini-3.1-flash-image-preview) and turns on thinking summaries plus Google Search grounding by default, because those defaults are the main reason to use this skill instead of a generic image prompt.
Use it for:
Do not use it for:
GEMINI_API_KEY must exist in ~/.nanobanana.env or the shell environment.requirements.txt must be installed.nanobanana.py file in this same skill directory. Resolve its absolute path once before running it.The CLI can display --help without credentials. It validates local input files before creating an API client and exits non-zero when the API returns no image.
Example env file:
GEMINI_API_KEY=sk-dummy
Unless the user explicitly asks otherwise, prefer these defaults:
gemini-3.1-flash-image-previewhigh1KLeaving aspect ratio unspecified is usually better for edits because Gemini can match the input image shape. For text-only generation, pick an aspect ratio only when the user implies a format such as poster, square post, banner, phone wallpaper, or ultrawide hero image.
Ask only for details that materially affect the result:
Do not force the user to choose a model, search mode, or thinking mode unless they asked for that level of control. The latest Nanobanana 2 path is already the default.
Use generate when there are no input images.
Use edit/composite when there are one or more input images. Nanobanana 2 can mix multiple references, so do not artificially limit the task to a single image if the user is clearly asking for a blend, lineup, storyboard, or consistency pass.
Use the script beside this skill file.
Basic generation:
python3 /absolute/path/to/nanobanana.py \
--prompt "Create a high-end coffee bag package design with tactile paper texture and clear typography" \
--output /absolute/path/to/output/package.png
Editing or compositing:
python3 /absolute/path/to/nanobanana.py \
--prompt "Turn these product photos into a clean 4:5 ecommerce hero image with a soft studio shadow and subtle headline area" \
--input /absolute/path/to/ref1.png /absolute/path/to/ref2.png \
--aspect-ratio 4:5 \
--output /absolute/path/to/output/hero.png
Grounded generation with saved text metadata:
python3 /absolute/path/to/nanobanana.py \
--prompt "Use Google Search to ground an editorial illustration about the most recent lunar mission and create a clean magazine cover concept" \
--aspect-ratio 2:3 \
--text-output /absolute/path/to/output/cover.txt \
--metadata-output /absolute/path/to/output/cover.json \
--output /absolute/path/to/output/cover.png
Always tell the user:
If the model returns text but no image, report that plainly and suggest a more explicit image-focused prompt instead of pretending the run succeeded.
gemini-3.1-flash-image-preview: default. Best default for fast, high-volume image generation and editing with Nanobanana 2 features.gemini-3-pro-image-preview: slower, but a good override for very detail-heavy or typography-sensitive work.gemini-2.5-flash-image: legacy fallback if the user specifically wants the older Nanobanana model.Supported ratios:
1:11:41:82:33:23:44:14:34:55:48:19:1616:921:9Quick picks:
1:1 for logos, icons, thumbnails, and general social posts4:5 for feed posts and product cards2:3 for posters and book-cover style work9:16 for stories, shorts, and phone wallpaper16:9 or 21:9 for slides, banners, and desktop hero art1:4, 4:1, 1:8, 8:1 for very tall or very wide experimental layouts now supported by Nanobanana 2512px: Nanobanana 2 only. Best for quick ideation.1K: default. Good tradeoff for most requests.2K: use for polished deliverables.4K: use when the user explicitly needs a high-resolution final.--thinking-level to low or minimal when the user prioritizes latency over refinement.Good Nanobanana prompts are direct production briefs, not vague art wishes. Include:
Prefer prompts like:
Create a premium sparkling water can advertisement. Use a cold studio product-photo look, silver highlights, condensation droplets, and a clean dark-teal background. Leave negative space in the upper-right for headline copy.
Instead of:
make a cool drink ad
For edits, tell the model what to preserve and what to change:
Keep the shoe silhouette and logo placement intact. Replace the background with a bright outdoor basketball court, add dynamic afternoon shadows, and keep the image looking like a real sports campaign photo.
512px fast ideation output in addition to 1K, 2K, and 4KIf the run fails:
~/.nanobanana.env and confirm GEMINI_API_KEY is present.gemini-3.1-flash-image-preview first.python3 /absolute/path/to/nanobanana.py \
--prompt "Create three-dimensional sticker-style fruit mascots on white" \
--resolution 512px \
--output /absolute/path/to/output/stickers.png
python3 /absolute/path/to/nanobanana.py \
--prompt "Use Google Search to ground a newspaper-style illustration about the latest Mars mission and create a restrained front-page visual" \
--aspect-ratio 3:2 \
--output /absolute/path/to/output/mars.png
python3 /absolute/path/to/nanobanana.py \
--prompt "Create a single brand moodboard from these references. Keep the ceramic texture from the first image, the palette from the second, and the lighting mood from the third." \
--input /absolute/path/to/a.png /absolute/path/to/b.png /absolute/path/to/c.png \
--aspect-ratio 16:9 \
--output /absolute/path/to/output/moodboard.png
Generate or edit images via Gemini 3 Pro Image (Nano Banana Pro).
Batch-generate images via OpenAI Images API. Random prompt sampler + `index.html` gallery.
Generate spectrograms and feature-panel visualizations from audio with the songsee CLI.
Extract frames or short clips from videos using ffmpeg.
Search GIF providers with CLI/TUI, download results, and extract stills/sheets.
Category:media-generate