FunPack Load Latent Upscaler
The latent upscaler ComfyUI's own loader won't open
- upscaler
Second-pass upscaling at the latent level is the cheap way to get more resolution out of a video model: you don't re-render pixels, you grow the latent and denoise it again at low strength. ComfyUI's Load Latent Upscale Model handles the architectures it knows about - SD-family, Lightricks', Hunyuan's. If you're running MiniMax H3, its upscaler is not one of them, and the loader will look at your file and shrug. FunPack's version opens it instead.
What it does
It's a one-widget node, and that's the point. upscaler_name is a dropdown populated from ComfyUI/models/latent_upscale_models. Pick a file, the node loads it with ComfyUI's own safe-loading torch loader, then offers the state dict to every registered model module: does this look like yours? The first module that says yes builds the upscaler object and logs which module claimed it. First match wins, nothing is guessed.
When nothing claims it, you get an error that actually tells you what happened - and this is the rare case where reading the error message is the fastest path forward:
- If the tensors start with a
base.prefix, it recognises the newer attention-based H3 upscaler and says so directly: FunPack can't build that one yet, use an older convolution-based H3 upscaler. - Otherwise it points out that if the file belongs to Lightricks or Hunyuan, ComfyUI's own
Load Latent Upscale Modelalready loads it, and you don't need this node at all.
One output: upscaler, typed as a latent-upscale model. Wire it into whatever consumes that type in your second-pass graph.
The honest state of it
Here's the part the node page won't tell you. The loader ships in 5.0, but the H3 second-pass pipeline preset is explicitly held back - the changelog says it's "not offered until it has been verified." So you're getting a working loader and the components around it, without the trained-and-tested path through them. If you're building the second pass yourself, that's fine. If you were hoping to click a preset and get a 2× H3 render, come back in a version or two.
For context on where latent upscaling sits in the general scheme of things: growing the latent and re-denoising keeps detail generation inside the model where it belongs, and it's far cheaper than pixel-space tiling. But a latent upscaler doesn't know what your shot looks like - it knows what the latent distribution looks like. Small moves at low strength polish. Big jumps at high strength invent. The FunPack sampler's own guidance for a second pass - 0.4 polishes, 0.8 reworks the shot - is a decent rule of thumb for how far you should be pushing the strength on top of it.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/olivv-cs/ComfyUI-FunPack
pip install -r ComfyUI-FunPack/requirements.txt
Then restart ComfyUI. Manager users can search ComfyUI-FunPack instead; note the Registry copy can lag the release, so check Settings ▸ About FunPack for the version you actually landed on. FunPack's requirements.txt installs comfy-kitchen>=0.2.32 and gguf and otherwise leans on your existing torch - it does not try to replace ComfyUI's compiled stack.
The upscaler file itself goes in ComfyUI/models/latent_upscale_models. There's no model bundled and no download link in the README either, because which upscaler you need depends on which H3 shot you're taking apart.
Troubleshooting
The dropdown is empty, or your file isn't in it. Wrong folder. The list is read straight from models/latent_upscale_models, and the file has to be there before the node can see it.
"… is not an upscaler any installed model module can load." Read the second sentence of the error. It's either an attention-based H3 upscaler (unsupported for now, find a convolution one), or it belongs to another model family and ComfyUI's own loader already handles it.
An upscaler loaded but the second pass looks like mush. Very likely a strength question, not a loader question - FunPackSampler exposes sigmas, and its tooltip gives you the two useful values: 0.4 for a polish, 0.8 to genuinely rework the shot. Also remember the pack marks LTX 2.x untested, so if you're not on H3 you're in unproven territory.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| upscaler_name | COMBO | 0 options: |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| upscaler | LATENT_UPSCALE_MODEL | — |