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

# Gemini Omni 1.2 Flash Video upscaling

> - Gemini Omni 1.2 Flash (`gemini-omni-1.2-flash-video-upscale`) increases video resolution while preserving the original visual content and audio. No prompt is needed.
- **Video:** `video_urls` requires exactly 1 video, up to 15 seconds.
- **Input sizes:** Standard 16:9 or 9:16 only: `640×360`, `1280×720`, `1920×1080`, or portrait `360×640`, `720×1280`, `1080×1920`.
- **Target resolution:** `quality` is required. 360p → `720p` or `1080p`; 720p → `1080p` or `4k`; 1080p → `4k`.
- **Output:** Duration, aspect ratio, and audio follow the input. Frame rate: 24 fps.
- Set `seed` to improve reproducibility.
- Asynchronous processing: [query task status](/en/api-manual/task-management/get-task-detail) using the returned task ID.
- Generated video links remain valid for 24 hours; save them promptly.

Video upscaling does not use `prompt`; any supplied prompt is ignored.



## OpenAPI

````yaml en/api-manual/video-series/gemini-omni-1.2-flash/gemini-omni-1.2-flash-video-upscale.json POST /v1/videos/generations
openapi: 3.1.0
info:
  title: gemini-omni-1.2-flash-video-upscale API
  description: >-
    Upscale an input video with Gemini Omni 1.2 Flash while preserving its
    original visual content and audio.
  license:
    name: MIT
  version: 1.0.0
servers:
  - url: https://api.evolink.ai
    description: Production environment
security:
  - bearerAuth: []
paths:
  /v1/videos/generations:
    post:
      tags:
        - Video Generation
      summary: gemini-omni-1.2-flash-video-upscale API
      description: >-
        - Gemini Omni 1.2 Flash (`gemini-omni-1.2-flash-video-upscale`)
        increases video resolution while preserving the original visual content
        and audio. No prompt is needed.

        - **Video:** `video_urls` requires exactly 1 video, up to 15 seconds.

        - **Input sizes:** Standard 16:9 or 9:16 only: `640×360`, `1280×720`,
        `1920×1080`, or portrait `360×640`, `720×1280`, `1080×1920`.

        - **Target resolution:** `quality` is required. 360p → `720p` or
        `1080p`; 720p → `1080p` or `4k`; 1080p → `4k`.

        - **Output:** Duration, aspect ratio, and audio follow the input. Frame
        rate: 24 fps.

        - Set `seed` to improve reproducibility.

        - Asynchronous processing: [query task
        status](/en/api-manual/task-management/get-task-detail) using the
        returned task ID.

        - Generated video links remain valid for 24 hours; save them promptly.


        Video upscaling does not use `prompt`; any supplied prompt is ignored.
      operationId: createGeminiOmni12FlashVideoUpscaleGeneration
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GeminiOmni12FlashVideoUpscaleRequest'
            examples:
              video_upscale:
                summary: Video upscaling
                value:
                  model: gemini-omni-1.2-flash-video-upscale
                  video_urls:
                    - https://example.com/source-720p.mp4
                  quality: 1080p
      responses:
        '200':
          description: Video task created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VideoGenerationResponse'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: invalid_request
                  message: Invalid request parameters
                  type: invalid_request_error
        '401':
          description: Not authenticated, token invalid or expired
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: unauthorized
                  message: Invalid or expired token
                  type: authentication_error
        '402':
          description: Insufficient quota, top-up required
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: insufficient_quota
                  message: Insufficient quota. Please top up your account.
                  type: insufficient_quota
        '403':
          description: Access denied
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: model_access_denied
                  message: >-
                    Token does not have access to model:
                    gemini-omni-1.2-flash-video-upscale
                  type: invalid_request_error
        '429':
          description: Rate limit exceeded
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: rate_limit_exceeded
                  message: Too many requests, please try again later
                  type: rate_limit_error
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: internal_error
                  message: Internal server error
                  type: api_error
components:
  schemas:
    GeminiOmni12FlashVideoUpscaleRequest:
      required:
        - model
        - video_urls
        - quality
      type: object
      additionalProperties: false
      properties:
        model:
          type: string
          description: Model name, fixed to `gemini-omni-1.2-flash-video-upscale`.
          enum:
            - gemini-omni-1.2-flash-video-upscale
          example: gemini-omni-1.2-flash-video-upscale
          default: gemini-omni-1.2-flash-video-upscale
        video_urls:
          type: array
          items:
            type: string
            format: uri
          minItems: 1
          maxItems: 1
          description: >-
            Video array to upscale; required, exactly 1 video.


            - HTTP/HTTPS video URLs only.

            - Format: mp4.

            - Duration: up to `15` seconds.

            - Sizes: `640×360`, `1280×720`, `1920×1080`, or portrait `360×640`,
            `720×1280`, `1080×1920` only.
          example:
            - https://example.com/source-720p.mp4
        quality:
          type: string
          description: >-
            Target resolution; required and must exceed the input resolution.


            - 360p input: `720p`, `1080p`.

            - 720p input: `1080p`, `4k`.

            - 1080p input: `4k`.


            **Billing:** Billed by actual video output token usage, with no
            input or thinking token charges. Output token usage depends on the
            input video duration and the input/target resolution combination.
            The charge at submission is an estimate; final billing uses actual
            usage.
          enum:
            - 720p
            - 1080p
            - 4k
          example: 1080p
        duration:
          type: string
          description: >-
            May be omitted; if supplied, only `auto` is supported. Output
            duration follows the input video. A duration in seconds cannot be
            specified.
          enum:
            - auto
          default: auto
          example: auto
        aspect_ratio:
          type: string
          description: >-
            May be omitted; if supplied, only `auto` is supported. Output aspect
            ratio follows the input video. Other aspect ratios cannot be
            specified.
          enum:
            - auto
          default: auto
          example: auto
        seed:
          type: integer
          description: >-
            Random seed; random by default. Range: `0`–`4294967295`. A fixed
            seed improves reproducibility.
          minimum: 0
          maximum: 4294967295
          example: 42
        callback_url:
          type: string
          description: >-
            HTTPS callback URL to notify when the task completes


            **Callback timing:**

            - Triggered when the task completes (completed), fails (failed), or
            is cancelled (cancelled)

            - Sent after billing is confirmed


            **Security restrictions:**

            - HTTPS protocol only

            - Callbacks to internal IP addresses are forbidden (127.0.0.1,
            10.x.x.x, 172.16-31.x.x, 192.168.x.x, etc.)

            - URL length must not exceed `2048` characters


            **Callback mechanism:**

            - Timeout: `10` seconds

            - Up to `3` retries on failure (retried `1`s / `2`s / `4`s after
            each failure respectively)

            - The callback body format matches the response of the task query
            endpoint

            - A 2xx status code from the callback URL is treated as success;
            other status codes trigger a retry
          format: uri
          example: https://your-domain.com/webhooks/video-task-completed
    VideoGenerationResponse:
      type: object
      properties:
        created:
          type: integer
          description: Task creation timestamp
          example: 1757169743
        id:
          type: string
          description: Task ID
          example: task-unified-1757169743-7cvnl5zw
        model:
          type: string
          description: The model name actually used
          example: gemini-omni-1.2-flash-video-upscale
        object:
          type: string
          enum:
            - video.generation.task
          description: The specific type of the task
        progress:
          type: integer
          description: Task progress percentage (0-100)
          minimum: 0
          maximum: 100
          example: 0
        status:
          type: string
          description: >-
            Task status. The create endpoint always returns `processing`; the
            internal `pending` state is also exposed to clients as `processing`.
          enum:
            - pending
            - processing
            - completed
            - failed
          example: processing
        task_info:
          $ref: '#/components/schemas/VideoTaskInfo'
          description: Detailed video task information
        type:
          type: string
          enum:
            - text
            - image
            - audio
            - video
          description: The output type of the task
          example: video
        usage:
          $ref: '#/components/schemas/Usage'
          description: Usage and billing information
    ErrorResponse:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
              description: Error code identifier
            message:
              type: string
              description: Error description message
            type:
              type: string
              description: Error type
    VideoTaskInfo:
      type: object
      properties:
        can_cancel:
          type: boolean
          description: Whether the task can be cancelled
          example: false
        estimated_time:
          type: integer
          description: Estimated completion time (seconds)
          minimum: 0
          example: 60
        video_duration:
          type: integer
          description: >-
            Output video duration in seconds, equal to the input duration.
            Reports the input duration detected by the system.
          example: 5
    Usage:
      type: object
      description: Usage and billing information
      properties:
        billing_rule:
          type: string
          description: Billing rule
          enum:
            - per_call
            - per_token
            - per_second
          example: per_token
        credits_reserved:
          type: number
          description: Estimated credits to be consumed
          minimum: 0
          example: 102.34
        user_group:
          type: string
          description: Billing group the user belongs to
          example: default
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        ##All endpoints require authentication using a Bearer Token##


        **Get your API Key:**


        Visit the [API Key management page](https://evolink.ai/dashboard/keys)
        to obtain your API Key


        **Add it to the request header:**

        ```

        Authorization: Bearer YOUR_API_KEY

        ```

````

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