Nodes/ComfyUI-Kling-Direct/Kling Motion Control
ComfyUI Node

Kling Motion Control

Kling motion transfer

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

Here's the trick that feels like magic the first time you pull it off: you have a still image of a character, and a completely different reference video of someone - or something - moving. KlingDirect_MotionControl takes the motion from the video and applies it to the image, animating your subject with choreography it never actually performed. Think "dance this reference clip," "do this camera pan," "react the way this person reacts."

This is the same motion-transfer idea the community knows from V2V workflows ("motion transfer like Kling" is the phrase you'll see in comparisons), but here it's a first-class API call rather than a diffusion trick you chain together locally. Kling does the motion extraction and re-render on their side, which is the honest reason to reach for it: local motion transfer is fiddly, wants specific models, and burns VRAM. This is one prompt field and a URL.

What you set

  • image (IMAGE) - your still. This is the subject that will move.
  • video_url - the reference motion video. Required, and it has to be a public URL; local files need hosting first (the pack's Cloud Uploader is the helper for that).
  • prompt - optional text to nudge the result. Describe the action you want to reinforce if the reference alone is ambiguous.
  • model_name - defaults to kling-v1-6; you can step up to kling-v3, kling-v2-6, or kling-v2-master. The newer models are better but pricier.
  • mode - pro vs std, same quality/speed/credit tradeoff as the rest of the pack.
  • character_orientation - the one that's easy to get wrong. Set to image (default) to keep the character's orientation from your still, or video to inherit the orientation the reference video imposes. If your subject ends up facing the wrong way, this is the input that fixes it.

Outputs

Same five as every video node here: video (the animated frames as an IMAGE batch), video_file (downloaded path), audio (Kling can add sound to the result), url (hosted result), and task_id for chaining. For a still→motion job, video and task_id are the ones you'll actually use.

Install and what it needs

It's part of ComfyUI-Kling-Direct: ComfyUI Manager → search "Kling Direct" → install, or git clone https://github.com/IxMxAMAR/ComfyUI-Kling-Direct into ComfyUI/custom_nodes and restart. No model downloads - the pack's only real dependency beyond ComfyUI's built-ins is an API key. Get access key + secret key at https://app.klingai.com/global/dev (KYC first), drop them in the Kling AI Authentication node (or KLING_ACCESS_KEY / KLING_SECRET_KEY env vars), and wire auth in. Region matters: Singapore is the default; China and US accounts should insert the Region Selector ahead of this node.

Where people get burned

  • A motion clip that's too busy. Reference videos with erratic cuts or heavy camera movement give the model nothing coherent to extract. A clean, single-action clip (one walk, one turn, one dance loop) gets dramatically better results than a montage.
  • The orientation input. It's the most likely source of "the motion is right but my character is mirrored." Flip character_orientation before you blame the prompt.
  • Cost. Motion control is a full video generation job - metered, per-call, and not cheap for long pro renders. Draft with std and a short reference clip, then commit.

The task_id output is worth remembering: it feeds Video Extend and Task Status, so you can extend a successful motion render or check on it without re-rendering.

CategoryKling 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