AD_LTX_latent_scale
Upscale an LTX latent before decode
- img_latent
- img_vae
- img_latent
Small node, useful job: it upscales an LTX image latent in latent space, using a dedicated upscaler model rather than upscaling pixels after decode. That matters because latent-space upscaling with a model built for the job tends to produce cleaner results than a generic pixel upscaler bolted on after the fact - and it's cheaper, since you're scaling a much smaller tensor than the final image. Lightricks ships dedicated latent upscalers alongside the LTX-2.3 checkpoints for exactly this reason, and this node is what lets you drop one into an Apt_Preset LTX chain.
How it works
You pick an upscaler checkpoint, feed it your sampled latent and its VAE, and get back a scaled-up latent - still in latent space, not yet decoded to pixels. You'd typically slot this between AD_LTX_sampler and AD_LTX_vae_combine, upscaling before the final decode rather than after.
The inputs and outputs that matter
model_name- which latent upscaler checkpoint to use, picked from your installed options.img_latent(LATENT) - the latent you're scaling up.img_vae(VAE) - the matching VAE.
Output is a single img_latent (LATENT) - the upscaled result, ready to hand to AD_LTX_vae_combine for decoding, or to another sampling pass if you're doing a two-stage refine.
How to install it
Via ComfyUI Manager: search "ComfyUI-Apt_Preset". Manually:
cd ComfyUI/custom_nodes
git clone https://github.com/cardenluo/ComfyUI-Apt_Preset.git
Then install.bat (Windows) or pip install -r requirements.txt (Linux/Mac), and restart. You need an actual LTX latent upscaler checkpoint downloaded and placed in your model folder before model_name shows anything to pick - this node loads the upscaler, it doesn't ship one.
Common issues & troubleshooting
model_name dropdown is empty. No upscaler checkpoint found. Download one of Lightricks' latent upscalers for the LTX line from HuggingFace and place it where ComfyUI's model scanner expects it, then restart - custom-node dropdowns populate at startup.
Output looks soft or over-smoothed after upscaling. Latent upscalers generally do best as a moderate step, not a huge jump - if you're pushing for a large scale factor in one pass and the result is mushy, it's often better handled as two smaller upscale-then-refine passes than one aggressive one, similar to how pixel-space hires-fix workflows behave.
Not sure if you should upscale in latent space or after decode. Latent-space upscaling (this node) tends to be cheaper and integrates better with a follow-up sampling pass if you want to refine detail afterward; pixel-space upscaling after AD_LTX_vae_combine is simpler and fine if you just want a bigger final video with no further refinement. If you're chasing extra detail rather than just resolution, latent-space plus a light refine pass is usually the better result for the compute.
VRAM spikes during upscale. Upscaling a video latent (which already carries a time dimension on top of height/width) can be heavier than a single-image upscale - if you're tight on VRAM, this is a good candidate to run at a lower frames_number first and confirm the result before committing to a full-length clip.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| model_name | COMBO | 0 options: | |
| img_latent | LATENT | — | |
| img_vae | VAE | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| img_latent | LATENT | — |