Nodes/KJNodes for ComfyUI/LTX2 LoRA Loader Advanced
ComfyUI Node Runs on cloud

LTX2 LoRA Loader Advanced

Per-pathway LoRA strength for LTX-2's audio+video

By kijai·Created 3 years ago·Updated 2 days ago· 3,030
LTX2 LoRA Loader Advanced
  • model
  • blocks
  • model
  • rank
  • loaded_keys_info
lora_name
strength_model1.00
video1.00
video_to_audio1.00
audio1.00
audio_to_video1.00
other1.00
opt_lora_path

A normal LoRA loader gives you one strength dial. That's fine for an image model, but LTX-2 generates synchronized audio and video in a single model - so a single strength knob is a blunt instrument. This loader breaks the LoRA's influence out across LTX-2's internal pathways, so you can push a LoRA hard on the video while going easy on the audio, or vice versa. Its description says it plainly: "Advanced LoRA loader with per-block strength control for LTX2 models."

Why the extra dials exist

LTX-2 isn't just a video model with sound bolted on - audio and video are entangled inside it, with cross-connections in both directions (video informing audio, audio informing video). A LoRA trained on this model touches those pathways, and you don't always want it applied evenly. Maybe the LoRA nails a visual style but its influence on the generated audio is muddying things; maybe you want the character/motion effect without letting it drag the sound around. This node lets you weight each pathway separately instead of taking one global strength and hoping. It also carries a per-DiT-block selector, so you can restrict the LoRA to specific transformer blocks - the fine-grained control power users reach for when a LoRA is too heavy-handed at full application.

The inputs and outputs that matter

  • lora_name - pick the LoRA from your models/loras folder (the dropdown), or point opt_lora_path at a file elsewhere.
  • model - the LTX-2 model to apply it to.
  • strength_model (default 1) - the overall strength, same as any loader. Start here.
  • video, video_to_audio, audio, audio_to_video, other (each 0-1, default 1) - the per-pathway multipliers on top of the overall strength. video scales the LoRA's effect on the visual generation, audio on the sound, and the cross terms (video_to_audio, audio_to_video) on the connections between them. other catches the rest. Leave them at 1 for normal full application; pull one toward 0 to spare that pathway.
  • blocks (optional) - a selected-blocks input to limit the LoRA to specific DiT blocks.

Outputs: the patched model, plus two informational strings - rank (the LoRA's rank) and loaded_keys_info (what actually loaded). Those two are genuinely useful for debugging: wire them into a text/show node to confirm the LoRA matched the model instead of silently loading nothing.

How to install it

It's in kijai's KJNodes pack.

  • ComfyUI Manager - search KJNodes for ComfyUI, install, restart.
  • Manual - cd ComfyUI/custom_nodes && git clone https://github.com/kijai/ComfyUI-KJNodes, then pip install -r ComfyUI-KJNodes/requirements.txt, restart.

The node has no download; you supply the LTX-2 LoRA. It only makes sense on an LTX-2 model - the pathway split is specific to that architecture.

Common issues & troubleshooting

loaded_keys_info shows few or no keys loaded. The LoRA doesn't match the model - wrong architecture, or an LTX-1 LoRA on LTX-2. That's exactly what the info output is for; if it reports nothing loaded, the LoRA isn't compatible, and no amount of strength will change that. This is why the node bothers to expose it.

The LoRA effect is too strong or bleeds into the audio. That's the whole reason these dials exist. Drop video or audio toward 0 to spare that pathway, and lower strength_model overall. Per-pathway tuning is the fix, not a global cut.

LoRA won't show in the dropdown. It needs to be in models/loras (or reachable via opt_lora_path). Drop the file in and refresh, or use the explicit path input.

Confusing which pathway does what. If you just want normal behavior, leave all five pathway values at 1 and treat this like an ordinary loader with strength_model - the fine controls are opt-in, not required.

CategoryKJNodes/ltxv

Inputs (10)

NameTypeDefaultDescription
lora_nameCOMBOThe name of the LoRA.
modelMODELThe diffusion model the LoRA will be applied to.
strength_modelFLOAT1.00-100–100How strongly to modify the diffusion model. This value can be negative.
videoFLOAT1.000–1Strength for video attention layers.
video_to_audioFLOAT1.000–1Strength for video to audio cross-attention layers.
audioFLOAT1.000–1Strength for audio attention layers.
audio_to_videoFLOAT1.000–1Strength for audio to video cross-attention layers.
otherFLOAT1.000–1Strength for layers not caught by other layer filters.
opt_lora_pathoptSTRINGAbsolute path of the LoRA.
blocksoptSELECTEDDITBLOCKSSelected DiT blocks configuration

Outputs (3)

NameTypeDescription
modelMODELThe modified diffusion model.
rankSTRINGPossible rank of the LoRA.
loaded_keys_infoSTRINGList of loaded keys and their alpha values.