> ## 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 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/image-to-video** — Kling 4.0 图生视频，使用起始帧和可选的结束帧。

## 功能

* 以一张起始帧生成最长 30 秒的图生视频。
* 用第二张图片实现首尾帧控制。
* 支持单段或多镜头提示词。
* 输出 720p 或 1080p，画面比例跟随输入图片。
* 输出带音轨。

## 输入模式

* **起始帧**：`image_urls` 传一张图片。
* **起始帧加结束帧**：`image_urls` 传两张图片，起始帧在前。

两种模式都可以使用单段 `prompt` 或 `multi_prompt` 镜头列表：

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

## 必填参数

* `image_urls`（string\[]）：一到两个公开 HTTP(S) 图片 URL。第一张为起始帧，可选的第二张为结束帧。
* `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`。

## 输出

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

## 示例

* **仅起始帧**：一张舞者图片，配上动作和音乐描述，720p，5 秒。
* **起始帧加结束帧，1080p，带回调**：以花苞和盛开的花作为首尾帧，生成 8 秒延时视频，并提供 `callback_url`。

## 注意事项

* 本 ID 的画面比例由输入图片决定，不支持 `aspect_ratio`，传入会返回 400。
* 要用更多参考图、参考视频或主体引导生成，请用 [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-image-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: >-
        传 `image_urls`，并且 `prompt` 与 `multi_prompt` 必须且只能传一个。不支持 `aspect_ratio`
        和参考类字段，传入会返回 400。图片 URL 必须是公开的 HTTP(S) 地址，且不能内嵌凭证。
      operationId: submit_kwaivgi_kling_v4_0_image_to_video
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - model
                - input
              properties:
                model:
                  type: string
                  description: 模型 ID，填 `kwaivgi/kling-v4.0/image-to-video`。
                  example: kwaivgi/kling-v4.0/image-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
                  required:
                    - image_urls
                  properties:
                    image_urls:
                      type: array
                      items:
                        type: string
                        format: uri
                      minItems: 1
                      maxItems: 2
                      example:
                        - https://example.com/start.png
                      description: 一到两个公开 HTTP(S) 图片 URL。第一张为起始帧，可选的第二张为结束帧。
                    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: 输出分辨率，决定计费档位。
                  additionalProperties: false
                  description: 生成参数。
            examples:
              start_frame:
                summary: 仅起始帧
                value:
                  model: kwaivgi/kling-v4.0/image-to-video
                  input:
                    image_urls:
                      - https://example.com/dancer.png
                    prompt: >-
                      The dancer spins and her red dress flares out, the camera
                      slowly circles her, soft piano music
                    duration: 5
                    resolution: 720p
              start_end_frame:
                summary: 起始帧加结束帧，1080p，带回调
                value:
                  model: kwaivgi/kling-v4.0/image-to-video
                  callback_url: https://your-domain.com/callback
                  input:
                    image_urls:
                      - https://example.com/bud.png
                      - https://example.com/flower.png
                    prompt: >-
                      Time-lapse: the bud slowly opens into a full flower as
                      morning light moves across the petals
                    duration: 8
                    resolution: 1080p
      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.