mcpField
N
nano-banana

nano-banana

github.com/ckorhonenCreative & media2253 installsUpdated 5w ago
Repository

About nano-banana

nano-banana is a skill for using Gemini image models to generate and edit images through MCP. It guides prompt-based creation, structured JSON workflows, and iterative refinements for people producing graphics, product visuals, or consistent image sequences.

Key features

  1. 01Generate images from text prompts
  2. 02Edit images and refine prior results
  3. 03Create structured JSON prompts
  4. 04Compose multiple reference images
  5. 05Maintain character consistency

Use cases

  1. 01Create product shots and marketing visuals
  2. 02Produce diagrams or UI mockups
  3. 03Edit photos with guided changes
  4. 04Generate a character across scenes

MCP support

It documents MCP setup for NanoBanana-MCP and describes image generation, editing, refinement, and history tools exposed to an MCP client.

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/ckorhonen/claude-skills --skill nano-banana

After installing, type/nano-bananain Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

CHANGELOG.md
references/
examples-json.md
examples.md
json-prompting.md
prompting-guide.md
translator-prompt.md
references/schemas/
diagram-spec.json
marketing-image.json
ui-builder.json

Details

From the project README

Nano Banana - AI Image Generation via MCP

Generate stunning 4K images, edit photos, and create graphics with perfect text rendering using Google's Gemini image models via MCP. The default model is gemini-3.1-flash-image-preview (Nano Banana 2), launched February 2026.

When to Use

Invoke when user:

  • Asks to "generate an image" or "create a picture"
  • Wants to "edit this photo" or "modify this image"
  • Needs graphics with text (logos, infographics, diagrams)
  • Requests "consistent characters" across multiple images
  • Says "visualize this" or "make me a [visual thing]"

Prerequisites

1. Gemini API Key

Get a free API key from Google AI Studio:

  1. Sign in with Google account
  2. Click "Get API Key" → "Create API Key"
  3. Copy and save securely
2. MCP Server Setup

Recommended: NanoBanana-MCP (uses Gemini 3.1 Flash Image for highest quality)

# Quick install via Claude Code CLI
claude mcp add nano-banana --env GEMINI_API_KEY=your-key-here -- npx -y nanobanana-mcp

Or add to ~/.claude/settings.json manually:

{
  "mcpServers": {
    "nano-banana": {
      "command": "npx",
      "args": ["-y", "nanobanana-mcp"],
      "env": {
        "GEMINI_API_KEY": "your-api-key-here"
      }
    }
  }
}

Alternative: Nano-Banana-MCP by ConechoAI (Gemini 2.0 Flash - faster, lower cost)

{
  "mcpServers": {
    "nano-banana": {
      "command": "npx",
      "args": ["nano-banana-mcp"],
      "env": {
        "GEMINI_API_KEY": "your-api-key-here"
      }
    }
  }
}

Available Tools

Once MCP is configured, these tools become available:

Core Tools
ToolPurposeKey Parameters
gemini_generate_imageCreate new images from text promptsprompt, model, aspectRatio, imageSize
gemini_edit_imageModify existing images with instructionsimagePath, instructions, model
continue_editingRefine the last generated imageinstructions
get_image_historyList all generated images in session-
Model Options
Model IDDescription
gemini-3.1-flash-image-previewDefault. Highest quality, 4K support, best text rendering (Nano Banana 2, launched Feb 2026)
gemini-2.5-flash-image-previewFast generation, 1K resolution, good quality (Nano Banana)
gemini-3-pro-image-previewPrevious-gen Pro model, still high quality (Nano Banana Pro)
gemini-2.0-flash-expOlder experimental model; prefer gemini-2.5-flash-image-preview for new work
Image Size (Gemini 3.1 / 3 only)
SizeUse Case
4KFinal assets, print, marketing materials
2KBalanced quality and speed
1KFast iteration, prototyping
Advanced Features
FeatureCapability
4K OutputUp to 5632×3072 pixels
Text RenderingAccurate text in images (signs, labels, UI)
Multi-Image CompositionCombine up to 14 reference images
Character ConsistencyMaintain same character across 5+ images
Google Search GroundingReal-world accurate imagery

Prompting Best Practices

Structure Your Prompts
[Subject] + [Style] + [Details] + [Technical Specs]

Example:

"A cozy coffee shop interior, watercolor illustration style, warm lighting, wooden furniture, steaming cup on table, 4K resolution, soft morning light through windows"

For Best Results
  1. Be Specific - Include colors, materials, lighting, mood
  2. Specify Style - "photorealistic", "oil painting", "3D render", "anime"
  3. Add Context - Time of day, weather, setting
  4. Request Resolution - "4K", "high resolution", "detailed"

Precision Mode (JSON Prompting)

For high-stakes work requiring exact reproducibility, use structured JSON schemas.

When to Activate

Trigger phrases:

  • "I need exact control over..."
  • "Create a product shot for [brand]..."
  • "Generate a UI mockup..."
  • "Make an infographic showing..."
  • "I want to iterate on just the lighting..."
  • "A/B test different versions..."
Three Schema Types
TypeUse CaseKey Controls
marketing_imageProduct shots, hero imagessubject, props, lighting, camera, brand locks
ui_builderApp screens, dashboardstokens, screens, containers, components
diagram_specFlowcharts, infographicsnodes, edges, data constraints
The Translator Workflow
  1. Describe - User explains what they want in plain English
  2. Clarify - Claude asks targeted questions for missing fields
  3. Generate - Claude outputs structured JSON schema
  4. Review - User checks key fields match intent
  5. Render - JSON converts to precise prompt for Nano Banana 2
  6. Iterate - Modify specific fields, re-render (scoped changes)
Example: Product Shot

User: "I need a hero shot for Aurora Lime seltzer"

Claude asks: "For the Aurora Lime hero shot:

  1. Can size? (12oz standard?)
  2. Props? (lime slices, ice, condensation?)
  3. Background style? (solid color, gradient, bokeh?)
  4. Lighting mood? (bright/refreshing or moody/premium?)"

Result: Structured JSON with exact specifications that can be iterated field-by-field.

Scoped Edits (The Key Unlock)

JSON enables changing ONE thing without regenerating everything:

ChangeWhat Stays Fixed
Swap lighting directionSubject, props, background
Try different camera angleLighting, props, environment
Change background colorSubject geometry, lighting setup
Add/remove propsEverything else
Reference Docs
  • references/json-prompting.md - Full JSON prompting guide
  • references/translator-prompt.md - Translator system prompt
  • references/schemas/ - Template schemas for each type
  • references/examples-json.md - Filled-out examples
Text in Images

Nano Banana 2 excels at text rendering:

"A vintage movie poster for 'COSMIC ADVENTURE' with bold retro typography, starfield background, astronaut silhouette, 1970s sci-fi aesthetic"

Character Consistency

For consistent characters across images:

  1. Generate initial character with detailed description
  2. Use history:0 reference in subsequent prompts
  3. Describe scene changes while referencing original
First: "A young woman with red curly hair, freckles, green eyes, wearing a blue jacket"
Then: "The same woman from history:0, now sitting at a café, reading a book"

Workflow Examples

Basic Image Generation
User: "Create an image of a futuristic city at sunset"

Claude uses: gemini_generate_image
Prompt: "Futuristic cityscape at golden hour sunset, towering glass skyscrapers with holographic advertisements, flying vehicles, warm orange and purple sky, photorealistic, 4K resolution, cinematic lighting"
Photo Editing
User: "Edit this photo to make it look like winter"

Claude uses: gemini_edit_image
Input: [user's image path]
Instructions: "Transform to winter scene: add snow on ground and surfaces, frost on windows, visible breath, overcast sky, cool blue color grading"
Iterative Refinement
User: "Make the lighting warmer"

Claude uses: continue_editing
Instructions: "Adjust lighting to warmer tones, add golden hour glow, enhance orange/yellow highlights, softer shadows"

Output Management

Images save to: ~/Documents/nanobanana_generated/

Naming format: generated-[timestamp]-[id].png

Security Notes

  • API keys stored locally in environment variables
  • Never committed to version control
  • Images processed locally, not stored on external servers
  • Use .env files for key management in projects

Model Comparison

ModelSpeedQualityMax ResCostBest For
gemini-3.1-flash-image-previewFastHighest4K~$0.045/img (1K)Final assets, print, marketing
gemini-2.5-flash-image-previewFastestGood1K~$0.039/imgPrototyping, iteration, drafts
gemini-3-pro-image-previewSlowerHigh4K~$0.134/imgPrevious-gen Pro fallback
gemini-2.0-flash-expFastGood1KLowLegacy; use 2.5-flash-image-preview instead

Pricing as of March 2026. Free tier (~500 req/day) available via Google AI Studio for all models.

Troubleshooting

IssueSolution
"API key invalid"Verify key at AI Studio
"Rate limited"Wait 60s, or upgrade API tier
"MCP not connected"Restart Claude Code, check config syntax
"Image not saving"Check write permissions on output directory

Integration

Works well with:

  • Artifacts Builder - Generate images for HTML artifacts
  • Process Mapper - Create diagram visuals
  • Research to Essay - Add illustrations to content

References

  • references/prompting-guide.md - Detailed prompting techniques
  • references/examples.md - Sample prompts by category

Comments

Markdown supported