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

# Kling 视频生成

> 使用 Crazyrouter 按官方 Kling 协议进行标准视频和 Omni 视频生成

> 更新日期：2026-06-06

# Kling 视频生成

Crazyrouter 当前对客公开的 Kling 视频族按官方协议拆成两条模型家族：

| 路由族           | 提交路径                                                                                                             | 查询路径                                                                                                                                        | 当前公开模型                                     |
| ------------- | ---------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------ |
| 标准 Kling 视频   | `POST /kling/v1/videos/text2video` `POST /kling/v1/videos/image2video` `POST /kling/v1/videos/multi-image2video` | `GET /kling/v1/videos/text2video/{task_id}` `GET /kling/v1/videos/image2video/{task_id}` `GET /kling/v1/videos/multi-image2video/{task_id}` | `kling-v2-5-turbo` `kling-v2-6` `kling-v3` |
| Kling Omni 视频 | `POST /kling/v1/videos/omni-video`                                                                               | `GET /kling/v1/videos/omni-video/{task_id}`                                                                                                 | `kling-v3` `kling-v3`                      |

所有任务都是异步的。查询结果会优先返回 Crazyrouter 归档地址，例如 `https://media.crazyrouter.com/...`。

## 首批 5 模型与能力

| 模型                 | 路由族           | 当前对客能力                                     | 验证状态   | 计费维度摘要                                    |
| ------------------ | ------------- | ------------------------------------------ | ------ | ----------------------------------------- |
| `kling-v2-5-turbo` | 标准 Kling 视频   | 文生视频、图生视频、首尾帧、参考图生视频                       | `Beta` | `mode + duration`                         |
| `kling-v2-6`       | 标准 Kling 视频   | 文生视频、图生视频、首尾帧、参考图生视频、声音、voice control、动作控制 | `Beta` | `mode + duration + sound + voice control` |
| `kling-v3`         | 标准 Kling 视频   | 文生视频、图生视频、首尾帧、参考图生视频、动作控制、标准路由元素引用         | `Beta` | `mode + duration + sound`；动作控制单独计费桶       |
| `kling-v3`         | Kling Omni 视频 | Omni 视频、图片/元素/视频/声音引用                      | `Beta` | `mode + duration + sound + video input`   |

<Note>
  对客能力与字段口径以官方 Kling 协议为主；Crazyrouter 只把第三方渠道当作内部 provider，不把第三方协议暴露给客户。价格以实时 Pricing 页面为准。
</Note>

<Note>
  当前 Kling 首批 5 模型已经按官方字段与 pricing 矩阵对齐，但能力状态统一先标记为 `Beta`。等上线后一段时间，我们会结合脚本统计和生产日志逐项转正。
</Note>

## 标准 Kling 视频

```
POST /kling/v1/videos/text2video
POST /kling/v1/videos/image2video
POST /kling/v1/videos/multi-image2video
```

### 当前推荐模型

* `kling-v2-5-turbo`
* `kling-v2-6`
* `kling-v3`

### 文生视频参数

| 参数                 | 类型               | 必填   | 说明                                             |
| ------------------ | ---------------- | ---- | ---------------------------------------------- |
| `model_name`       | string           | 是    | 标准 Kling 视频模型                                  |
| `prompt`           | string           | 是    | 视频描述提示词                                        |
| `image_urls`       | array\[string]   | 否    | 官方首帧 / 首尾帧输入。引用 `@element_name` 时建议显式传入        |
| `negative_prompt`  | string           | 否    | 负面提示词                                          |
| `duration`         | string/integer   | 否    | 常用 `5` 或 `10`                                  |
| `aspect_ratio`     | string           | 否    | 如 `16:9`、`9:16`、`1:1`                          |
| `mode`             | string           | 否    | 生成模式，如 `std`、`pro`                             |
| `sound`            | string / boolean | 否    | 推荐使用官方值 `on` / `off`                           |
| `multi_shots`      | boolean          | 否    | 官方多镜头开关；兼容别名 `multi_shot`                      |
| `multi_prompt`     | array            | 条件必填 | 多镜头描述，单任务最多 5 段                                |
| `kling_elements`   | array            | 否    | `kling-v3` 标准路由元素引用，配合提示词中的 `@element_name` 使用 |
| `cfg_scale`        | number           | 否    | 引导强度                                           |
| `camera_control`   | object           | 否    | 镜头控制参数                                         |
| `callback_url`     | string           | 否    | 回调地址                                           |
| `external_task_id` | string           | 否    | 业务侧自定义任务 ID                                    |

### 请求示例

<CodeGroup>
  ```bash cURL theme={null}
  curl -X POST https://api.crazyrouter.com/kling/v1/videos/text2video \
    -H "Content-Type: application/json" \
    -H "Authorization: Bearer YOUR_API_KEY" \
    -d '{
      "model_name": "kling-v2-5-turbo",
      "prompt": "一只猫咪在花园里追蝴蝶，阳光明媚，电影级画质",
      "negative_prompt": "模糊, 低质量, 变形",
      "duration": "5",
      "aspect_ratio": "16:9",
      "mode": "std"
    }'
  ```

  ```python Python theme={null}
  import requests

  response = requests.post(
      "https://api.crazyrouter.com/kling/v1/videos/text2video",
      headers={
          "Content-Type": "application/json",
          "Authorization": "Bearer YOUR_API_KEY"
      },
      json={
          "model_name": "kling-v2-5-turbo",
          "prompt": "一只猫咪在花园里追蝴蝶，阳光明媚",
          "duration": "5",
          "aspect_ratio": "16:9",
          "mode": "std"
      }
  )

  print(response.json())
  ```
</CodeGroup>

### 提交成功响应示例

```json theme={null}
{
  "code": "success",
  "message": "",
  "data": {
    "id": "866168216002236456",
    "task_id": "866168216002236456",
    "model": "kling-v2-5-turbo",
    "status": "queued"
  }
}
```

***

### 图生视频参数

| 参数                 | 类型               | 必填   | 说明                                    |
| ------------------ | ---------------- | ---- | ------------------------------------- |
| `model_name`       | string           | 是    | 标准 Kling 视频模型                         |
| `image_urls`       | array\[string]   | 推荐   | 官方首帧 / 首尾帧输入；长度 `1` 表示首帧，长度 `2` 表示首尾帧 |
| `image`            | string           | 兼容   | 兼容别名，等价于 `image_urls[0]`              |
| `prompt`           | string           | 否    | 动作或镜头描述                               |
| `image_tail`       | string           | 兼容   | 兼容别名，等价于 `image_urls[1]`              |
| `negative_prompt`  | string           | 否    | 负面提示词                                 |
| `duration`         | string/integer   | 否    | 常用 `5` 或 `10`                         |
| `aspect_ratio`     | string           | 否    | 输出比例                                  |
| `mode`             | string           | 否    | 生成模式                                  |
| `sound`            | string / boolean | 否    | 推荐使用官方值 `on` / `off`                  |
| `multi_shots`      | boolean          | 否    | 官方多镜头开关；兼容别名 `multi_shot`             |
| `multi_prompt`     | array            | 条件必填 | 多镜头描述                                 |
| `kling_elements`   | array            | 否    | `kling-v3` 标准路由元素引用                   |
| `cfg_scale`        | number           | 否    | 引导强度                                  |
| `camera_control`   | object           | 否    | 镜头控制参数                                |
| `callback_url`     | string           | 否    | 回调地址                                  |
| `external_task_id` | string           | 否    | 业务侧自定义任务 ID                           |

### 图生视频示例

```bash cURL theme={null}
curl -X POST https://api.crazyrouter.com/kling/v1/videos/image2video \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
    "model_name": "kling-v3",
    "prompt": "图片中的人物开始微笑并缓缓转头",
    "image": "https://example.com/portrait.jpg",
    "duration": "5",
    "mode": "std"
  }'
```

官方优先字段是 `image_urls`。`image + image_tail` 仍可继续使用，会被当作首帧 / 尾帧兼容别名。视频任务是异步的，请通过 [任务查询](/video/kling/query) 获取终态结果。

### 本地参考图上传后生成视频

如果参考图在本地，先使用临时图床获取公网 URL，再传给 Kling。临时图片默认保存 72 小时，存储期内不单独按天收费。

```bash cURL theme={null}
UPLOAD_RESPONSE=$(curl -sS -X POST https://api.crazyrouter.com/v1/files/uploads \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F "file=@./portrait.png" \
  -F "purpose=model_input")

IMAGE_URL=$(python -c "import json,sys; print(json.load(sys.stdin)['url'])" <<< "$UPLOAD_RESPONSE")

curl -X POST https://api.crazyrouter.com/kling/v1/videos/image2video \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d "{
    \"model_name\": \"kling-v3\",
    \"prompt\": \"图片中的人物缓缓转头并微笑，镜头轻微推进，电影级光影\",
    \"image_urls\": [\"$IMAGE_URL\"],
    \"duration\": \"5\",
    \"mode\": \"std\"
  }"
```

***

### 参考图生视频参数

```
POST /kling/v1/videos/multi-image2video
```

该路径对应标准 Kling 官方 `Reference` 能力。它和 `image2video` 不同，不使用 `image` / `image_tail`，而是使用官方 `image_list` 作为参考素材输入。

| 参数                 | 类型               | 必填   | 说明                        |
| ------------------ | ---------------- | ---- | ------------------------- |
| `model_name`       | string           | 是    | 标准 Kling 视频模型             |
| `prompt`           | string           | 是    | 参考图一致性与动作描述               |
| `image_list`       | array            | 是    | 官方参考图列表                   |
| `negative_prompt`  | string           | 否    | 负面提示词                     |
| `duration`         | string/integer   | 否    | 常用 `5` 或 `10`             |
| `aspect_ratio`     | string           | 否    | 输出比例                      |
| `mode`             | string           | 否    | 生成模式                      |
| `sound`            | string / boolean | 否    | 推荐使用官方值 `on` / `off`      |
| `multi_shots`      | boolean          | 否    | 官方多镜头开关；兼容别名 `multi_shot` |
| `multi_prompt`     | array            | 条件必填 | 多镜头描述                     |
| `cfg_scale`        | number           | 否    | 引导强度                      |
| `camera_control`   | object           | 否    | 镜头控制参数                    |
| `callback_url`     | string           | 否    | 回调地址                      |
| `external_task_id` | string           | 否    | 业务侧自定义任务 ID               |

### 参考图生视频示例

```bash cURL theme={null}
curl -X POST https://api.crazyrouter.com/kling/v1/videos/multi-image2video \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
    "model_name": "kling-v3",
    "prompt": "保持同一只柴犬的形象，在草地上向前奔跑",
    "duration": "5",
    "aspect_ratio": "16:9",
    "mode": "pro",
    "image_list": [
      {
        "image_id": 1,
        "image_url": "https://example.com/reference-1.png"
      },
      {
        "image_id": 2,
        "image_url": "https://example.com/reference-2.png"
      }
    ]
  }'
```

<Note>
  `multi-image2video` 是标准 Kling 族的参考图能力入口；如果你的输入是首帧或首尾帧，请继续使用 `image2video`。查询该任务请使用 `GET /kling/v1/videos/multi-image2video/{task_id}`。
</Note>

***

## Kling Omni 视频

```
POST /kling/v1/videos/omni-video
```

### 当前公开模型

* `kling-v3`

### 请求参数

| 参数                 | 类型             | 必填   | 说明                                                                         |
| ------------------ | -------------- | ---- | -------------------------------------------------------------------------- |
| `model_name`       | string         | 是    | 仅支持 `kling-v3`                                                             |
| `prompt`           | string         | 是    | 官方 Omni 提示词，可引用 `image_list`、`element_list`、`video_list`、`voice_list` 中的对象 |
| `sound`            | string         | 否    | 官方值使用 `on` / `off`                                                         |
| `duration`         | string/integer | 否    | 常用 `5`，具体上限以对应模型官方文档为准                                                     |
| `aspect_ratio`     | string         | 否    | 如 `16:9`、`9:16`、`1:1`                                                      |
| `mode`             | string         | 否    | 生成模式，如 `std`、`pro`                                                         |
| `multi_shots`      | boolean        | 否    | 官方多镜头开关；兼容别名 `multi_shot`                                                  |
| `multi_prompt`     | array          | 条件必填 | 多镜头描述                                                                      |
| `image_list`       | array          | 否    | 官方图片参考列表                                                                   |
| `element_list`     | array          | 否    | 官方元素参考列表                                                                   |
| `video_list`       | array          | 否    | 官方视频参考列表                                                                   |
| `voice_list`       | array          | 否    | 官方声音参考列表                                                                   |
| `callback_url`     | string         | 否    | 回调地址                                                                       |
| `external_task_id` | string         | 否    | 业务侧自定义任务 ID                                                                |

### Omni 请求示例

```bash cURL theme={null}
curl -X POST https://api.crazyrouter.com/kling/v1/videos/omni-video \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
    "model_name": "kling-v3",
    "prompt": "<<<image_1>>> 在雨夜巷子里向镜头走来",
    "sound": "on",
    "duration": "5",
    "aspect_ratio": "16:9",
    "mode": "pro",
    "image_list": [
      {
        "image_id": 1,
        "image_url": "https://example.com/reference.png"
      }
    ]
  }'
```

<Note>
  Omni 路由推荐使用官方 `element_list`，同时兼容 `kling_elements` 别名。若要查询任务，请使用与提交路径同族的 `GET /kling/v1/videos/omni-video/{task_id}`。
</Note>
