Nodes/ComfyUI-Apt_Preset/Stack_WanTrackToVideo
ComfyUI Node

Stack_WanTrackToVideo

Stack_WanTrackToVideo and the Wan Track model

By cardenluo·Created 2 years ago·Updated a day ago· 324
Stack_WanTrackToVideo
  • clip_img
  • start_image
  • Track
clip_vision_nameclip_vision_h.safetensors
width832
height480
length81
temperature220.0
topk2
tracks[]

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.

CategoryApt_Preset/stack/😺backup

Inputs (9)

NameTypeDefaultDescription
clip_vision_nameCOMBOclip_vision_h.safetensors1 options: None
widthINT83216–4096
heightINT48016–4096
lengthINT811–4096
temperatureFLOAT220.01–1000
topkINT21–10
tracksSTRING[]
clip_imgoptIMAGE
start_imageoptIMAGE

Outputs (1)

NameTypeDescription
TrackWANTRACKT