---
title: Nano Banana 2.1 | Runware Docs
url: https://runware.ai/docs/models/google-nano-banana-2-1
description: Sharper graphic composition and subject consistency, with multi-reference input and live search grounding
---
# Nano Banana 2.1

![Nano Banana 2.1](https://assets.runware.ai/covers/google-nano-banana-2-1.jpg)

Nano Banana 2.1 is Google's updated image generation and editing model in the Nano Banana 2 family. It improves graphic composition and subject consistency, and it follows complex prompts and edit instructions more accurately. It works from text alone or from as many as fourteen reference images plus one reference video, and it can ground a generation in live web and image search so the result reflects current facts and real visual references. It generates at 1K, 2K and 4K, with three levels of thinking that trade speed for reasoning depth, which suits layout-heavy design work, recurring characters and products, and precise multi-step edits.

- **Status**: live
- **ID**: `google:nano-banana@2.1`
- Try in Playground
- **Creator**: Google
- **Release Date**: October 6, 2026
- **Capabilities**: Text to Image, Image to Image, Video to Image, Edit, Checkpoint

## Pricing

$1.50 from, per 1M input tokens · ~25s per request

**Rates** (per 1M tokens)

- Input: `$1.50`
- Text output: `$7.50`
- Image output: `$30.00`

**5 example generations**

- [text-to-image](https://runware.ai/docs/models/google-nano-banana-2-1/examples#example-autumn-dusk-memorial-garden-visualization) · 1376×768: `$0.0341` (~13s)
- [text-to-image](https://runware.ai/docs/models/google-nano-banana-2-1/examples#example-geothermal-plant-operations-icon-set) · 1376×768: `$0.0342` (~32s)
- [image-to-image](https://runware.ai/docs/models/google-nano-banana-2-1/examples#example-marine-radio-housing-colorway-variant) · 2K: `$0.0524` (~25s)
- [identity-preservation](https://runware.ai/docs/models/google-nano-banana-2-1/examples#example-tidal-sound-festival-press-portrait) · 2K: `$0.0544` (~22s)
- [search-grounded](https://runware.ai/docs/models/google-nano-banana-2-1/examples#example-artemis-ii-crew-shirt-graphic) · 1200×896: `$0.0905` (~35s)

a minimum: a request producing more than these cover is billed per token · times vary, measured end to end · [How pricing works](https://runware.ai/docs/models-api/pricing)

## Compatibility & Validation

`resolution` cannot be used with `width/height`.

---

When `resolution` is provided, `inputs.referenceImages` is required.

---

`width` and `height` must be used together.

---

The following dimension combinations are supported:

| Configuration | Dimensions |
| --- | --- |
| `1K (1:1)` | `1024x1024` |
| `1K (3:2)` | `1264x848` |
| `1K (2:3)` | `848x1264` |
| `1K (4:3)` | `1200x896` |
| `1K (3:4)` | `896x1200` |
| `1K (4:5)` | `928x1152` |
| `1K (5:4)` | `1152x928` |
| `1K (9:16)` | `768x1376` |
| `1K (16:9)` | `1376x768` |
| `1K (21:9)` | `1584x672` |
| `1K (4:1)` | `2064x512` |
| `1K (1:4)` | `512x2064` |
| `1K (8:1)` | `2928x352` |
| `1K (1:8)` | `352x2928` |
| `2K (1:1)` | `2048x2048` |
| `2K (3:2)` | `2528x1696` |
| `2K (2:3)` | `1696x2528` |
| `2K (4:3)` | `2400x1792` |
| `2K (3:4)` | `1792x2400` |
| `2K (4:5)` | `1856x2304` |
| `2K (5:4)` | `2304x1856` |
| `2K (9:16)` | `1536x2752` |
| `2K (16:9)` | `2752x1536` |
| `2K (21:9)` | `3168x1344` |
| `2K (4:1)` | `4128x1024` |
| `2K (1:4)` | `1024x4128` |
| `2K (8:1)` | `5856x704` |
| `2K (1:8)` | `704x5856` |
| `4K (1:1)` | `4096x4096` |
| `4K (3:2)` | `5056x3392` |
| `4K (2:3)` | `3392x5056` |
| `4K (4:3)` | `4800x3584` |
| `4K (3:4)` | `3584x4800` |
| `4K (4:5)` | `3712x4608` |
| `4K (5:4)` | `4608x3712` |
| `4K (9:16)` | `3072x5504` |
| `4K (16:9)` | `5504x3072` |
| `4K (21:9)` | `6336x2688` |
| `4K (4:1)` | `8256x2048` |
| `4K (1:4)` | `2048x8256` |
| `4K (8:1)` | `11712x1408` |
| `4K (1:8)` | `1408x11712` |

## Request Parameters

**API Options**

Platform-level options for task execution and delivery.

### [taskType](https://runware.ai/docs/models/google-nano-banana-2-1#request-tasktype)

- **Type**: `string`
- **Required**: true
- **Value**: `imageInference`

Identifier for the type of task being performed.

### [taskUUID](https://runware.ai/docs/models/google-nano-banana-2-1#request-taskuuid)

- **Type**: `string`
- **Required**: true
- **Format**: `UUID v4`

UUID v4 identifier for tracking tasks and matching async responses. Must be unique per task.

### [outputType](https://runware.ai/docs/models/google-nano-banana-2-1#request-outputtype)

- **Type**: `string`
- **Default**: `URL`

Image output type.

**Allowed values**: `URL` `base64Data` `dataURI`

### [outputFormat](https://runware.ai/docs/models/google-nano-banana-2-1#request-outputformat)

- **Type**: `string`
- **Default**: `JPG`

Specifies the file format of the generated output. The available values depend on the task type and the specific model's capabilities.

- \`JPG\`: Best for photorealistic images with smaller file sizes (no transparency).
- \`PNG\`: Lossless compression, supports high quality and transparency (alpha channel).
- \`WEBP\`: Modern format providing superior compression and transparency support.

> [!NOTE]
> \*\*Transparency\*\*: If you are using features like background removal or LayerDiffuse that require transparency, you must select a format that supports an alpha channel (e.g., \`PNG\`, \`WEBP\`, \`TIFF\`). \`JPG\` does not support transparency.

**Allowed values**: `JPG` `PNG` `WEBP`

### [outputQuality](https://runware.ai/docs/models/google-nano-banana-2-1#request-outputquality)

- **Type**: `integer`
- **Min**: `20`
- **Max**: `99`
- **Default**: `95`

Compression quality of the output. Higher values preserve quality but increase file size.

### [webhookURL](https://runware.ai/docs/models/google-nano-banana-2-1#request-webhookurl)

- **Type**: `string`
- **Format**: `uri`

Webhook URL that receives JSON responses via HTTP POST when generation tasks complete. For batch requests with multiple results, each completed item triggers a separate webhook call as it becomes available.

**Learn more** (1 resource):

- [Webhooks](https://runware.ai/docs/models-api/webhooks) (platform)

### [deliveryMethod](https://runware.ai/docs/models/google-nano-banana-2-1#request-deliverymethod)

- **Type**: `string`
- **Default**: `sync`

Determines how the API delivers task results.

**Allowed values**:

- `sync` Returns complete results directly in the API response.
- `async` Returns an immediate acknowledgment with the task UUID. Poll for results using getResponse.

**Learn more** (1 resource):

- [Task Polling](https://runware.ai/docs/models-api/task-polling) (platform)

### [uploadEndpoint](https://runware.ai/docs/models/google-nano-banana-2-1#request-uploadendpoint)

- **Type**: `string`
- **Format**: `uri`

Specifies a URL where the generated content will be automatically uploaded using the HTTP PUT method. The raw binary data of the media file is sent directly as the request body. For secure uploads to cloud storage, use presigned URLs that include temporary authentication credentials.

**Common use cases:**

- **Cloud storage**: Upload directly to S3 buckets, Google Cloud Storage, or Azure Blob Storage using presigned URLs.
- **CDN integration**: Upload to content delivery networks for immediate distribution.

```text
// S3 presigned URL for secure upload
https://your-bucket.s3.amazonaws.com/generated/content.mp4?X-Amz-Signature=abc123&X-Amz-Expires=3600

// Google Cloud Storage presigned URL
https://storage.googleapis.com/your-bucket/content.jpg?X-Goog-Signature=xyz789

// Custom storage endpoint
https://storage.example.com/uploads/generated-image.jpg
```

The content data will be sent as the request body to the specified URL when generation is complete.

### [safety](https://runware.ai/docs/models/google-nano-banana-2-1#request-safety)

- **Path**: `safety.checkContent`
- **Type**: `object (1 property)`

Content safety checking configuration for image generation.

#### [checkContent](https://runware.ai/docs/models/google-nano-banana-2-1#request-safety-checkcontent)

- **Path**: `safety.checkContent`
- **Type**: `boolean`

Enable or disable content safety checking. Increases total generation time.

### [ttl](https://runware.ai/docs/models/google-nano-banana-2-1#request-ttl)

- **Type**: `integer`
- **Min**: `60`

Time-to-live (TTL) in seconds for generated content. Only applies when `outputType` is `URL`.

### [includeCost](https://runware.ai/docs/models/google-nano-banana-2-1#request-includecost)

- **Type**: `boolean`

Include task cost in the response.

### [numberResults](https://runware.ai/docs/models/google-nano-banana-2-1#request-numberresults)

- **Type**: `integer`
- **Min**: `1`
- **Max**: `20`
- **Default**: `1`

Number of results to generate. Each result uses a different seed, producing variations of the same parameters.

**Inputs**

Input resources for the task (images, audio, etc). These must be nested inside the \`inputs\` object.

### [referenceImages](https://runware.ai/docs/models/google-nano-banana-2-1#request-inputs-referenceimages)

- **Path**: `inputs.referenceImages`
- **Type**: `array of strings`
- **Min items**: `1`
- **Max items**: `14`

List of reference images (UUID, URL, Data URI, or Base64).

### [referenceVideos](https://runware.ai/docs/models/google-nano-banana-2-1#request-inputs-referencevideos)

- **Path**: `inputs.referenceVideos`
- **Type**: `array of strings`
- **Min items**: `1`
- **Max items**: `10`

List of reference videos (UUID, URL, or public YouTube URL).

**Core Parameters**

Primary parameters that define the task output.

### [model](https://runware.ai/docs/models/google-nano-banana-2-1#request-model)

- **Type**: `string`
- **Required**: true
- **Value**: `google:nano-banana@2.1`

Identifier of the model to use for generation.

**Learn more** (3 resources):

- [Text To Image: Model Selection](https://runware.ai/docs/learn/text-to-image#model-selection) (learn)
- [Image Inpainting: Model Specialized Inpainting Models](https://runware.ai/docs/learn/image-inpainting#model-specialized-inpainting-models) (learn)
- [Image Outpainting: Other Critical Parameters](https://runware.ai/docs/learn/image-outpainting#other-critical-parameters) (learn)

### [positivePrompt](https://runware.ai/docs/models/google-nano-banana-2-1#request-positiveprompt)

- **Type**: `string`
- **Required**: true
- **Min**: `3`
- **Max**: `45000`

Text prompt describing elements to include in the generated output.

**Learn more** (1 resource):

- [Prompts](https://runware.ai/docs/learn/prompts) (learn)

### [width](https://runware.ai/docs/models/google-nano-banana-2-1#request-width)

- **Type**: `integer`
- **Paired with**: height

Width of the generated media in pixels.

**Learn more** (2 resources):

- [Dimensions](https://runware.ai/docs/learn/dimensions) (learn)
- [Image Outpainting: Dimensions Critical For Outpainting](https://runware.ai/docs/learn/image-outpainting#dimensions-critical-for-outpainting) (learn)

### [height](https://runware.ai/docs/models/google-nano-banana-2-1#request-height)

- **Type**: `integer`
- **Paired with**: width

Height of the generated media in pixels.

**Learn more** (2 resources):

- [Dimensions](https://runware.ai/docs/learn/dimensions) (learn)
- [Image Outpainting: Dimensions Critical For Outpainting](https://runware.ai/docs/learn/image-outpainting#dimensions-critical-for-outpainting) (learn)

### [resolution](https://runware.ai/docs/models/google-nano-banana-2-1#request-resolution)

- **Type**: `string`

Resolution preset for the output. When used with input media, automatically matches the aspect ratio from the input.

**Allowed values**: `1K` `2K` `4K`

### [seed](https://runware.ai/docs/models/google-nano-banana-2-1#request-seed)

- **Type**: `integer`
- **Min**: `0`
- **Max**: `2147483647`

Random seed for reproducible generation. When not provided, a random seed is generated in the unsigned 32-bit range.

**Settings**

Technical parameters to fine-tune the inference process. These must be nested inside the \`settings\` object.

### [systemPrompt](https://runware.ai/docs/models/google-nano-banana-2-1#request-settings-systemprompt)

- **Path**: `settings.systemPrompt`
- **Type**: `string`
- **Min**: `1`
- **Max**: `50000`

System-level instruction that guides the model's behavior and output style across the entire generation.

### [temperature](https://runware.ai/docs/models/google-nano-banana-2-1#request-settings-temperature)

- **Path**: `settings.temperature`
- **Type**: `float`
- **Min**: `0`
- **Max**: `2`
- **Step**: `0.01`

Controls randomness in generation. Lower values produce more deterministic outputs, higher values increase variation and creativity.

### [topP](https://runware.ai/docs/models/google-nano-banana-2-1#request-settings-topp)

- **Path**: `settings.topP`
- **Type**: `float`
- **Min**: `0`
- **Max**: `1`
- **Step**: `0.01`

Nucleus sampling parameter that controls diversity by limiting the probability mass. Lower values make outputs more focused, higher values increase diversity.

### [imageSearch](https://runware.ai/docs/models/google-nano-banana-2-1#request-settings-imagesearch)

- **Path**: `settings.imageSearch`
- **Type**: `boolean`

Enable image search grounding to incorporate visual references from the web into image generation.

### [safetyTolerance](https://runware.ai/docs/models/google-nano-banana-2-1#request-settings-safetytolerance)

- **Path**: `settings.safetyTolerance`
- **Type**: `string`
- **Default**: `none`

Safety filter tolerance level. Use `off` to use Google's defaults.

**Allowed values**: `high` `medium` `low` `none` `off`

### [thinkingLevel](https://runware.ai/docs/models/google-nano-banana-2-1#request-settings-thinkinglevel)

- **Path**: `settings.thinkingLevel`
- **Type**: `string`
- **Default**: `minimal`

Controls the depth of internal reasoning the model performs before generating a response.

**Allowed values**: `minimal` `medium` `high`

### [webSearch](https://runware.ai/docs/models/google-nano-banana-2-1#request-settings-websearch)

- **Path**: `settings.webSearch`
- **Type**: `boolean`

Enable live web search grounding to incorporate real-world, up-to-date information into image generation.

**Features**

Standalone addons and post-processing features.

### [watermark](https://runware.ai/docs/models/google-nano-banana-2-1#request-advancedfeatures-watermark)

- **Path**: `advancedFeatures.watermark`
- **Type**: `object (6 properties)`

Configuration object for adding watermarks to generated videos. Watermarks can be applied using either text or image content with customizable positioning and appearance. You must provide either `text` or `image` content for the watermark, but not both.

**Text watermark**:

```json
"advancedFeatures": {
  "watermark": {
    "text": "© 2025 Company",
    "displayPosition": "bottom-right",
    "opacity": 0.6,
    "fontColor": "#ffffff",
    "bgColor": "#000000"
  }
}
```

**Image watermark**:

```json
"advancedFeatures": {
  "watermark": {
    "image": "c64351d5-4c59-42f7-95e1-eace013eddab",
    "displayPosition": "top-left",
    "opacity": 0.6
  }
}
```

**Tiled watermark**:

```json
"advancedFeatures": {
  "watermark": {
    "text": "PREVIEW",
    "tiled": true,
    "opacity": 0.4,
    "fontColor": "#cccccc"
  }
}
```

#### [text](https://runware.ai/docs/models/google-nano-banana-2-1#request-advancedfeatures-watermark-text)

- **Path**: `advancedFeatures.watermark.text`
- **Type**: `string`
- **Min**: `2`
- **Max**: `32`

Watermark text.

#### [image](https://runware.ai/docs/models/google-nano-banana-2-1#request-advancedfeatures-watermark-image)

- **Path**: `advancedFeatures.watermark.image`
- **Type**: `string`

Watermark image (UUID, URL, Data URI, or Base64).

#### [displayPosition](https://runware.ai/docs/models/google-nano-banana-2-1#request-advancedfeatures-watermark-displayposition)

- **Path**: `advancedFeatures.watermark.displayPosition`
- **Type**: `string`

Watermark position.

**Allowed values**: `top-left` `top-center` `top-right` `center-left` `center-center` `center-right` `bottom-left` `bottom-center` `bottom-right` `tiled`

#### [opacity](https://runware.ai/docs/models/google-nano-banana-2-1#request-advancedfeatures-watermark-opacity)

- **Path**: `advancedFeatures.watermark.opacity`
- **Type**: `float`
- **Min**: `0.1`
- **Max**: `1`
- **Step**: `0.01`

Watermark opacity.

#### [fontColor](https://runware.ai/docs/models/google-nano-banana-2-1#request-advancedfeatures-watermark-fontcolor)

- **Path**: `advancedFeatures.watermark.fontColor`
- **Type**: `string`

Text color in hex format.

#### [bgColor](https://runware.ai/docs/models/google-nano-banana-2-1#request-advancedfeatures-watermark-bgcolor)

- **Path**: `advancedFeatures.watermark.bgColor`
- **Type**: `string`

Background color in hex format.

## Response Parameters

### [taskType](https://runware.ai/docs/models/google-nano-banana-2-1#response-tasktype)

- **Type**: `string`
- **Required**: true
- **Value**: `imageInference`

Identifier for the type of task this response belongs to.

### [taskUUID](https://runware.ai/docs/models/google-nano-banana-2-1#response-taskuuid)

- **Type**: `string`
- **Required**: true
- **Format**: `UUID v4`

UUID v4 identifier echoed from the original request, used to match async responses to their tasks.

### [imageUUID](https://runware.ai/docs/models/google-nano-banana-2-1#response-imageuuid)

- **Type**: `string`
- **Required**: true
- **Format**: `UUID v4`

UUID of the output image.

### [imageURL](https://runware.ai/docs/models/google-nano-banana-2-1#response-imageurl)

- **Type**: `string`
- **Format**: `uri`

URL of the output image.

### [imageBase64Data](https://runware.ai/docs/models/google-nano-banana-2-1#response-imagebase64data)

- **Type**: `string`

Base64-encoded image data.

### [imageDataURI](https://runware.ai/docs/models/google-nano-banana-2-1#response-imagedatauri)

- **Type**: `string`
- **Format**: `uri`

Data URI of the output image.

### [seed](https://runware.ai/docs/models/google-nano-banana-2-1#response-seed)

- **Type**: `integer`

The seed used for generation. If none was provided, shows the randomly generated seed.

### [NSFWContent](https://runware.ai/docs/models/google-nano-banana-2-1#response-nsfwcontent)

- **Type**: `boolean`

Flag indicating if NSFW content was detected.

### [cost](https://runware.ai/docs/models/google-nano-banana-2-1#response-cost)

- **Type**: `float`

Task cost in USD. Present when `includeCost` is set to `true` in the request.

## Examples

### text-to-image (text-to-image)

![Geothermal Plant Operations Icon Set](https://assets.runware.ai/examples/google-nano-banana-2-1/26d283bb-ac2d-4c27-86c9-42b6dcf34e4a.jpg)

```json
{
  "taskType": "imageInference",
  "taskUUID": "b4c0f3b7-840c-4fcf-99c1-39aee145646c",
  "model": "google:nano-banana@2.1",
  "positivePrompt": "Create a finished 12-icon vector pictogram set for a geothermal power plant operator. Landscape composition with exactly twelve distinct icons arranged in a precise four-column by three-row grid, evenly spaced and optically balanced on a clean warm-ivory background. No title, labels, numbers, lettering, border, interface, or mockup.\n\nIcon subjects in reading order: 1) geothermal production wellhead releasing two controlled curls of steam, 2) compact steam turbine with visible rotor blades, 3) plate heat exchanger, 4) cylindrical brine storage tank with a fluid-level wave, 5) injection well with a bold downward arrow entering underground strata, 6) tripod seismic sensor emitting three concentric signal lines, 7) industrial safety helmet with a small heat-wave emblem, 8) heavy pipeline valve wheel, 9) insulated pipe making a clean ninety-degree bend, 10) cooling fan with five blades, 11) mineral sampling flask containing sediment layers, 12) circular pressure-and-temperature gauge with two needles.\n\nArt direction: modern industrial wayfinding inspired by 1970s Icelandic public-infrastructure graphics, reduced geometric forms, confident rounded contours, subtle modular construction, crisp flat vector shapes, screen-print character, and excellent recognition at small sizes. Enclose each symbol in the same softly rounded square badge with generous internal padding. Use one consistent visual weight and the same simplified three-quarter geometry throughout; avoid photorealism, gradients, shadows, bevels, and excessive detail.\n\nRestricted palette: deep basalt charcoal for primary structure, sulfur yellow for heat and caution details, glacial blue for water and cooling elements, muted rust orange for underground heat, and warm ivory negative space. Apply color systematically rather than randomly. Every badge must feel like part of one professional icon family while each silhouette remains immediately distinguishable. Clean production-ready presentation, sharp edges, consistent spacing, calm technical mood, high legibility.",
  "width": 1376,
  "height": 768
}
```

---

### text-to-image (text-to-image)

![Autumn Dusk Memorial Garden Visualization](https://assets.runware.ai/examples/google-nano-banana-2-1/171a1e6d-4c89-442f-96a5-0d74ba233080.jpg)

```json
{
  "taskType": "imageInference",
  "taskUUID": "47e810d2-0cd1-4491-adb9-e001e2eeed75",
  "model": "google:nano-banana@2.1",
  "positivePrompt": "Create a finished, photorealistic landscape-architecture visualization for a design proposal: a contemporary woodland memorial garden in late autumn at blue hour, shortly after a light rain. The clear primary subject is a long, gently curving rammed-earth columbarium wall with recessed bronze memorial niches, integrated respectfully into a grove of mature birch and Japanese maple trees. Frame the scene from a human eye-level viewpoint across a shallow reflecting pool, using the curve of a pale gravel path to lead from the lower-left foreground toward the wall in the middle distance. Fallen copper, ochre and burgundy leaves collect naturally along the path edges and float sparsely on the water. Most branches are partly bare, clearly conveying late autumn rather than summer. Cool indigo twilight fills the sky and woodland shadows, while discreet low path lights and warm concealed lighting inside the wall recesses cast soft amber pools onto the damp stone and rammed earth. Show physically convincing reflections, subtle mist close to the ground, wet textures, restrained atmospheric depth and realistic planting. Include two small, distant visitors walking quietly together for scale, dressed in understated dark coats; they must remain secondary and unidentifiable. Calm, contemplative and dignified mood, refined editorial architectural photography, naturalistic materials, crisp but not oversharpened detail, balanced slate-blue, rust, muted gold and warm amber palette. Wide cinematic landscape composition designed for a presentation spread, with generous breathing room around the architecture. No gravestones, no religious symbols, no funeral ceremony, no dramatic weather, no fantasy elements, no signage, no logos, no captions, no borders and no on-image text.",
  "width": 1376,
  "height": 768
}
```

---

### image-to-image (image-to-image)

![Marine Radio Housing Colorway Variant](https://assets.runware.ai/examples/google-nano-banana-2-1/afd65b71-9834-4ea8-9083-9d2b8a73a174.jpg)

```json
{
  "taskType": "imageInference",
  "taskUUID": "0e6e47dd-5b98-4ac7-80cb-ea24a8cc708f",
  "model": "google:nano-banana@2.1",
  "positivePrompt": "Edit the supplied commercial product photograph by changing exactly one thing: recolor every safety-yellow rigid polymer outer housing panel on the handheld marine radio to a uniform burnt-coral orange color, approximately #E95B3F. Retain the housing's photographed satin texture, molded details, edge highlights, reflections, shading and material response so it looks like a factory-produced colorway photographed in the original session. Leave everything else exactly as photographed and untouched: product geometry, dimensions, antenna, black rubber grips, controls, buttons, display and its content, speaker grille, seams, screws, ports, printed labels, symbols, typography, alignment, camera angle, crop, focus, lighting, contact shadow and seamless gray background. Do not add, remove, reshape, retouch or restyle any object or marking. Deliver the same photograph with only the yellow housing color replaced by burnt-coral orange, composed cleanly for a detailed 2K ecommerce image.",
  "resolution": "2K",
  "inputs": {
    "referenceImages": [
      "https://assets.runware.ai/assets/inputs/4a55731c-8c17-43fa-a6be-7351b008ae42.jpg"
    ]
  }
}
```

---

### search-grounded (search-grounded)

![Artemis II Crew Shirt Graphic](https://assets.runware.ai/examples/google-nano-banana-2-1/e39c0a20-7154-4754-90c2-8221bd3b4fef.jpg)

```json
{
  "taskType": "imageInference",
  "taskUUID": "6f53b50a-5a2e-447c-9c3d-95a2f8f92c6d",
  "model": "google:nano-banana@2.1",
  "positivePrompt": "Create a finished landscape apparel graphic for the back of a premium commemorative T-shirt celebrating NASA’s Artemis II crewed lunar flyby mission. This must be flat print artwork only, not a shirt mockup, product photo, presentation board, or framed poster.\n\nCURRENT-FACT GROUNDING IS ESSENTIAL: before designing, use live web search to verify the latest official Artemis II crew roster, mission status, planned launch date or launch window, mission duration, and trajectory description from current NASA and Canadian Space Agency sources. Use image search grounding to study up-to-date official photographs of the four current crew members, the current Orion spacecraft configuration, the Space Launch System, modern launch-and-entry suits, and the mission’s free-return lunar trajectory. Do not rely on older training data when current official information differs. Include only facts that can be confirmed by current official sources. If an exact launch date is not officially firm, print the current official launch month or window rather than inventing a day.\n\nArt direction: a bold late-1970s space-program tour-shirt aesthetic reinterpreted with contemporary editorial precision. Build one cohesive screen-print-style composition with a large cream-colored Moon dominating the right half, an accurately recognizable Orion spacecraft sweeping around its far edge, and a clean orbital path looping from Earth around the Moon. Place a compact blue-and-white Earth near the lower left and an SLS launch silhouette rising behind it. Across the center, arrange four dignified illustrated crew portraits based on current official visual references, recognizable but simplified into confident halftone and flat-color shapes. Keep all people respectful, naturally proportioned, and equally prominent.\n\nTypography is fundamental to this merchandise design. Set the main headline exactly as “ARTEMIS II” in large custom condensed lettering. Add “CREWED LUNAR FLYBY” as a smaller secondary line. List the verified current crew surnames in a balanced single line, spelled exactly as confirmed by official sources. Add a restrained factual footer containing the verified current planned launch window, the approximate verified mission duration, and “EARTH • MOON • EARTH”. Include a small line reading “MISSION STATUS:” followed by a concise, accurate status based on the latest official update. Do not include URLs, citations, sponsor marks, fake endorsements, or fabricated mission statistics.\n\nPalette: deep midnight navy background, lunar cream, oxidized safety orange, icy cyan, and a small amount of white. Use thick printable contours, controlled halftone shading, subtle misregistration character, sparse star dots, and crisp negative space. No gradients that would be difficult to screen print, no photorealistic background, and no excessive tiny details. Keep the silhouette strong and readable from several meters away. Integrate the lettering into the illustration rather than placing it in boxes. Preserve generous clear space around every edge for garment printing. Do not reproduce NASA or CSA logos; this should feel like sophisticated independent commemorative merchandise, not counterfeit official apparel. Ensure all visible text is correctly spelled and legible. Deliver one complete standalone graphic at 1200x896 landscape.",
  "width": 1200,
  "height": 896,
  "settings": {
    "webSearch": true,
    "imageSearch": true
  }
}
```

---

### identity-preservation (identity-preservation)

![Tidal Sound Festival Press Portrait](https://assets.runware.ai/examples/google-nano-banana-2-1/ed5f368e-7a4e-4266-bf7e-0988b76736cf.jpg)

```json
{
  "taskType": "imageInference",
  "taskUUID": "bbbca8df-ccc2-49de-82d7-8cbc2f11d55d",
  "model": "google:nano-banana@2.1",
  "positivePrompt": "Create one realistic landscape press photograph for the staff page and launch announcement of a coastal field-recording event called the Tidal Sound Festival. Use reference image 1 as the identity reference and preserve the same person recognisably: identical facial structure, eyes, nose, mouth, shoulder-length salt-and-pepper hair, apparent age, natural skin texture, and sturdy build. Use reference image 2 as the exact wardrobe reference; she is wearing the same teal waterproof fisherman's smock with its navy reinforced cuffs and divided front pocket.\n\nPhotograph her in a believable working setting: a modest marine acoustics workshop near the coast, preparing equipment for the festival. She stands beside a scarred plywood worktable, loosely coiling a hydrophone cable with one hand while the other rests near two compact underwater microphones, waterproof connectors, labeled equipment cases, a notebook, and practical hand tools. The room has painted concrete walls, open utility shelving, cable reels, rubber boots, and a glimpse of an overcast harbor through a window. Keep the space functional and slightly untidy rather than art-directed. She looks toward the camera with a relaxed, capable expression, as if briefly pausing during setup.\n\nCompose as an editorial environmental portrait with the subject slightly left of center, framed from mid-thigh upward, with enough workshop context to establish her role and clean negative space on the right for optional press-page cropping. Use an ordinary eye-level 50mm documentary lens, moderate depth of field, accurate perspective, and restrained color. Light the scene only with soft overcast window light and normal overhead workshop fixtures. Preserve realistic shadows, modest contrast, neutral skin tones, and believable material textures. The result should feel like a photograph made by a local newspaper or festival communications photographer: candid but composed, professional without glamour, no cinematic lighting, no dramatic color grading, no artificial haze, no stage lighting, no exaggerated bokeh, no fashion styling, no signage, no logos, no captions, and no text in the image.",
  "resolution": "2K",
  "inputs": {
    "referenceImages": [
      "https://assets.runware.ai/assets/inputs/ce33b929-d697-4711-9a11-63b8e2f649a7.jpg",
      "https://assets.runware.ai/assets/inputs/07934124-1c80-4315-8a5c-90e77eb9c386.jpg"
    ]
  }
}
```