Nodes/ComfyUI-WanVideoWrapper/WanVideo Add WanMove Tracks
ComfyUI Node Runs on cloud

WanVideo Add WanMove Tracks

Drawing motion instead of describing it

By kijai·Created about a year ago·Updated 3 months ago· 6,654
WanVideo Add WanMove Tracks
  • image_embeds
  • track_mask
  • tracks
  • image_embeds
  • tracks
strength1.00
track_coords

Prompting motion into a video model is a genuinely bad interface - you end up writing paragraphs trying to describe a camera pan or a hand gesture, and the model interprets it however it wants. Wan-Move (ali-vilab/Wan-Move) sidesteps that entirely: you draw trajectories - literal paths a point should travel along across the clip - and the model follows them. Kijai ported it into WanVideoWrapper fast, and this node is how you actually get those trajectories into your generation.

How it works

Motion-controllable generation via latent trajectory guidance means exactly what it sounds like: you specify one or more points and where they should move to over the course of the video, and Wan-Move conditions the diffusion process on that path rather than leaving motion entirely up to the prompt and the model's priors. It's the more precise sibling to prompting "the camera slowly pans right" - instead of hoping the model reads that correctly, you hand it the actual trajectory.

This node adds that trajectory data into your existing image embeds, at a controllable strength, so it becomes part of what the sampler conditions on alongside your text and any other control signals already in the graph.

The inputs and outputs that matter

image_embeds (WANVIDIMAGE_EMBEDS, required) is the embeds bundle you're adding motion control to. strength (default 1, range 0–10) is the one dial worth understanding - it's not a 0-to-1 blend like most strength sliders in this ecosystem, it goes up to 10, so treat 1 as your baseline and push it up if the trajectory isn't being followed closely enough.

For the actual trajectory data, you have three optional inputs and you'll typically use one: tracks (TRACKS) takes a pre-built tracks object, probably from a track-drawing or track-generation node elsewhere in your graph; track_coords (STRING) lets you pass coordinates directly as text if you're generating or scripting them; track_mask (MASK) can constrain where the motion guidance applies spatially.

Two outputs: image_embeds (WANVIDIMAGE_EMBEDS), the updated embeds to send to your sampler, and tracks (TRACKS) - the resolved tracks object passed back out, useful if you want to feed the exact same trajectories into a visualization node to sanity-check them before committing to a full render.

How to install it

Via ComfyUI Manager, search WanVideoWrapper and install, or manually:

cd ComfyUI/custom_nodes
git clone https://github.com/kijai/ComfyUI-WanVideoWrapper

then restart. You'll need Wan-Move's own model weights on top of your base Wan checkpoint - kijai hosts an fp8-ready version on his WanVideo_comfy HuggingFace repo under a WanMove folder, alongside the rest of his Wan model mirrors.

Common issues & troubleshooting

This is a genuinely new model - expect rough edges. Community reaction so far has been positive but small in volume ("There are too many wans" being a fairly representative reaction to yet another Wan variant landing), and it's early enough that best practices around track density and strength haven't fully settled. Start with a small number of clear trajectory points rather than something dense and complex.

If motion looks correct but everything else degrades, try pulling strength back toward 1 - because the range goes to 10, it's easy to overshoot and let the trajectory guidance dominate the generation at the expense of coherent detail.

If you're building tracks by hand, sanity-check them before a full render. This pack ships a separate trajectory-visualization node for its ATI motion-control system, but note it consumes a different track format (a plain string) than WanMove's own TRACKS type - the two aren't a drop-in pair, so don't assume you can pipe WanMove's tracks straight into it. Whatever you use to preview, look before you commit: catching a garbled trajectory on a still frame is a lot cheaper than catching it after a full generation.

CategoryWanVideoWrapper

Inputs (5)

NameTypeDefaultDescription
image_embedsWANVIDIMAGE_EMBEDS
strengthFLOAT1.000–10Strength of the reference embedding
track_maskoptMASK
track_coordsoptSTRINGJSON string or list of JSON strings representing the tracks
tracksoptTRACKSAlternatively use Comfy Tracks dictionary

Outputs (2)

NameTypeDescription
image_embedsWANVIDIMAGE_EMBEDS
tracksTRACKS