Nodes/LTX Director Motion Brush/LTX Director Motion Brush V2 Director Guide
ComfyUI Node

LTX Director Motion Brush V2 Director Guide

LTX Director Motion Brush V2 Director Guide

By exportAnything·Created 3 months ago·Updated 2 months ago· 24
LTX Director Motion Brush V2 Director Guide
  • positive
  • negative
  • vae
  • latent
  • guide_data
  • motion_guide_data
  • model
  • positive
  • negative
  • latent
  • model
  • latent_downscale_factor
ic_lora_nameNone
ic_lora_strength1.00
scale_by1.00
upscale_methodbicubic
image_attention_strength1.00
cropcenter
auto_snap_ic_gridtrue
use_tiled_encodefalse
tile_size256
tile_overlap64
retake_modefalse

The main Motion Brush node is the flashy one - timelines, drawing, retakes. But nothing you draw matters until this node does its job: taking the Director keyframes from guide_data, encoding them with your VAE, and inserting them into the video latent at the right frames with the right strength. It's the workhorse of the whole workflow, and it's also the node doing the fanciest trick: mixing still-image keyframe guidance with the IC-LoRA motion-track video in one pass.

There's a naming story here worth knowing. This is the Motion Brush package's re-exported copy of the upstream LTXDirectorGuide (from WhatDreamsCost's LTX Director v2), registered under the LTXDirectorMotionBrushV2* name so the two packages can live side by side without class-name collisions. If you've used upstream Director, this behaves the same - it's just the version that doesn't force you to install the upstream pack.

The inputs that matter

  • positive, negative - the conditioning to tag with guide keyframe info.
  • vae - the video VAE that encodes your storyboard images into the latent. If this is wrong, everything downstream is wrong.
  • latent - the video latent the guides get inserted into (from the main node's video_latent).
  • guide_data - from the main node; this is the keyframe list, insert frames, and per-image strengths.
  • motion_guide_data (optional) + model + ic_lora_name - connect these to enable IC-LoRA motion guidance. ic_lora_name is a dropdown of the LoRAs in your models/loras folder; "None" turns motion guidance off. It needs the Lightricks motion-track-control LoRA (ltx-2.3-22b-ic-lora-motion-track-control-ref0.5.safetensors).
  • ic_lora_strength (default 1.0) - how hard the IC-LoRA pushes.
  • scale_by, upscale_method, crop, auto_snap_ic_grid - latent geometry handling. auto_snap_ic_grid (ON by default) snaps the latent to the IC-LoRA's downscale grid so the reference dilates cleanly - leave it on.
  • use_tiled_encode, tile_size (256), tile_overlap (64) - the low-VRAM lever. Tiled encoding trades some speed and seam risk for fitting on smaller cards.
  • retake_mode - force retake mode on; when OFF it still auto-detects from the timeline data.

What it does under the hood

It encodes the guide images, splices them into the latent at their keyframe positions with per-image strengths, and - when the IC-LoRA is active - loads the LoRA, reports the resulting latent_downscale_factor, and snaps the grid. In retake mode it takes a different branch entirely: it preserves the base video's latent and masks only the retake region instead of inserting new keyframes.

Outputs

positive, negative, latent (the guide-infused result that goes to your sampler), model (with the IC-LoRA applied, if any), and latent_downscale_factor (a FLOAT to feed wherever the guide's downscale factor is consumed). One note: the ic_lora_name placeholder literally reads "put_ic_lora_in_ComfyUI_models_loras" until you add the file - that's the author's way of reminding you where it goes.

Install

Same pack, same routine:

comfy node install ltx-director-motion-brush
# or clone into ComfyUI/custom_nodes, then restart ComfyUI

Requires ComfyUI-LTXVideo, comfyui-kjnodes, and ComfyUI-Impact-Pack, plus the LTX 2.3 stack and Lightricks IC-LoRA models.

Common issues

  • Videos ignoring the keyframes. Check ic_lora_strength isn't overpowering the image guidance, and reach for the Guide Attention node's director_attention_strength - that's the master balance between these two.
  • OOM at higher resolutions. That's use_tiled_encode's moment. Turn it on and drop tile_size if you're still tight.
  • Guide node complains about latent shape. Make sure auto_snap_ic_grid is on and the latent came from the main node's video_latent, not a hand-built one.
Categorysd

Inputs (18)

NameTypeDefaultDescription
positiveCONDITIONINGPositive conditioning to add guide keyframe info to.
negativeCONDITIONINGNegative conditioning to add guide keyframe info to.
vaeVAEVideo VAE used to encode the guide images.
latentLATENTVideo latent — guides are inserted into this latent.
guide_dataGUIDE_DATAGuide data produced by Prompt Relay Encode (Timeline).
motion_guide_dataoptMOTION_GUIDE_DATAConnect motion guide data from the timeline node to use IC-LoRA video guidance.
modeloptMODELConnect model if using IC-LoRA for motion guidance.
ic_lora_nameoptCOMBONoneSelect the IC-LoRA model to use for motion guidance.
ic_lora_strengthoptFLOAT1.00-100–100
scale_byoptFLOAT1.000.01–8Scale the latent by this factor.
upscale_methodoptCOMBObicubicMethod used to upscale/downscale the latent.
image_attention_strengthoptFLOAT1.000–1
cropoptCOMBOcenter2 options: disabled, center
auto_snap_ic_gridoptBOOLEANtrue
use_tiled_encodeoptBOOLEANfalse
tile_sizeoptINT25664–512
tile_overlapoptINT6416–256
retake_modeoptBOOLEANfalseForce Retake Mode. If false, it will still auto-detect Retake Mode from the timeline data.

Outputs (5)

NameTypeDescription
positiveCONDITIONING
negativeCONDITIONING
latentLATENT
modelMODEL
latent_downscale_factorFLOAT