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

# gemini-3-pro-image

> Google's flagship image generation and editing model built on Gemini 3 Pro, featuring up to 4K resolution, precise multilingual text rendering, real-time Google Search grounding, and studio-quality creative controls.



## OpenAPI

````yaml /openapi/image/gemini-3-pro-image.yaml post /images/generations
openapi: 3.0.3
info:
  title: gemini-3-pro-image
  version: 1.0.0
  description: >-
    Google's flagship image generation and editing model built on Gemini 3 Pro,
    featuring up to 4K resolution, precise multilingual text rendering,
    real-time Google Search grounding, and studio-quality creative controls.
servers:
  - url: https://api.linkmodel.ai/v1
    description: Production
security:
  - bearerAuth: []
tags:
  - name: Google
  - name: image
paths:
  /images/generations:
    post:
      tags:
        - Google
        - image
      summary: gemini-3-pro-image
      description: >
        Google's flagship image generation and editing model built on Gemini 3
        Pro, featuring up to 4K resolution, precise multilingual text rendering,
        real-time Google Search grounding, and studio-quality creative controls.


        |   |   |

        | --- | --- |

        | **Provider** | Google |

        | **Tasks** | text-to-image · image-to-image |

        | **Starting from** | 0.100500 USD / call · <a
        href="https://linkmodel.ai/en/models/gemini-3-pro-image" target="_blank"
        rel="noopener">Pricing details</a> |


        ## Task lifecycle


        This endpoint creates an asynchronous task. Poll `GET
        /images/generations/{task_id}` with the returned `task_id` until the
        task reaches a terminal state.


        If the POST request times out or its result is uncertain, do not blindly
        retry it. The original request may already have created another task and
        billing order.


        Completed asset URLs are dynamically signed. Download or copy assets
        that must be retained instead of treating the URLs as permanent
        identifiers.
      operationId: gemini-3-pro-image
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                model:
                  type: string
                  enum:
                    - gemini-3-pro-image
                  description: 'Must be one of: gemini-3-pro-image.'
                images:
                  type: array
                  minItems: 1
                  maxItems: 10
                  items:
                    type: string
                    format: url
                  description: Up to 10 reference images.
                prompt:
                  type: string
                  minLength: 1
                  description: Length must be at least 1.
                quality:
                  type: string
                  enum:
                    - 1K
                    - 2K
                    - 4K
                  description: 'Must be one of: 1K, 2K, 4K.'
                size:
                  type: string
                  enum:
                    - 16x9
                    - 1x1
                    - 21x9
                    - 2x3
                    - 3x2
                    - 3x4
                    - 4x3
                    - 4x5
                    - 5x4
                    - 9x16
                  description: >-
                    Must be one of: 16x9, 1x1, 21x9, 2x3, 3x2, 3x4, 4x3, 4x5,
                    5x4, 9x16.
              required:
                - model
                - prompt
      responses:
        '200':
          description: >-
            Business response. `code=0` means the task was accepted; validation
            failures can return HTTP 200 with `code=400`.
          content:
            application/json:
              schema:
                oneOf:
                  - type: object
                    required:
                      - code
                      - data
                      - msg
                    properties:
                      code:
                        type: integer
                        enum:
                          - 0
                        example: 0
                      data:
                        type: object
                        required:
                          - task_id
                        properties:
                          task_id:
                            type: string
                            description: Use this id to poll task status.
                            example: aurora_abc123
                          order_id:
                            type: string
                            description: Billing order id.
                            example: 019da9cf-d1db-78e1-ac23-526774d01193
                          status:
                            type: string
                            example: Processing
                          price:
                            type: number
                            description: Charged amount in the model's pricing currency.
                            example: 0.074
                      msg:
                        type: string
                        example: success
                      request_id:
                        type: string
                        format: uuid
                        example: 250b66dd-e1fb-4bb6-b5f6-c668efadc35d
                  - type: object
                    required:
                      - code
                      - msg
                    properties:
                      code:
                        type: integer
                        enum:
                          - 400
                        example: 400
                      data:
                        type: object
                        example: {}
                      msg:
                        type: string
                        example: model is required
                      request_id:
                        type: string
                        format: uuid
                        example: 96be7a7d-3e81-4916-a6b8-19b32773a693
        '400':
          description: >-
            Malformed HTTP request rejected by the Gateway. Model and parameter
            validation may instead use HTTP 200 with business `code=400`.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 400
                  msg:
                    type: string
                    example: task_id is required
                  request_id:
                    type: string
                    format: uuid
                    example: 96be7a7d-3e81-4916-a6b8-19b32773a693
        '401':
          description: Unauthorized — missing or invalid API key.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 401
                  data:
                    type: object
                    example: {}
                  msg:
                    type: string
                    example: invalid api key
                  request_id:
                    type: string
                    format: uuid
                    example: bff4c295-c7da-4507-9708-4627cb6373ba
        '500':
          description: Internal error — task creation failed (e.g. insufficient balance).
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 500
                  msg:
                    type: string
                    example: >-
                      create task failed: billing: code=100601: insufficient
                      balance
                  request_id:
                    type: string
                    format: uuid
                    example: 3409f6fb-fa9a-4534-b530-195b5f6f4e32
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT

````