home / skills / feiskyer / claude-code-settings / nanobanana-skill

nanobanana-skill skill

/skills/nanobanana-skill

This skill generates or edits images using Google Gemini API via nanobanana to streamline creative workflows.

npx playbooks add skill feiskyer/claude-code-settings --skill nanobanana-skill

Review the files below or copy the command above to add this skill to your agents.

Files (3)
SKILL.md
4.1 KB
---
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 in `~/.nanobanana.env` or `export GEMINI_API_KEY=<your-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

Overview

This skill generates and edits images using the Google Gemini API via the nanobanana CLI wrapper. It provides a simple command-line flow to create images from text prompts or to edit existing images with instruction prompts. The tool exposes size, model, and resolution options so you can tune speed and quality.

How this skill works

The skill invokes a Python script that calls the Gemini image generation endpoints using an API key stored in ~/.nanobanana.env or via GEMINI_API_KEY. You provide a text prompt, optional input images for edits, and flags for size, model, resolution, and output filename. The script writes the resulting image to disk and returns the saved path when finished.

When to use it

  • Create concept art, mockups, or marketing visuals from a text prompt
  • Edit photos or add elements to existing images with instruction prompts
  • Quickly prototype logos, social media assets, and wallpapers
  • Generate variants at different resolutions or aspect ratios for testing
  • Switch to a faster model for drafts and a higher-quality model for final output

Best practices

  • Set GEMINI_API_KEY in ~/.nanobanana.env or export it before running the script
  • Be specific in prompts: describe style, mood, color palette, and composition for predictable results
  • Start with 1K resolution for iteration, then move to 2K/4K for final exports
  • Choose aspect ratio to match destination: square for logos, 9:16 for stories, 16:9 or 21:9 for wallpapers
  • Use gemini-3-pro-image-preview for quality and gemini-2.5-flash-image for faster drafts
  • Verify input files exist and output directories are writable to avoid runtime errors

Example use cases

  • Generate a product hero image: run the script with a detailed prompt, 16:9 size, and 2K resolution
  • Create a logo concept: request a minimalist vector-like composition at 1024x1024
  • Edit a photo by adding or removing objects: supply the input image and an edit prompt, then output a new PNG
  • Produce social media story images: use the default 9:16 size and iterate quickly with the faster model
  • Render a high-resolution wallpaper: choose 21:9 and 4K resolution for final export

FAQ

What environment variables are required?

Set GEMINI_API_KEY in ~/.nanobanana.env or export it in your shell before running the script.

How do I change image size, model, or resolution?

Pass flags to the script: --size for aspect ratio, --model for model choice, and --resolution for 1K/2K/4K; defaults are provided if omitted.