--- name: nanobanana-skill description: 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. allowed-tools: Bash --- # Nanobanana Image Generation Skill Generate or edit images using Google Gemini API through the nanobanana tool. ## Requirements 1. **GEMINI_API_KEY**: Must be configured in `~/.nanobanana.env` or `export GEMINI_API_KEY=` 2. **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.txt` if not installed yet. 3. **Executable**: `${CLAUDE_PLUGIN_ROOT}/skills/nanobanana-skill/nanobanana.py` ## Instructions ### For image generation 1. 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) 2. Run the nanobanana script with appropriate parameters: ```bash python3 ${CLAUDE_PLUGIN_ROOT}/skills/nanobanana-skill/nanobanana.py --prompt "description of image" --output "filename.png" ``` 3. Show the user the saved image path when complete ### For image editing 1. Ask the user for: - Input image file(s) to edit - What changes they want (the prompt) - Output filename (optional) 2. Run with input images: ```bash 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) - 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` ## Examples ### Generate a simple image ```bash 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 ```bash 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 ```bash 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 ```bash 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 ```bash 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_KEY` is 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 1. Be descriptive in prompts - include style, mood, colors, composition 2. For logos/graphics, use square aspect ratio (1024x1024) 3. For social media posts, use 9:16 for stories or 1:1 for posts 4. For wallpapers, use 16:9 or 21:9 5. Start with 1K resolution for testing, upgrade to 2K/4K for final output 6. Use gemini-3-pro-image-preview for best quality, gemini-2.5-flash-image for speed