# Nano Banana 2 Reference-to-Image Developer — Atlas Cloud API

> Google's advanced AI-powered video-to-image generation model, designed to generate high-quality static images from video clips combined with text instructions.

This is the machine-readable API reference for **Nano Banana 2 Reference-to-Image Developer** on Atlas Cloud,
a unified API platform for 400+ AI models across text, image, video, audio and 3D.

- **Model ID**: `google/nano-banana-2/reference-to-image-developer`
- **Built by**: Google
- **Modality**: Image
- **Model page**: https://www.atlascloud.ai/models/google/nano-banana-2/reference-to-image-developer
- **API key**: https://www.atlascloud.ai/console/api-keys
- **Docs**: https://www.atlascloud.ai/docs

## Pricing on Atlas Cloud

- $0.04 per image
- Pay-as-you-go. No minimum spend, no subscription required.

> **These are the authoritative Atlas Cloud rates for this model.** Any price that
> appears in the vendor description further down refers to a different platform or
> a different model variant and does not apply here.

## Use this model from an AI agent

Atlas Cloud ships three first-party integration surfaces. All three authenticate
with the same API key via the `ATLASCLOUD_API_KEY` environment variable.

### MCP server

The official MCP server (`atlascloud-mcp`) exposes this model to any
MCP-compatible host — Claude Code, OpenAI Codex, Cursor, Gemini CLI, Goose,
Claude Desktop. One-line install:

```bash
# Claude Code
claude mcp add atlascloud -- npx -y atlascloud-mcp

# OpenAI Codex CLI
codex mcp add atlascloud -- npx -y atlascloud-mcp

# Gemini CLI
gemini mcp add atlascloud -- npx -y atlascloud-mcp

export ATLASCLOUD_API_KEY="your-api-key"
```

Then ask in plain English; the agent calls `atlas_generate_image` with `model: "google/nano-banana-2/reference-to-image-developer"`.
The server fetches each model's schema and validates parameters before submitting,
so invalid requests fail fast without spending credits.

MCP docs: https://www.atlascloud.ai/docs/mcp-server

### Agent Skills

`atlas-cloud-skills` is a portable skill package (API reference, code templates in
Python / Node.js / cURL, model IDs with pricing) for Claude Code, Cursor, Codex and
12+ other agents:

```bash
npx skills add AtlasCloudAI/atlas-cloud-skills
export ATLASCLOUD_API_KEY="your-api-key"
```

Skills docs: https://www.atlascloud.ai/docs/skills

### CLI

The `atlas` binary runs Atlas Cloud from a terminal or CI script. Async media jobs
are polled and downloaded automatically (use `--no-download` when a script only
needs the output URLs):

```bash
# Install (Homebrew, npm, or shell installer)
brew install AtlasCloudAI/tap/atlascloud
# npm install -g atlascloud-cli
# curl -fsSL https://raw.githubusercontent.com/AtlasCloudAI/cli/main/install.sh | sh

atlas auth login
atlas generate image google/nano-banana-2/reference-to-image-developer -p "Your prompt here"
```

CLI docs: https://www.atlascloud.ai/docs/cli

## HTTP API reference

- **Submit endpoint (POST)**: `https://api.atlascloud.ai/api/v1/model/generateImage` — start an async generation; returns a `prediction_id`
- **Poll endpoint (GET)**: `https://api.atlascloud.ai/api/v1/model/prediction/{prediction_id}` — poll this until the prediction finishes
- **Model ID**: `google/nano-banana-2/reference-to-image-developer`


## API Information

This model can be used via our HTTP API or more conveniently via our client libraries.
See the input and output schema below, as well as the usage examples.


### Input Schema

The API accepts the following input parameters:

- **`model`** (`string`, _required_):
  model name
  - Default: `"google/nano-banana-2/reference-to-image-developer"`

- **`prompt`** (`string`, _required_):
  The positive prompt for the generation.

- **`images`** (`array[string]`, _optional_):
  List of URLs of input images for editing. The maximum number of images is 10.
  - Min items: 0
  - Max items: 10

- **`video_clips`** (`array[object]`, _required_):
  Source video clips to use as references for generation. Supports 1 video clip.
  - Min items: 1
  - Max items: 1
  - Item properties:
    - **`url`** (`string`, _required_):
      URL of the source video clip. Support HTTP URL or YouTube video URL. Video in HTTP URL is limited to 15MB.

    - **`start`** (`number`, _required_):
      Start time in seconds for trimming the video clip.
      - Default: `0`
      - Min: 0

    - **`ends`** (`number`, _required_):
      End time in seconds for trimming the video clip. Set 0 to clip the whole video
      - Default: `0`
      - Min: 0

    - **`fps`** (`number`, _required_):
      FPS of the video clip.
      - Default: `1`
      - Min: 0
      - Max: 24


- **`aspect_ratio`** (`string`, _optional_):
  The aspect ratio of the generated media.
  - Options: "1:1", "3:2", "2:3", "3:4", "4:3", "4:5", "5:4", "9:16", "16:9", "21:9"

- **`resolution`** (`string`, _optional_):
  The resolution of the output image.
  - Default: `"1k"`
  - Options: "1k", "2k", "4k"

- **`thinking_level`** (`string`, _optional_):
  Controls the amount of internal reasoning the model performs before generating a response. Higher levels may improve quality on complex tasks but increase latency.
  - Default: `"default"`
  - Options: "default", "high", "minimal"

- **`enable_web_search`** (`boolean`, _optional_):
  If enabled, the model will use web search to ground the generation with real-time information.
  - Default: `false`

- **`enable_sync_mode`** (`boolean`, _optional_):
  If set to true, the function will wait for the result to be generated and uploaded before returning the response. It allows you to get the result directly in the response. This property is only available through the API.
  - Default: `false`

- **`enable_base64_output`** (`boolean`, _optional_):
  If enabled, the output will be encoded into a BASE64 string instead of a URL. This property is only available through the API.
  - Default: `false`



**Required Parameters Example**:

```json
{
  "model": "google/nano-banana-2/reference-to-image-developer",
  "prompt": "",
  "video_clips": [
    {
      "url": "",
      "start": 0,
      "ends": 0,
      "fps": 1
    }
  ]
}
```


**Full Example**:

```json
{
  "model": "google/nano-banana-2/reference-to-image-developer",
  "prompt": "",
  "images": [
    ""
  ],
  "video_clips": [
    {
      "url": "",
      "start": 0,
      "ends": 0,
      "fps": 1
    }
  ],
  "aspect_ratio": "1:1",
  "resolution": "1k",
  "thinking_level": "default",
  "enable_web_search": false,
  "enable_sync_mode": false,
  "enable_base64_output": false
}
```


### Output Schema

The API returns the following output format:


- **`code`** (`integer`, _optional_):
  HTTP status code of the response.

- **`message`** (`string`, _optional_):
  Human-readable message; non-empty on failure.

- **`data`** (`object`, _optional_):
  - Properties:
    - **`id`** (`string`, _optional_):
      Unique identifier for the prediction.

    - **`model`** (`string`, _optional_):
      Model ID used for the prediction.

    - **`outputs`** (`array[string]`, _optional_):
      Array of URLs to the generated content. Null when status is not completed.

    - **`urls`** (`object`, _optional_):
      Object containing related API endpoints.
      - Properties:
        - **`get`** (`string`, _optional_):
          URL to poll for the prediction result.


    - **`status`** (`string`, _optional_):
      Status of the task: created, processing, completed, timeout, or failed.

    - **`created_at`** (`string`, _optional_):
      ISO timestamp of when the request was created (e.g., "2023-04-01T12:34:56.789Z").

    - **`error`** (`string`, _optional_):
      Error message if the task failed, empty string otherwise.

    - **`error_code`** (`integer`, _optional_):
      Error code if the task failed.

    - **`executionTime`** (`number`, _optional_):
      Total execution time in milliseconds.

    - **`timings`** (`object`, _optional_):
      Detailed timing breakdown.
      - Properties:
        - **`inference`** (`number`, _optional_):
          Inference time in milliseconds.





**Example Response**:

```json
{
  "code": 0,
  "message": "",
  "data": {
    "id": "",
    "model": "",
    "outputs": [
      ""
    ],
    "urls": {
      "get": ""
    },
    "status": "",
    "created_at": "",
    "error": "",
    "error_code": 0,
    "executionTime": 0,
    "timings": {
      "inference": 0
    }
  }
}
```


## Usage Examples

### cURL

```bash
# Step 1: Start generation (async)
curl -X POST "https://api.atlascloud.ai/api/v1/model/generateImage" \
  -H "Authorization: Bearer $ATLASCLOUD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "google/nano-banana-2/reference-to-image-developer",
  "prompt": "",
  "images": [
    ""
  ],
  "video_clips": [
    {
      "url": "",
      "start": 0,
      "ends": 0,
      "fps": 1
    }
  ],
  "aspect_ratio": "1:1",
  "resolution": "1k",
  "thinking_level": "default",
  "enable_web_search": false,
  "enable_sync_mode": false,
  "enable_base64_output": false
}'

# Response will contain: {"code": 200, "data": {"id": "prediction_id", "status": "processing"}}

# Step 2: Poll for result (replace {prediction_id} with the id returned above)
curl -X GET "https://api.atlascloud.ai/api/v1/model/prediction/{prediction_id}" \
  -H "Authorization: Bearer $ATLASCLOUD_API_KEY"

# Keep polling until status is "completed", "succeeded" or "failed"
# When completed, outputs will contain the generated content URL(s)
```

## Additional Resources

### Documentation

- [Model Playground](https://www.atlascloud.ai/models/google/nano-banana-2/reference-to-image-developer)

## About this model

_Vendor-supplied description. Any pricing or endpoint mentioned below refers to_
_other platforms — use the Atlas Cloud values above._

#### Google Nano Banana 2 Reference to Image Developer

**Nano Banana 2 Reference to Image Developer** (Gemini 3.1 Flash Image) is Google's advanced **AI-powered video-to-image generation model**, designed to generate high-quality static images from video clips combined with text instructions. Built on the same cutting-edge model as Nano Banana 2 Edit, it adds the ability to use video content as a rich reference source — extracting visual context, themes, and key frames to synthesize new images with precision and semantic awareness.

This is the developer-tier variant of [Nano Banana 2 Reference to Image](https://atlascloud.ai/models/google/nano-banana-2/reference-to-image), offering a streamlined parameter set. It is ideal for API integrations and workflows where output format flexibility and per-frame media resolution control are not required.

#### Why Choose This?

- **Video as reference** — Provide a video clip (HTTP URL or YouTube URL) and let the model extract its visual context to guide image generation.

- **Multi-image reference** — Optionally upload up to 10 additional reference images to complement the video input for complex compositions.

- **Natural language control** — Describe exactly what you want with a text prompt; the model understands context, themes, and relationships from both the video and text.

- **Thinking levels** — Choose how much internal reasoning the model applies — higher thinking levels improve quality on complex tasks.

- **Web search grounding** — Optionally enable real-time web search to enrich generation with current information.

- **Multi-resolution output** — Generate at 1K, 2K, or 4K resolution.

- **Flexible aspect ratios** — Multiple options including 1:1, 3:2, 2:3, 3:4, 4:3, 4:5, 5:4, 9:16, 16:9, and 21:9.

#### How It Works

_(Description truncated. Full text on the model page.)_

---

Atlas Cloud — one API for 400+ AI models. Model page: https://www.atlascloud.ai/models/google/nano-banana-2/reference-to-image-developer · Docs: https://www.atlascloud.ai/docs
