Low VRAMLoad Latent Upscale Model
Load the upscaler without OOM
- dependencies
- LATENT_UPSCALE_MODEL
LTX's two-stage pipeline is how you get real resolution out of it: generate a low-res draft to lock in composition and motion, then run a latent upscaler to render it big. But that upscaler is another model, and stacking it on top of the video model and the text encoder is exactly how you run out of VRAM. This loader exists to load the upscale model in a memory-conscious way so the whole thing fits - Lightricks' own note is that the low-VRAM loaders "ensure the correct order of execution and perform the model offloading such that generation fits in 32 GB VRAM."
How it works
It loads one of the LTX spatial or temporal upscale checkpoints and hands it back as a LATENT_UPSCALE_MODEL. The clever bit is the optional dependencies input: you chain loaders together through it so they load sequentially rather than all at once, keeping a lid on peak VRAM. That ordered-loading trick is the difference between a workflow that fits on a 32GB card and one that dies on load. The upscaler works in latent space, which is why it's fast - it's not decoding to pixels and running an ESRGAN pass, it's refining the latent directly before the final decode.
The inputs and output
model_name- which upscale checkpoint to load, from what's in yourmodels/latent_upscale_modelsfolder.dependencies(optional) - wire the output of a previous loader here to force sequential loading. This is the memory-saving hookup; use it when you're tight.
Output is a LATENT_UPSCALE_MODEL that feeds the upscale stage of your two-stage graph.
Installing it
- ComfyUI Manager - search LTXVideo, install, restart.
- Manual -
cd ComfyUI/custom_nodes && git clone https://github.com/Lightricks/ComfyUI-LTXVideo, then restart.
You have to fetch the upscaler weights yourself: the spatial upscaler (e.g. ltx-2.3-spatial-upscaler-x2) and temporal upscaler go into COMFYUI_ROOT_FOLDER/models/latent_upscale_models. They're required for the current two-stage workflows - the pipeline won't upscale without them.
Common issues
model_name dropdown is empty. The weights aren't in the folder. Download the spatial and/or temporal upscaler into models/latent_upscale_models and refresh - this loader only lists what's actually there.
Still OOM-ing at load. Use the dependencies chain. If your loaders all fire at once you lose the whole benefit; wiring them in sequence is what keeps peak memory down. Also consider ComfyUI's --reserve-vram flag, which the README recommends alongside these loaders.
Blurry or over-invented detail after upscaling. The pixel-space upscaler LoRAs are generative - they synthesize detail rather than faithfully preserve it. That's a feature for creative upscaling and a bug if you wanted a faithful refine. Match the upscaler and its strength to whether you want fidelity or invention.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| model_name | COMBO | 0 options: | |
| dependenciesopt | * | Connect any output from a previous loader to ensure sequential loading. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| LATENT_UPSCALE_MODEL | LATENT_UPSCALE_MODEL | — |