mcpField
N
nanobanana-skill

nanobanana-skill

github.com/feiskyerCreative & media1.7k321 installsUpdated 4w ago
Repository

About nanobanana-skill

A skill for generating and editing images with the Google Gemini API through the nanobanana tool. It runs a Python script and supports choices for model, dimensions, and resolution.

Key features

  1. 01Text-prompt image generation
  2. 02Editing one or more input images
  3. 03Selectable Gemini image models
  4. 04Aspect ratio and resolution options
  5. 05Optional Google Search grounding

Use cases

  1. 01Creating an image from a written description
  2. 02Applying prompted changes to existing images

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/feiskyer/claude-code-settings --skill nanobanana-skill

After installing, type/nanobanana-skillin Claude Code to confirm it loaded.

Bundled filesnanobanana.pyrequirements.txt

Details

From the project README

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=<your-api-key>
  2. Python3 with dependent packages installed: google-genai, Pillow, python-dotenv. They could be installed via python3 -m pip install -r ${CLAUDE_SKILL_DIR}/requirements.txt if not installed yet.
  3. Executable: ${CLAUDE_SKILL_DIR}/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.1-flash-image-preview)
    • Resolution (optional, defaults to 1K)
  2. Run the nanobanana script with appropriate parameters:

    python3 ${CLAUDE_SKILL_DIR}/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:

    python3 ${CLAUDE_SKILL_DIR}/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
python3 ${CLAUDE_SKILL_DIR}/nanobanana.py --prompt "A serene mountain landscape at sunset with a lake"
Generate with specific size and output
python3 ${CLAUDE_SKILL_DIR}/nanobanana.py \
  --prompt "Modern minimalist logo for a tech startup" \
  --size 1024x1024 \
  --output "logo.png"
Generate landscape image with high resolution
python3 ${CLAUDE_SKILL_DIR}/nanobanana.py \
  --prompt "Futuristic cityscape with flying cars" \
  --size 1344x768 \
  --resolution 2K \
  --output "cityscape.png"
Edit existing images
python3 ${CLAUDE_SKILL_DIR}/nanobanana.py \
  --prompt "Add a rainbow in the sky" \
  --input photo.png \
  --output "photo-with-rainbow.png"
Use pro model for higher quality
python3 ${CLAUDE_SKILL_DIR}/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 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-3.1-flash-image-preview (default) for speed

Comments

Markdown supported