Docs / video / Kling 3.0 Motion Control
Kling 3.0 Motion Control online
Drive your character with motion from a reference video — Kling 3.0 Motion Control transfers movement while keeping identity.
Rp Rp1.620 / detik video gerakan (720p)
kling-3.0/motion-control model id
1 · Create a task
Kirim permintaan untuk membuat tugas generasi video. Wajib header Idempotency-Key. Saldo direservasi sebesar estimasi; task gagal tidak ditagih.
curl -X POST https://run.getcore.id/v1/tasks \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Idempotency-Key: my-task-001" \
-H "Content-Type: application/json" \
-d '{
"model": "kling-3.0/motion-control",
"input": {
"mode": "720p",
"prompt": "No distortion, the character's movements are consistent with the video.",
"input_urls": [
"https://example.com/input.jpg"
],
"video_urls": [
"https://example.com/input.jpg"
],
"character_orientation": "video"
}
}'const res = await fetch('https://run.getcore.id/v1/tasks', {
method: 'POST',
headers: {
Authorization: 'Bearer YOUR_API_KEY',
'Idempotency-Key': 'my-task-001',
'Content-Type': 'application/json',
},
body: JSON.stringify({
"model": "kling-3.0/motion-control",
"input": {
"mode": "720p",
"prompt": "No distortion, the character's movements are consistent with the video.",
"input_urls": [
"https://example.com/input.jpg"
],
"video_urls": [
"https://example.com/input.jpg"
],
"character_orientation": "video"
}
}),
});
const task = await res.json();import requests
res = requests.post(
"https://run.getcore.id/v1/tasks",
headers={
"Authorization": "Bearer YOUR_API_KEY",
"Idempotency-Key": "my-task-001",
},
json={
"model": "kling-3.0/motion-control",
"input": {
"mode": "720p",
"prompt": "No distortion, the character's movements are consistent with the video.",
"input_urls": [
"https://example.com/input.jpg"
],
"video_urls": [
"https://example.com/input.jpg"
],
"character_orientation": "video"
}
},
)
task = res.json()Input parameters
| Name | Type | Required | Description | Example |
|---|---|---|---|---|
mode |
string | No | Output resolution mode. Use 'std' for 720p or 'pro' for 1080p. Opsi: 720p 1080p |
720p |
prompt |
string | No | A text description of the desired output. Maximum length is 2500 characters. (max 2500 chars) | No distortion, the character's movements are c |
input_urls |
array | Yes | Reference image. The characters, backgrounds, and other elements in the generated video are based on the reference image. Supports .jpg/.jpeg/.png, max 10MB, size needs to be greater than 300px, aspect ratio 2:5 to 5:2. (array of file URLs) | https://example.com/input.jpg |
video_urls |
array | Yes | Reference video. The character actions in the generated video are consistent with the reference video. Supports .mp4/.mov, max 100MB, 3-30 seconds duration depending on character_orientation. (array of file URLs) | https://example.com/input.jpg |
character_orientation |
string | No | Generate the orientation of the characters in the video. 'image': same orientation as the person in the picture (max 10s video). 'video': consistent with the orientation of the characters in the video (max 30s video). Opsi: image video |
video |
2 · Poll the result
Ambil status tugas hingga selesai — poll tiap 2–5 detik.
Respons saat sukses:
{
"id": "task_9f2c…",
"status": "succeeded",
"model": "kling-3.0/motion-control",
"price": {
"currency": "IDR",
"estimated": 8100,
"reserved": 8100,
"final": 8100
},
"output": {
"urls": [
"https://storage.getcore.id/outputs/task_9f2c…/0.mp4"
],
"expires_at": "(7 hari setelah selesai)"
}
}
Status values
| Status | Keterangan |
|---|---|
queued | Tugas sedang diantrikan. |
processing | Sedang diproses. |
succeeded | Berhasil. |
failed | Gagal — lihat error detail, tidak ditagih. |
video/mp4, dilayani dari CDN kami dan berlaku 7 hari — salin ke penyimpananmu sendiri untuk jangka panjang.Best practices
Bila generation gagal, task berstatus failed dengan error.code ternormalisasi (mis. moderation_blocked, upstream_error) dan price.final = 0 — saldo dikembalikan otomatis. Daftar lengkap kode error ada di Error handling. Selalu kirim Idempotency-Key unik per tugas agar retry aman.
Coba tanpa kode: jalankan model ini langsung dari Playground atau lihat di API Market.
