# Nano Banana 2.1 image edit with image, video or PDF context

Needs prompt. Served by fal.ai.

Nano Banana 2.1 (Google), image edit with image, video or PDF context, served by fal.ai. The OpenAPI schema for the google/nano-banana-2.1/edit queue. Price: Actual token billing: $1.764/M input tokens (text or media), $8.823/M output text/thinking tokens, $35.294/M output image tokens; no flat image fee or separate web/thinking surcharge. A conservative $1.387725 reservation per requested image covers Google's published 131,072 input + 32,768 output token limits, with every output token reserved at the image rate. Final charge is fal's USD billing receipt for this request; unused credit is refunded. Missing receipts keep the run pending for settlement/reconciliation. Waits up to 40 s for the result; if the generation takes longer, the run stays RUNNING and returns a request_id; poll fal/status and fetch fal/result with model "google/nano-banana-2.1" and that request_id. Billed once, when the result is ready; a generation that fails is refunded.

- Tool ID: `fal/nano-banana-2-1-edit`
- Name in the catalog: Nano Banana 2.1 (Google), image edit with image, video or PDF context
- Provider: [fal.ai](/providers/fal.md)
- Capability: [Nano Banana](/tools/image-generation/nano-banana.md)
- Price: usage based, the maximum is shown before a run
- Authentication: an authorised Agentik workspace is required for execution, including zero-price tools.

## Pricing contract

Billed at the cost the provider reports for the call, never above $5.5509. Your agent sees the maximum before running.


```json
{
  "model": "reported",
  "costPath": "cost_usd",
  "requireCost": true,
  "maxUsdDefault": 1.387725,
  "maxUsdCap": 5.5509,
  "headroom": 1,
  "multipliers": [
    {
      "when": {
        "field": "num_images",
        "equals": 2
      },
      "factor": 2
    },
    {
      "when": {
        "field": "num_images",
        "equals": 3
      },
      "factor": 3
    },
    {
      "when": {
        "field": "num_images",
        "equals": 4
      },
      "factor": 4
    }
  ]
}
```

Pricing source: [https://fal.ai/models/google/nano-banana-2.1/edit](https://fal.ai/models/google/nano-banana-2.1/edit). Actual token billing: $1.764/M input tokens (text or media), $8.823/M output text/thinking tokens, $35.294/M output image tokens; no flat image fee or separate web/thinking surcharge. A conservative $1.387725 reservation per requested image covers Google's published 131,072 input + 32,768 output token limits, with every output token reserved at the image rate. Final charge is fal's USD billing receipt for this request; unused credit is refunded. Missing receipts keep the run pending for settlement/reconciliation..

Price verification date: 2026-10-07.

## Complete input schema


```json
{
  "type": "object",
  "properties": {
    "output_format": {
      "title": "Output Format",
      "enum": [
        "jpeg",
        "png",
        "webp"
      ],
      "default": "png",
      "description": "The format of the generated image.",
      "type": "string"
    },
    "resolution": {
      "description": "The resolution of the image to generate.",
      "title": "Resolution",
      "enum": [
        "1K",
        "2K",
        "4K"
      ],
      "default": "1K",
      "type": "string"
    },
    "pdf_url": {
      "type": "string",
      "title": "PDF URL",
      "description": "Optional PDF document to use as input context. Accepts an http(s)/data URL (downloaded and sent inline, max 15MB)."
    },
    "thinking_level": {
      "enum": [
        "minimal",
        "medium",
        "high"
      ],
      "type": "string",
      "title": "Thinking Level",
      "default": "medium",
      "description": "How much the model reasons before generating. Higher levels can improve complex compositions and use more thinking tokens."
    },
    "enable_web_search": {
      "title": "Enable Web Search",
      "default": false,
      "description": "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.",
      "type": "boolean"
    },
    "image_urls": {
      "title": "Image URLs",
      "items": {
        "type": "string"
      },
      "description": "The URLs of the images to use for image-to-image generation or image editing. Optional when `video_url` or `pdf_url` is provided.",
      "type": "array",
      "minItems": 1,
      "maxItems": 14
    },
    "seed": {
      "type": "integer",
      "title": "Seed",
      "description": "The seed for the random number generator."
    },
    "safety_tolerance": {
      "description": "The safety tolerance level for content moderation. 1 is the most strict (blocks most content), 6 is the least strict.",
      "title": "Safety Tolerance",
      "enum": [
        "1",
        "2",
        "3",
        "4",
        "5",
        "6"
      ],
      "default": "4",
      "type": "string"
    },
    "video_url": {
      "type": "string",
      "title": "Video URL",
      "description": "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)."
    },
    "aspect_ratio": {
      "enum": [
        "auto",
        "21:9",
        "16:9",
        "3:2",
        "4:3",
        "5:4",
        "1:1",
        "4:5",
        "3:4",
        "2:3",
        "9:16",
        "4:1",
        "1:4",
        "8:1",
        "1:8"
      ],
      "type": "string",
      "title": "Aspect Ratio",
      "default": "auto",
      "description": "The aspect ratio of the generated image. Supports extreme ratios: 4:1, 1:4, 8:1, 1:8."
    },
    "prompt": {
      "maxLength": 50000,
      "title": "Prompt",
      "description": "The prompt for image editing.",
      "minLength": 3,
      "type": "string"
    },
    "system_prompt": {
      "maxLength": 50000,
      "title": "System Prompt",
      "default": "",
      "description": "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).",
      "type": "string"
    },
    "limit_generations": {
      "description": "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.",
      "title": "Limit Generations",
      "default": true,
      "type": "boolean"
    },
    "num_images": {
      "maximum": 4,
      "title": "Number of Images",
      "minimum": 1,
      "default": 1,
      "description": "The number of images to generate.",
      "type": "integer"
    }
  },
  "required": [
    "prompt"
  ],
  "additionalProperties": false,
  "anyOf": [
    {
      "required": [
        "image_urls"
      ]
    },
    {
      "required": [
        "video_url"
      ]
    },
    {
      "required": [
        "pdf_url"
      ]
    }
  ]
}
```

## Published example

This is the provider tool’s published example. Replace example values with the user’s requested inputs, respecting the schema; do not execute an example merely to test a connection.


```json
{
  "tool_id": "fal/nano-banana-2-1-edit",
  "input": {
    "prompt": "Make the cube blue, keep everything else",
    "image_urls": [
      "https://storage.googleapis.com/falserverless/example_outputs/nano-banana-2-t2i-output.png"
    ],
    "num_images": 1,
    "resolution": "1K",
    "thinking_level": "minimal"
  }
}
```

## Execute and retrieve

Inspect again before execution, explain the price and obtain the required authority. Use MCP run_tool or POST /v1/run with this tool ID, valid input and an idempotency key. Save the returned run ID and follow the actual state. If Agentik answers that the tool is temporarily unavailable, do not retry it blindly; use discovery to propose an alternative.

This tool uses deferred settlement. Follow its returned task/run instructions; preserve the existing reservation until the result is reconciled.

A partial or uncertain result can still have consumed provider resources. Consult [billing](/docs/billing.md), [idempotency](/docs/idempotency.md) and [asynchronous results](/docs/async.md).

[Provider documentation](https://fal.ai/models/google/nano-banana-2.1/edit)

[REST inspection](https://api.agentik.cc/v1/tools/fal/nano-banana-2-1-edit) · [OpenAPI](/openapi.json) · [Connection guide](/connect.md)

---

[HTML page](/providers/fal/nano-banana-2-1-edit) · [Agent index](/llms.txt)
