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

# Kling Omni Video kling-video-o1

> Omni models can achieve various capabilities through prompts combined with elements, images, videos, and more.



## OpenAPI

````yaml api-reference/en/zmodelVideo/kling/kling-video-o1-video-omni.json POST /kling/v1/videos/omni-video
openapi: 3.0.1
info:
  title: Kling Omni Video Task - Submit Task
  version: 1.0.0
  description: >-
    Omni models can achieve various capabilities through prompts combined with
    elements, images, videos, and more.
servers:
  - url: https://api.powertokens.ai
    description: ''
security: []
tags:
  - name: Kling
    description: Kling native async task endpoints
paths:
  /kling/v1/videos/omni-video:
    post:
      tags:
        - Kling
      summary: Kling Omni Video Task
      description: >-
        Omni models can achieve various capabilities through prompts combined
        with elements, images, videos, and more.
      operationId: createKlingVideoO1OmniVideoGeneration
      parameters:
        - name: Content-Type
          in: header
          required: true
          schema:
            type: string
            default: application/json
          description: Data exchange format
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/KlingRequest'
            examples:
              request:
                summary: Request example
                value:
                  model_name: kling-video-o1
                  prompt: Make the character in <<<image_1>>> wave towards the camera
                  image_list:
                    - image_url: >-
                        https://p2-kling.klingai.com/kcdn/cdn-kcdn112452/kling-qa-test/multi-1.png
                  duration: '5'
                  mode: pro
                  aspect_ratio: '16:9'
                  callback_url: ''
                  external_task_id: ''
      responses:
        '200':
          description: Task accepted.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SubmitResponse'
              examples:
                response:
                  summary: Response example
                  value:
                    code: 0
                    message: string
                    request_id: string
                    data:
                      task_id: string
                      task_info:
                        external_task_id: string
                      task_status: submitted
                      created_at: 1722769557708
                      updated_at: 1722769557708
      security:
        - bearerAuth: []
components:
  schemas:
    KlingRequest:
      type: object
      required:
        - model_name
        - prompt
      properties:
        model_name:
          type: string
          description: Model name
          enum:
            - kling-video-o1
        multi_shot:
          type: boolean
          default: false
          description: >-
            Whether to generate a multi-shot video.

            When this parameter is true, the prompt parameter is invalid.

            When this parameter is false, the shot_type and multi_prompt
            parameters are invalid.
        shot_type:
          type: string
          enum:
            - customize
            - intelligence
          description: |-
            Shot type.
            Required when multi_shot is true.
          x-valid-when:
            multi_shot:
              - true
        prompt:
          type: string
          description: >-
            Text prompt, can include positive and negative descriptions.

            - Prompts can be templated to meet different video generation needs

            - Must not exceed 2,500 characters


            Must not be empty when multi_shot is false, or when multi_shot is
            true and shot_type is intelligence.


            ```markdown

            Omni models can achieve various capabilities through prompts with
            subjects, images, videos, etc.:

            - Use <<<>>> format to specify a subject, image, or video, e.g.:
            <<<element_1>>>, <<<image_1>>>, <<<video_1>>>

            ```
          maxLength: 2500
        multi_prompt:
          type: array
          items:
            type: object
            required:
              - index
              - prompt
              - duration
            properties:
              index:
                type: integer
                description: Shot index.
              prompt:
                type: string
                description: Shot prompt.
                maxLength: 512
              duration:
                type: string
                description: Shot duration in seconds.
          description: >-
            Multi-shot information including prompt, duration, etc.

            Define shot index and corresponding prompt and duration via index,
            prompt, duration parameters.

            - Max 6 shots, min 1 shot.

            - Max length per shot content: 512 characters.

            - Each shot duration must not exceed total task duration and must be
            >= 1.

            - Sum of all shot durations must equal total task duration.


            When multi_shot is true and shot_type is customize, this parameter
            must not be empty. Format:


            ```json

            "multi_prompt":[{ "index": int, "prompt": "string", "duration": "5"
            },{ "index": int, "prompt": "string","duration": "5" }]

            ```
          minItems: 1
          maxItems: 6
          x-valid-when:
            multi_shot:
              - true
        image_list:
          type: array
          items:
            type: object
            required:
              - image_url
            properties:
              image_url:
                type: string
                description: Image URL or Base64 string.
              type:
                type: string
                enum:
                  - first_frame
                  - end_frame
                description: >-
                  Frame type. first_frame for start frame, end_frame for end
                  frame.
          description: >-
            Reference image list, including subject, scene, style reference
            images

            - Includes subject, scene, style reference images; can also be used
            as first/last frame for video generation:
              * Use the type parameter to define whether an image is a first/last frame: first_frame for start frame, end_frame for end frame:
                - If an image is not a first or last frame, do not configure the type parameter
                - End-frame-only is not currently supported; must have a first-frame image when using end-frame
              * When using first frame or first/last frame video generation, video editing features cannot be used

            Use key:value format:


            ```json

            "image_list":[{ "image_url": "image_url"},{ "image_url": "image_url"
            }]

            ```


            Image requirements:

            - Supports image Base64 encoding or image URL (must be accessible)

            - Format: .jpg / .jpeg / .png

            - File size: ≤10MB

            - Dimensions: width and height both at least 300px, aspect ratio
            1:2.5 ~ 2.5:1

            - Number of reference images depends on number and type of reference
            elements:
              * No reference video + only multi-image elements: total of images + multi-image elements must not exceed 7

            Quantity limits:

            - Number of reference images depends on number and type of reference
            elements:
              * No reference video + only multi-image elements: total of images + multi-image elements must not exceed 7
              * No reference video + with video elements: total of images + multi-image elements must not exceed 4
              * With reference video + only multi-image elements: total of images + multi-image elements must not exceed 4
            - When using kling-video-o1 model, first/last frame is not supported
            when array has more than 2 images

            - image_url parameter value must not be empty
        element_list:
          type: array
          items:
            type: object
            required:
              - element_id
            properties:
              element_id:
                type: integer
                format: int64
                description: Element ID from the element library.
          description: >-
            Element reference list, configured based on element IDs in the
            element library.

            - Use key:value format:


            ```json

            "element_list":[{ "element_id": long },{ "element_id": long }]

            ```


            - Elements are divided into video custom elements (video character
            elements) and image custom elements (multi-image elements), with
            different applicable scopes

            - Number of reference elements depends on element type, whether
            there is a reference video, number of reference images, etc.:
              * When using first frame or first/last frame video generation, kling-v3-omni supports up to 3 elements
              * When using first/last frame video generation, kling-video-o1 does not support elements
              * No reference video + only multi-image elements: total of reference images + multi-image elements must not exceed 7
              * No reference video + only video character elements: video character elements must not exceed 3
              * No reference video + both video character and multi-image elements: video character elements <= 3, reference images + multi-image elements <= 4
              * With reference video + only multi-image elements: reference images + multi-image elements <= 4
              * With reference video: video character elements not supported
        video_list:
          type: array
          items:
            type: object
            required:
              - video_url
            properties:
              video_url:
                type: string
                description: Video URL.
              refer_type:
                type: string
                enum:
                  - feature
                  - base
                description: >-
                  Reference type: feature (feature reference video) or base
                  (video to be edited)

                  - base - Instruction transform (video editing):

                  Video editing, such as adding/removing/modifying content
                  (subject/background/local/video style/object color/weather,
                  etc.), switching shot type/perspective.

                  - feature - Video reference:

                  Reference video content to generate the next/previous shot, or
                  reference video style/camera movement for video generation.
              keep_original_sound:
                type: string
                enum:
                  - 'yes'
                  - 'no'
                description: Whether to keep the original audio of the video.
          description: >-
            Reference video, obtained via URL.


            Video types:

            - Can be used as a feature reference video or as a video to be
            edited; defaults to video to be edited

            - Use refer_type parameter to distinguish: feature for feature
            reference video, base for video to be edited

            - When the reference video is a video to be edited, video first/last
            frames cannot be defined

            - Use keep_original_sound to choose whether to keep original audio:
            yes to keep, no to discard (also applies to feature type)


            When there is a reference video, the sound parameter can only be
            'off'.


            Use key:value format:


            ```json

            "video_list":[{ "video_url": "video_url", "refer_type": "base",
            "keep_original_sound": "yes" }]

            ```


            Video requirements:

            - Format: only MP4/MOV supported

            - Duration: at least 3 seconds; upper limit depends on model
            version, see capability map

            - Resolution: 720px-2160px (width and height)

            - Frame rate: 24-60fps (output will be 24fps)

            - At most 1 video, size ≤200MB

            - video_url parameter value must not be empty
          maxItems: 1
        sound:
          type: string
          enum:
            - 'on'
            - 'off'
          default: 'off'
          description: Whether to also generate audio when creating the video.
        mode:
          type: string
          enum:
            - std
            - pro
          default: pro
          x-options:
            - label: 720P
              value: std
            - label: 1080P
              value: pro
          description: >-
            Video generation mode


            - std: Standard mode, cost-effective, output video resolution 720P.

            - pro: Expert mode (high quality), better video quality, output
            video resolution 1080P.
        aspect_ratio:
          type: string
          description: >-
            Aspect ratio of generated video frames (width:height)


            - Required when not using first-frame reference or video editing
            features.
          enum:
            - '1:1'
            - '16:9'
            - '9:16'
        duration:
          type: string
          description: >-
            Generated video duration in seconds.


            - When using video editing ("refer_type":"base"), the output matches
            the input video duration; this parameter is ignored and billing is
            based on the input video duration rounded to the nearest integer.
          default: '5'
          enum:
            - '3'
            - '4'
            - '5'
            - '6'
            - '7'
            - '8'
            - '9'
            - '10'
        watermark_info:
          type: object
          description: Whether to also generate a watermarked result.
          properties:
            enabled:
              type: boolean
              description: true to generate watermarked result, false to not generate.
        callback_url:
          type: string
          description: >-
            Callback notification URL for this task. If configured, the server
            will proactively notify when the task status changes.
        external_task_id:
          type: string
          description: >-
            Custom task ID.

            - Does not override the system-generated task ID, but supports
            querying by this ID.

            - Must be unique per user.
    SubmitResponse:
      type: object
      properties:
        code:
          type: integer
          description: Error code; see error codes for details.
        message:
          type: string
          description: Error message.
        request_id:
          type: string
          description: >-
            Request ID, system-generated, used for request tracking and
            troubleshooting.
        data:
          type: object
          properties:
            task_id:
              type: string
              description: Task ID, system-generated.
            task_status:
              type: string
              description: Task status.
              enum:
                - submitted
                - processing
                - succeed
                - failed
              example: submitted
            task_info:
              type: object
              description: Task creation parameter information.
              properties:
                external_task_id:
                  type: string
                  description: Client-provided custom task ID.
            created_at:
              type: integer
              format: int64
              description: Task creation time, Unix timestamp in milliseconds.
            updated_at:
              type: integer
              format: int64
              description: Task update time, Unix timestamp in milliseconds.
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: 'Pass `Authorization: Bearer <token>` in the request header.'

````