
A wrapper around Google's Gemini 3 Pro Image model that handles both text-to-image generation and image editing through a straightforward Python CLI. You get aspect ratio controls (1:1, 16:9, 21:9, etc.), resolution options up to 4K, and optional Google Search grounding for factual accuracy. The batch generation script is handy if you need to explore variations quickly. It's pretty bare bones as far as features go, but if you already have a Gemini API key and want something simple without diving into the full SDK, it gets the job done. Just note the API has rate limits, so the built-in delays for batch processing are actually necessary.
$ npx -y skills add resciencelab/opc-skills --skill nanobanana --agent claude-codeInstalls into .claude/skills of the current project.
Generate and edit images using Google's Gemini 3 Pro Image model (gemini-3-pro-image-preview, nicknamed "Nano Banana Pro" 🍌).
Required:
GEMINI_API_KEY - Get from Google AI Studiogoogle-genai packageInstall dependencies:
pip install google-genai pillow
python3 <skill_dir>/scripts/generate.py "a cute robot mascot, pixel art style" -o robot.png
python3 <skill_dir>/scripts/generate.py "make the background blue" -i input.jpg -o output.png
python3 <skill_dir>/scripts/generate.py "cinematic landscape" --ratio 21:9 -o landscape.png
python3 <skill_dir>/scripts/generate.py "professional product photo" --size 4K -o product.png
scripts/generate.pyMain image generation script.
Usage: generate.py [OPTIONS] PROMPT
Arguments:
PROMPT Text prompt for image generation
Options:
-o, --output PATH Output file path (default: auto-generated)
-i, --input PATH Input image for editing (optional)
-r, --ratio RATIO Aspect ratio (1:1, 16:9, 9:16, 21:9, etc.)
-s, --size SIZE Image size: 2K or 4K (default: standard)
--search Enable Google Search grounding for accuracy
-v, --verbose Show detailed output
Supported aspect ratios:
1:1 - Square (default)2:3, 3:2 - Portrait/Landscape3:4, 4:3 - Standard4:5, 5:4 - Photo9:16, 16:9 - Widescreen21:9 - Ultra-wide/Cinematicscripts/batch_generate.pyGenerate multiple images with sequential naming.
Usage: batch_generate.py [OPTIONS] PROMPT
Arguments:
PROMPT Text prompt for image generation
Options:
-n, --count N Number of images to generate (default: 10)
-d, --dir PATH Output directory
-p, --prefix STR Filename prefix (default: "image")
-r, --ratio RATIO Aspect ratio
-s, --size SIZE Image size (2K/4K)
--delay SECONDS Delay between generations (default: 3)
Example:
python3 <skill_dir>/scripts/batch_generate.py "pixel art logo" -n 20 -d ./logos -p logo
You can also use the module directly:
from generate import generate_image, edit_image
# Generate image
result = generate_image(
prompt="a futuristic city at night",
output_path="city.png",
aspect_ratio="16:9",
image_size="4K"
)
# Edit existing image
result = edit_image(
prompt="add flying cars to the sky",
input_path="city.png",
output_path="city_edited.png"
)
| Variable | Description | Default |
|---|---|---|
GEMINI_API_KEY | Google Gemini API key | Required |
IMAGE_OUTPUT_DIR | Default output directory | ./nanobanana-images |
Create images from text descriptions. The model excels at:
Transform existing images with natural language:
Enable --search for factually accurate images involving:
Good prompts include:
Example:
"A cozy coffee shop interior, warm lighting, vintage aesthetic,
wooden furniture, plants on shelves, morning sunlight through windows,
soft focus background, 35mm film photography style"
"API key not found"
GEMINI_API_KEY environment variable--api-key option"No image in response"
"Rate limit exceeded"
Sponsors