WanVideo ATI Tracks
Draw motion paths and make Wan follow them
- model
- model
ATI is trajectory control for Wan - you define motion paths (tracks) and the model moves things along them. Want an object to swoop across frame on a specific arc, or the camera to follow a path you drew? That's ATI. The community reaction when it showed up was a straightforward "Wan ATI looks amazing" - it's one of the more directly controllable ways to dictate motion instead of hoping your prompt lands it.
This node patches your Wan model with a set of tracks so the generation respects them. You bring the trajectories (as a string of point data, usually authored in a path-drawing tool), it wires them into the model.
How it works
ATI conditions the video model on point trajectories - sequences of coordinates over time that say "this point should be here, then here, then here." The node reads your tracks data, along with the frame dimensions so the coordinates map correctly, and patches the model to steer the relevant image regions along those paths during sampling. A temperature and top-k control how the trajectory guidance is applied, and a start/end window controls when in the schedule it's active.
The inputs that matter
model(WANVIDEOMODEL, required) in,modelout - the node patches the model and hands it back; wire the output to your sampler.tracks(STRING, required) - the trajectory data. This is the actual motion you're prescribing, typically JSON point-tracks exported from a path/track-drawing node. Malformed tracks are the usual reason nothing moves.width/height(defaults 832 × 480) - the frame dimensions your track coordinates are defined against. These must match the resolution the tracks were drawn at, or the paths land in the wrong place.start_percent/end_percent(0 to 1) - the slice of sampling where trajectory control applies.temperature(default 220) andtopk(default 2) - how the trajectory guidance is weighted/selected. Leave them at defaults unless you're deliberately tuning the strength/spread of the control.
The output is model (WANVIDEOMODEL) → the sampler.
How to install it
ComfyUI Manager: search ComfyUI-WanVideoWrapper, install, restart. Manually:
cd ComfyUI/custom_nodes
git clone https://github.com/kijai/ComfyUI-WanVideoWrapper
pip install -r ComfyUI-WanVideoWrapper/requirements.txt
then restart. ATI runs on the Wan base model plus its trajectory weights - make sure your WanVideoWrapper install is current so the ATI support is present.
Common issues & troubleshooting
The paths land in the wrong spot. Nearly always a resolution mismatch: width/height here have to match the dimensions your tracks were authored at. If you drew tracks on an 832×480 canvas, generate at 832×480 (or scale the tracks accordingly). Coordinate systems don't auto-adjust.
Objects don't follow the track at all. Check the tracks string is valid and non-empty - this input is a raw string, so a broken export or an empty value just silently gives you an ordinary generation. Also confirm the start_percent/end_percent window isn't collapsed to nothing.
A pack update broke your ATI graph. ATI has shifted around before - a community thread flagged an ATI/path-animator node changing its inputs after an update, and the fix is the standard one: when a node's inputs change, old connections point at the wrong slots, so delete and re-add the node and reconnect. If your saved ATI workflow suddenly misbehaves, rebuild the node rather than trusting the stale wiring.
Inputs (8)
| Name | Type | Default | Description |
|---|---|---|---|
| model | WANVIDEOMODEL | — | |
| tracks | STRING | — | |
| width | INT | 83264–2048 | Width of the image to encode |
| height | INT | 48064–29048 | Height of the image to encode |
| temperature | FLOAT | 220.00–1000 | — |
| topk | INT | 21–10 | — |
| start_percent | FLOAT | 0.000–1 | Start percent of the steps to apply ATI |
| end_percent | FLOAT | 1.000–1 | End percent of the steps to apply ATI |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| model | WANVIDEOMODEL | — |