Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Generate images using Google's Nano Banana Pro (gemini-3-pro-image-preview). Accepts text prompts and optionally images (for editing/transformation) as INPUT. Returns generated IMAGES as OUTPUT. Use when user asks to create, generate, edit, or draw images, infographics, visualizations, diagrams, charts, or illustrations. Excellent for data-accurate infographics and text rendering.
.claude/skills/nicepkg-nano-banana-pro/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-05 | ✗→✓ | ▲ Improved | -31% | 0% |
| case-14 | ✓→✓ | = Same ✓ | 54% | 0% |
| case-15 | ✓→✓ | = Same ✓ | -39% | 0% |
| case-20 | ✓→✓ | = Same ✓ | 17% | 0% |
| case-21 | ✓→✓ | = Same ✓ | 54% | 0% |
Generate images using Google's advanced Nano Banana Pro model (gemini-3-pro-image-preview).
The user must have GEMINI_API_KEY environment variable set with a valid Google AI API key.
The script is located in the same directory as this SKILL.md file. Run it with uv run:
bashuv run /path/to/skills/nano-banana-pro/generate_image.py "your prompt" -o output.png
When this skill is invoked, locate generate_image.py in the skill directory and run it.
| Parameter | Required | Description | |-----------|----------|-------------| | prompt | Yes | Text description of the image to generate or transformation to apply | | -o, --output | Yes | Output filename (you decide the path based on context) | | -i, --image | No | Input image(s) for editing/transformation or as context/reference (can be used multiple times) | | --aspect-ratio | No | One of: 1:1, 2:3, 3:2, 3:4, 4:3, 4:5, 5:4, 9:16, 16:9, 21:9 (default: 1:1) | | --size | No | Image size: 1K, 2K, 4K (default: 1K) |
Basic image generation:
bashuv run generate_image.py "A sunset over mountains" -o sunset.png
Infographic with specific aspect ratio:
bashuv run generate_image.py "Infographic showing the water cycle with labeled stages" -o water_cycle.png --aspect-ratio 9:16
High-resolution ultrawide:
bashuv run generate_image.py "Professional photo of a modern office space" -o office.png --aspect-ratio 21:9 --size 4K
Edit an existing image:
bashuv run generate_image.py "Add a sunset sky to this image" -i photo.png -o edited.png
Transform with style:
bashuv run generate_image.py "Make this look like a watercolor painting" -i input.jpg -o watercolor.png
Combine multiple images:
bashuv run generate_image.py "Create a collage blending these images together" -i img1.png -i img2.png -o collage.png
Use image as context/reference:
bashuv run generate_image.py "Generate a new landscape in the same style as this reference" -i reference.png -o new_landscape.png
Nano Banana Pro excels at:
The script prints:
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 27,584 | 25,043 | -9% | 1 | 1 | 0% | 5,897 | 1,181 | -80% | 0 | 0 | — |
case-02 | fail→fail | 15,216 | 15,847 | +4% | 1 | 1 | 0% | 2,681 | 1,037 | -61% | 0 | 0 | — |
case-03 | fail→fail | 33,552 | 8,542 | -75% | 1 | 1 | 0% | 6,175 | 1,326 | -79% | 0 | 0 | — |
case-04 | fail→fail | 36,010 | 6,501 | -82% | 1 | 1 | 0% | 6,168 | 1,098 | -82% | 0 | 0 | — |
case-05 | fail→pass | 13,374 | 3,799 | -72% | 1 | 1 | 0% | 2,151 | 1,488 | -31% | 0 | 0 | — |
case-06 | fail→fail | 34,520 | 6,976 | -80% | 1 | 1 | 0% | 6,159 | 1,103 | -82% | 0 | 0 | — |
case-07 | fail→fail | 38,277 | 5,618 | -85% | 1 | 1 | 0% | 6,172 | 1,000 | -84% | 0 | 0 | — |
case-08 | fail→fail | 40,379 | 6,491 | -84% | 1 | 1 | 0% | 6,167 | 1,114 | -82% | 0 | 0 | — |
case-09 | fail→fail | 35,062 | 6,896 | -80% | 1 | 1 | 0% | 6,166 | 1,097 | -82% | 0 | 0 | — |
case-10 | fail→fail | 5,611 | 5,775 | +3% | 1 | 1 | 0% | 840 | 1,100 | +31% | 0 | 0 | — |
case-11 | fail→fail | 23,724 | 7,986 | -66% | 1 | 1 | 0% | 3,299 | 1,227 | -63% | 0 | 0 | — |
case-12 | fail→fail | 4,192 | 5,748 | +37% | 1 | 1 | 0% | 649 | 1,173 | +81% | 0 | 0 | — |
case-13 | fail→fail | 5,895 | 6,852 | +16% | 1 | 1 | 0% | 896 | 1,116 | +25% | 0 | 0 | — |
case-14 | pass→pass | 8,059 | 1,453 | -82% | 1 | 1 | 0% | 621 | 959 | +54% | 0 | 0 | — |
case-15 | pass→pass | 9,979 | 1,913 | -81% | 1 | 1 | 0% | 1,698 | 1,035 | -39% | 0 | 0 | — |
case-16 | fail→fail | 34,947 | 6,222 | -82% | 1 | 1 | 0% | 6,167 | 1,138 | -82% | 0 | 0 | — |
case-17 | fail→fail | 28,147 | 5,372 | -81% | 1 | 1 | 0% | 5,459 | 1,050 | -81% | 0 | 0 | — |
case-18 | fail→fail | 34,529 | 7,798 | -77% | 1 | 1 | 0% | 6,162 | 1,231 | -80% | 0 | 0 | — |
case-19 | fail→fail | 35,369 | 6,468 | -82% | 1 | 1 | 0% | 6,177 | 1,086 | -82% | 0 | 0 | — |
case-20 | pass→pass | 12,993 | 10,471 | -19% | 1 | 1 | 0% | 2,469 | 2,877 | +17% | 0 | 0 | — |
case-21 | pass→pass | 5,601 | 5,215 | -7% | 1 | 1 | 0% | 1,138 | 1,752 | +54% | 0 | 0 | — |
case-22 | pass→pass | 17,464 | 16,591 | -5% | 1 | 1 | 0% | 3,060 | 4,018 | +31% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted, and 6 counted toward the lift figure. The other 16 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +5 percentage points is the difference between those two pass rates over the 6 comparable cases. 1 case got worse with the skill loaded, and it is included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.