← All models
Generate and edit images with Google's Nano Banana 2 (Gemini 3.1 Flash Image). Fast, high-quality image generation with multi-image reference support, conversational editing, and 14 aspect ratios.
images
Details
- Accepts
- text + image
Pricing
- Input
- 62.5 cr / 1M tokens
- Output
- 7500 cr / 1M tokens
Prices in credits (1 credit = $0.01).
Data schema
approximateInput
| Field | Type | Description |
|---|---|---|
| n | integer | How many images to generate. |
| mask | string | Optional mask for the edit; transparent pixels mark the area to change. |
| image | string | Image to edit — a URL, a data URI, or an artifact reference. Supplying one turns the call into an edit. |
| promptrequired | string | The text prompt. Describes the image to generate, or the change to make when an image is supplied. |
| image_size | string | Requested output size. |
| aspect_ratio | string | Aspect ratio of the result, e.g. 16:9. |
| output_format | string | Encoding of the returned image. |
| resolution | —enum: 1K, 2K, 4K | Resolution of the generated image. Higher resolutions take longer to generate. |
| image_input | array | Input images to transform or use as reference (supports up to 14 images) |
| image_search | boolean | Use Google Image Search grounding to find web images as visual context for generation. When enabled, web search is also used automatically. |
| google_search | boolean | Use Google Web Search grounding to generate images based on real-time information (e.g. weather, sports scores, recent events). |
| seed | — | The seed for the random number generator. |
| top_p | — | Nucleus sampling probability. Omit to use the provider default of 0.95. Explicit values use a direct Google or Vertex API. |
| context | array | Ordered text, image, PDF, UTF-8 text-file or video parts appended to the current prompt. Original media bytes are preserved; images count toward the total 14-reference limit. |
| history | array | Previous native Gemini turns, including original parts and thought signatures from conversations. The current prompt starts a new user turn. |
| pdf_url | — | Optional PDF document to use as input context. Accepts an http(s)/data URL (downloaded and sent inline, max 15MB). |
| audio_url | — | Optional audio file to use as input context. Accepts an http(s)/data URL (downloaded and sent inline, max 15MB). |
| sync_mode | boolean | If `True`, the media will be returned as a data URI and the output data won't be available in the request history. |
| video_url | — | Optional video to use as input context. Accepts an http(s)/data URL to a video file (downloaded and sent inline, max 15MB) or a YouTube URL (passed through to the model without downloading). |
| image_urls | array | The URLs of the images to use for image-to-image generation or image editing. Optional when at least one of `video_url`, `audio_url`, or `pdf_url` is provided. |
| num_images | integer | The number of images to generate. |
| temperature | — | Sampling temperature. Omit to use the provider default of 1. Explicit values use a direct Google or Vertex API. |
| system_prompt | string | Optional system instruction that steers the model's persona and output style across the request. Leave blank to omit; when provided, it is sent as the system instruction to Gemini (or as a system message on OpenAI-compatible providers). |
| return_history | boolean | Return reusable native conversations with original image parts and provider thought signatures. Uses a native provider. Each generated conversation is independent; send its messages as history for the next turn. |
| thinking_level | — | Controls thinking effort ('minimal' or 'high') and requests thought summaries. Omit to use the provider default ('minimal'); thinking cannot be disabled. |
| include_thoughts | — | Whether to include thought summaries. Omit to preserve the existing behavior: an explicit thinking_level requests summaries. Set limit_generations=false to return summary text in description. This does not disable thinking or return intermediate thought images. |
| safety_tolerance | stringenum: 1, 2, 3, 4, 5, 6 | The safety tolerance level for content moderation. 1 is the most strict (blocks most content), 6 is the least strict. |
| enable_web_search | boolean | Enable web search for the image generation task. This will allow the model to use the latest information from the web to generate the image. |
| image_passthrough | boolean | Send reference images and return provider images without resizing or re-encoding, preserving transparency and metadata. Uses direct Google or Vertex APIs; the returned image format may differ from output_format. |
| limit_generations | boolean | Experimental parameter to limit the number of generations from each round of prompting to 1. Set to `True` to to disregard any instructions in the prompt regarding the number of images to generate and ignore any intermediate images generated by the model. This may affect generation quality. |
| max_output_tokens | — | Maximum output tokens for the generation. Omit to retain the provider default. Explicit values use a direct Google or Vertex API. |
| enable_image_search | boolean | Ground image generation with Google Image Search. Can be combined with enable_web_search; source attribution is returned in grounding_metadata. Uses direct Google or Vertex APIs. |
Output
| Field | Type | Description |
|---|---|---|
| images | array | Generated images ([{ url }]). |