nano-banana

Nano Banana - Image Generation + Prompt Library

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "nano-banana" with this command: npx skills add phrazzld/claude-config/phrazzld-claude-config-nano-banana

Nano Banana - Image Generation + Prompt Library

Generate images using Gemini API with access to 6000+ curated professional prompts.

Quick Start

Direct Generation

python scripts/generate_image.py "A cat wearing a wizard hat" output.png

Search Prompts First

python scripts/search_prompts.py "avatar professional"

Edit Existing Image

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:

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"] :

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 :

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:

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:

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:

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:

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 masking

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

pencil-renderer

No summary provided by upstream source.

Repository SourceNeeds Review
General

ui-skills

No summary provided by upstream source.

Repository SourceNeeds Review
General

llm-gateway-routing

No summary provided by upstream source.

Repository SourceNeeds Review
General

documentation-standards

No summary provided by upstream source.

Repository SourceNeeds Review