Kling Motion Control
Drive a character's movement from a reference video while keeping the look from a still
- reference_image
- reference_video
- VIDEO
Motion transfer is the trick everyone eventually wants: "make this character do that dance," where the character comes from one image and the dance comes from a completely different video. Kling Motion Control is the built-in node for exactly that. It takes a reference image (who the character is), a reference video (how they move), and a prompt, and fuses them - the subject's look comes from your image while the movement, expressions, and sometimes the camera come from the driving video.
This is one of the few built-in partner/video nodes that takes a VIDEO as an input, not just an image, so it's the answer when plain image-to-video can't carry your idea. And yes, it's an API node like the rest of the family: ships with ComfyUI core, uploads your image and video to Comfy Org, calls Kling's motion-control endpoint, and bills your Comfy account. No local models anywhere in the path.
The inputs that matter
- reference_image - who appears in the output. This is the character or subject whose look gets preserved.
- reference_video - the motion source. This is the interesting one, and its duration limits are set by the
character_orientationpick:- with
character_orientationset to video, the reference video can be 3–30 seconds, and its movement, expressions, camera moves, and orientation all drive the output; - with image, the reference video is capped at 3–10 seconds, and while movement and expressions still follow the video, the character's facing comes from your image instead (camera and other details fall to the prompt).
- with
- keep_original_sound (default on) - whether the driving video's audio carries into the result.
- mode -
proorstd, the usual Kling quality/speed dial. There's also an optionalmodelpick betweenkling-v3andkling-v2-6; the newer one is pricier and better. - prompt - everything the references don't specify: scene, lighting, camera moves, actions.
Output is a single VIDEO.
The honest gotchas
- That orientation pick isn't cosmetic. The "image" mode exists because sometimes the driving video's actor is facing away and you want your character to keep facing your reference. If faces come out wrong, check which mode you're in before you re-render - it's the #1 source of "why does it look like a different person" confusion.
- Reference video limits are enforced. Feed a 15-second driving clip in image mode and you'll get a validation error, not a truncated result. Match the clip length to the mode.
- It's Kling pricing, which is real money. The badge shows per-second rates that scale with mode and model. Motion control burns compute - don't iterate on it 40 times.
- Keep the driving video clean. A shaky, cluttered reference makes the output shaky and cluttered. The model copies motion, including motion you didn't mean to include.
One light aside: this is the most "wow, a feature I didn't know ComfyUI had" node in the Kling family - the same motion-transfer job locally means pose extraction, ControlNet pipelines, and a 40-minute render. Here it's two uploads and a wait. Just budget for it.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | — | |
| reference_image | IMAGE | — | |
| reference_video | VIDEO | Motion reference video used to drive movement/expression. Duration limits depend on character_orientation: - image: 3–10s (max 10s) - video: 3–30s (max 30s) | |
| keep_original_sound | BOOLEAN | true | — |
| character_orientation | COMBO | Controls where the character's facing/orientation comes from. video: movements, expressions, camera moves, and orientation follow the motion reference video (other details via prompt). image: movements and expressions still follow the motion reference video, but the character orientation matches the reference image (camera/other details via prompt). | |
| mode | COMBO | 2 options: pro, std | |
| modelopt | COMBO | 2 options: kling-v3, kling-v2-6 |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| VIDEO | VIDEO | — |