Stack_WanTrackToVideo
Stack_WanTrackToVideo and the Wan Track model
- clip_img
- start_image
- Track
Most video control works on pictures: give the model a pose skeleton, a depth map, or a reference frame, and it animates from there. Track-to-video works on movement itself. You hand it a set of motion trajectories - points moving through the frame over time - and the model figures out what's moving and how. Stack_WanTrackToVideo is ComfyUI-Apt_Preset's front door for the Wan Track model: a config node that turns your track data and a start frame into a token the Wan stack can consume.
Full honesty up front: this is the most obscure node in this pack. The Wan Track family is new enough that a phrase search for it turns up nothing on the usual subreddits - which means no tutorial army, no copy-paste workflow, and you'll be tuning by feel. If you just want a moving image, plain image-to-video with a good prompt gets you 90% of the way with 10% of the head-scratching. Reach for this when you specifically need objects to follow defined paths - a ball arcing, a camera circling a subject, a character gliding along a line you actually drew.
What it actually does
Like the other Stack_Wan*ToVideo nodes, it's a packager: collect settings, bundle them into a WANTRACKT token, and pass it to sum_stack_Wan's Track input, where the actual conditioning happens. Nothing denoises here. Your job is setting up the track and the sampling parameters.
The inputs that matter
- tracks - the multiline string where your trajectories live. Default
[]. This is where the actual track data goes (the pack's Wan video tooling produces it), so expect to wire it from another node rather than hand-typing coordinates. - temperature - default 220, range 1–1000. Higher means more randomness in how the model follows the track. If your paths come out wobbly or ignored, this is the first knob.
- topk - default 2, range 1–10. Sampling breadth for track tokens. Lower is stricter.
- clip_vision_name - defaults to
clip_vision_h.safetensors; if the model needs a different CLIP vision encoder, pick it here. - width / height / length - the usual frame geometry, defaulting to 832×480 at 81 frames, Wan's comfort zone.
- clip_img / start_image - the visual anchor the motion gets applied to.
One output: Track (WANTRACKT), into sum_stack_Wan → Track.
Wiring it in
Same spine as every Wan workflow in this pack: sum_load_simple (Wan 2.2 Unet + clip1) → prompt conditioning → sum_stack_Wan with this node's Track output attached → sum_Ksampler. sum_stack_Wan returns video_frame_offset alongside, which you'll use to stitch this segment onto whatever came before.
Installing it
cd ComfyUI/custom_nodes
git clone https://github.com/cardenluo/ComfyUI-Apt_Preset.git
cd ComfyUI-Apt_Preset
pip install -r requirements.txt # Windows: double-click install.bat
Or search ComfyUI-Apt_Preset in ComfyUI Manager. Heavy dependency stack (pandas, opencv, onnxruntime, matplotlib, scipy) - this pack is not a one-minute install.
Common issues
Because the community signal is essentially zero, keep expectations calibrated. If the model ignores your tracks entirely, temperature down and topk down both pull the output toward the trajectory - the defaults (220/2) are already fairly tight, so don't expect miracles from topk=1. Wrong clip_vision_name is the other classic: this node needs a real CLIP vision encoder file in your models/clip_vision folder, and the None sample in the dropdown is a trap. And remember the token rule: this node outputs nothing you can see, so if nothing happens, the problem is upstream - the node feeding tracks, or the sum_stack_Wan that's supposed to be consuming the token.
Inputs (9)
| Name | Type | Default | Description |
|---|---|---|---|
| clip_vision_name | COMBO | clip_vision_h.safetensors | 1 options: None |
| width | INT | 83216–4096 | — |
| height | INT | 48016–4096 | — |
| length | INT | 811–4096 | — |
| temperature | FLOAT | 220.01–1000 | — |
| topk | INT | 21–10 | — |
| tracks | STRING | [] | — |
| clip_imgopt | IMAGE | — | |
| start_imageopt | IMAGE | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| Track | WANTRACKT | — |