Design & media

Nanobanana Skill

Try it

Generate or edit images using Google Gemini API via nanobanana. Triggers: "nanobanana", "generate image", "create image", "edit image", "AI drawing", "图片生成",...

What it does

Generate or edit images using Google Gemini API through the nanobanana tool.

The skill document

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:

    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:

    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

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_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

Related skills

Generate and edit Draw.io, Mermaid, and Excalidraw diagrams from natural language using a structured JSON spec.

by nssa.io1.0k installs47 stars

Join a video meeting as an AI bot with voice, avatar, and screenshare across four operating modes.

by johnpatternai21 installs8 stars

Stores durable facts in a categorized, plain-markdown vault on disk, alongside your agent's built-in memory.

by Iván1 installs

Fetch raw ad creative, app, ranking, and revenue data from AdMapix as structured JSON.

by fly0pants

Find why your productivity system keeps failing, then apply the smallest fix — capacity math, bottleneck routing, durable local notes.

by Iván1 installs

More from feiskyer

Browse all skills

深度调研的多Agent编排工作流:把一个调研目标拆成可并行子目标,用 Claude Code 非交互模式(`claude -p`)运行子进程;联网与采集优先使用已安装的 skills,其次使用 MCP 工具;用脚本聚合子结果并分章精修,最终交付"成品报告文件路径 + 关键结论/建议摘要"。用于:系统性网页/资料调...

by feiskyer39 installs1 stars

Execute long-running, multi-session tasks autonomously using Claude Code headless mode or in-session hook-based loops. Supports structured task decomposition...

by feiskyer37 installs1 stars

Use when user asks to leverage codex, gpt-5, or gpt-5.1 to implement something (usually implement a plan or feature designed by Claude). Provides non-interac...

by feiskyer38 installs1 stars

Use when user asks to leverage claude or claude code to do something (e.g. implement a feature design or review codes, etc). Provides non-interactive automat...

by feiskyer35 installs1 stars

Use xfetch CLI to fetch X/Twitter data - tweets, user profiles, search results, timelines, lists, DMs, and notifications. Use this skill whenever you need to...

by feiskyer30 installs1 stars

Extract subtitles/transcripts from YouTube videos. Triggers: "youtube transcript", "extract subtitles", "video captions", "视频字幕", "字幕提取", "YouTube转文字", "提取字幕".

by feiskyer34 installs2 stars