Nodes/IAMCCS-nodes/IAMCCS Motion Parts IC-LoRA Apply
ComfyUI Node

IAMCCS Motion Parts IC-LoRA Apply

The LTX-2 IC-LoRA applicator that glues motion control into conditioning

By IAMCCS·Created 11 months ago·Updated 8 days ago· 113
IAMCCS Motion Parts IC-LoRA Apply
  • positive
  • negative
  • vae
  • latent
  • control_frames
  • guide_data
  • model
  • positive
  • negative
  • latent
  • model
  • latent_downscale_factor
  • report
motion_render_plan_json{}
default_strength0.75
default_attention_strength0.65
latent_downscale_factor1
cropcenter
use_tiled_encodefalse
tile_size256
tile_overlap64
ic_lora_nameNone
ic_lora_strength1.00
image_attention_strength1.00
scale_by1.00
upscale_methodbicubic

LTX's IC-LoRA ecosystem is how you steer the model with a reference image or control frames - it's the mechanism behind the official pose/depth/canny control LoRAs that pulled LTX into VFX workflows. IAMCCS_MotionPartsICLoRAApply is the heavy-duty version of that: it takes your conditioning, a VAE, a latent, and rendered control frames, then applies an IC-LoRA per the motion plan so the guide actually steers generation. It's the payoff node at the end of the Shotboard V4 motion chain.

From IAMCCS-nodes (author IAMCCS, the same person whose LTX-2.3 low-VRAM workflows got picked up across r/comfyui), this is the node where the plan becomes pixels. It's not subtle and it's not small - six outputs, a dozen inputs, a tiled-encode option. It's built for real motion-guided LTX-2 work.

How it works

The node fuses the IC-LoRA approach into your generation in one pass. control_frames (the rendered motion guide) are encoded through your vae and injected into the conditioning alongside your positive/negative, and the IC-LoRA - selected via ic_lora_name - is applied with ic_lora_strength. The motion_render_plan_json tells it which frames and which strength tiers to apply where; the default_strength and default_attention_strength fallbacks (0.75 / 0.65) cover anything the plan doesn't pin down.

The memory-conscious touches are the ones worth calling out. latent_downscale_factor (default 1) lets you encode the control at lower latent resolution - often fine for guidance and a big VRAM win. use_tiled_encode + tile_size/tile_overlap (256/64 default) do tiled VAE encoding for the control frames, which is your OOM escape hatch on big clips. scale_by and upscale_method resize the control frames to match. Optional model and guide_data hook the pack's wider pipeline in if present.

Inputs and outputs

Required: positive, negative (CONDITIONING), vae (VAE), latent (LATENT), control_frames (IMAGE), motion_render_plan_json, the strength defaults, encode settings.

Optional: guide_data, model, ic_lora_name (default None), ic_lora_strength, image_attention_strength, scale_by, upscale_method.

Outputs:

  • positive / negative (CONDITIONING) - the guided conditioning, into your sampler.
  • latent (LATENT) - processed latent out.
  • model (MODEL) - model out (patched if the IC-LoRA was applied at model level).
  • latent_downscale_factor (FLOAT) - echo of what you set, so downstream nodes stay consistent.
  • report (STRING) - what the apply actually did.

How to install

Ships in IAMCCS-nodes. ComfyUI Manager search "IAMCCS", or:

cd ComfyUI/custom_nodes
git clone https://github.com/IAMCCS/IAMCCS-nodes.git

Restart. You'll additionally need the IC-LoRA files (official LTX control LoRAs or your own) - they don't come with the pack. ComfyUI ≥ 0.3.0, Python ≥ 3.12, Torch ≥ 2.8.

Gotchas

Start with latent_downscale_factor 1 and only push it if VRAM demands - encoding control frames at 1× is what keeps the guidance honest. If you OOM on long clips, enable use_tiled_encode before you start cutting quality elsewhere. And the ic_lora_name dropdown only lists what's present at load - put your IC-LoRAs in the models folder and refresh the page, or it'll show just None. On low-VRAM LTX-2 setups specifically, remember the pack's VAE-decode-to-disk and VRAM-flush siblings exist precisely because this kind of node balloons memory on long clips.

CategoryIAMCCS/Cine/Shotboard V4

Inputs (20)

NameTypeDefaultDescription
positiveCONDITIONING
negativeCONDITIONING
vaeVAE
latentLATENT
control_framesIMAGE
motion_render_plan_jsonSTRING{}
default_strengthFLOAT0.750–1
default_attention_strengthFLOAT0.650–1
latent_downscale_factorFLOAT11–10
cropCOMBOcenter2 options: disabled, center
use_tiled_encodeBOOLEANfalse
tile_sizeINT25664–512
tile_overlapINT6416–256
guide_dataoptGUIDE_DATA
modeloptMODEL
ic_lora_nameoptCOMBONone1 options: None
ic_lora_strengthoptFLOAT1.00-100–100
image_attention_strengthoptFLOAT1.000–1
scale_byoptFLOAT1.000.01–8
upscale_methodoptCOMBObicubic5 options: nearest-exact, bilinear, area, bicubic, bislerp

Outputs (6)

NameTypeDescription
positiveCONDITIONING
negativeCONDITIONING
latentLATENT
modelMODEL
latent_downscale_factorFLOAT
reportSTRING