latent_minimaxH3_scale
Upscale H3 video in latent space — no decode, no pixel soup
- latent
- latent
Decoding a MiniMax H3 latent to pixels, upscaling, and re-encoding is a great way to waste VRAM and pick up artifacts. latent_minimaxH3_scale skips all of that: it resizes the latent itself - a 3D latent upscaler built for H3's video latent - and hands you back a bigger latent that you decode once, at full resolution. It's the same trick the pack's AD_MinMax_* nodes use for their latent_scale second pass, exposed here as a standalone tool so you can do it anywhere in the graph.
How it works
H3 latents aren't a plain video tensor. Like LTX Video (whose helpers this pack borrows), H3 splits the latent into two streams: the video latent and the audio latent. So the node first separates those two streams, runs the video latent through the MiniMax H3 3D resizer model at your requested scale, then re-concatenates the streams - audio untouched. The resizer works in bf16 on CUDA, and the output width is aligned to 32 (it computes a pixel-equivalent size, aligns, and works back), so results stay clean and torch-friendly rather than odd shapes.
Three requirements come straight out of the source:
- The model file must exist. The
modeldropdown scansComfyUI/models/latent_upscale_modelsforminimax_h3_latent_upscaler_3d*files. If you see the placeholder "(place MiniMax H3 3D models in models/latent_upscale_models)" in the dropdown, that's the node telling you the model isn't there yet - go get it and drop it in that folder. - CUDA is mandatory. The source raises
"latent_minimaxH3_scale requires CUDA"if there's no GPU available. This is not a CPU-friendly node. - The input must be a real H3 AV latent. If you feed it an ordinary video latent you'll get a ValueError explaining it needs the two-stream H3 shape. Route the actual H3 sampler's latent in, not something you decoded and re-encoded.
Inputs and outputs
Inputs: latent (the H3 AV latent), model (dropdown of upscalers from latent_upscale_models), scale (1.0–4.0, default 1.2 - go past ~1.5 and expect diminishing returns unless you then refine). Output: latent, same two-stream shape, bigger video resolution. Wire it before the VAE decode and the video comes out larger.
Where it fits
Standalone: after an H3 sampler, before decode, when you want a bigger output. Integrated: the AD_MinMax_FL2_generate / AD_MinMax_Ref2_generate nodes use exactly this machinery for second_pass_mode = latent_scale, with split_step splitting the sigma ranges around the scale-up. If you're doing it manually, doing it at lower denoise right after sampling gives noticeably cleaner results than scaling then re-running at high denoise.
Install
Ships in ComfyUI-Apt_Preset (Manager → "ComfyUI-Apt_Preset", or clone + install.bat + restart). Requires the H3 weights and a ComfyUI with H3 support, plus the upscaler model. And the standing H3 license note: the open weights exclude the US, EU, UK and South Korea - check your region before building on this.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| latent | LATENT | — | |
| model | COMBO | (place MiniMax H3 3D models in models/latent_upscale_models) | 1 options: (place MiniMax H3 3D models in models/latent_upscale_models) |
| scale | FLOAT | 1.21–4 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| latent | LATENT | — |