> ## Documentation Index
> Fetch the complete documentation index at: https://docs.modellix.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Nano Banana 2.1 Edit

> [Core Function] Nano Banana 2.1 Edit is Google's fast image-editing and video-to-image model, exposed as google/nano-banana-2.1-edit. [Strengths] It edits up to 14 reference images, or one HTTPS video plus up to 10 images, at 1K, 2K, or 4K, with improved character and multi-reference consistency. thinkingLevel defaults to medium. Optional systemInstruction is omitted when blank. enableWebSearch turns on Google Search grounding (web and image search) only when true. [Best For] Prompted restyling, multi-image product and character edits, and turning a video into a still. [Limitations] Do NOT use this model for text-only generation, 512-pixel output, or audio generation. At least one of image or video is required. seed, temperature, topP, topK, and logprobs are rejected. [Routing] Use this endpoint when the user provides images or a video and wants Nano Banana 2.1. Use google/nano-banana-2-edit for the previous Gemini 3.1 Flash Image editor, including 512 output. Use google/nano-banana-2.1 when there is no visual input. Use google/nano-banana-pro-edit for the highest-fidelity still edits that do not need video input.



## OpenAPI

````yaml /media-model-api/google/google-i2i.json post /google/nano-banana-2.1-edit
openapi: 3.1.0
info:
  description: The image-to-image models API from Google.
  version: 1.0.0
  contact:
    name: Modellix Support
    email: support@modellix.ai
  title: Google Image-to-Image Models API
servers:
  - url: https://api.modellix.ai/api/v1
    description: The image-to-image models API from Google.
security:
  - bearerAuth: []
paths:
  /google/nano-banana-2.1-edit:
    post:
      summary: Nano Banana 2.1 Edit
      description: >-
        [Core Function] Nano Banana 2.1 Edit is Google's fast image-editing and
        video-to-image model, exposed as google/nano-banana-2.1-edit.
        [Strengths] It edits up to 14 reference images, or one HTTPS video plus
        up to 10 images, at 1K, 2K, or 4K, with improved character and
        multi-reference consistency. thinkingLevel defaults to medium. Optional
        systemInstruction is omitted when blank. enableWebSearch turns on Google
        Search grounding (web and image search) only when true. [Best For]
        Prompted restyling, multi-image product and character edits, and turning
        a video into a still. [Limitations] Do NOT use this model for text-only
        generation, 512-pixel output, or audio generation. At least one of image
        or video is required. seed, temperature, topP, topK, and logprobs are
        rejected. [Routing] Use this endpoint when the user provides images or a
        video and wants Nano Banana 2.1. Use google/nano-banana-2-edit for the
        previous Gemini 3.1 Flash Image editor, including 512 output. Use
        google/nano-banana-2.1 when there is no visual input. Use
        google/nano-banana-pro-edit for the highest-fidelity still edits that do
        not need video input.
      operationId: nanoBanana21I2IAsync
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NanoBanana21EditRequest'
            examples:
              basic_edit:
                summary: Basic image editing
                value:
                  prompt: Transform this into a watercolor painting
                  image:
                    - https://example.com/image.jpg
              video_input:
                summary: Generate an image from a video
                value:
                  prompt: >-
                    Generate a cinematic key frame that best represents the
                    video's main subject and scene
                  video: https://example.com/video.mp4
                  videoMimeType: video/mp4
                  aspectRatio: '16:9'
                  imageSize: 1K
              video_with_images:
                summary: Generate an image from video and image references
                value:
                  prompt: >-
                    Use the video's composition and apply the visual style of
                    the reference images
                  video: https://example.com/video.mp4
                  videoMimeType: video/mp4
                  image:
                    - https://example.com/reference-1.jpg
                    - https://example.com/reference-2.jpg
                  aspectRatio: '16:9'
                  imageSize: 2K
      responses:
        '200':
          description: Task submitted successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncTaskResponse'
              example:
                code: 0
                message: success
                data:
                  status: pending
                  task_id: task-nb21e
                  model_id: google/nano-banana-2.1-edit
                  get_result:
                    method: GET
                    url: https://api.modellix.ai/api/v1/tasks/task-nb21e
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/InternalServerError'
components:
  schemas:
    NanoBanana21EditRequest:
      type: object
      required:
        - prompt
      description: >-
        At least one of image or video must be provided. Both may be provided
        together.
      properties:
        prompt:
          type: string
          description: Editing instruction describing the desired transformation
          minLength: 1
          example: Transform this into a watercolor painting
        image:
          type: array
          description: >-
            Input image URLs. At least one of image or video must be provided.
            Supports up to 14 images, or up to 10 images when video is also
            provided.
          minItems: 1
          maxItems: 14
          items:
            type: string
            description: Image URL (e.g. `https://example.com/image.jpg`).
          example:
            - https://example.com/image.jpg
        video:
          type: string
          description: >-
            Input video URL. At least one of image or video must be provided.
            Must be a publicly accessible HTTPS URL without cookies,
            authentication, or custom headers. Maximum file size: 15 MB.
          example: https://example.com/video.mp4
        videoMimeType:
          type: string
          description: MIME type of the input video. Requires video. Defaults to video/mp4.
          default: video/mp4
          enum:
            - video/x-flv
            - video/quicktime
            - video/mpeg
            - video/mpegs
            - video/mpg
            - video/mp4
            - video/webm
            - video/wmv
            - video/3gpp
          example: video/mp4
        aspectRatio:
          type: string
          description: Output image aspect ratio. Defaults to 1:1.
          default: '1:1'
          enum:
            - '1:1'
            - '3:2'
            - '2:3'
            - '3:4'
            - '1:4'
            - '4:1'
            - '4:3'
            - '4:5'
            - '5:4'
            - '1:8'
            - '8:1'
            - '9:16'
            - '16:9'
            - '21:9'
            - '9:21'
          example: '16:9'
        imageSize:
          type: string
          description: Output image resolution. Defaults to 1K. 512 is not supported.
          default: 1K
          enum:
            - 1K
            - 2K
            - 4K
          example: 1K
        thinkingLevel:
          type: string
          description: >-
            Thinking effort. minimal is fastest; high spends more thinking.
            Defaults to medium.
          default: medium
          enum:
            - minimal
            - medium
            - high
          example: medium
        systemInstruction:
          type: string
          description: >-
            Optional system instruction. Omitted when empty. Not sent upstream
            when blank.
        enableWebSearch:
          type: boolean
          description: >-
            When true, enables Google Search grounding with web search and image
            search. Image search cannot be used to look up people. Omitted or
            false does not send the tool. Search uses extra tokens.
    AsyncTaskResponse:
      type: object
      required:
        - code
        - message
        - data
      properties:
        code:
          type: integer
          description: Response code, 0 indicates success
          example: 0
        message:
          type: string
          description: Response message
          example: success
        data:
          type: object
          required:
            - status
            - task_id
            - model_id
          properties:
            status:
              type: string
              enum:
                - pending
                - processing
              description: Task status
              example: pending
            task_id:
              type: string
              description: Unique task identifier
              example: task-abc123
            model_id:
              type: string
              description: Model ID
              example: google/nano-banana-edit
            get_result:
              type: object
              description: API information to query the task result
              properties:
                method:
                  type: string
                  description: HTTP method
                  example: GET
                url:
                  type: string
                  description: Full URL to query the task result
                  example: https://api.modellix.ai/api/v1/tasks/task-abc123
          description: Detailed data about the submitted asynchronous task.
    ErrorResponse:
      type: object
      required:
        - code
        - message
      properties:
        code:
          type: integer
          description: Error code (equals HTTP status code)
          example: 400
        message:
          type: string
          description: 'Error message in format ''Category: detail'''
          example: 'Invalid parameters: parameter ''prompt'' is required'
  responses:
    BadRequest:
      description: Invalid request parameters
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            code: 400
            message: 'Invalid parameters: parameter ''prompt'' is required'
    Unauthorized:
      description: Unauthorized - Invalid or missing API Key
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            code: 401
            message: 'Authentication failed: invalid API key'
    TooManyRequests:
      description: Too many requests - Rate limit exceeded
      headers:
        X-RateLimit-Limit:
          description: Maximum requests per minute
          schema:
            type: integer
            example: 100
        X-RateLimit-Remaining:
          description: Remaining quota in current window
          schema:
            type: integer
            example: 0
        X-RateLimit-Reset:
          description: Rate limit window reset time (Unix timestamp)
          schema:
            type: integer
            example: 1704067260
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            code: 429
            message: >-
              Rate limit exceeded: 100 requests per minute, retry after 60
              seconds
    InternalServerError:
      description: Internal server error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            code: 500
            message: Internal server error
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: 'API Key authentication. Format: `Bearer YOUR_API_KEY`.'

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.