> ## 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

> [Core Function] Nano Banana 2.1 is Google's fast text-to-image model on Gemini 3.6 Flash, exposed as google/nano-banana-2.1. [Strengths] It keeps Flash-level speed at 1K, 2K, and 4K, with stronger visual quality, text rendering, and real-world knowledge than Nano Banana 2. thinkingLevel trades latency for quality and defaults to medium. Optional systemInstruction is omitted when blank. enableWebSearch turns on Google Search grounding (web and image search) only when true. [Best For] High-volume image production, posters and diagrams with readable text, localized text, and rapid iteration on new text-to-image work. [Limitations] Do NOT use this model for image or video editing, 512-pixel output, audio input, or reference images. This endpoint accepts a prompt only. seed, temperature, topP, topK, and logprobs are rejected. [Routing] Use google/nano-banana-2.1 for new text-to-image work. Use google/nano-banana-2 when the caller needs the 512 resolution of Gemini 3.1 Flash Image. Use google/nano-banana-2.1-edit when the user supplies images or a video. Use google/nano-banana-pro when the user wants the highest-end professional stills.



## OpenAPI

````yaml /media-model-api/google/google-t2i.json post /google/nano-banana-2.1
openapi: 3.1.0
info:
  description: The text-to-image models API from Google (Gemini / Nano Banana series).
  version: 1.0.0
  contact:
    name: Modellix Support
    email: support@modellix.ai
  title: Google Text-to-Image Models API
servers:
  - url: https://api.modellix.ai/api/v1
    description: The text-to-image models API from Google.
security:
  - bearerAuth: []
paths:
  /google/nano-banana-2.1:
    post:
      summary: Nano Banana 2.1
      description: >-
        [Core Function] Nano Banana 2.1 is Google's fast text-to-image model on
        Gemini 3.6 Flash, exposed as google/nano-banana-2.1. [Strengths] It
        keeps Flash-level speed at 1K, 2K, and 4K, with stronger visual quality,
        text rendering, and real-world knowledge than Nano Banana 2.
        thinkingLevel trades latency for quality and defaults to medium.
        Optional systemInstruction is omitted when blank. enableWebSearch turns
        on Google Search grounding (web and image search) only when true. [Best
        For] High-volume image production, posters and diagrams with readable
        text, localized text, and rapid iteration on new text-to-image work.
        [Limitations] Do NOT use this model for image or video editing,
        512-pixel output, audio input, or reference images. This endpoint
        accepts a prompt only. seed, temperature, topP, topK, and logprobs are
        rejected. [Routing] Use google/nano-banana-2.1 for new text-to-image
        work. Use google/nano-banana-2 when the caller needs the 512 resolution
        of Gemini 3.1 Flash Image. Use google/nano-banana-2.1-edit when the user
        supplies images or a video. Use google/nano-banana-pro when the user
        wants the highest-end professional stills.
      operationId: nanoBanana21T2IAsync
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NanoBanana21Request'
            examples:
              text_only:
                summary: Text-to-image
                value:
                  prompt: A colorful abstract painting with flowing shapes
              with_options:
                summary: With aspect ratio and resolution
                value:
                  prompt: Minimalist geometric art with bold colors
                  aspectRatio: '9:21'
                  imageSize: 2K
                  thinkingLevel: medium
      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-nb21
                  model_id: google/nano-banana-2.1
                  get_result:
                    method: GET
                    url: https://api.modellix.ai/api/v1/tasks/task-nb21
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/InternalServerError'
components:
  schemas:
    NanoBanana21Request:
      type: object
      required:
        - prompt
      properties:
        prompt:
          type: string
          description: Image description text
          minLength: 1
          example: A colorful abstract painting with flowing shapes
        aspectRatio:
          type: string
          description: 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: '1:1'
        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 for polling
              example: task-abc123
            model_id:
              type: string
              description: Model ID in `provider/model` format
              example: google/nano-banana
            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.