
nanobanana-skill
PopulaireGenerate or edit images using Google Gemini API via nanobanana. Triggers: "nanobanana", "generate image", "create image", "edit image", "AI drawing", "图片生成", "AI绘图", "图片编辑", "生成图片".
'Generate or edit images using Google Gemini API via nanobanana. Triggers: "nanobanana", "generate image", "create image", "edit image", "AI drawing", "图片生成", "AI绘图", "图片编辑", "生成图片".'
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 ${CLAUDE_PLUGIN_ROOT}/skills/nanobanana-skill/requirements.txtif not installed yet. - Executable:
${CLAUDE_PLUGIN_ROOT}/skills/nanobanana-skill/nanobanana.py
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:
python3 ${CLAUDE_PLUGIN_ROOT}/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:
python3 ${CLAUDE_PLUGIN_ROOT}/skills/nanobanana-skill/nanobanana.py --prompt "editing instructions" --input image1.png image2.png --output "edited.png"
Available Options
Aspect Ratios (--size)
1024x1024(1:1) - Square832x1248(2:3) - Portrait1248x832(3:2) - Landscape864x1184(3:4) - Portrait1184x864(4:3) - Landscape896x1152(4:5) - Portrait1152x896(5:4) - Landscape768x1344(9:16) - Portrait (default)1344x768(16:9) - Landscape1536x672(21:9) - Ultra-wide
Models (--model)
gemini-3-pro-image-preview(default) - Higher qualitygemini-2.5-flash-image- Faster generation
Resolution (--resolution)
1K(default)2K4K
Examples
Generate a simple image
python3 ${CLAUDE_PLUGIN_ROOT}/skills/nanobanana-skill/nanobanana.py --prompt "A serene mountain landscape at sunset with a lake"
Generate with specific size and output
python3 ${CLAUDE_PLUGIN_ROOT}/skills/nanobanana-skill/nanobanana.py \
--prompt "Modern minimalist logo for a tech startup" \
--size 1024x1024 \
--output "logo.png"
Generate landscape image with high resolution
python3 ${CLAUDE_PLUGIN_ROOT}/skills/nanobanana-skill/nanobanana.py \
--prompt "Futuristic cityscape with flying cars" \
--size 1344x768 \
--resolution 2K \
--output "cityscape.png"
Edit existing images
python3 ${CLAUDE_PLUGIN_ROOT}/skills/nanobanana-skill/nanobanana.py \
--prompt "Add a rainbow in the sky" \
--input photo.png \
--output "photo-with-rainbow.png"
Use faster model
python3 ${CLAUDE_PLUGIN_ROOT}/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
You Might Also Like
Related Skills

verify
Use when you want to validate changes before committing, or when you need to check all React contribution requirements.
facebook
test
Use when you need to run tests for React core. Supports source, www, stable, and experimental channels.
facebook
feature-flags
Use when feature flag tests fail, flags need updating, understanding @gate pragmas, debugging channel-specific test failures, or adding new flags to React.
facebook
extract-errors
Use when adding new error messages to React, or seeing "unknown error code" warnings.
facebook