Skip to content
English

Kling 3.0 Motion Control API

POST Base URL: https://api.hiapi.ai /v1/tasks

Image, video, and audio models are called through theUnified Async API POST /v1/tasks endpoint; only the input fields differ (see input parameters below).

Model summary

Model name kling-3.0/motion-control
Type Video generation (motion control)
Endpoint POST /v1/tasks
Pricing See HiAPI Pricing

Kling 3.0 Motion Control: one character image plus a 3-30s motion reference clip; the character performs the reference motion and expressions at 720p/1080p, billed per output second.

Production guidance

Production guidance
  • For production, pass callback.url at the top level of the request body so HiAPI can notify your service when the task reaches a terminal state.
  • GET /v1/tasks/:id is better for local debugging, low-volume jobs, or fallback reconciliation if a callback is missed.
  • Use callback.when=final. Both success and fail are terminal states, so your service should deduplicate by taskId.
  • Generation usually takes several minutes. Output length follows the reference clip, so budget for the orientation cap (30s for video, 10s for image).

Best suited for

Motion transfer

Transfer the motion and expressions of a reference clip onto one character image while keeping identity stable.

image_urlvideo_url
Orientation control

video follows the reference clip (up to 30s); image follows the picture and suits camera moves (up to 10s).

character_orientation
Billed per output second

Output length follows the reference clip and is settled on the actual output duration.

resolution

Request parameters

model string required

Fixed value kling-3.0/motion-control.

example kling-3.0/motion-control
input object required

Business parameters. Put Kling 3.0 Motion Control-specific configuration here.

image_url string required

Character reference image URL (one image). jpeg/png/jpg, max 10MB, both sides larger than 340px, aspect ratio between 2:5 and 5:2; head, shoulders and torso must be clearly visible.

video_url string required

Motion reference video URL (one clip). mp4/mov, max 100MB, 3-30 seconds, one continuous shot with head, shoulders and torso visible; the output length follows this clip.

prompt string optional

Optional scene, style and camera guidance, up to 2500 characters. Motion and expressions come from the reference video.

resolution enum optional

Output resolution. Higher resolution costs more.

default 720p enum: 720p1080p
character_orientation enum optional

video: orientation follows the reference clip, best for complex motion, up to 30s. image: orientation follows the reference image, best for camera movement, up to 10s.

default video enum: videoimage
keep_original_sound boolean optional

Keep the reference video's original audio in the output.

default true
callback object optional

Optional callback configuration. When set, HiAPI notifies your service when the task reaches a terminal state.

url string required

Required when callback is set; HTTPS URL that receives terminal task notifications.

example https://your-domain.com/hiapi/callback
when enum optional

Callback trigger timing. Use final.

default final enum: final

Example requests

Studio talk (1080p, video orientation)

Generated from one character image and a 6-second talking clip; the output follows the clip length and keeps its original audio.

Request body
{
  "model": "kling-3.0/motion-control",
  "input": {
    "prompt": "The woman presents directly to camera in a warm studio, steady framing, natural expression",
    "image_url": "https://static.hiapi.ai/model-examples/kling-3.0-motion-control/v3/2026/09/28/1790607181108-36686f5400675348-p1.png",
    "video_url": "https://static.hiapi.ai/model-examples/kling-3.0-motion-control/v3/2026/09/28/1790608051171-c882228bfe66fe03-c1.mp4",
    "resolution": "1080p",
    "character_orientation": "video"
  }
}

Getting the result

  1. The response returns a taskId immediately without waiting for generation to finish.
  2. In production, prefer waiting for callback.url to receive the terminal notification. For local debugging, poll GET /v1/tasks/:id.
  3. When status=success, download the generated video from output[].url.
  4. When status=fail, fix the request based on the returned error instead of retrying the same invalid payload.

FAQ

How is the output length decided?

No duration parameter is needed. Output follows the reference clip: up to 30s with character_orientation=video, up to 10s with image. Very fast or complex motion may yield a shorter clip.

What does the reference video need?

mp4/mov, up to 100MB, 3-30 seconds, one continuous shot with the subject's head, shoulders and torso clearly visible; avoid multiple people and frequent cuts.

Is the reference audio kept?

Yes by default (keep_original_sound=true); pass false to drop it.

How is it billed?

Per output second. A hold sized by the orientation cap is taken at creation and adjusted to the actual output seconds after completion. See the HiAPI pricing page.

Next steps