π π £π § LTXV Normalizing Sampler
Keep LTX-2 audio and video latents balanced while sampling
- noise
- guider
- sampler
- sigmas
- latent_image
- denoised_output
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. fromSTGGuiderNode), sampler, schedule, and the latent to denoise. Standard advanced-sampling connections.
The two that are special here:
video_normalization_factors(STRING, default1,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, default1,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.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| noise | NOISE | β | |
| guider | GUIDER | β | |
| sampler | SAMPLER | β | |
| sigmas | SIGMAS | β | |
| latent_image | LATENT | β | |
| video_normalization_factors | STRING | 1,1,1,1,1,1,1,1 | β |
| audio_normalization_factors | STRING | 1,1,0.25,1,1,0.25,1,1 | β |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| denoised_output | LATENT | β |