> ## 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.0 Text to Video

> Generate videos from text prompts using the Kling v3.0 model with multi-shot, audio generation, and extended duration support.

## Overview

Generate videos from text prompts using the Kling V3.0 model. V3.0 introduces:

* **Multi-shot video** — generate multi-scene videos in a single task via `multi_shot` and `multi_prompt`
* **Audio generation** — produce synchronized audio with `sound: "on"`
* **Extended duration** — 3 to 15 seconds in 1-second increments
* **Standard / Professional modes** — 720P (std) or 1080P (pro) output


## OpenAPI

````yaml api-reference/endpoint/klingai/kling-v3/openapi.yaml POST /vendors/klingai/v1/kling-v3/text-to-video/generation
openapi: 3.1.0
info:
  title: Kling v3.0 API
  description: >-
    Kling v3.0 Video Generation Model API with Multi-Shot, Sound, and Element
    Support
  license:
    name: MIT
  version: 1.0.0
servers:
  - url: https://api.mulerouter.ai/
security:
  - bearerAuth: []
paths:
  /vendors/klingai/v1/kling-v3/text-to-video/generation:
    post:
      summary: Text to Video Generation
      description: >-
        Generate videos from text prompts using the Kling v3.0 model with
        multi-shot, audio generation, and extended duration support.
      operationId: kling_v3_text_to_video
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Text2VideoRequest'
            example:
              prompt: A futuristic cityscape with flying cars at sunset
              mode: pro
              aspect_ratio: '16:9'
              duration: 10
              sound: 'on'
        required: true
      responses:
        '202':
          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-02-14T00:00:00.000Z'
                  updated_at: '2026-02-14T00:00:00.000Z'
components:
  schemas:
    Text2VideoRequest:
      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.
        prompt:
          anyOf:
            - type: string
            - type: 'null'
          description: >
            Positive text prompt. Cannot exceed 2500 characters.


            Required when `multi_shot` is `false` or when `shot_type` is
            `intelligence`.
          maxLength: 2500
        negative_prompt:
          anyOf:
            - type: string
            - type: 'null'
          description: Negative text prompt. Cannot exceed 2500 characters.
          maxLength: 2500
        multi_shot:
          type: boolean
          description: >
            Whether to generate a multi-shot video.

            - `true`: Enable multi-shot mode. `prompt` is ignored; use
            `shot_type` and `multi_prompt` instead.

            - `false`: Single-shot mode (default).
          default: false
        shot_type:
          anyOf:
            - type: string
            - type: 'null'
          description: |
            Shot segmentation method. Required when `multi_shot` is `true`.
            - `customize`: Custom shots, requires `multi_prompt`.
            - `intelligence`: AI-generated shots, requires `prompt`.
          enum:
            - customize
            - intelligence
        multi_prompt:
          anyOf:
            - type: array
              items:
                $ref: '#/components/schemas/ShotPrompt'
              minItems: 1
              maxItems: 6
            - type: 'null'
          description: >
            Shot prompt list for multi-shot videos.

            - Max 6 shots, min 1 shot.

            - Each shot prompt max 512 characters.

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

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


            Required when `multi_shot` is `true` and `shot_type` is `customize`.
        sound:
          type: string
          description: |
            Generate audio simultaneously when generating videos.
            - `on`: Enable audio generation
            - `off`: Disable audio generation (silent video)
          default: 'off'
          enum:
            - 'on'
            - 'off'
        mode:
          type: string
          description: |
            Video generation mode.

            `std`: Standard Mode (720P), cost-effective.
            `pro`: Professional Mode (1080P), higher quality video output.
          default: std
          enum:
            - std
            - pro
        aspect_ratio:
          type: string
          description: The aspect ratio of the generated video frame (width:height).
          default: '16:9'
          enum:
            - '16:9'
            - '9:16'
            - '1:1'
        duration:
          type: integer
          description: Video length in seconds (3-15).
          default: 5
        elements:
          anyOf:
            - type: array
              items:
                $ref: '#/components/schemas/ElementItem'
              minItems: 1
              maxItems: 3
            - type: 'null'
          description: |
            Element definitions. Max 3 elements.
            Provide frontal and reference images.
            Use `<<<element_1>>>` in prompt to reference elements.
    TaskCreatedResponse:
      type: object
      additionalProperties: true
      properties:
        task_info:
          $ref: '#/components/schemas/TaskInfoCreated'
    ShotPrompt:
      type: object
      additionalProperties: false
      description: A single shot configuration for multi-shot video generation.
      properties:
        prompt:
          type: string
          description: Text prompt for this shot. Max 512 characters.
          maxLength: 512
        duration:
          type: integer
          description: >-
            Duration of this shot in seconds. Must be >= 1 and <= total task
            duration.
      required:
        - prompt
        - duration
    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:
          anyOf:
            - type: array
              items:
                type: string
              minItems: 1
              maxItems: 3
            - type: 'null'
          description: >-
            Additional reference images from other angles (URL or Base64), up to
            3 images.
        reference_videos:
          anyOf:
            - type: array
              items:
                type: string
                format: uri
              minItems: 1
            - type: 'null'
          description: Reference video URLs.
    TaskInfoCreated:
      type: object
      additionalProperties: true
      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
      required:
        - id
        - status
        - created_at
        - updated_at
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````