Load Latent Upscale Model
Hunyuan Video's in-latent resolution trick
- LATENT_UPSCALE_MODEL
Load Latent Upscale Model is a video-specific upscaler loader, and it belongs to a genuinely different category of upscaling than the image ones you already know. It loads a model from ComfyUI/models/latent_upscale_models and hands you a LATENT_UPSCALE_MODEL wire - a model that upscales in latent space, before the video is ever decoded to pixels. That's the key insight: you're not upscaling a picture, you're upscaling the compressed representation the video model worked in, then decoding at higher resolution.
The mechanism
One input, model_name. The loader reads the file and auto-detects which latent upscale model it is - in the current core, that means the Hunyuan Video 1.5 super-resolution family, with two tiers detected from the weight structure: a 720p model and a 1080p model. Match the tier to your target, or the resample math will be wrong in ways that show up as blur, not errors.
The consuming node is Hunyuan Video 15 Latent Upscale With Model. It takes your LATENT_UPSCALE_MODEL, the video latent, an upscale method (bilinear is the sane default), a target width and height, and a crop setting - and returns a resampled latent that your sampler or decoder continues with. Leave width and height at 0 and the node passes the latent through untouched; set one dimension and it preserves the aspect ratio. Note the //16 in the node's math: video latents are heavily downscaled per side, so width and height get divided by 16 before the model resamples them.
Why you'd bother
This is the "more pixels, and also keep it coherent over time" problem - the video branch of upscaling that has the least settled answer. Doing it in latent space instead of pixel space has a real advantage: you never round-trip through the VAE, so you don't pay the encode/decode quality tax, and the upscale stays consistent with how the model itself represents motion and temporal structure. It's a different tool from a pixel upscaler like an ESRGAN model, which would just double each frame in isolation. For Hunyuan Video 1.5, this latent upscale is the official-feeling path to higher resolution output without re-rendering the whole clip at native res.
Gotchas
- The 720p vs 1080p distinction matters. The loader detects the tier automatically, but if the file's tier doesn't match your workflow's target resolution, you'll get a soft or aliased result, not an error.
- Models go in their own folder. It's
latent_upscale_models, notupscale_models(that's the pixel upscaler home) and notdiffusion_models. Easy to miss because the names are so close. - It's not a general image upscaler. This won't help your still-image pipeline. It's for video latent workflows - primarily Hunyuan Video - and it sits right next to the resolution-constrained video models where generating at high res directly is too expensive.
- Check whether your video family supports it. LTX-2.3 shipped its own latent upscalers, and Hunyuan 1.5 has its own; the loader's auto-detection covers the family it knows. If your model's upscaler isn't recognized, the load will fail rather than silently misbehave - a useful failure mode, honestly.
It ships with ComfyUI core - no install. If you render video and hit the resolution ceiling, this is the node that gets you past it the cheap way.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| model_name | COMBO | 0 options: |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| LATENT_UPSCALE_MODEL | LATENT_UPSCALE_MODEL | — |