Kling O3 Standard — Reference to 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": {
"prompt": "<string>",
"video_url": "<string>",
"images": [
{}
],
"aspect_ratio": "<string>",
"duration": "<string>",
"has_sound": "<string>",
"keep_original_sound": true,
"shot_type": "<string>",
"multishot": [
{}
]
}
}
'import requests
url = "https://api.muvi.video/v1/jobs/submit"
payload = {
"model": "<string>",
"input": {
"prompt": "<string>",
"video_url": "<string>",
"images": [{}],
"aspect_ratio": "<string>",
"duration": "<string>",
"has_sound": "<string>",
"keep_original_sound": True,
"shot_type": "<string>",
"multishot": [{}]
}
}
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: {
prompt: '<string>',
video_url: '<string>',
images: [{}],
aspect_ratio: '<string>',
duration: '<string>',
has_sound: '<string>',
keep_original_sound: true,
shot_type: '<string>',
multishot: [{}]
}
})
};
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 O3 Standard
Kling O3 Standard — Reference to Video
Generate videos with the Kling O3 Standard model using reference to video.
POST
/
v1
/
jobs
/
submit
Kling O3 Standard — Reference to 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": {
"prompt": "<string>",
"video_url": "<string>",
"images": [
{}
],
"aspect_ratio": "<string>",
"duration": "<string>",
"has_sound": "<string>",
"keep_original_sound": true,
"shot_type": "<string>",
"multishot": [
{}
]
}
}
'import requests
url = "https://api.muvi.video/v1/jobs/submit"
payload = {
"model": "<string>",
"input": {
"prompt": "<string>",
"video_url": "<string>",
"images": [{}],
"aspect_ratio": "<string>",
"duration": "<string>",
"has_sound": "<string>",
"keep_original_sound": True,
"shot_type": "<string>",
"multishot": [{}]
}
}
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: {
prompt: '<string>',
video_url: '<string>',
images: [{}],
aspect_ratio: '<string>',
duration: '<string>',
has_sound: '<string>',
keep_original_sound: true,
shot_type: '<string>',
multishot: [{}]
}
})
};
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
}Generate a video conditioned on reference images and/or a reference video using the Kling O3 Standard model.
| Property | Value |
|---|---|
| Provider | Kling Plus |
| Model | Kling O3 Standard |
| Capability | Reference to Video |
| Base Cost | 84,000 micro-cents/second ($0.084/sec) |
| Processing Time | ~240 seconds |
Request Body
string
required
Model slug. Use
kling-plus/kling-o3-standard/reference-to-video for reference to video generation.object
required
Input parameters for reference to video generation.
Hide properties
Hide properties
string
Text prompt describing the desired output (max 2500 characters).
string
Reference video URL.
array
Reference images (≤4 with video, ≤7 without).
string
Video aspect ratio. Default:
16:9. Options: 16:9, 9:16, 1:1.string
Video duration in seconds. Default:
5. Options: 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15.string
Enable audio generation. Default:
false. Options: false, true.boolean
Keep the audio track from the source video. Default:
true.string
Shot composition mode. Default:
customize. Options: customize, intelligent.array
Multi-shot scene list. Each shot has a
prompt and optional duration (seconds, 1-15). Total durations should sum within the model’s allowed range.string
HTTPS URL to receive a webhook notification when the job completes or fails.
Pricing
Base cost: 84,000 micro-cents per second ($0.084/sec)finalCost = baseCost × duration × has_sound
| Factor | Option | Multiplier |
|---|---|---|
| Duration | 3 | 3x |
4 | 4x | |
5 | 5x | |
6 | 6x | |
7 | 7x | |
8 | 8x | |
9 | 9x | |
10 | 10x | |
11 | 11x | |
12 | 12x | |
13 | 13x | |
14 | 14x | |
15 | 15x | |
| Sound | false | 1x |
true | 1.5x |
Default cost: 5 seconds, no sound = 84,000 × 5 × 1 = 420,000 micro-cents ($0.420)
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-plus/kling-o3-standard/reference-to-video",
"input": {
"prompt": "Recreate the reference scene with warmer lighting and a slow dolly-in",
"video_url": "https://example.com/video.mp4",
"aspect_ratio": "16:9",
"duration": "5",
"has_sound": "false"
}
}'
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-plus/kling-o3-standard/reference-to-video",
"input": {
"prompt": "Recreate the reference scene with warmer lighting and a slow dolly-in",
"video_url": "https://example.com/video.mp4",
"aspect_ratio": "16:9",
"duration": "5",
"has_sound": "false"
}
}
)
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-plus/kling-o3-standard/reference-to-video",
input: {
prompt: "Recreate the reference scene with warmer lighting and a slow dolly-in",
video_url: "https://example.com/video.mp4",
aspect_ratio: "16:9",
duration: "5",
has_sound: "false"
}
})
});
const data = await response.json();
console.log(data);
⌘I
