
Kling 3.0 model that transfers motion from a reference video onto a character from a reference image, with Standard 720p and Pro 1080p tiers.
Kling 3.0 model that transfers motion from a reference video onto a character from a reference image, with Standard 720p and Pro 1080p tiers.
kling-v3-motion-controlPOST /v1/videos/generationsLive pay-as-you-go rates from the EmpirioLabs catalog. You are billed only for what you use, with no monthly minimum.
Kling v3 Motion Control runs through POST /v1/videos/generations. The request returns a job_id right away; poll GET /v1/jobs/{job_id} until the job completes and read the output URLs from the result. Get an API key from the EmpirioLabs dashboard.
curl https://api.empiriolabs.ai/v1/videos/generations \
-H "Authorization: Bearer $EMPIRIOLABS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "kling-v3-motion-control",
"prompt": "Describe what you want Kling v3 Motion Control to generate."
}'curl https://api.empiriolabs.ai/v1/jobs/JOB_ID \
-H "Authorization: Bearer $EMPIRIOLABS_API_KEY"import requests
response = requests.post(
"https://api.empiriolabs.ai/v1/videos/generations",
headers={"Authorization": "Bearer YOUR_EMPIRIOLABS_API_KEY"},
json={
"model": "kling-v3-motion-control",
"prompt": "Describe what you want Kling v3 Motion Control to generate.",
},
)
job = response.json()
# Generation runs as an async job. Poll until it completes.
import time
while True:
status = requests.get(
f"https://api.empiriolabs.ai/v1/jobs/{job['job_id']}",
headers={"Authorization": "Bearer YOUR_EMPIRIOLABS_API_KEY"},
).json()
if status.get("status") in ("completed", "failed"):
print(status)
break
time.sleep(5)Request parameters supported by the Kling v3 Motion Control API on EmpirioLabs. Defaults apply when a field is omitted.
| Parameter | Type | Default | Range / values | Description |
|---|---|---|---|---|
| prompt | string | - | - | Motion / scene description. |
| reference_image | string | - | - | Reference image URL — provides the character/subject. |
| reference_video | string | - | - | Reference video URL — provides the motion to copy. |
| character_orientation | enum | image | image, video | image: character starts in the pose from the reference image (max 10s). video: character matches pose in the reference video (max 30s). |
| mode | enum | std | std, pro | std: standard quality. pro: higher quality, slower. |
| duration | number | 5 | 1 to 30 | Seconds. Capped at 10 when character_orientation=image, 30 when character_orientation=video. |
| keep_original_sound | boolean | true | - | Keep the audio track from the reference video. |
Motion-control video: a reference IMAGE (the character/subject) and a reference VIDEO (the motion source) are BOTH required. The character from the image performs the movements from the video.
On EmpirioLabs, Kling v3 Motion Control is billed pay as you go: Standard (720p) $0.14 per second; Pro (1080p) $0.18 per second. The live rate card on this page always matches what the API charges.
Kling v3 Motion Control is served through POST /v1/videos/generations on api.empiriolabs.ai with standard bearer-token authentication.
Yes. The EmpirioLabs playground runs Kling v3 Motion Control in the browser with the same parameters the API exposes, so you can test prompts before writing code.
Create an EmpirioLabs account, then generate a key under API Keys in the dashboard. Billing is pay-as-you-go credits, so you only pay for the requests you make.
Explore our models, or contact us about business inquiries, custom deployments, or anything else.