Nodes/ComfyUI/WanTrackToVideo
ComfyUI Node Runs on cloud

WanTrackToVideo

Steer a video by dragging points, not by writing a paragraph

By Comfy-Org·Created 4 years ago·Updated about 10 hours ago· 130,493
WanTrackToVideo
  • positive
  • negative
  • vae
  • start_image
  • clip_vision_output
  • positive
  • negative
  • latent
tracks[]
width832
height480
length81
batch_size1
temperature220.0
topk2

WanTrackToVideo is the node that turns a handful of moving points into a whole video. It's the heart of the "Wan Move" workflow: instead of describing motion in a prompt and hoping the model complies, you define actual point trajectories - pixel coordinates that drift across frames - and this node patches that motion directly into the video latent. Want the camera to pan left while the subject stays put? Draw the track. Want a product to rotate on a turntable? That's a circular track.

If this sounds like motion transfer or keyframe animation, that's because it is - Wan Move is the point-tracking-to-video technique that people were reverse-engineering with CoTracker before the official nodes landed. The selling point over text-driven motion: the model can't ignore your track the way it ignores a sentence about camera movement.

How it works

You feed it a JSON list of point trajectories as the tracks string. Each point is a path of x/y coordinates over the clip - the node parses the JSON, resamples the tracks to the model's internal frame rate, and "patches" them into the latent via a motion-matching pass with two knobs you'll rarely touch: temperature (default 220) controls how deterministically the motion pattern is applied, and topk (default 2) limits the candidate motion tokens considered. A start_image seeds the first frame; an optional clip_vision_output adds visual grounding, the same way Wan's image-to-video node does. If the tracks field is empty, the node helpfully falls back to plain Wan image-to-video, so you can wire it up before you have tracks and it won't blow up.

Inputs that matter

  • tracks - the JSON trajectory data (multiline). This is the real input; format mismatches are the #1 failure.
  • start_image - first-frame seed.
  • width / height / length / batch_size - the output canvas.
  • temperature / topk - advanced motion-matching dials.

Outputs: positive, negative, and a latent ready for sampling.

Where it fits

Ships with ComfyUI core; Wan Move support landed in the 2026 window and is still actively getting sibling nodes (tracks-from-coordinates, visualize, concat). The Wan model goes in your ComfyUI models folder. The companion nodes for generating tracks from a reference video sit right next to it in the menu - you're expected to build the JSON with those, not by hand.

Common issues

Malformed JSON is the classic: stray quotes, missing brackets, or hand-typed coordinates, and you get an empty track or a silent fallback to i2v. The community's early pain was "floating" or ghosting subjects - objects detaching from their tracks mid-clip - which usually means the track resolution doesn't match the output canvas or the motion is too fast for the frame count. And keep in mind tracks are sampled at a 24fps coordinate grid while the model works at 16fps internally; the node resamples, but wildly jagged hand-drawn tracks come out wobbly.

Categorymodel/conditioning/wan/move

Inputs (12)

NameTypeDefaultDescription
positiveCONDITIONING
negativeCONDITIONING
vaeVAE
tracksSTRING[]
widthINT83216–16384
heightINT48016–16384
lengthINT811–16384
batch_sizeINT11–4096
temperatureFLOAT220.01–1000
topkINT21–10
start_imageIMAGE
clip_vision_outputoptCLIP_VISION_OUTPUT

Outputs (3)

NameTypeDescription
positiveCONDITIONING
negativeCONDITIONING
latentLATENT