Nodes/ComfyUI-LTXVideo/πŸ…›πŸ…£πŸ…§ LTXV Normalizing Sampler
ComfyUI Node Runs on cloud

πŸ…›πŸ…£πŸ…§ LTXV Normalizing Sampler

Keep LTX-2 audio and video latents balanced while sampling

By LightricksΒ·Created 2 years agoΒ·Updated about a month agoΒ· 3,956
πŸ…›πŸ…£πŸ…§ LTXV Normalizing Sampler
  • noise
  • guider
  • sampler
  • sigmas
  • latent_image
  • denoised_output
β—„video_normalization_factors1,1,1,1,1,1,1,1β–Ί
β—„audio_normalization_factors1,1,0.25,1,1,0.25,1,1β–Ί

LTX-2 is one model generating two things at once - video and audio, packed into a single joint latent. That's the whole selling point (synchronized sound, no separate audio model), but it creates a subtle problem: the video and audio parts of the latent don't naturally sit at the same scale, and if they drift apart during sampling you get artifacts - mushy video, garbled or dropout-y audio. LTXVNormalizingSampler is a custom sampler that keeps those channels in check by applying normalization factors as it denoises.

It slots in where you'd normally use a SamplerCustomAdvanced-style execute node - it takes the same noise/guider/sampler/sigmas/latent bundle - but adds two extra controls for scaling the video and audio latent channels. If you're doing text-to-audio or joint audio-video with LTX-2, this is part of the plumbing that makes the sound come out clean.

How it works

It runs the standard custom-sampler loop (your noise, guider, sampler, and sigmas driving the denoise of latent_image), and applies per-channel normalization scale factors to the video and audio portions of the latent. The defaults tell the story: the video factors are all 1 (no change), while the audio factors default to 1,1,0.25,1,1,0.25,1,1 - a couple of audio channels get scaled down to 0.25. Those specific channels are damped because, left alone, they'd dominate and muddy the result. It's a hand-tuned corrective, not something you'd usually derive yourself.

The inputs and outputs that matter

The first five are the usual custom-sampler wiring:

  • noise, guider, sampler, sigmas, latent_image - your noise source, guider (e.g. from STGGuiderNode), sampler, schedule, and the latent to denoise. Standard advanced-sampling connections.

The two that are special here:

  • video_normalization_factors (STRING, default 1,1,1,1,1,1,1,1) - per-channel scale for the video latent. All 1s means "don't touch it," which is the usual state.
  • audio_normalization_factors (STRING, default 1,1,0.25,1,1,0.25,1,1) - per-channel scale for the audio latent. The defaults are deliberately tuned; treat them as the recommended starting point rather than something to randomize.

Output is the denoised_output (LATENT) - the finished joint latent to split and decode into video and audio.

How to install it

Install the pack via ComfyUI Manager (Ctrl+M β†’ Install Custom Nodes β†’ search LTXVideo β†’ Install β†’ restart), as the README suggests. Manual:

cd ComfyUI/custom_nodes
git clone https://github.com/Lightricks/ComfyUI-LTXVideo

then restart ComfyUI. It appears under utility. This is an LTX-2-era node tied to the audio-video model, so you need that model: 32GB+ VRAM and 100GB+ disk per Lightricks, with everything downloading on first use.

Common issues & troubleshooting

Just leave the defaults. Seriously - these factors were tuned by the LTX team for the joint model. Unless you have a specific, diagnosed reason, the default 1,1,0.25,1,1,0.25,1,1 audio and all-ones video are what you want. This isn't a creative knob.

The factor string errors. It has to parse as the right count of comma-separated numbers to match the latent's channels. If you edit it, keep the length and format exactly as the defaults show - a missing or extra value will throw.

Audio still sounds bad. LTX-2's audio was a genuine launch weak point - tinny, occasional dropouts - and a lot of that was fixed at the model level in 2.3 and the distilled LoRA 1.1, not by this node. Make sure you're on a current checkpoint and, for the distilled two-stage workflow, the 1.1 distilled LoRA (1.0 is known to produce mumbling audio out of the first stage). This sampler balances channels; it can't rescue a bad checkpoint.

Wrong sampler for the job. If you're doing plain video with no audio, you don't need this - a normal sampler is fine. Its reason to exist is the joint audio-video latent.

Categoryutility

Inputs (7)

NameTypeDefaultDescription
noiseNOISEβ€”
guiderGUIDERβ€”
samplerSAMPLERβ€”
sigmasSIGMASβ€”
latent_imageLATENTβ€”
video_normalization_factorsSTRING1,1,1,1,1,1,1,1β€”
audio_normalization_factorsSTRING1,1,0.25,1,1,0.25,1,1β€”

Outputs (1)

NameTypeDescription
denoised_outputLATENTβ€”