---
title: "Kling AI: Next-Gen AI Video & AI Image Generator"
source: "https://kling.ai/document-api/apiReference/model/videoExtension"
author:
published:
created: 2026-04-24
description:
tags:
  - "clippings"
---
## Create Task

POST `/v1/videos/video-extend`

```bash
curl --request POST \
  --url https://api-singapore.klingai.com/v1/videos/video-extend \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
    "prompt": "A puppy appears",
    "video_id": "743211632612511839",
    "negative_prompt": "",
    "callback_url": ""
  }'
```

200

```json
{
  "code": 0, // Error codes; Specific definitions can be found in Error codes
  "message": "string", // Error information
  "request_id": "string", // Request ID, generated by the system, is used to track requests and troubleshoot problems
  "data": {
    "task_id": "string", // Task ID, generated by the system
    "task_status": "string", // Task status, Enum values: submitted, processing, succeed, failed
    "task_info":{ // Task creation parameters
      "external_task_id": "string" // Customer-defined task ID
    },
    "created_at": 1722769557708, // Task creation time, Unix timestamp, unit: ms
    "updated_at": 1722769557708 //Task update time, Unix timestamp, unit: ms
  }
}
```

- Note 1: Video extension refers to extending the duration of text-to-video/image-to-video results. Each extension can add 4 to 5 seconds, and the model and mode used cannot be selected; they must be the same as the source video.
- Note 2: Videos that have been extended can be extended again, but the total video duration cannot exceed 3 minutes.

### Request Header

Data Exchange Format

AuthorizationstringRequired

Authentication information, refer to API authentication

### Request Body

video\_idstringRequired

Video ID

- Supports video IDs generated by the text-to-video, the image-to-video and the video extension interface (it cannot exceed 3 minutes).

- Only videos generated by V1.0, V1.5, and V1.6 models are supported.

> Please note that based on the current cleanup policy, videos will be cleared 30 days after generation, and extension will not be possible.

promptstringOptional

Text Prompt

Cannot exceed 2500 characters

negative\_promptstringOptional

Negative text prompt

Cannot exceed 2500 characters

Prompt reference strength. The higher the value, the stronger the reference to the prompt.

Value range: \[0, 1\]

watermark\_infoobjectOptional

Whether to generate watermarked results simultaneously

- Defined by the enabled parameter, format:

```json
"watermark_info": { "enabled": boolean }
```

- true: generate watermarked result, false: do not generate

- Custom watermarks are not currently supported

callback\_urlstringOptional

The callback notification address for the task results. If configured, the server will actively notify when the task status changes.

- For specific message schema, see [Callback Protocol](https://kling.ai/document-api/apiReference/callbackProtocol)

external\_task\_idstringOptional

Customized Task ID

- User-defined task ID. It will not override the system-generated task ID, but supports querying tasks by this ID

- Please note that it must be unique for each user

---

## Query Task (Single)

GET `/v1/videos/video-extend/{id}`

```bash
curl --request GET \
  --url https://api-singapore.klingai.com/v1/videos/video-extend/{task_id} \
  --header 'Authorization: Bearer <token>'
```

200

```json
{
  "code": 0, // Error codes; Specific definitions can be found in Error codes
  "message": "string", // Error information
  "request_id": "string", // Request ID, generated by the system, is used to track requests and troubleshoot problems
  "data": {
    "task_id": "string", // Task ID, generated by the system
    "task_status": "string", // Task status, Enum values: submitted, processing, succeed, failed
    "task_status_msg": "string", // Task status information, displaying the failure reason when the task fails (such as triggering the content risk control of the platform, etc.)
    "task_info": {
      "parent_video": { //Parameters information when the task is created
        "id": "string", //Video ID before the extension；globally unique
        "url": "string", //URL for generating images(To ensure information security, generated images/videos will be cleared after 30 days. Please make sure to save them promptly.)
        "duration": "string" //Original video duration, unit: s (seconds)
      },
      "external_task_id": "string" // Customer-defined task ID
    },
    "task_result": {
      "videos": [
        {
          "id": "string", // Generated video ID; globally unique, will be cleared after 30 days
          "url": "string", // URL for generating videos (To ensure information security, generated images/videos will be cleared after 30 days. Please make sure to save them promptly.)
          "watermark_url": "string", // Watermarked video download URL, anti-leech format
          "duration": "string" //Total video duration, unit: s (seconds)
        }
      ]
    },
    "watermark_info": {
      "enabled": boolean
    },
    "final_unit_deduction": "string", // The deduction units of task
    "created_at": 1722769557708, // Task creation time, Unix timestamp, unit: ms
    "updated_at": 1722769557708 //Task update time, Unix timestamp, unit: ms
  }
}
```

### Request Header

Data Exchange Format

AuthorizationstringRequired

Authentication information, refer to API authentication

### Path Parameters

task\_idstringOptional

Task ID for Video Generation. Fill the value directly in the request path. Choose either task\_id or external\_task\_id for querying.

external\_task\_idstringOptional

Customized Task ID for Video Generation. Fill the value directly in the request path. Choose either task\_id or external\_task\_id for querying.

---

## Query Task (List)

GET `/v1/videos/video-extend`

```bash
curl --request GET \
  --url 'https://api-singapore.klingai.com/v1/videos/video-extend?pageNum=1&pageSize=30' \
  --header 'Authorization: Bearer <token>'
```

200

```json
{
  "code": 0, // Error codes; Specific definitions can be found in Error codes
  "message": "string", // Error information
  "request_id": "string", // Request ID, generated by the system, is used to track requests and troubleshoot problems
  "data": [
    {
      "task_id": "string", // Task ID, generated by the system
      "task_status": "string", // Task status, Enum values: submitted, processing, succeed, failed
      "task_status_msg": "string", // Task status information, displaying the failure reason when the task fails (such as triggering the content risk control of the platform, etc.)
      "task_info": {
        "parent_video": { //Parameters information when the task is created
          "id": "string", //Video ID before the extension；globally unique
          "url": "string", //URL for generating images(To ensure information security, generated images/videos will be cleared after 30 days. Please make sure to save them promptly.)
          "duration": "string" //Original video duration, unit: s (seconds)
        },
        "external_task_id": "string" // Customer-defined task ID
      },
      "task_result": {
        "videos": [
          {
            "id": "string", // Generated video ID; globally unique, will be cleared after 30 days
            "url": "string", // URL for generating videos (To ensure information security, generated images/videos will be cleared after 30 days. Please make sure to save them promptly.)
            "watermark_url": "string", // Watermarked video download URL, anti-leech format
            "duration": "string" //Total video duration, unit: s (seconds)
          }
        ]
      },
      "watermark_info": {
        "enabled": boolean
      },
      "final_unit_deduction": "string", // The deduction units of task
      "created_at": 1722769557708, // Task creation time, Unix timestamp, unit: ms
      "updated_at": 1722769557708 //Task update time, Unix timestamp, unit: ms
    }
  ]
}
```

### Request Header

Data Exchange Format

AuthorizationstringRequired

Authentication information, refer to API authentication

### Query Parameters

Page number

Value range: \[1, 1000\]

Number of items per page

Value range: \[1, 500\]