Nanobanana Image Generation Skill
Generate or edit images using Google Gemini API through the nanobanana tool.
Requirements
- •GEMINI_API_KEY: Must be configured in
~/.nanobanana.envorexport GEMINI_API_KEY=<your-api-key> - •Python3 with depedent packages installed: google-genai, Pillow, python-dotenv. They could be installed via
python3 -m pip install -r ~/.codex/skills/nanobanana-skill/requirements.txtif not installed yet. - •Executable:
~/.codex/skills/nanobanana-skill/nanobanana.py
Example .nanobanana.env:
bash
GEMINI_API_KEY=sk-dummy
Instructions
For image generation
- •
Ask the user for:
- •What they want to create (the prompt)
- •Desired aspect ratio/size (optional, defaults to 9:16 portrait)
- •Output filename (optional, auto-generates UUID if not specified)
- •Model preference (optional, defaults to gemini-3-pro-image-preview)
- •Resolution (optional, defaults to 1K)
- •
Run the nanobanana script with appropriate parameters:
bashpython3 ~/.codex/skills/nanobanana-skill/nanobanana.py --prompt "description of image" --output "filename.png"
- •
Show the user the saved image path when complete
For image editing
- •
Ask the user for:
- •Input image file(s) to edit
- •What changes they want (the prompt)
- •Output filename (optional)
- •
Run with input images:
bashpython3 ~/.codex/skills/nanobanana-skill/nanobanana.py --prompt "editing instructions" --input image1.png image2.png --output "edited.png"
Available Options
Aspect Ratios (--size)
- •
1024x1024(1:1) - Square - •
832x1248(2:3) - Portrait - •
1248x832(3:2) - Landscape - •
864x1184(3:4) - Portrait - •
1184x864(4:3) - Landscape - •
896x1152(4:5) - Portrait - •
1152x896(5:4) - Landscape - •
768x1344(9:16) - Portrait (default) - •
1344x768(16:9) - Landscape - •
1536x672(21:9) - Ultra-wide
Models (--model)
- •
gemini-3-pro-image-preview(default) - Higher quality - •
gemini-2.5-flash-image- Faster generation
Resolution (--resolution)
- •
1K(default) - •
2K - •
4K
Optional Flags
- •
--enable-google-searchEnable Google Search tool for the model (default: disabled) - •
--include-thoughtsInclude model thinking in output (default: disabled)
Examples
Generate a simple image
bash
python3 ~/.codex/skills/nanobanana-skill/nanobanana.py --prompt "A serene mountain landscape at sunset with a lake"
Generate with specific size and output
bash
python3 ~/.codex/skills/nanobanana-skill/nanobanana.py \ --prompt "Modern minimalist logo for a tech startup" \ --size 1024x1024 \ --output "logo.png"
Generate landscape image with high resolution
bash
python3 ~/.codex/skills/nanobanana-skill/nanobanana.py \ --prompt "Futuristic cityscape with flying cars" \ --size 1344x768 \ --resolution 2K \ --output "cityscape.png"
Edit existing images
bash
python3 ~/.codex/skills/nanobanana-skill/nanobanana.py \ --prompt "Add a rainbow in the sky" \ --input photo.png \ --output "photo-with-rainbow.png"
Use faster model
bash
python3 ~/.codex/skills/nanobanana-skill/nanobanana.py \ --prompt "Quick sketch of a cat" \ --model gemini-2.5-flash-image \ --output "cat-sketch.png"
Error Handling
If the script fails:
- •Check that
GEMINI_API_KEYis exported or set in ~/.nanobanana.env - •Verify input image files exist and are readable
- •Ensure the output directory is writable
- •If no image is generated, try making the prompt more specific about wanting an image
Best Practices
- •Be descriptive in prompts - include style, mood, colors, composition
- •For logos/graphics, use square aspect ratio (1024x1024)
- •For social media posts, use 9:16 for stories or 1:1 for posts
- •For wallpapers, use 16:9 or 21:9
- •Start with 1K resolution for testing, upgrade to 2K/4K for final output
- •Use gemini-3-pro-image-preview for best quality, gemini-2.5-flash-image for speed