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

# Kling 4.0 文生视频

> Kling 4.0 文生视频 API 根据提示词或多镜头提示词生成 3–30 秒、720p 或 1080p 的视频，带立体声音轨，支持五种宽高比。

> [!TIP]
>
> 1. 提交后会返回 `task_id`。如果提供了 `callback_url`，当任务状态变为 `finished` 或 `failed` 时，系统会向 `callback_url` 发送 POST 请求。
> 2. 无论是否提供 `callback_url`，都可以通过统一的[查询任务状态](https://docs.vidgo.ai/zh/api-manual/task-management/status.md)接口获取结果。

Kling 4.0 文生视频根据单段提示词或多镜头脚本生成 3–30 秒、720p 或 1080p 的视频，输出带音轨。适合在没有素材图时制作一镜到底的广告、短剧场景和社交短视频。

Kling 4.0 是快手 Kling AI 的视频模型。Vidgo 提供四个 model ID：[文生视频](https://docs.vidgo.ai/zh/api-manual/video-series/kwaivgi-kling-v4-0-text-to-video.md)、[图生视频](https://docs.vidgo.ai/zh/api-manual/video-series/kwaivgi-kling-v4-0-image-to-video.md)、[参考生视频](https://docs.vidgo.ai/zh/api-manual/video-series/kwaivgi-kling-v4-0-reference-to-video.md)和[视频编辑](https://docs.vidgo.ai/zh/api-manual/video-series/kwaivgi-kling-v4-0-video-edit.md)。

## 模型

* **kwaivgi/kling-v4.0/text-to-video** — Kling 4.0 文生视频，3–30 秒，支持单段或多镜头提示词，720p 或 1080p。

## 功能

* 一次生成最长 30 秒的文生视频。
* 通过 `multi_prompt` 编写多镜头提示词，并为每个镜头设置时长。
* 输出 720p 或 1080p。
* 五种宽高比：`auto`、`16:9`、`9:16`、`1:1`、`21:9`。
* 输出带音轨，可在提示词中描述对白、音效或环境声。

## 输入模式

* **单段提示词**：传 `prompt`，可选传 `duration`。
* **多镜头**：传 `multi_prompt`，每个镜头一项。视频时长为各镜头时长之和；`duration` 可省略，或设为该总和。

## 必填参数

* `prompt`（string）**或** `multi_prompt`（object\[]）：必须且只能传一个。
  * `prompt`：去除首尾空白后 1–26,000 个字符。
  * `multi_prompt`：非空的镜头列表 `{prompt, duration?}`。每个镜头的 `prompt` 为 1–512 个字符，`duration` 为 `1`–`30` 的整数（默认 `5`）。各镜头时长之和须为 3–30 秒。

## 可选参数

* `duration`（integer）：输出时长，`3`–`30` 秒。默认 `5`；使用 `multi_prompt` 时默认为各镜头时长之和，显式传入的值必须与之相等。
* `resolution`（string）：`720p` 或 `1080p`。默认 `720p`。
* `aspect_ratio`（string）：`auto`、`16:9`、`9:16`、`1:1` 或 `21:9`。默认 `auto`。

## 输出

任务完成后，[查询任务状态](https://docs.vidgo.ai/zh/api-manual/task-management/status.md)和回调内容的 `files` 数组中会返回一个带音轨的 MP4 视频。

## 示例

* **单段提示词，10 秒**：一段包含场景、镜头和声音描述的 `prompt`，`16:9`，720p。
* **三镜头 1080p 序列，带回调**：`multi_prompt` 中三个镜头分别为 4、6、5 秒（共 15 秒），`9:16`，并提供 `callback_url`。

## 注意事项

* 同时传 `prompt` 和 `multi_prompt`，或两者都不传，会返回 400。使用 `multi_prompt` 时，`duration` 与镜头总时长不一致会返回 400。
* 本 ID 只接受文本。要从图片开始，请用 [Kling 4.0 图生视频](https://docs.vidgo.ai/zh/api-manual/video-series/kwaivgi-kling-v4-0-image-to-video.md)；要用图片、视频或主体引导生成，请用 [Kling 4.0 参考生视频](https://docs.vidgo.ai/zh/api-manual/video-series/kwaivgi-kling-v4-0-reference-to-video.md)。
* 上文未列出的字段会返回 400。`model` 和 `callback_url` 放在请求根级，不要放进 `input`。
* 积分在提交时预扣，取决于 `resolution` 和输出 `duration`。任务失败会全额退还。当前费率见[定价页](https://vidgo.ai/apis/api-pricing)。
* 仅支持 720p 或 1080p 输出；本模型没有 4K 或 HDR 档位，没有音频开关，也不支持 `seed`。


## OpenAPI

````yaml zh/api-manual/video-series/kwaivgi-kling-v4-0-text-to-video.json POST /api/generate/submit
openapi: 3.0.0
info:
  title: Vidgo API - Kling 4.0 文生视频
  description: Kling 4.0 文生视频 API 根据提示词或多镜头提示词生成 3–30 秒、720p 或 1080p 的视频，带立体声音轨，支持五种宽高比。
  version: 1.0.0
servers:
  - url: https://api.vidgo.ai
    description: 生产环境
security:
  - BearerAuth: []
paths:
  /api/generate/submit:
    post:
      tags:
        - Video Series
      summary: Kling 4.0 文生视频
      description: '`prompt` 与 `multi_prompt` 必须且只能传一个。只接受本模型列出的 `input` 字段，图片和视频字段会返回 400。'
      operationId: submit_kwaivgi_kling_v4_0_text_to_video
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - model
                - input
              properties:
                model:
                  type: string
                  description: 模型 ID，填 `kwaivgi/kling-v4.0/text-to-video`。
                  example: kwaivgi/kling-v4.0/text-to-video
                callback_url:
                  type: string
                  format: uri
                  nullable: true
                  description: >-
                    可选的公开 HTTP(S) 地址，任务变为 `finished` 或 `failed` 时会收到 POST
                    请求。建议使用 HTTPS。省略、传 `null` 或空字符串即不发送回调。
                  example: https://your-domain.com/callback
                input:
                  type: object
                  properties:
                    prompt:
                      type: string
                      minLength: 1
                      maxLength: 26000
                      description: >-
                        文本提示词，去除首尾空白后 1–26,000 个字符。`prompt` 与 `multi_prompt`
                        必须且只能传一个。
                    multi_prompt:
                      type: array
                      items:
                        type: object
                        required:
                          - prompt
                        properties:
                          prompt:
                            type: string
                            minLength: 1
                            maxLength: 512
                            description: 镜头提示词，1–512 个字符。
                          duration:
                            type: integer
                            minimum: 1
                            maximum: 30
                            default: 5
                            description: 镜头时长，单位秒（整数）。
                        additionalProperties: false
                        description: 一个镜头。
                      minItems: 1
                      description: >-
                        多镜头提示词：非空的镜头列表，每个镜头有自己的 `prompt` 和可选的
                        `duration`。各镜头时长之和须为 3–30 秒。`prompt` 与 `multi_prompt`
                        必须且只能传一个。
                    duration:
                      type: integer
                      minimum: 3
                      maximum: 30
                      default: 5
                      description: 输出时长，单位秒（整数）。使用 `multi_prompt` 时默认为各镜头时长之和，若传入则必须与之相等。
                    resolution:
                      type: string
                      enum:
                        - 720p
                        - 1080p
                      default: 720p
                      description: 输出分辨率，决定计费档位。
                    aspect_ratio:
                      type: string
                      enum:
                        - auto
                        - '16:9'
                        - '9:16'
                        - '1:1'
                        - '21:9'
                      default: auto
                      description: 输出宽高比。`auto` 由模型决定。
                  additionalProperties: false
                  description: 生成参数。
            examples:
              single_prompt:
                summary: 单段提示词，10 秒
                value:
                  model: kwaivgi/kling-v4.0/text-to-video
                  input:
                    prompt: >-
                      A lighthouse keeper climbs the spiral stairs at night,
                      lantern swinging, storm waves crashing outside, handheld
                      camera, the wind howling
                    duration: 10
                    resolution: 720p
                    aspect_ratio: '16:9'
              multi_shot:
                summary: 三镜头 1080p 序列，带回调
                value:
                  model: kwaivgi/kling-v4.0/text-to-video
                  callback_url: https://your-domain.com/callback
                  input:
                    multi_prompt:
                      - prompt: >-
                          Wide shot: a food truck opens its shutter at sunrise
                          on an empty street
                        duration: 4
                      - prompt: >-
                          Close-up: the chef flips noodles in a flaming wok,
                          sizzling sound
                        duration: 6
                      - prompt: >-
                          Medium shot: a line of customers laughs as the first
                          bowl is handed out
                        duration: 5
                    resolution: 1080p
                    aspect_ratio: '9:16'
      responses:
        '200':
          description: 任务已提交
          content:
            application/json:
              schema:
                type: object
                required:
                  - code
                  - data
                properties:
                  code:
                    type: integer
                    enum:
                      - 200
                    description: HTTP 状态码。
                  data:
                    type: object
                    required:
                      - task_id
                      - status
                      - created_time
                    properties:
                      task_id:
                        type: string
                        description: >-
                          任务
                          ID，用于[查询任务状态](/zh/api-manual/task-management/status)。
                      status:
                        type: string
                        enum:
                          - not_started
                        description: 任务的初始状态。
                      created_time:
                        type: string
                        format: date-time
                        description: 任务创建时间（ISO 8601）。
              example:
                code: 200
                data:
                  task_id: task-unified-1762160000-abc123
                  status: not_started
                  created_time: '2026-11-03T10:30:00'
        '400':
          description: 输入无效、字段不受支持、媒体无法访问或积分不足
          content:
            application/json:
              schema:
                type: object
                required:
                  - detail
                properties:
                  detail:
                    oneOf:
                      - type: string
                      - type: object
                        additionalProperties: true
                      - type: array
                        items: {}
                    description: 错误信息。
        '401':
          description: 凭证无效
          content:
            application/json:
              schema:
                type: object
                required:
                  - detail
                properties:
                  detail:
                    oneOf:
                      - type: string
                      - type: object
                        additionalProperties: true
                      - type: array
                        items: {}
                    description: 错误信息。
        '403':
          description: 拒绝访问
          content:
            application/json:
              schema:
                type: object
                required:
                  - detail
                properties:
                  detail:
                    oneOf:
                      - type: string
                      - type: object
                        additionalProperties: true
                      - type: array
                        items: {}
                    description: 错误信息。
        '404':
          description: 模型未知或已停用
          content:
            application/json:
              schema:
                type: object
                required:
                  - detail
                properties:
                  detail:
                    oneOf:
                      - type: string
                      - type: object
                        additionalProperties: true
                      - type: array
                        items: {}
                    description: 错误信息。
        '408':
          description: 请求超时
          content:
            text/plain:
              schema:
                type: string
              example: Request timeout
        '422':
          description: JSON 无效或请求体不是对象
          content:
            application/json:
              schema:
                type: object
                required:
                  - detail
                properties:
                  detail:
                    oneOf:
                      - type: string
                      - type: object
                        additionalProperties: true
                      - type: array
                        items: {}
                    description: 错误信息。
        '429':
          description: 超出速率限制或 API Key 积分限额
          content:
            application/json:
              schema:
                type: object
                required:
                  - detail
                properties:
                  detail:
                    oneOf:
                      - type: string
                      - type: object
                        additionalProperties: true
                      - type: array
                        items: {}
                    description: 错误信息。
        '500':
          description: 内部错误
          content:
            application/json:
              schema:
                type: object
                required:
                  - detail
                properties:
                  detail:
                    oneOf:
                      - type: string
                      - type: object
                        additionalProperties: true
                      - type: array
                        items: {}
                    description: 错误信息。
        '502':
          description: 无法创建上游生成任务
          content:
            application/json:
              schema:
                type: object
                required:
                  - detail
                properties:
                  detail:
                    oneOf:
                      - type: string
                      - type: object
                        additionalProperties: true
                      - type: array
                        items: {}
                    description: 错误信息。
        '503':
          description: 所请求的模型暂时不可用
          content:
            application/json:
              schema:
                type: object
                required:
                  - detail
                properties:
                  detail:
                    oneOf:
                      - type: string
                      - type: object
                        additionalProperties: true
                      - type: array
                        items: {}
                    description: 错误信息。
components:
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API Key
      description: >-
        所有 API 接口都需要 Bearer Token 认证


        获取 API Key：


        进入 **仪表盘 → API 密钥**（[API Key
        管理页面](https://vidgo.ai/apis/dashboard/api-key)）获取你的 API Key


        在请求头中添加：


        ```

        Authorization: Bearer VIDGO_API_KEY

        ```

````

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