> ## 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 Text-to-Video kling-v3

> Submit a Kling text-to-video task via `/kling/v1/videos/text2video`. The request body is forwarded to the Kling official API after model mapping and public task ID injection.



## OpenAPI

````yaml api-reference/en/zmodelVideo/kling/kling-v3-text2video.json POST /kling/v1/videos/text2video
openapi: 3.0.1
info:
  title: Kling Text-to-Video Task - Submit Task (kling-v3)
  version: 1.0.0
  description: >-
    Submit a Kling text-to-video task via `/kling/v1/videos/text2video`. Uses
    model kling-v3.
servers:
  - url: https://api.powertokens.ai
    description: ''
security: []
tags:
  - name: Kling
    description: Kling native async task endpoints
paths:
  /kling/v1/videos/text2video:
    post:
      tags:
        - Kling
      summary: Kling Text-to-Video Task (kling-v3)
      description: >-
        Submit a Kling text-to-video task via `/kling/v1/videos/text2video`. The
        request body is forwarded to the Kling official API after model mapping
        and public task ID injection.
      operationId: createKlingV3Text2Video
      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-v3
                  prompt: >-
                    A cute little rabbit wearing glasses, sitting at a table,
                    reading a newspaper, with a cup of cappuccino on the table
                  negative_prompt: ''
                  duration: '5'
                  mode: pro
                  sound: 'on'
                  aspect_ratio: '1:1'
                  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-v3
        multi_shot:
          type: boolean
          default: false
          description: >-
            Whether to generate a multi-shot video.

            When this parameter is true, the prompt parameter is invalid and
            first/last frame video generation is not supported.

            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: >-
            Positive text prompt


            ```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>>>

            ```


            - Must not exceed 2500 characters

            - Use <<<voice_1>>> to specify a voice, index matching voice_list;
            up to 2 voices; sound must be 'on' when specifying voices; keep
            syntax simple, e.g.: A man<<<voice_1>>>says: "Hello"

            - When voice_list is not empty and prompt references a voice ID,
            billing is based on 'with specified voice'

            - Must not be empty when multi_shot is false or shot_type is
            intelligence.
          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.


            Use key:value format:


            ```json

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

            ```


            Required when multi_shot is true and shot_type is customize.
          minItems: 1
          maxItems: 6
          x-valid-when:
            multi_shot:
              - true
        negative_prompt:
          type: string
          description: >-
            Negative text prompt

            - Must not exceed 2500 characters

            - It is recommended to supplement negative prompt information
            through negative sentences in the positive prompt
          maxLength: 2500
        sound:
          type: string
          enum:
            - 'on'
            - 'off'
          default: 'off'
          description: Whether to also generate audio when creating the video
        cfg_scale:
          type: number
          minimum: 0
          maximum: 1
          default: 0.5
          description: >-
            Creative freedom of video generation; higher values result in less
            model freedom
        mode:
          type: string
          enum:
            - std
            - pro
            - 4k
          default: std
          x-options:
            - label: 720P
              value: std
            - label: 1080P
              value: pro
            - label: 4K
              value: 4k
          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.

            - 4k: 4K mode, high quality (same as pro), better video quality,
            output video resolution 4K.
        aspect_ratio:
          type: string
          description: Aspect ratio of generated video frames (width:height)
          enum:
            - '1:1'
            - '16:9'
            - '9:16'
          default: '16:9'
        duration:
          type: string
          description: Video duration in seconds.
          enum:
            - '3'
            - '4'
            - '5'
            - '6'
            - '7'
            - '8'
            - '9'
            - '10'
            - '11'
            - '12'
            - '13'
            - '14'
            - '15'
          default: '5'
        watermark_info:
          type: object
          description: |-
            Whether to also generate a watermarked result.
            - Defined via the enabled parameter:

            ```json
             "watermark_info": { "enabled": boolean }
            ```
            - true to generate, false to not generate
            - Custom watermarks are not currently supported
          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_info:
              type: object
              description: Task creation parameter information.
              properties:
                external_task_id:
                  type: string
                  description: Client-provided custom task ID.
            task_status:
              type: string
              description: Task status.
              enum:
                - submitted
                - processing
                - succeed
                - failed
              example: submitted
            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.'

````