Nodes/ComfyUI-VAE-Utils/Latent Upscale (VAE Utils)
ComfyUI Node

Latent Upscale (VAE Utils)

Latent Upscale (VAE Utils)

By spacepxl·Created 10 months ago·Updated 3 months ago· 223
Latent Upscale (VAE Utils)
  • samples
  • LATENT
model

This is the node the pack is really built around - the one on the cover comparison. It's a small neural network that upscales a Wan latent 2x while it's still a latent, so you never decode to pixels, upscale, and re-encode. You stay in latent space the whole time. The author is refreshingly blunt about it: it's "far from optimal but much better than naive bilinear/bislerp interpolation." That's the right way to hold it - not magic, just clearly better than stretching numbers.

Why you'd reach for it

The normal way to grow a latent inside a workflow is one of two bad options. Either you do a plain interpolation on the latent tensor (bilinear, bislerp), which is fast but dumb - it has no idea what the latent means, so it smears - or you decode to pixels, run a real image upscaler, and encode back. That second path works, but every encode-decode cycle is lossy; a VAE round trip necessarily hands back less information than it took in, and chaining those is exactly how detail grinds away over a pipeline. Staying in latent space skips that round trip entirely.

So the use case is a Wan hi-res pass done cleanly: generate at a comfortable resolution, upscale the latent 2x with this node, then run a second sampler pass to add detail at the new size, and only decode once at the end. It's the latent-upscale intermediate that hi-res-fix workflows have always wanted, except this one is a trained model tuned for Wan rather than a blind interpolation. For a video model where every extra decode is expensive and every VRAM megabyte counts, keeping the whole upscale in latent space is genuinely the elegant move.

How it works

It's a purpose-trained upscaler that maps a Wan latent to a 2x-larger Wan latent directly. Because it learned what Wan latents look like, it can invent plausible structure at the higher resolution instead of just averaging neighbors the way interpolation does. It is not a general-purpose latent upscaler and it does not pretend to be - right now it supports exactly one thing, Wan 2.1 at 2x, and that's the single option in its model menu.

The inputs that matter

  • samples - the Wan LATENT you're upscaling.
  • model - a dropdown that currently offers one choice, "Wan 2.1 latent upscale 2x." More may get added later, but as of now this is a Wan 2.1 tool, full stop.

The output is a LATENT at twice the size, which you feed into your next sampler pass (recommended - that's what adds real detail at the new resolution) or straight into a decode if you just want the bigger latent as-is.

Installing it - and the one download you actually need

Cloning the pack is the usual dependency-free routine. ComfyUI Manager: search ComfyUI-VAE-Utils. Or by hand:

cd ComfyUI/custom_nodes
git clone https://github.com/spacepxl/ComfyUI-VAE-Utils

Restart ComfyUI. This is the node with a model download. Unlike the rest of the pack, Latent Upscale needs a weights file: Wan2.1_VAE_upscale2x_imageonly_real_v1.safetensors, from the author's HuggingFace repo spacepxl/Wan2.1-VAE-upscale2x. Drop it where the node expects to find its models and it'll show up in the dropdown. If the dropdown is empty or the node errors on load, a missing file is the first thing to check.

Common issues

Keep the "imageonly real v1" label in mind - the current model is aimed at the still-image side of Wan, and it's an early version by its own name. So temper expectations: it beats interpolation comfortably, it is not a substitute for a dedicated restoration upscaler like SeedVR2 when your job is "add a lot of real detail to a finished image." Those are different jobs. This one's strength is being a clean, lossless-round-trip-free step inside a latent pipeline, not a final polish pass.

The other thing: this is Wan-only right now. Feeding it a latent from another architecture won't work, because the model learned one latent space. If you're chaining Wan models that share the VAE you can hand latents around freely, but the upscaler itself only speaks Wan 2.1. And since it's spacepxl - the person behind the Wan control LoRAs and a good deal of the video-model training research others reimplement - expect it to be a sharp, narrow tool rather than a do-everything box. The generic pack name undersells how Wan-specific the whole thing is.

CategoryVAE-Utils

Inputs (2)

NameTypeDefaultDescription
samplesLATENT
modelCOMBO1 options: Wan 2.1 latent upscale 2x

Outputs (1)

NameTypeDescription
LATENTLATENT