Image generation, editing, and variations via Gemini. Supports text-to-image, image editing (inpaint, remove, outpaint), background swapping, variation generation, and image analysis.
NanoBanana has 7 tools with clear action verbs and reasonable descriptions (avg 85 chars). All tools have input schemas with type definitions and parameter descriptions. However, output schemas are not documented, LLMs cannot predict what fields to expect from responses. Parameter descriptions lack format constraints (e.g., aspect_ratio enum values are listed in description but not formalized). Error handling is minimal; no recovery guidance or actionable error messages visible. Missing tool annotations (readOnlyHint, destructiveHint). Composition is sound, tools are single-purpose and chainable via URL references.
Describe/tag an image using Gemini vision.
Generate variations of an existing image.
Edit an existing image (inpaint, remove, outpaint).
Text-to-image with references, styles, prompt enhancement, QA.
List available style presets.
Keep foreground subject, replace background.
Upload an image to the server, get back a URL for other tools.
Output schemas not documented. LLMs cannot predict response structure (fields, types, pagination). Responses for generate_image, edit_image, create_variations likely return URLs and metadata, but this is inferred, not specified.
Parameter constraints listed in descriptions but not formalized as enums/patterns. 'aspect_ratio' description lists valid values (1:1, 2:3, etc.) but schema should declare enum. 'style' should be enum, not free-form string. LLMs may hallucinate invalid values.
No error handling guidance. If image upload fails, reference image URL is invalid, or API quota is exceeded, no recovery path is documented. LLMs cannot self-correct or retry intelligently.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 62 | 2026-07-28+ | v2 |
Tool annotations missing. generate_image, edit_image, swap_background, create_variations are destructive (WRITE risk) but lack destructiveHint annotation. analyze_image and list_styles are read-only but lack readOnlyHint. Agents cannot distinguish safe from risky tools.
variation_count parameter lacks min/max bounds in schema. Description says '1-4' but schema has no minimum/maximum. LLMs may pass 0, 100, or negative values, causing API errors.