Media
nano-banana - Claude MCP Skill
AI image generation with curated prompt library. Use for creating images from text prompts, editing existing images, or browsing 6000+ professional prompt templates. Supports avatars, social media, product shots, logos, infographics, and more.
SEO Guide: Enhance your AI agent with the nano-banana tool. This Model Context Protocol (MCP) server allows Claude Desktop and other LLMs to ai image generation with curated prompt library. use for creating images from text prompts, editing ... Download and configure this skill to unlock new capabilities for your AI workflow.
Documentation
SKILL.md# Nano Banana - Image Generation + Prompt Library
Generate images using Gemini API with access to 6000+ curated professional prompts.
## Quick Start
### Direct Generation
```bash
python scripts/generate_image.py "A cat wearing a wizard hat" output.png
```
### Search Prompts First
```bash
python scripts/search_prompts.py "avatar professional"
```
### Edit Existing Image
```bash
python scripts/edit_image.py input.png "Add rainbow background" output.png
```
## Workflow
### Step 0: Mode Detection
Classify user intent:
| Mode | Signal | Action |
|------|--------|--------|
| Direct | Clear prompt provided | Generate immediately |
| Exploration | Vague request, needs ideas | Search prompts first |
| Content-based | User provides article/context | Extract themes, then search |
### Step 1: Prompt Search (exploration mode)
Search by category:
- `avatars` - Headshots, portraits, profile pictures
- `social_media` - Instagram, Twitter, Facebook content (3800+)
- `product_marketing` - Ads, campaigns (1900+)
- `infographic` - Data visualization
- `thumbnails` - YouTube covers
- `comics` - Sequential art, storyboards
- `ecommerce` - Product photography
- `game_assets` - Sprites, characters
- `posters` - Events, announcements
- `web_design` - UI mockups
**Token optimization:** Use grep patterns, NEVER fully load reference files.
Present max 3 matching prompts with sample images when available.
### Step 2: Generation
| Source | Action |
|--------|--------|
| Curated prompt selected | Use EXACT prompt text |
| No match / user declines | Generate custom, label [AI-Generated] |
### Step 3: Refinement (optional)
Use multi-turn chat for iterative editing:
```bash
python scripts/multi_turn_chat.py
```
## Prompt Categories
| Category | Count | Best For |
|----------|-------|----------|
| Social Media | 3800+ | Instagram, Twitter, Facebook |
| Product Marketing | 1900+ | Ads, campaigns |
| Avatars | 700+ | Headshots, portraits |
| Infographic | 350+ | Data visualization |
| Posters | 300+ | Events, announcements |
| Comics | 200+ | Sequential art |
| E-commerce | 200+ | Product shots |
| Game Assets | 200+ | Sprites, characters |
| Thumbnails | 100+ | Video covers |
| Web Design | 100+ | UI mockups |
## Models
| Model | Resolution | Best For |
|-------|------------|----------|
| `gemini-2.5-flash-image` | 1024px | Speed, high-volume |
| `gemini-3-pro-image-preview` | Up to 4K | Professional assets, text rendering |
## Core API Pattern
All image generation uses the `generateContent` endpoint with `responseModalities: ["TEXT", "IMAGE"]`:
```python
import os
import base64
from google import genai
client = genai.Client(api_key=os.environ["GEMINI_API_KEY"])
response = client.models.generate_content(
model="gemini-2.5-flash-image",
contents=["Your prompt here"],
)
for part in response.parts:
if part.text:
print(part.text)
elif part.inline_data:
image = part.as_image()
image.save("output.png")
```
## Image Configuration Options
Control output with `image_config`:
```python
from google.genai import types
response = client.models.generate_content(
model="gemini-3-pro-image-preview",
contents=[prompt],
config=types.GenerateContentConfig(
response_modalities=['TEXT', 'IMAGE'],
image_config=types.ImageConfig(
aspect_ratio="16:9", # 1:1, 2:3, 3:2, 3:4, 4:3, 4:5, 5:4, 9:16, 16:9, 21:9
image_size="2K" # 1K, 2K, 4K (Pro only for 4K)
),
)
)
```
## Editing Images
Pass existing images with text prompts:
```python
from PIL import Image
img = Image.open("input.png")
response = client.models.generate_content(
model="gemini-2.5-flash-image",
contents=["Add a sunset to this scene", img],
)
```
## Multi-Turn Refinement
Use chat for iterative editing:
```python
from google.genai import types
chat = client.chats.create(
model="gemini-2.5-flash-image",
config=types.GenerateContentConfig(response_modalities=['TEXT', 'IMAGE'])
)
response = chat.send_message("Create a logo for 'Acme Corp'")
# Save first image...
response = chat.send_message("Make the text bolder and add a blue gradient")
# Save refined image...
```
## Prompting Best Practices
### Photorealistic Scenes
Include camera details: lens type, lighting, angle, mood.
> "A photorealistic close-up portrait, 85mm lens, soft golden hour light, shallow depth of field"
### Stylized Art
Specify style explicitly:
> "A kawaii-style sticker of a happy red panda, bold outlines, cel-shading, white background"
### Text in Images
Be explicit about font style and placement. Use `gemini-3-pro-image-preview` for best results:
> "Create a logo with text 'Daily Grind' in clean sans-serif, black and white, coffee bean motif"
### Product Mockups
Describe lighting setup and surface:
> "Studio-lit product photo on polished concrete, three-point softbox setup, 45-degree angle"
## Advanced Features (Pro Model Only)
### Google Search Grounding
Generate images based on real-time data:
```python
response = client.models.generate_content(
model="gemini-3-pro-image-preview",
contents=["Visualize today's weather in Tokyo as an infographic"],
config=types.GenerateContentConfig(
response_modalities=['TEXT', 'IMAGE'],
tools=[{"google_search": {}}]
)
)
```
### Multiple Reference Images (Up to 14)
Combine elements from multiple sources:
```python
response = client.models.generate_content(
model="gemini-3-pro-image-preview",
contents=[
"Create a group photo of these people in an office",
Image.open("person1.png"),
Image.open("person2.png"),
Image.open("person3.png"),
],
)
```
## Environment
Requires `GEMINI_API_KEY` environment variable.
## Notes
- All generated images include SynthID watermarks
- Image-only mode (`responseModalities: ["IMAGE"]`) won't work with Google Search grounding
- For editing, describe changes conversationally—the model understands semantic maskingSignals
Information
- Repository
- phrazzld/claude-config
- Author
- phrazzld
- Last Sync
- 3/2/2026
- Repo Updated
- 3/1/2026
- Created
- 2/5/2026
Reviews (0)
No reviews yet. Be the first to review this skill!
Related Skills
upgrade-nodejs
Upgrading Bun's Self-Reported Node.js Version
cursorrules
CrewAI Development Rules
cn-check
Install and run the Continue CLI (`cn`) to execute AI agent checks on local code changes. Use when asked to "run checks", "lint with AI", "review my changes with cn", or set up Continue CI locally.
CLAUDE
CLAUDE.md
Related Guides
Bear Notes Claude Skill: Your AI-Powered Note-Taking Assistant
Learn how to use the bear-notes Claude skill. Complete guide with installation instructions and examples.
Mastering tmux with Claude: A Complete Guide to the tmux Claude Skill
Learn how to use the tmux Claude skill. Complete guide with installation instructions and examples.
OpenAI Whisper API Claude Skill: Complete Guide to AI-Powered Audio Transcription
Learn how to use the openai-whisper-api Claude skill. Complete guide with installation instructions and examples.