Nodes/ComfyUI API Toolkit/Kling Motion Control
ComfyUI Node

Kling Motion Control

Steal a video's motion and put it on your own character

By IxMxAMAR·Created 5 months ago·Updated 2 months ago· 1
Kling Motion Control
  • auth
  • image
  • video
  • video_file
  • audio
  • url
  • task_id
video_url
prompt
model_namekling-v1-6
modepro
character_orientationimage

You have a reference clip with motion you like - someone walking, a camera sweep, a specific dance - and a still image of a different subject. Motion control is the trick where the second subject performs the first clip's motion while keeping its own identity. It's the closest thing Kling offers to local motion-transfer tools like the ones the KB tracks in its video ecosystems, and it's a genuinely impressive party trick when it works: your character does the reference's move, but it's unmistakably your character.

Mechanically it's straightforward on the surface: image (your subject) + video_url (the reference motion) go to Kling, with an optional prompt and a few settings, and the model transfers the reference motion onto the image subject. The generated clip is your character moving like the reference. Under the hood it's the standard submit-and-poll task with the pack's retry logic.

Inputs that matter:

  • image (required) - the subject whose identity is preserved. A clean, front-facing reference gives the best results.
  • video_url (required) - the URL of the reference motion video. Since this is a URL input, a local clip needs to be uploaded first - the Cloud Uploader node is your friend here.
  • model_name - defaults to kling-v1-6, with v3, v2-6, and v2-master also available. The default isn't a typo; motion control has its own model ladder.
  • character_orientation - image (keep your subject's orientation from the still) or video (adopt the reference video's orientation). If your subject is facing a different way than the reference mover, this choice is the difference between "dance" and "dance, but facing the wrong way."
  • mode - pro vs std.

Outputs are the full standard set: video, video_file, audio, url, task_id.

Installing it

Part of ComfyUI-API-Toolkit. Manager: search "API Toolkit". Manual:

cd ComfyUI/custom_nodes
git clone https://github.com/IxMxAMAR/ComfyUI-API-Toolkit
pip install -r requirements.txt

Restart ComfyUI, wire in the Kling AI Authentication node.

Gotchas

Motion transfer quality is highly dependent on the type of motion. Simple, large motions (walking, waving, camera moves) transfer well; fine gestures and finger work smear. Matching the reference clip's framing to your still helps enormously - a subject who occupies a similar size and position in the frame transfers far more cleanly. And the usual credit economics apply: every queue is a billed video generation, so iterate on std mode first. If the result looks like the motion got ignored entirely, double-check character_orientation and that your reference video URL is actually reachable by Kling - a dead URL fails the task, and a wrong orientation fails your intent.

CategoryAPI Toolkit/Kling AI/Video

Inputs (7)

NameTypeDefaultDescription
authKLING_AUTH
imageIMAGE
video_urlSTRINGURL of the reference motion video.
promptSTRINGOptional text prompt to guide the motion-controlled generation.
model_nameCOMBOkling-v1-6Kling model for motion control.
modeCOMBOproGeneration mode: 'pro' for higher quality, 'std' for faster.
character_orientationCOMBOimageWhether to use the character orientation from the image or the reference video.

Outputs (5)

NameTypeDescription
videoIMAGE
video_fileSTRING
audioAUDIO
urlSTRING
task_idSTRING