Nanobanana
/SKILLGenerate or edit images using Google Gemini API via nanobanana. Triggers: "nanobanana", "generate image", "create image", "edit image", "AI drawing",
--- name: nanobanana-skill description: 'Generate or edit images using Google Gemini API via nanobanana. Triggers: "nanobanana", "generate image", "create image", "edit image", "AI drawing", "图片生成", "AI绘图", "图片编辑", "生成图片".' allowed-tools: Read, Write, Glob, Grep, Task, Bash(cat:), Bash(ls:), Bash(tree:), Bash(python3:) --- # Nanobanana Image Generation Skill Generate or edit images using Google Gemini API through the nanobanana tool. ## Requirements 1. GEMINI_API_KEY: Must be configured at ~/.nanobanana.env or export GEMINI_API_KEY=<your-api-key> 2. Python 3 with required packages installed: google-genai, Pillow, python-dotenv. These can be installed via python3 -m pip install -r ./requirements.txt if not already installed. 3. Executable: ./nanobanana.py ## Instructions ### For image generation 1. Ask the user for: - What they want to create (prompt) - Desired aspect ratio/size (optional; defaults to 9:16 portrait) - Output filename (optional; automatically generates a UUID if not specified) - Model preference (optional, defaults to gemini-3.1-flash-image-preview) - Resolution (optional, defaults to 1K) 2. Run the nanobanana script with the appropriate parameters: ``bash python3 ./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 ./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.1-flash-image-preview (default) - Latest, fast generation - gemini-3-pro-image-preview - Higher quality, supports thinking/reasoning ### Resolution (--resolution) - 1K (default) - 2K - 4K ### Other Options - --no-search - Disable Google Search grounding (enabled by default) - --no-think - Disable thinking/reasoning mode ## Examples ### Generate a simple image `bash python3 ./nanobanana.py --prompt "A serene mountain landscape at sunset with a lake" ` ### Generate with specific size and output `bash python3 ./nanobanana.py \ --prompt "Modern minimalist logo for a tech startup" \ --size 1024x1024 \ --output "logo.png" ` ### Generate landscape image with high resolution `bash python3 ./nanobanana.py \ --prompt "Futuristic cityscape with flying cars" \ --size 1344x768 \ --resolution 2K \ --output "cityscape.png" ` ### Edit existing images `bash python3 ./nanobanana.py \ --prompt "Add a rainbow in the sky" \ --input photo.png \ --output "photo-with-rainbow.png" ` ### Use pro model for higher quality `bash python3 ./nanobanana.py \ --prompt "Detailed portrait of a cat in watercolor style" \ --model gemini-3-pro-image-preview \ --output "cat-portrait.png" ` ## Error Handling If the script fails: - Check that GEMINIAPIKEY` is exported or set in ~/.nanobanana.env - Verify that the input image files exist and are readable - Ensure the output directory is writable - If no image is generated, try specifying more details in the prompt to indicate that you want an image ## Best Practices 1. Be descriptive in prompts:include style, mood, colors, and composition 2. For logos and graphics, use a square aspect ratio (1024x1024) 3. For social media posts, use a 9:16 aspect ratio for Stories or a 1:1 aspect ratio for posts 4. For wallpapers, use a 16:9 or 21:9 aspect ratio 5. Start with 1K resolution for testing; upgrade to 2K/4K for the final output 6. Use gemini-3-pro-image-preview for best quality; use gemini-3.1-flash-image-preview (default) for speed