Kling Extend 3.0 — Extend Video
curl --request POST \
--url https://api.muvi.video/v1/jobs/submit \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"model": "<string>",
"input": {
"video_url": "<string>",
"work_id": "<string>",
"prompt": "<string>",
"negative_prompt": "<string>",
"quality": "<string>",
"duration": "<string>"
}
}
'import requests
url = "https://api.muvi.video/v1/jobs/submit"
payload = {
"model": "<string>",
"input": {
"video_url": "<string>",
"work_id": "<string>",
"prompt": "<string>",
"negative_prompt": "<string>",
"quality": "<string>",
"duration": "<string>"
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
model: '<string>',
input: {
video_url: '<string>',
work_id: '<string>',
prompt: '<string>',
negative_prompt: '<string>',
quality: '<string>',
duration: '<string>'
}
})
};
fetch('https://api.muvi.video/v1/jobs/submit', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"jobId": "<string>",
"status": "<string>",
"estimatedCompletionTime": "<string>",
"costMicroCents": 123
}Kling 3.0
Kling Extend 3.0 — Extend Video
Extend an existing video using Kling Extend 3.0 via PixelByte API
POST
/
v1
/
jobs
/
submit
Kling Extend 3.0 — Extend Video
curl --request POST \
--url https://api.muvi.video/v1/jobs/submit \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"model": "<string>",
"input": {
"video_url": "<string>",
"work_id": "<string>",
"prompt": "<string>",
"negative_prompt": "<string>",
"quality": "<string>",
"duration": "<string>"
}
}
'import requests
url = "https://api.muvi.video/v1/jobs/submit"
payload = {
"model": "<string>",
"input": {
"video_url": "<string>",
"work_id": "<string>",
"prompt": "<string>",
"negative_prompt": "<string>",
"quality": "<string>",
"duration": "<string>"
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
model: '<string>',
input: {
video_url: '<string>',
work_id: '<string>',
prompt: '<string>',
negative_prompt: '<string>',
quality: '<string>',
duration: '<string>'
}
})
};
fetch('https://api.muvi.video/v1/jobs/submit', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"jobId": "<string>",
"status": "<string>",
"estimatedCompletionTime": "<string>",
"costMicroCents": 123
}Continue an existing video by generating new footage that follows on from the source clip with Kling Extend 3.0. Supports std/pro quality tiers and 5- or 10-second extensions.
| Property | Value |
|---|---|
| Provider | Kling |
| Model | Kling Extend 3.0 |
| Capability | Extend Video |
| Base Cost | 70,000 micro-cents/second ($0.07/sec) |
| Processing Time | ~240 seconds |
Request Body
string
required
Model slug. Use
kling/kling-extend-v3/extend-video.object
required
Input parameters for video extension.
Hide properties
Hide properties
string
required
URL of the source video to extend.
string
Optional identifier of an existing Kling work to extend.
string
Text description guiding the extension (max 2500 characters).
string
Text describing content to avoid (max 1000 characters).
string
Generation quality. Default:
std. Options: std, pro.string
Extension duration in seconds. Default:
5. Options: 5, 10.string
HTTPS URL to receive a webhook notification when the job completes or fails.
Pricing
Base cost: 70,000 micro-cents per second ($0.07/sec)finalCost = baseCost × duration × quality
| Factor | Option | Multiplier |
|---|---|---|
| Duration | 5 | 5x |
10 | 10x | |
| Quality | std | 1x |
pro | 1.5x |
Default cost: 5 seconds, std quality = 70,000 × 5 × 1 = 350,000 micro-cents ($0.35)
Response
string
Unique identifier for the submitted job.
string
Initial job status. Always
"pending" on successful submission.string
ISO 8601 timestamp of the estimated completion time.
number
The cost of the job in micro-cents.
Code Examples
curl -X POST https://api.muvi.video/v1/jobs/submit \
-H "Authorization: Bearer $PIXELBYTE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "kling/kling-extend-v3/extend-video",
"input": {
"video_url": "https://example.com/video.mp4",
"prompt": "The character keeps walking forward into the open square",
"quality": "std",
"duration": "5"
}
}'
import requests
response = requests.post(
"https://api.muvi.video/v1/jobs/submit",
headers={
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json"
},
json={
"model": "kling/kling-extend-v3/extend-video",
"input": {
"video_url": "https://example.com/video.mp4",
"prompt": "The character keeps walking forward into the open square",
"quality": "std",
"duration": "5"
}
}
)
data = response.json()
print(data)
const response = await fetch("https://api.muvi.video/v1/jobs/submit", {
method: "POST",
headers: {
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json"
},
body: JSON.stringify({
model: "kling/kling-extend-v3/extend-video",
input: {
video_url: "https://example.com/video.mp4",
prompt: "The character keeps walking forward into the open square",
quality: "std",
duration: "5"
}
})
});
const data = await response.json();
console.log(data);
