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

# Kling V3 Omni Image to Video

> Generate a video from one or more images using the Kling V3 Omni model.

## Overview

Generate videos from input images using the Kling V3 Omni model. Requires at least one frame image. In addition to text-to-video features, image-to-video supports:

* **First/Last frame control** — provide `first_frame` and `last_frame` images
* **Reference images** — additional image references via `images` array
* **Element references** — reference up to 3 elements when using first/last frame images
* **Multi-shot video** — generate multi-scene videos via `multi_shot` and `multi_prompt`


## OpenAPI

````yaml api-reference/endpoint/klingai/kling-v3-omni/kling-v3-omni-image-to-video.yaml POST /vendors/klingai/v1/kling-v3-omni/image-to-video/generation
openapi: 3.1.0
info:
  title: Kling V3 Omni - Image to Video API
  version: 1.0.0
  description: Generate videos from images using Kling V3 Omni model.
servers:
  - url: https://api.mulerouter.ai/
security:
  - bearerAuth: []
paths:
  /vendors/klingai/v1/kling-v3-omni/image-to-video/generation:
    post:
      summary: Image to Video Generation
      description: Generate a video from one or more images using the Kling V3 Omni model.
      operationId: kling_v3_omni_image_to_video
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ImageToVideoRequest'
            example:
              first_frame: https://example.com/first-frame.jpg
              prompt: A gentle breeze blows through the scene, camera slowly zooms in
              mode: pro
              duration: 5
      responses:
        '202':
          $ref: '#/components/responses/TaskCreated'
        '400':
          $ref: '#/components/responses/BadRequest'
      security:
        - bearerAuth: []
components:
  schemas:
    ImageToVideoRequest:
      type: object
      additionalProperties: false
      properties:
        first_frame:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            First frame image (URL or Base64). Sets the opening frame of the
            generated video.
        last_frame:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Last frame image (URL or Base64). Sets the closing frame of the
            generated video.
        images:
          anyOf:
            - type: array
              items:
                type: string
              minItems: 1
            - type: 'null'
          description: List of reference image URLs or Base64 strings.
        prompt:
          anyOf:
            - type: string
            - type: 'null'
          description: Text prompt to guide video generation from the images.
        multi_prompt:
          type: array
          items:
            $ref: '#/components/schemas/OmniMultiPrompt'
          minItems: 1
          maxItems: 6
          description: Multi-segment prompts for finer control.
        negative_prompt:
          anyOf:
            - type: string
            - type: 'null'
          description: Negative prompt to exclude unwanted content.
        sound:
          type: string
          enum:
            - 'on'
            - 'off'
          default: 'off'
          description: Whether to generate sound for the video.
        mode:
          type: string
          enum:
            - std
            - pro
          default: pro
          description: Generation mode. std for standard quality, pro for higher quality.
        aspect_ratio:
          anyOf:
            - type: string
              enum:
                - '16:9'
                - '9:16'
                - '1:1'
            - type: 'null'
          description: Aspect ratio of the generated video.
        duration:
          type: integer
          default: 5
          description: Duration of the generated video in seconds (3-15).
        multi_shot:
          type: boolean
          default: false
          description: Whether to enable multi-shot generation.
        shot_type:
          anyOf:
            - type: string
              enum:
                - customize
                - intelligence
            - type: 'null'
          description: Shot type configuration.
        elements:
          type: array
          items:
            $ref: '#/components/schemas/ElementItem'
          maxItems: 3
          description: Element list. Max 3 when using first/last frame images.
    OmniMultiPrompt:
      type: object
      additionalProperties: false
      required:
        - prompt
        - duration
      properties:
        prompt:
          type: string
          maxLength: 512
        duration:
          type: integer
    ElementItem:
      type: object
      additionalProperties: false
      required:
        - type
      properties:
        type:
          type: string
          enum:
            - image
            - video
          description: Element type.
        frontal_image:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Frontal reference image of the subject (URL or Base64). Constraints:
            jpg/jpeg/png, <=10MB, >=300px, aspect ratio 1:2.5~2.5:1.
        reference_images:
          type: array
          items:
            type: string
          minItems: 1
          maxItems: 3
          description: >-
            Additional reference images from other angles (URL or Base64), up to
            3 images.
        reference_videos:
          type: array
          items:
            type: string
            format: uri
          minItems: 1
          description: Reference video URLs.
    TaskCreatedResponse:
      type: object
      additionalProperties: true
      properties:
        task_info:
          $ref: '#/components/schemas/TaskInfoCreated'
    ErrorResponse:
      type: object
      additionalProperties: true
      properties:
        task_info:
          type: object
          properties:
            id:
              type: string
              format: uuid
            status:
              type: string
              enum:
                - failed
            error:
              $ref: '#/components/schemas/TaskInfoErrorObject'
    TaskInfoCreated:
      type: object
      additionalProperties: true
      required:
        - id
        - status
        - created_at
        - updated_at
      properties:
        id:
          type: string
          format: uuid
        status:
          type: string
          enum:
            - pending
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
    TaskInfoErrorObject:
      type: object
      additionalProperties: true
      properties:
        code:
          type: integer
          example: 3001
        title:
          type: string
          example: Task Execution Error
        detail:
          type: string
          example: Task execution failed
  responses:
    TaskCreated:
      description: Accepted - Task created successfully
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/TaskCreatedResponse'
          example:
            task_info:
              id: 8e1e315e-b50d-4334-a231-be7d19a372f4
              status: pending
              created_at: '2026-03-03T00:00:00Z'
              updated_at: '2026-03-03T00:00:00Z'
    BadRequest:
      description: Bad Request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````