Nodes/10S-Comfy-nodes/🎚️ LTX LoRA Stack (AV)
ComfyUI Node

🎚️ LTX LoRA Stack (AV)

The AV-split LTX2 LoRA stack

By TenStripΒ·Created 4 months agoΒ·Updated 26 days agoΒ· 244
🎚️ LTX LoRA Stack (AV)
  • model
  • MODEL
β—„num_loras1β–Ί
β—„lora_1Noneβ–Ί
β—„strength_11.00β–Ί
β—„audio_weight_11.00β–Ί
β—„video_weight_11.00β–Ί
β—„lora_2Noneβ–Ί
β—„strength_21.00β–Ί
β—„audio_weight_21.00β–Ί
β—„video_weight_21.00β–Ί
β—„lora_3Noneβ–Ί
β—„strength_31.00β–Ί
β—„audio_weight_31.00β–Ί
β—„video_weight_31.00β–Ί
β—„lora_4Noneβ–Ί
β—„strength_41.00β–Ί
β—„audio_weight_41.00β–Ί
β—„video_weight_41.00β–Ί
β—„lora_5Noneβ–Ί
β—„strength_51.00β–Ί
β—„audio_weight_51.00β–Ί
β—„video_weight_51.00β–Ί
β—„lora_6Noneβ–Ί
β—„strength_61.00β–Ί
β—„audio_weight_61.00β–Ί
β—„video_weight_61.00β–Ί
β—„lora_7Noneβ–Ί
β—„strength_71.00β–Ί
β—„audio_weight_71.00β–Ί
β—„video_weight_71.00β–Ί
β—„lora_8Noneβ–Ί
β—„strength_81.00β–Ί
β—„audio_weight_81.00β–Ί
β—„video_weight_81.00β–Ί
β—„lora_9Noneβ–Ί
β—„strength_91.00β–Ί
β—„audio_weight_91.00β–Ί
β—„video_weight_91.00β–Ί
β—„lora_10Noneβ–Ί
β—„strength_101.00β–Ί
β—„audio_weight_101.00β–Ί
β—„video_weight_101.00β–Ί
β—„lora_11Noneβ–Ί
β—„strength_111.00β–Ί
β—„audio_weight_111.00β–Ί
β—„video_weight_111.00β–Ί
β—„lora_12Noneβ–Ί
β—„strength_121.00β–Ί
β—„audio_weight_121.00β–Ί
β—„video_weight_121.00β–Ί

If you've ever stacked three LoRAs on an LTX2 workflow, you know the pain this node kills: a sideways chain of LoRA Loader Advanced nodes, each a separate step, and if one is out of order the whole thing's a mess. LTX LoRA Stack (AV) is one node that holds up to twelve LoRAs at once, and it throws in a trick the loaders can't do - separate strength per LoRA for the audio half of the model versus the video half.

That AV split is the reason this node exists. LTX2 is a dual-stream DiT: video tokens and audio tokens flow through the same transformer but hit different block groups (audio_attn, audio_ff, audio_adaln on one side, the main transformer_blocks on the other). A LoRA can touch both, or mostly one. The stack lets you say "this style LoRA hits video at 0.8 but I want zero audio impact" without training anything.

How it works

Each LoRA you load is split into two buckets by a simple rule: any model key containing the substring audio lands in the audio bucket, everything else in the video bucket. That rule catches more than you'd think - audio_embeddings_connector, audio_to_video_attn, and video_to_audio_attn all contain "audio", so they're correctly treated as audio-side layers even though one of them is cross-attention from video.

Per layer, the effective strength is:

effective = strength Γ— (audio_weight  for audio layers
                       video_weight  for video layers)

Each slot gives you three knobs: strength (the overall multiplier, βˆ’10 to 10), audio_weight, and video_weight. Set a side to 0 and that LoRA's influence on that side disappears. The node clones your ModelPatcher before applying, so the upstream model isn't mutated - standard Comfy good manners.

The inputs that matter

  • model - the MODEL from your checkpoint loader.
  • num_loras - the single source of truth for how many slots are active. This is the one beginners get burned by: slots beyond num_loras are ignored entirely, no matter what's in them. Bump it as you add LoRAs.
  • lora_1 … lora_12 - dropdowns populated from your models/loras folder. Set one to "None" (or its strength to 0) to disable that slot.
  • strength_N / audio_weight_N / video_weight_N - the three per-slot multipliers above.

Output is a single MODEL, wired straight into your sampler. The description on the socket couldn't be plainer: you're replacing a chain of loaders.

Installing it

This is part of the 10S-Comfy-nodes pack (TenStrip). Easiest is ComfyUI Manager - search "10S" and install. Or by hand:

cd ComfyUI/custom_nodes
git clone https://github.com/TenStrip/10S-Comfy-nodes.git 10S_Nodes

Restart ComfyUI and the nodes appear under 10S Nodes/. There are no extra pip dependencies - the README is explicit that everything this pack needs already ships with ComfyUI. Update with git pull in that folder.

Where people get burned

The num_loras trap above is the big one - a workflow file can carry stale values in slots you think are off. Also remember this pack is LTX2-specific: the LoRA key mapping assumes the LTX-AV class structure, so don't expect it to stack SDXL LoRAs. And because LTX2 is prompt-sensitive (the community's standing advice is long, specific prompts), a big stack of style LoRAs will amplify each other fast - start with strength 0.6–0.8 per LoRA and work up rather than slamming everything to 1.0.

Category10S Nodes/LoRA

Inputs (50)

NameTypeDefaultDescription
modelMODELβ€”
num_lorasINT11–12How many LoRA slots to actually use. Only the first N slots (1-12) are applied; the rest are ignored entirely regardless of their values. Bump this up as you add more LoRAs to your stack.
lora_1optCOMBONoneLoRA file for slot 1. Set to 'None' to disable this slot.
strength_1optFLOAT1.00-10–10Overall LoRA strength multiplier. Combined with audio_weight and video_weight per layer.
audio_weight_1optFLOAT1.00-10–10Audio-block scale. Multiplied by strength to produce final scale for audio layers: audio_attn, audio_ff, audio_adaln, audio_embeddings_connector, and both A↔V cross-attention pairs. Set to 0 to disable audio-side adjustments from this LoRA.
video_weight_1optFLOAT1.00-10–10Video-block scale. Multiplied by strength to produce final scale for video layers: main DiT transformer_blocks (attn1/attn2/ff), video_embeddings_connector, and video adaLN modulation. Set to 0 to disable video-side adjustments from this LoRA.
lora_2optCOMBONoneLoRA file for slot 2. Set to 'None' to disable this slot.
strength_2optFLOAT1.00-10–10Overall LoRA strength multiplier. Combined with audio_weight and video_weight per layer.
audio_weight_2optFLOAT1.00-10–10Audio-block scale. Multiplied by strength to produce final scale for audio layers: audio_attn, audio_ff, audio_adaln, audio_embeddings_connector, and both A↔V cross-attention pairs. Set to 0 to disable audio-side adjustments from this LoRA.
video_weight_2optFLOAT1.00-10–10Video-block scale. Multiplied by strength to produce final scale for video layers: main DiT transformer_blocks (attn1/attn2/ff), video_embeddings_connector, and video adaLN modulation. Set to 0 to disable video-side adjustments from this LoRA.
lora_3optCOMBONoneLoRA file for slot 3. Set to 'None' to disable this slot.
strength_3optFLOAT1.00-10–10Overall LoRA strength multiplier. Combined with audio_weight and video_weight per layer.
audio_weight_3optFLOAT1.00-10–10Audio-block scale. Multiplied by strength to produce final scale for audio layers: audio_attn, audio_ff, audio_adaln, audio_embeddings_connector, and both A↔V cross-attention pairs. Set to 0 to disable audio-side adjustments from this LoRA.
video_weight_3optFLOAT1.00-10–10Video-block scale. Multiplied by strength to produce final scale for video layers: main DiT transformer_blocks (attn1/attn2/ff), video_embeddings_connector, and video adaLN modulation. Set to 0 to disable video-side adjustments from this LoRA.
lora_4optCOMBONoneLoRA file for slot 4. Set to 'None' to disable this slot.
strength_4optFLOAT1.00-10–10Overall LoRA strength multiplier. Combined with audio_weight and video_weight per layer.
audio_weight_4optFLOAT1.00-10–10Audio-block scale. Multiplied by strength to produce final scale for audio layers: audio_attn, audio_ff, audio_adaln, audio_embeddings_connector, and both A↔V cross-attention pairs. Set to 0 to disable audio-side adjustments from this LoRA.
video_weight_4optFLOAT1.00-10–10Video-block scale. Multiplied by strength to produce final scale for video layers: main DiT transformer_blocks (attn1/attn2/ff), video_embeddings_connector, and video adaLN modulation. Set to 0 to disable video-side adjustments from this LoRA.
lora_5optCOMBONoneLoRA file for slot 5. Set to 'None' to disable this slot.
strength_5optFLOAT1.00-10–10Overall LoRA strength multiplier. Combined with audio_weight and video_weight per layer.
audio_weight_5optFLOAT1.00-10–10Audio-block scale. Multiplied by strength to produce final scale for audio layers: audio_attn, audio_ff, audio_adaln, audio_embeddings_connector, and both A↔V cross-attention pairs. Set to 0 to disable audio-side adjustments from this LoRA.
video_weight_5optFLOAT1.00-10–10Video-block scale. Multiplied by strength to produce final scale for video layers: main DiT transformer_blocks (attn1/attn2/ff), video_embeddings_connector, and video adaLN modulation. Set to 0 to disable video-side adjustments from this LoRA.
lora_6optCOMBONoneLoRA file for slot 6. Set to 'None' to disable this slot.
strength_6optFLOAT1.00-10–10Overall LoRA strength multiplier. Combined with audio_weight and video_weight per layer.
audio_weight_6optFLOAT1.00-10–10Audio-block scale. Multiplied by strength to produce final scale for audio layers: audio_attn, audio_ff, audio_adaln, audio_embeddings_connector, and both A↔V cross-attention pairs. Set to 0 to disable audio-side adjustments from this LoRA.
video_weight_6optFLOAT1.00-10–10Video-block scale. Multiplied by strength to produce final scale for video layers: main DiT transformer_blocks (attn1/attn2/ff), video_embeddings_connector, and video adaLN modulation. Set to 0 to disable video-side adjustments from this LoRA.
lora_7optCOMBONoneLoRA file for slot 7. Set to 'None' to disable this slot.
strength_7optFLOAT1.00-10–10Overall LoRA strength multiplier. Combined with audio_weight and video_weight per layer.
audio_weight_7optFLOAT1.00-10–10Audio-block scale. Multiplied by strength to produce final scale for audio layers: audio_attn, audio_ff, audio_adaln, audio_embeddings_connector, and both A↔V cross-attention pairs. Set to 0 to disable audio-side adjustments from this LoRA.
video_weight_7optFLOAT1.00-10–10Video-block scale. Multiplied by strength to produce final scale for video layers: main DiT transformer_blocks (attn1/attn2/ff), video_embeddings_connector, and video adaLN modulation. Set to 0 to disable video-side adjustments from this LoRA.
lora_8optCOMBONoneLoRA file for slot 8. Set to 'None' to disable this slot.
strength_8optFLOAT1.00-10–10Overall LoRA strength multiplier. Combined with audio_weight and video_weight per layer.
audio_weight_8optFLOAT1.00-10–10Audio-block scale. Multiplied by strength to produce final scale for audio layers: audio_attn, audio_ff, audio_adaln, audio_embeddings_connector, and both A↔V cross-attention pairs. Set to 0 to disable audio-side adjustments from this LoRA.
video_weight_8optFLOAT1.00-10–10Video-block scale. Multiplied by strength to produce final scale for video layers: main DiT transformer_blocks (attn1/attn2/ff), video_embeddings_connector, and video adaLN modulation. Set to 0 to disable video-side adjustments from this LoRA.
lora_9optCOMBONoneLoRA file for slot 9. Set to 'None' to disable this slot.
strength_9optFLOAT1.00-10–10Overall LoRA strength multiplier. Combined with audio_weight and video_weight per layer.
audio_weight_9optFLOAT1.00-10–10Audio-block scale. Multiplied by strength to produce final scale for audio layers: audio_attn, audio_ff, audio_adaln, audio_embeddings_connector, and both A↔V cross-attention pairs. Set to 0 to disable audio-side adjustments from this LoRA.
video_weight_9optFLOAT1.00-10–10Video-block scale. Multiplied by strength to produce final scale for video layers: main DiT transformer_blocks (attn1/attn2/ff), video_embeddings_connector, and video adaLN modulation. Set to 0 to disable video-side adjustments from this LoRA.
lora_10optCOMBONoneLoRA file for slot 10. Set to 'None' to disable this slot.
strength_10optFLOAT1.00-10–10Overall LoRA strength multiplier. Combined with audio_weight and video_weight per layer.
audio_weight_10optFLOAT1.00-10–10Audio-block scale. Multiplied by strength to produce final scale for audio layers: audio_attn, audio_ff, audio_adaln, audio_embeddings_connector, and both A↔V cross-attention pairs. Set to 0 to disable audio-side adjustments from this LoRA.
video_weight_10optFLOAT1.00-10–10Video-block scale. Multiplied by strength to produce final scale for video layers: main DiT transformer_blocks (attn1/attn2/ff), video_embeddings_connector, and video adaLN modulation. Set to 0 to disable video-side adjustments from this LoRA.
lora_11optCOMBONoneLoRA file for slot 11. Set to 'None' to disable this slot.
strength_11optFLOAT1.00-10–10Overall LoRA strength multiplier. Combined with audio_weight and video_weight per layer.
audio_weight_11optFLOAT1.00-10–10Audio-block scale. Multiplied by strength to produce final scale for audio layers: audio_attn, audio_ff, audio_adaln, audio_embeddings_connector, and both A↔V cross-attention pairs. Set to 0 to disable audio-side adjustments from this LoRA.
video_weight_11optFLOAT1.00-10–10Video-block scale. Multiplied by strength to produce final scale for video layers: main DiT transformer_blocks (attn1/attn2/ff), video_embeddings_connector, and video adaLN modulation. Set to 0 to disable video-side adjustments from this LoRA.
lora_12optCOMBONoneLoRA file for slot 12. Set to 'None' to disable this slot.
strength_12optFLOAT1.00-10–10Overall LoRA strength multiplier. Combined with audio_weight and video_weight per layer.
audio_weight_12optFLOAT1.00-10–10Audio-block scale. Multiplied by strength to produce final scale for audio layers: audio_attn, audio_ff, audio_adaln, audio_embeddings_connector, and both A↔V cross-attention pairs. Set to 0 to disable audio-side adjustments from this LoRA.
video_weight_12optFLOAT1.00-10–10Video-block scale. Multiplied by strength to produce final scale for video layers: main DiT transformer_blocks (attn1/attn2/ff), video_embeddings_connector, and video adaLN modulation. Set to 0 to disable video-side adjustments from this LoRA.

Outputs (1)

NameTypeDescription
MODELMODELβ€”