Motion Control IC-LoRA

This guide walks you through the Motion Control workflow: a ComfyUI workflow from LTX that directs object motion along sparse motion tracks you draw, rather than extracting a control signal from a reference video. You sketch how things should move by dragging a few points; the workflow interpolates smooth per-frame trajectories, renders them into a guide, and the IC-LoRA follows them during generation.

It uses the Motion Control IC-LoRA, which enables the user to guide the motion of objects or regions in a generated video using sparse point trajectories.

This guide assumes you’re comfortable prompting, generating, and iterating in ComfyUI. If you haven’t used the default templates yet, start with the Text-to-Video or Image-to-Video guides first.

What You’ll Need

Download the Motion Control workflow and drag it into ComfyUI. Open the Workflow Overview panel; if any custom nodes or model files are missing, it will let you install or download them.

Model files:

FileDescriptionPlacement
ltx-2.5-22b-distilled-transformer-bf16.safetensorsDistilled LTX-2.5 transformer (loaded via UNETLoader)ComfyUI/models/diffusion_models/
gemma4-12b-with-proj-ltx-2.5-bf16.safetensorsText encoder (Gemma 4 12B)ComfyUI/models/text_encoders/
gemma4_e2b_it_bf16.safetensorsPrompt enhancer (Gemma 4 E2B)ComfyUI/models/text_encoders/
ltx-2.5-video-vae-bf16.safetensorsVideo VAEComfyUI/models/vae/
ltx-2.5-audio-vae-bf16.safetensorsAudio VAEComfyUI/models/vae/
ltx-2.3-22b-ic-lora-motion-track-control-ref0.5.safetensorsMotion Control IC-LoRA (reused from LTX-2.3)ComfyUI/models/loras/

Get the LTX-2.5 weights from the LTX-2.5 HuggingFace repository (click Agree and Access on first download); the Motion Control IC-LoRA is on its own model page.

Custom nodes: beyond ComfyUI-LTXVideo, this workflow needs no third-party nodes — the motion-track nodes (Draw Tracks, Sparse Track Editor) ship with it. It is a single-stage distilled workflow, so there’s no spatial upscaler.

Step-by-Step

1. Load an input image

Load your opening image in the LoadImage node and enable use image input in the Input Parameters subgraph. This image conditions the first frame and is also the canvas you draw motion tracks on, so the generation’s resolution follows it.

2. Draw your motion tracks

Open the LTX Sparse Track Editor and drag points to sketch how things should move. It draws over the resized input image, and the number of points it samples follows your frame count, so every frame gets a position. You can define a single track or several simultaneous ones.

The tracks are rendered into a guide video (LTX Draw Tracks) during preprocessing and fed to the motion-track IC-LoRA. A preview of that guide (tracks_preview) is saved alongside the result, so you can check the motion before committing to a long run.

See Preparing Motion Tracks below for how to place points effectively.

3. Write your prompt

Describe the content and style of the video. The motion is supplied by your tracks, so prompt the subject and the look, not the movement.

Optionally enable enhance positive prompt in Input Parameters to expand a short prompt with the Gemma 4 enhancer (the negative prompt is never enhanced). To save VRAM, you can offload encoding/enhancement to the LTX API (see the note in the workflow). See the Prompting Guide for additional prompting tips.

4. Set frame rate and duration

Set the fps and duration in seconds in Input Parameters. The final frame count must be 1 + a multiple of 8, so the actual duration is computed from fps × requested seconds and may come out slightly different.

5. Generate

Click Run. The pipeline draws your tracks into a guide, injects it via the IC-LoRA, and generates in a single distilled stage (8 steps) with the motion-track IC-LoRA applied; the guide frames are then cropped so only the generated video is decoded. Audio and video are decoded and saved as an MP4.

Check the tracks_preview output first. It shows the drawn guide, so you can confirm the motion looks right before a full run.

6. Review and iterate

  • Adjust the tracks to change how objects move.
  • Adjust the prompt to change the subject or style while keeping the motion.
  • Change the input image to restage the shot.
  • Adjust IC-LoRA strength (below) to balance how strictly the output follows the tracks.

Preparing Motion Tracks

Instead of a per-frame visual signal (like depth or pose), you define motion by placing keypoints at specific frames; the workflow interpolates smooth spline trajectories between them, rendered as trails the IC-LoRA follows.

  • Start with 3–4 keypoints per track and add more only if the interpolated path doesn’t match your intent.
  • Keep trajectories physically plausible — sudden direction changes produce less natural results.
  • Match the track canvas to your generation resolution so the motion maps cleanly.

For more, see Sparse Track Conditioning in the IC-LoRA guide.

How It Works

The workflow runs in three parts:

  1. PreprocessLTXVDrawTracks renders your sparse tracks into a guide video at the size of the resized input image, and LTXAddVideoICLoRAGuide injects it as the IC-LoRA conditioning signal. The empty audio-video latent is built at the same size and frame count, and the input image conditions the opening frame.
  2. Generate — the distilled LTX-2.5 model runs 8 steps with the motion-track IC-LoRA applied; LTXVCropGuides strips the guide tokens so only the generated video is decoded.
  3. Decode — the latent is decoded with tiled VAE decoding (adjust tile count and overlap to fit your VRAM).

Customization

IC-LoRA strength

The LTX IC-LoRA Loader Model Only node loads the Motion Control IC-LoRA at strength 1.0. Lowering it gives the model more freedom at the cost of how strictly it follows your tracks; raising it tightens adherence. For finer control, including spatial and temporal masking, see IC-LoRA parameters.

CFG

The workflow uses a single guider CFG for both video and audio. The distilled model bakes guidance into distillation, so keep CFG close to 1 — raising it doesn’t help the way it would with a standard diffusion model. You can explore other samplers and CFG values, but stay near 1.

Tiled VAE decode

Decoding is tiled to reduce peak VRAM. Fewer tiles run faster but need more memory. Recommended starting points:

Node settings (pixels)Resolved latent geometry
512 / 64 / 128 / 3216×16, ov 2 — 16f ov 4
768 / 192 / 128 / 3224×24, ov 6 — 16f ov 4
1024 / 256 / 128 / 4832×32, ov 8 — 16f, ov 6
1536 / 384 / 192 / 4848×48, ov 12 — 24f, ov 6
768 / 192 / spatial-only24×24, ov 6 — no temporal split

Adding LoRAs

Standard LoRAs can be combined with the Motion Control IC-LoRA to add style on top of the motion control. Start at lower strengths (0.5–0.8) to avoid conflicts between style and the control signal. See the LoRA guide.