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

# kling-video-o1

> Kling O1 可灵旧版 Omni 视频生成、编辑与任务查询 API。

Kling O1 使用可灵**旧版 Omni 视频 API**。同一个接口支持文生视频、图片与主体参考、视频编辑、视频参考续写以及首尾帧生成。

<Note>
  模型名称固定为 `kling-video-o1`。支持 3–10 秒、720p（`std`）和 1080p（`pro`）；不支持多镜头、4K 或原生音频生成。
</Note>

<Tabs>
  <Tab title="视频生成">
    ## 创建任务

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

    <div className="kling-api-example-panel">
      ```bash cURL theme={null}
      curl --request POST \
        --url https://www.anyfast.ai/kling/v1/videos/omni-video \
        --header 'Authorization: Bearer YOUR_API_KEY' \
        --header 'Content-Type: application/json' \
        --data '{
          "model_name": "kling-o1",
          "prompt": "<<<image_1>>> 中的人物走进雨后的霓虹街道，电影感跟拍",
          "image_list": [
            {"image_url": "https://example.com/character.png"}
          ],
          "mode": "pro",
          "aspect_ratio": "16:9",
          "duration": "7",
          "sound": "off"
        }'
      ```

      ```json 200 theme={null}
      {
        "id": "860260753860210752",
        "task_id": "860260753860210752",
        "object": "video",
        "model": "kling-video-o1",
        "status": "",
        "progress": 0,
        "created_at": 1773130665
      }
      ```
    </div>

    ## 请求头

    <ParamField header="Authorization" type="string" required>
      Bearer 身份验证，格式为 `Bearer YOUR_API_KEY`。
    </ParamField>

    <ParamField header="Content-Type" type="string" default="application/json" required>
      请求数据格式，固定为 `application/json`。
    </ParamField>

    ## 请求参数

    <ParamField body="model_name" type="string" required>
      模型名称，固定为 `kling-o1`。
    </ParamField>

    <ParamField body="prompt" type="string" required>
      生成或编辑指令，最长 2500 字符。使用 `<<<image_1>>>`、`<<<element_1>>>` 和 `<<<video_1>>>` 引用对应数组中的素材。
    </ParamField>

    <ParamField body="image_list" type="object[]">
      参考图片列表，也用于指定首帧和尾帧。
    </ParamField>

    <ParamField body="image_list[].image_url" type="string" required>
      图片 URL 或不带 `data:image/...;base64,` 前缀的原始 Base64。
    </ParamField>

    <ParamField body="image_list[].type" type="string">
      帧类型，可选 `first_frame` 或 `end_frame`。尾帧必须与首帧同时传入。
    </ParamField>

    <ParamField body="element_list" type="object[]">
      旧版主体列表。提示词中按数组顺序使用 `<<<element_1>>>`、`<<<element_2>>>` 引用。
    </ParamField>

    <ParamField body="element_list[].element_id" type="integer" required>
      旧版主体管理接口返回的主体 ID。
    </ParamField>

    <ParamField body="video_list" type="object[]">
      参考视频列表，最多一段。可用于直接编辑源视频，或参考其内容、动作、风格和运镜。
    </ParamField>

    <ParamField body="video_list[].video_url" type="string" required>
      可公开访问的视频 URL。仅支持 URL，不支持 Base64。
    </ParamField>

    <ParamField body="video_list[].refer_type" type="string" default="base">
      `base` 表示直接编辑源视频；`feature` 表示参考视频特征生成新视频。
    </ParamField>

    <ParamField body="video_list[].keep_original_sound" type="string" default="no">
      是否保留参考视频原声，可选 `yes` 或 `no`。
    </ParamField>

    <ParamField body="mode" type="string" default="std">
      输出模式。`std` 为 720p，`pro` 为 1080p。Kling O1 不支持 `4k`。
    </ParamField>

    <ParamField body="aspect_ratio" type="string" default="16:9">
      画面比例，可选 `16:9`、`9:16` 或 `1:1`。没有首帧或参考视频时需要设置；视频编辑不支持该参数。
    </ParamField>

    <ParamField body="duration" type="string" default="5">
      视频时长，支持 3–10 秒。`refer_type` 为 `base` 时该参数不生效，输出时长跟随参考视频。
    </ParamField>

    <ParamField body="sound" type="string" default="off">
      Kling O1 不支持原生音频生成，请使用 `off`。传入 `video_list` 时必须为 `off`。
    </ParamField>

    <ParamField body="watermark_info" type="object">
      平台水印配置。
    </ParamField>

    <ParamField body="watermark_info.enabled" type="boolean" default={false}>
      是否添加平台水印。
    </ParamField>

    ## 参数规则

    ### 多模态引用

    * 图片、主体和视频分别使用 `<<<image_N>>>`、`<<<element_N>>>`、`<<<video_N>>>` 引用，编号从 1 开始并与数组顺序对应。
    * Kling O1 为单镜头模型，不支持 `multi_shot`、`shot_type` 或 `multi_prompt`。
    * 首尾帧模式最多传入两张图片，尾帧必须与首帧同时使用，并且不能同时引用主体。

    ### 图片要求

    * 支持 JPG、JPEG、PNG；单张不超过 10 MB。
    * 宽高均不得小于 300 px，宽高比范围为 1:2.5 至 2.5:1。
    * 支持可公开访问的 URL，或不带 data URI 前缀的原始 Base64。

    ### 视频要求

    * 支持 MP4、MOV，最多一段视频且不超过 200 MB。
    * 视频至少 3 秒，宽高范围 720–2160 px，帧率 24–60 fps，宽高比范围为 1:2.5 至 2.5:1。
    * `refer_type: "base"` 用于直接编辑源视频，不能与首尾帧同时使用，`duration` 不生效。
    * `refer_type: "feature"` 用于参考内容、动作、风格或运镜，可在提示词中要求生成上一镜或下一镜。
    * 传入视频时必须将 `sound` 设为 `off`；通过 `keep_original_sound` 决定是否保留源视频原声。

    ### 素材数量

    | 场景                  | 数量限制                            |
    | ------------------- | ------------------------------- |
    | 无参考视频，仅使用多图主体       | 参考图片与多图主体的图片总数不超过 7             |
    | 无参考视频，仅使用视频主体       | 视频主体不超过 3 个                     |
    | 无参考视频，同时使用视频主体和多图主体 | 视频主体不超过 3 个；参考图片与多图主体的图片总数不超过 4 |
    | 有参考视频，仅使用多图主体       | 参考图片与多图主体的图片总数不超过 4             |
    | 有参考视频，仅使用视频主体       | 视频主体不超过 1 个                     |

    ## 创建响应

    <ResponseField name="id" type="string">AnyFast 任务 ID。</ResponseField>
    <ResponseField name="task_id" type="string">任务 ID，与 `id` 相同。</ResponseField>
    <ResponseField name="object" type="string">对象类型，固定为 `video`。</ResponseField>
    <ResponseField name="model" type="string">实际调用的模型。</ResponseField>
    <ResponseField name="status" type="string">初始任务状态。</ResponseField>
    <ResponseField name="progress" type="integer">初始任务进度。</ResponseField>
    <ResponseField name="created_at" type="integer">任务创建 Unix 时间戳。</ResponseField>

    ## 更多场景调用示例

    ### 文生视频

    ```json theme={null}
    {
      "model_name": "kling-o1",
      "prompt": "一艘帆船穿过金色晨雾，航拍镜头缓慢前进",
      "mode": "pro",
      "aspect_ratio": "16:9",
      "duration": "6",
      "sound": "off"
    }
    ```

    ### 图片与主体参考

    ```json theme={null}
    {
      "model_name": "kling-o1",
      "prompt": "让 <<<image_1>>> 中的人物穿着 <<<element_1>>> 的服装走进咖啡馆",
      "image_list": [
        {"image_url": "https://example.com/character.png"}
      ],
      "element_list": [
        {"element_id": 123456789}
      ],
      "mode": "pro",
      "aspect_ratio": "16:9",
      "duration": "5",
      "sound": "off"
    }
    ```

    ### 视频编辑

    ```json theme={null}
    {
      "model_name": "kling-o1",
      "prompt": "将 <<<video_1>>> 的天气改为下雪，并把画面调整为电影色调",
      "video_list": [
        {
          "video_url": "https://example.com/source.mp4",
          "refer_type": "base",
          "keep_original_sound": "yes"
        }
      ],
      "mode": "pro",
      "sound": "off"
    }
    ```

    ### 视频参考与续写

    ```json theme={null}
    {
      "model_name": "kling-o1",
      "prompt": "参考 <<<video_1>>> 的人物动作和运镜，生成紧接其后的下一镜",
      "video_list": [
        {
          "video_url": "https://example.com/reference.mp4",
          "refer_type": "feature",
          "keep_original_sound": "no"
        }
      ],
      "mode": "pro",
      "aspect_ratio": "16:9",
      "duration": "5",
      "sound": "off"
    }
    ```

    ### 首尾帧生成

    ```json theme={null}
    {
      "model_name": "kling-o1",
      "prompt": "镜头从清晨自然过渡到夜晚，保持建筑结构一致",
      "image_list": [
        {"image_url": "https://example.com/first.png", "type": "first_frame"},
        {"image_url": "https://example.com/end.png", "type": "end_frame"}
      ],
      "mode": "pro",
      "duration": "6",
      "sound": "off"
    }
    ```

    ## FAQ

    ### 支持哪些输入素材？

    * 图片最多 7 张，格式为 JPG/JPEG/PNG，宽高均不小于 300 px，单张不超过 10 MB。
    * 视频最多 1 段，格式为 MP4/MOV，时长至少 3 秒、分辨率不超过 2K、文件不超过 200 MB。
    * 多图主体最多使用 4 张不同角度的图片建立。
    * 有参考视频时，图片与主体合计最多 4 个；没有参考视频时合计最多 7 个。

    ### 如何在提示词中引用素材？

    按数组顺序使用 `<<<image_1>>>`、`<<<element_1>>>` 和 `<<<video_1>>>`。编号必须与 `image_list`、`element_list`、`video_list` 中的顺序一致。

    ### 首尾帧和视频编辑有什么限制？

    仅使用尾帧不受支持。尾帧必须与首帧同时提供；首尾帧模式不能同时使用主体。`refer_type: "base"` 的视频编辑也不能使用首尾帧，且输出时长跟随源视频。

    ### 支持哪些清晰度和时长？

    `std` 为 720p，`pro` 为 1080p；不支持 4K。输出时长支持 3–10 秒，视频编辑场景除外。

    ## 查询任务（单个）

    `GET /kling/v1/videos/omni-video/{task_id}`

    ```bash cURL theme={null}
    curl --request GET \
      --url https://www.anyfast.ai/kling/v1/videos/omni-video/860260753860210752 \
      --header 'Authorization: Bearer YOUR_API_KEY'
    ```

    <ParamField path="task_id" type="string" required>
      创建任务接口返回的任务 ID。
    </ParamField>

    ### 响应字段

    <ResponseField name="code" type="integer">业务状态码；成功时为 `0`。</ResponseField>
    <ResponseField name="message" type="string">响应消息。</ResponseField>
    <ResponseField name="request_id" type="string">请求追踪 ID。</ResponseField>
    <ResponseField name="data.task_id" type="string">任务 ID。</ResponseField>
    <ResponseField name="data.task_status" type="string">`submitted`、`processing`、`succeed` 或 `failed`。</ResponseField>
    <ResponseField name="data.task_status_msg" type="string">任务失败或状态说明。</ResponseField>
    <ResponseField name="data.task_result.videos" type="object[]">成功生成的视频列表。</ResponseField>
    <ResponseField name="data.task_result.videos[].id" type="string">视频 ID。</ResponseField>
    <ResponseField name="data.task_result.videos[].url" type="string">无水印视频链接。</ResponseField>
    <ResponseField name="data.task_result.videos[].watermark_url" type="string">带水印视频链接。</ResponseField>
    <ResponseField name="data.task_result.videos[].duration" type="string">实际视频时长。</ResponseField>
    <ResponseField name="data.watermark_info.enabled" type="boolean">是否启用平台水印。</ResponseField>
    <ResponseField name="data.final_unit_deduction" type="string">最终扣减的资源单位。</ResponseField>
    <ResponseField name="data.final_balance_deduction.quota" type="string">最终扣减的余额额度。</ResponseField>
    <ResponseField name="data.created_at" type="integer">任务创建时间戳，毫秒。</ResponseField>
    <ResponseField name="data.updated_at" type="integer">任务更新时间戳，毫秒。</ResponseField>

    ```json 200 theme={null}
    {
      "code": 0,
      "message": "SUCCEED",
      "request_id": "req_123456789",
      "data": {
        "task_id": "860260753860210752",
        "task_status": "succeed",
        "task_status_msg": "",
        "task_result": {
          "videos": [
            {
              "id": "video_123456789",
              "url": "https://example.com/generated.mp4",
              "watermark_url": "https://example.com/generated-watermark.mp4",
              "duration": "7"
            }
          ]
        },
        "watermark_info": {"enabled": false},
        "final_unit_deduction": "1",
        "final_balance_deduction": {"quota": "0"},
        "created_at": 1773130665000,
        "updated_at": 1773130765000
      }
    }
    ```

    <Warning>
      可灵会在生成后 30 天删除任务中的图片和视频 URL。请在有效期内下载并保存结果。
    </Warning>
  </Tab>

  <Tab title="主体管理">
    ## 主体接口

    | 操作         | 方法与路径                                    |
    | ---------- | ---------------------------------------- |
    | 创建自定义主体    | `POST /kling/v1/general/custom-elements` |
    | 查询自定义主体列表  | `GET /kling/v1/general/custom-elements`  |
    | 查询官方预置主体列表 | `GET /kling/v1/general/presets-elements` |
    | 删除自定义主体    | `POST /kling/v1/general/delete-elements` |

    <Note>以下内容严格使用可灵旧版主体 API。</Note>

    ## 创建主体

    `POST /kling/v1/general/custom-elements`

    <div className="kling-api-example-panel">
      ```bash cURL theme={null}
      curl --request POST \
        --url https://www.anyfast.ai/kling/v1/general/custom-elements \
        --header 'Authorization: Bearer YOUR_API_KEY' \
        --header 'Content-Type: application/json' \
        --data '{
          "element_name": "series-character",
          "element_description": "视频系列主角",
          "element_frontal_image": "https://example.com/front.png",
          "element_refer_list": [
            {"image_url": "https://example.com/side.png"},
            {"image_url": "https://example.com/close-up.png"}
          ],
          "tag_list": [{"tag_id": "o_102"}]
        }'
      ```

      ```json 200 theme={null}
      {
        "code": 0,
        "message": "SUCCEED",
        "request_id": "request-id",
        "data": {
          "element_id": 863121023120580662,
          "element_name": "series-character",
          "element_description": "视频系列主角",
          "element_frontal_image": "https://example.com/front.png",
          "element_refer_list": [
            {"image_url": "https://example.com/side.png"}
          ],
          "tag_list": [
            {"id": "o_102", "name": "人物", "description": "string"}
          ],
          "owned_by": "creator-id"
        }
      }
      ```
    </div>

    ### 请求头

    <ParamField header="Authorization" type="string" required>Bearer 身份验证，格式为 `Bearer YOUR_API_KEY`。</ParamField>
    <ParamField header="Content-Type" type="string" default="application/json" required>请求数据格式，固定为 `application/json`。</ParamField>

    ### 请求体

    <ParamField body="element_name" type="string" required>主体名称，最长 20 个字符。</ParamField>
    <ParamField body="element_description" type="string" required>主体描述，最长 100 个字符。</ParamField>
    <ParamField body="element_frontal_image" type="string" required>正面参考图 URL 或不带 data URI 前缀的原始 Base64。</ParamField>
    <ParamField body="element_refer_list" type="object[]" required>其他角度或特写参考图，至少 1 张、最多 3 张。</ParamField>
    <ParamField body="element_refer_list[].image_url" type="string" required>参考图片 URL 或原始 Base64。</ParamField>
    <ParamField body="tag_list" type="object[]">主体标签列表。</ParamField>
    <ParamField body="tag_list[].tag_id" type="string" required>`o_101` 热梗、`o_102` 人物、`o_103` 动物、`o_104` 道具、`o_105` 服饰、`o_106` 场景、`o_107` 特效、`o_108` 其他。</ParamField>

    图片支持 JPG、JPEG、PNG，单张不超过 10 MB，宽高均不小于 300 px，宽高比为 1:2.5 至 2.5:1。

    ### 创建响应

    <ResponseField name="code" type="integer">`0` 表示成功。</ResponseField>
    <ResponseField name="message" type="string">响应消息。</ResponseField>
    <ResponseField name="request_id" type="string">请求追踪 ID。</ResponseField>
    <ResponseField name="data.element_id" type="integer">主体 ID，在 O1 请求的 `element_list` 中使用。</ResponseField>
    <ResponseField name="data.element_name" type="string">主体名称。</ResponseField>
    <ResponseField name="data.element_description" type="string">主体描述。</ResponseField>
    <ResponseField name="data.element_frontal_image" type="string">正面参考图。</ResponseField>
    <ResponseField name="data.element_refer_list" type="object[]">其他角度参考图。</ResponseField>
    <ResponseField name="data.tag_list" type="object[]">主体标签。</ResponseField>
    <ResponseField name="data.owned_by" type="string">主体来源；`kling` 表示官方主体。</ResponseField>

    ## 查询自定义主体（列表）

    `GET /kling/v1/general/custom-elements?pageNum=1&pageSize=30`

    ```bash cURL theme={null}
    curl --request GET \
      --url 'https://www.anyfast.ai/kling/v1/general/custom-elements?pageNum=1&pageSize=30' \
      --header 'Authorization: Bearer YOUR_API_KEY'
    ```

    <ParamField query="pageNum" type="integer" default={1}>页码，范围 1–1000。</ParamField>
    <ParamField query="pageSize" type="integer" default={30}>每页数量，范围 1–500。</ParamField>

    响应顶层包含 `code`、`message`、`request_id` 和 `data[]`。每个主体包含创建响应中的主体字段，并额外返回 `final_unit_deduction`。

    ## 查询预置主体（列表）

    `GET /kling/v1/general/presets-elements?pageNum=1&pageSize=30`

    ```bash cURL theme={null}
    curl --request GET \
      --url 'https://www.anyfast.ai/kling/v1/general/presets-elements?pageNum=1&pageSize=30' \
      --header 'Authorization: Bearer YOUR_API_KEY'
    ```

    <ParamField query="pageNum" type="integer" default={1}>页码，范围 1–1000。</ParamField>
    <ParamField query="pageSize" type="integer" default={30}>每页数量，范围 1–500。</ParamField>

    响应结构与自定义主体列表一致，但不包含 `final_unit_deduction`；官方预置主体的 `owned_by` 为 `kling`。

    ## 删除自定义主体

    `POST /kling/v1/general/delete-elements`

    ```bash cURL theme={null}
    curl --request POST \
      --url https://www.anyfast.ai/kling/v1/general/delete-elements \
      --header 'Authorization: Bearer YOUR_API_KEY' \
      --header 'Content-Type: application/json' \
      --data '{"element_id": "863121023120580662"}'
    ```

    <ParamField body="element_id" type="string" required>需要删除的自定义主体 ID。官方预置主体不可删除。</ParamField>

    ```json 200 theme={null}
    {
      "code": 0,
      "message": "SUCCEED",
      "request_id": "request-id"
    }
    ```
  </Tab>
</Tabs>

<Card title="Kling O1 指南" icon="book-open" href="/zh/guides/model-api/kuaishou/kling-video-o1">
  查看模型能力、素材规则和调用建议。
</Card>

<script src="/feedback.js" />
