Kling Motion 3.0 — Motion Transfer 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": {
"image_url": "<string>",
"motion_video_url": "<string>",
"prompt": "<string>",
"quality": "<string>"
}
}
'import requests
url = "https://api.muvi.video/v1/jobs/submit"
payload = {
"model": "<string>",
"input": {
"image_url": "<string>",
"motion_video_url": "<string>",
"prompt": "<string>",
"quality": "<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: {
image_url: '<string>',
motion_video_url: '<string>',
prompt: '<string>',
quality: '<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 Motion 3.0
Kling Motion 3.0 — Motion Transfer to Video
Transfer motion from a reference video onto a still image using Kling Motion 3.0 via PixelByte API
POST
/
v1
/
jobs
/
submit
Kling Motion 3.0 — Motion Transfer 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": {
"image_url": "<string>",
"motion_video_url": "<string>",
"prompt": "<string>",
"quality": "<string>"
}
}
'import requests
url = "https://api.muvi.video/v1/jobs/submit"
payload = {
"model": "<string>",
"input": {
"image_url": "<string>",
"motion_video_url": "<string>",
"prompt": "<string>",
"quality": "<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: {
image_url: '<string>',
motion_video_url: '<string>',
prompt: '<string>',
quality: '<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
}Apply the motion of a reference video onto a still input image with Kling Motion 3.0. The output duration is derived from the motion video, and quality can be tuned via std/pro tiers.
The output duration is derived from the reference motion video.
| Property | Value |
|---|---|
| Provider | Kling |
| Model | Kling Motion 3.0 |
| Capability | Motion Transfer to Video |
| Base Cost | 70,000 micro-cents/second ($0.07/sec) |
| Processing Time | ~240 seconds |
Request Body
string
required
Model slug. Use
kling/kling-motion-create-v3/motion-transfer-to-video.object
required
Input parameters for motion transfer generation.
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-motion-create-v3/motion-transfer-to-video",
"input": {
"image_url": "https://example.com/image.jpg",
"motion_video_url": "https://example.com/motion.mp4",
"prompt": "Match the dance motion smoothly",
"quality": "std"
}
}'
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-motion-create-v3/motion-transfer-to-video",
"input": {
"image_url": "https://example.com/image.jpg",
"motion_video_url": "https://example.com/motion.mp4",
"prompt": "Match the dance motion smoothly",
"quality": "std"
}
}
)
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-motion-create-v3/motion-transfer-to-video",
input: {
image_url: "https://example.com/image.jpg",
motion_video_url: "https://example.com/motion.mp4",
prompt: "Match the dance motion smoothly",
quality: "std"
}
})
});
const data = await response.json();
console.log(data);
