π π £π § LTXV Stat Norm Latent
Rescale an LTX latent's statistics in one shot
- latents
- LATENT
This is the one-shot, no-model-patching version of LTX's latent statistics normalization. LTXVStatNormLatent takes a latent and rescales its distribution - mean and standard deviation - toward targets you set, once, right there in the graph. Where the per-step patchers apply their correction throughout generation by wrapping the model, this node just operates on a latent you already have. It's the simpler, more predictable tool: no scheduling, no model surgery, just "normalize this latent and pass it on."
Where it earns its keep is between stages. LTX two-stage workflows (generate low, then upscale/refine) pass a latent from one sampler to the next, and if that latent's statistics are off - too hot, too much spread, outliers from a blowout - the second stage inherits the problem. Dropping a stat-norm in the middle cleans the latent before it goes downstream. It's also handy for taming a latent whose level drifted, without committing to a per-step patch on the whole generation.
How it works
It reads your LATENT, measures its distribution (optionally ignoring the extreme tail via a percentile), and rescales toward the target mean and std. A factor lets you apply the correction partially rather than fully, so you can nudge rather than hard-snap. Out comes a corrected LATENT.
The inputs and outputs that matter
latents(LATENT) in,LATENTout - drop it inline wherever the latent needs cleaning.target_mean(FLOAT, default 0) andtarget_std(FLOAT, default 1) - the distribution you're normalizing toward. Mean 0, std 1 is the neutral standardization; leave them unless you're deliberately shifting level.factor(FLOAT, default 1) - how much of the normalization to apply. 1.0 is the full correction; lower it to blend between the original latent and the normalized one. This is the knob for "clean it up a bit" versus "hard-reset the statistics."percentile(FLOAT, default 95) - excludes the extreme tail when measuring spread, so a handful of outlier values don't skew the rescale.clip_outliers(BOOLEAN, default false) - clamp the outliers outright. Turn on when specular blowouts are the specific issue.
How to install it
ComfyUI Manager: Ctrl+M, Install Custom Nodes, search LTXVideo, install, restart. Or:
cd ComfyUI/custom_nodes
git clone https://github.com/Lightricks/ComfyUI-LTXVideo
then restart. Official Lightricks pack. Pure latent math - nothing to download - but it sits inside an LTX-2 workflow with the usual model footprint elsewhere.
Common issues & troubleshooting
The corrected latent looks washed out after decode. Full normalization can strip contrast. Pull factor below 1.0 to blend the original back in, or leave clip_outliers off so you're rescaling rather than clamping.
It didn't change anything. If factor is near 0 the node barely touches the latent. Also check you actually rewired the downstream node to consume this node's output - it's easy to insert a normalizer and forget to route the corrected latent onward.
Per-step vs. one-shot - which should I use? Use this when you want a single, controllable correction between stages or before a decode. Use LTXVPerStepStatNormPatcher when the drift happens during generation and you need it corrected on every step. Same underlying math; different point of application. Reach for this one first - it's simpler to reason about and doesn't alter how the model samples.
Overcooked lights specifically. As with the patchers, the KB's first move for blown highlights on LTX-2.3 is tuning CFG (roughly 1.1β2.0 on single-stage T2V). Use stat-norm as the cleanup when a CFG tweak alone doesn't fully settle it, and enable clip_outliers for the bright specular case.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| latents | LATENT | β | |
| target_mean | FLOAT | 0.00-10β10 | β |
| target_std | FLOAT | 1.000.01β10 | β |
| percentile | FLOAT | 95.050β100 | Percentile of distribution to use for statistics calculation |
| factor | FLOAT | 1.00-10β10 | β |
| clip_outliers | BOOLEAN | false | β |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| LATENT | LATENT | β |