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

πŸ…›πŸ…£πŸ…§ LTX Sparse Track Editor

Draw motion paths for LTX-2's motion-track control

By LightricksΒ·Created 2 years agoΒ·Updated about a month agoΒ· 3,956
πŸ…›πŸ…£πŸ…§ LTX Sparse Track Editor
  • image
  • tracks
β—„points_store[]β–Ί
β—„coordinates[]β–Ί
β—„points_to_sample121β–Ί

This is the fun one. LTXVSparseTrackEditor is an interactive editor built right into the node - you load a reference image and literally draw the motion you want, as splines, on top of it. Those drawn paths become sparse motion tracks that feed LTX-2's motion-track IC-LoRA, which uses them to animate the scene along the paths you traced. Want the car to drive left-to-right, the camera to push in, a character's hand to sweep up? You sketch it instead of trying to describe it in a prompt, which is a much better way to control motion than fighting LTX's prompt-adherence.

It pairs with the motion-track control LoRA the pack ships (ltx-2.3-22b-ic-lora-motion-track-control). Motion control is one of the areas LTX actually holds up - camera moves and scenic motion are on the "use LTX for this" side of the ledger - and giving you a direct spline tool instead of a text guess is exactly the kind of structured input the model was built to take.

How it works

The node renders your reference image with an on-canvas spline editor. You place and drag points to define motion paths; the node stores the geometry and samples it into a dense set of per-frame track coordinates. It outputs those tracks as a string blob that the downstream motion-track workflow (the IC-LoRA control path, via the in-context sampler) consumes. So the drawing happens here; the animating happens later in the graph.

The inputs and outputs that matter

This node is driven by its interactive canvas more than by typed fields, but the schema exposes:

  • image (IMAGE) - the reference frame you draw on. Load your starting image here.
  • points_to_sample (INT, default 121) - how many points to sample along your drawn paths, i.e. the temporal density of the track. The default of 121 lines up with LTX's common frame counts; match it to your intended clip length so there's a track position per frame.
  • points_store and coordinates (STRING, default []) - these hold the editor's state (your placed points and the drawn geometry). You don't hand-edit these; the interactive canvas writes them for you as you draw.

Output: tracks (STRING) - the sampled motion tracks, wired into the motion-track control side of your workflow. It's an output node.

How to install it

ComfyUI Manager: Ctrl+M, Install Custom Nodes, search LTXVideo, install, restart. Or:

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

then restart. Official Lightricks pack. The motion-track workflow needs the motion-track IC-LoRA on top of the LTX-2.3 checkpoint and Gemma 3 text encoder, plus the pack's baseline hardware (32GB+ VRAM, 100GB+ disk). The pack ships a motion-track example workflow - load it so the editor, the LoRA, and the sampler are already wired.

Common issues & troubleshooting

The editor canvas doesn't show up / won't draw. This is a custom UI widget, so it depends on the ComfyUI frontend loading the node's JavaScript. If you see an empty node or plain text fields instead of a drawable canvas, do a hard browser refresh after restarting ComfyUI, and make sure the pack installed cleanly (a half-installed custom node often loses its UI while keeping the Python side).

The motion doesn't follow my paths. Two usual causes: the tracks output isn't actually reaching the motion-track control LoRA, or the LoRA isn't loaded. Sparse tracks are inert without the IC-LoRA interpreting them. Confirm both ends are connected.

Motion looks jittery or mistimed. Check points_to_sample against your frame count - too few sampled points spreads the track thin across frames and the motion stutters. Keep it aligned with the length you're generating.

You expected pixel-accurate motion. These are sparse tracks guiding a generative model, not keyframed compositing. They steer the motion convincingly; they don't lock every pixel to your spline. For exact motion, this is guidance, not a mask.

CategoryLightricks/motion_tracking

Inputs (4)

NameTypeDefaultDescription
imageIMAGEReference image displayed as the editor canvas background.
points_storeSTRING[]JSON array of spline control points managed by the editor widget.
coordinatesSTRING[]JSON array of interpolated track coordinates produced by the editor.
points_to_sampleINT1212–10000Number of points sampled along each spline curve.

Outputs (1)

NameTypeDescription
tracksSTRINGβ€”