MiniMax H3 Upscale Video Latent / 放大视频潜空间
Upscale MiniMax H3's video latent without touching the audio — here's the clean way
- latent
- LATENT
The natural reaction when you want a bigger MiniMax H3 clip is to grab ComfyUI's stock latent upscaler. Don't. H3's latent is a paired video+audio NestedTensor, and a stock latent resize will either choke on the pair or silently damage one of the streams. This node exists for the common case: resize the video stream only, and leave the audio stream completely untouched.
Why resizing must not touch audio
Audio length depends on duration, not resolution. If a resize routine ever touches the audio stream, it can change its length, and then you've desynced the sound from the picture. That's why "resize video only" is a genuinely useful primitive rather than a triviality - it's what makes two-stage refinement possible: generate, upscale the picture in latent space, and keep the audio you already got.
The node handles the mechanics that make latent-space resizing safe:
- target
widthandheightsnap to multiples of 32, so the DiT's 2×2 patchify divides evenly - time is folded into the batch dimension during interpolation, so each frame is resized identically and adjacent frames can't blend into each other
upscale_methodgives you the usual suspects:bilinear,bicubic,nearest-exact,area(defaultbicubic)
width defaults to 1216 and height to 672, both stepping by 32 up to 16384.
Setting expectations
Be honest about what "upscale video latent" means. This is a resample of the latent features, not a magic detail-recovery upscaler. It changes the spatial size of what the VAE decodes, and it does it without the temporal blending artifacts that break naive approaches - but it won't invent crispness the model didn't produce. The workflow it enables is: generate at a modest canvas, upscale the latent, then finish sampling or decode at the higher resolution. For a second, more ambitious pass you'd typically add more sampling steps after the resize rather than just decoding.
The output is a single LATENT - the packed H3 pair with the video stream resized and the audio passed through bit-for-bit. Feed it back into the sampler or into the VAE decoder downstream.
Install and gotchas
Part of the MiniMax-H3 Tools pack (ComfyUI 0.30.0+). Search "MiniMax H3 Tools" in ComfyUI Manager, or:
cd ComfyUI/custom_nodes
git clone https://github.com/Rinne414/ComfyUI-MiniMaxH3-Tools.git
Restart ComfyUI and it's under MiniMax H3. No extra dependencies, no model files.
Pack-wide caveat that applies here: don't try to save this latent to disk with stock SaveLatent between stages - it can't round-trip an H3 AV pair. Keep the resized latent in the graph and decode or sample it in the same run.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| latent | LATENT | — | |
| width | INT | 121632–16384 | Target pixel width; divided by 16 for the latent grid. / 目标像素宽度;潜空间网格宽度为该值除以 16。 |
| height | INT | 67232–16384 | — |
| upscale_method | COMBO | bicubic | 4 options: bilinear, bicubic, nearest-exact, area |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| LATENT | LATENT | — |