Nodes/ComfyUI-LTXVideo/πŸ…›πŸ…£πŸ…§ LTX Draw Sparse Tracks
ComfyUI Node Runs on cloud

πŸ…›πŸ…£πŸ…§ LTX Draw Sparse Tracks

Turn point trajectories into a motion-track control video for LTX

By LightricksΒ·Created 2 years agoΒ·Updated about a month agoΒ· 3,956
πŸ…›πŸ…£πŸ…§ LTX Draw Sparse Tracks
    • IMAGE
    β—„tracksβ€”β–Ί
    β—„width512β–Ί
    β—„height512β–Ί

    This is the node that draws your motion paths for you. If you're doing the LTX-2.3 motion-track workflow - the one where you tell the video exactly how things should move by feeding it a control clip of moving dots - LTXVDrawTracks is what rasterizes those dots. You hand it a set of point trajectories, it paints them as little circles over time, and that rendered sequence becomes the control signal the Motion-Track IC-LoRA reads.

    Think of it as the visual half of motion tracking. The LoRA understands "these points move like this"; this node is what actually turns your coordinate list into pixels the LoRA can look at. Lightricks ships a whole example workflow around it (LTX-2.3_ICLoRA_Motion_Track_Distilled.json in the pack's example_workflows/2.3/ folder), so you're rarely wiring it from scratch.

    How it works

    Under the hood it's a small GPU rasterizer. It draws each track's point as a circle at high resolution, then downscales with bilinear interpolation so the dots come out soft and anti-aliased instead of blocky. Doing it on the GPU at a big size and shrinking is the cheap trick that makes the tracks look clean - no jagged edges feeding into your conditioning. The output is a plain image (a frame sequence, one frame per timestep in your track data), which you then encode and route into the control branch of the workflow.

    The inputs and outputs that matter

    There are only three, and one does all the work:

    • tracks (STRING, multiline) - this is the payload. It's the serialized track data: the point positions over time that you want drawn. You almost never type this by hand; it comes from an upstream node that extracts or generates trajectories.
    • width / height (INT, default 512, step 8) - the canvas size of the rendered frames. Match this to the resolution the rest of your workflow expects.

    Out comes a single IMAGE - the drawn track frames. Wire that into whatever consumes your control video (typically a VAE encode into the control latent for the motion-track LoRA).

    How to install it

    Easiest path is the README's own recommendation: open ComfyUI, hit the Manager (Ctrl+M), choose Install Custom Nodes, search LTXVideo, install, restart. Done. If you'd rather do it by hand:

    cd ComfyUI/custom_nodes
    git clone https://github.com/Lightricks/ComfyUI-LTXVideo
    

    then restart ComfyUI. The nodes show up under the LTXVideo menu. Heads up on the bigger picture: this pack drives the LTX-2 / LTX-2.3 video model, and that model is heavy - Lightricks lists 32GB+ VRAM and 100GB+ free disk for the checkpoints, text encoder, and cache. This particular node is featherweight itself, but it only earns its keep inside a full LTX motion-track graph, so budget for the model. Required models download on first use.

    Common issues & troubleshooting

    Nothing shows up / the output is blank. The tracks string has to be well-formed track data in the format the node expects. If it's empty or malformed you get an empty canvas. Start from the official motion-track example workflow rather than feeding hand-written coordinates - that's the fastest way to see it working, then swap in your own tracks once the shape is confirmed.

    The dots don't line up with your subject. width and height define the coordinate space the points are drawn into. If they don't match the resolution your control latent was built for, the tracks land in the wrong place. Keep the canvas size consistent across the control branch.

    Motion still doesn't follow the tracks. That's usually not this node - it drew what you gave it. Motion fidelity lives in the LoRA and the sampler. LTX in general rewards long, specific prompts and punishes short ones, so make sure the text side isn't fighting your control signal. And remember LTX-2's I2V has historically drifted from its inputs; 2.3 improved this a lot, but if you're on an older checkpoint, some slip is expected.

    CategoryLightricks/motion_tracking

    Inputs (3)

    NameTypeDefaultDescription
    tracksSTRINGJSON string of track coordinates (list of point lists with x/y keys).
    widthINT5128–8192Output image width in pixels.
    heightINT5128–8192Output image height in pixels.

    Outputs (1)

    NameTypeDescription
    IMAGEIMAGEβ€”