Nodes/MiniMax-H3 Tools/MiniMax H3 Upscale Video Latent / 放大视频潜空间
ComfyUI Node

MiniMax H3 Upscale Video Latent / 放大视频潜空间

Upscale MiniMax H3's video latent without touching the audio — here's the clean way

By Rinne414·Created about a month ago·Updated about a month ago· 10
MiniMax H3 Upscale Video Latent / 放大视频潜空间
  • latent
  • LATENT
width1216
height672
upscale_methodbicubic

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 width and height snap 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_method gives you the usual suspects: bilinear, bicubic, nearest-exact, area (default bicubic)

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.

Categorymodel/latent/minimax

Inputs (4)

NameTypeDefaultDescription
latentLATENT
widthINT121632–16384Target pixel width; divided by 16 for the latent grid. / 目标像素宽度;潜空间网格宽度为该值除以 16。
heightINT67232–16384
upscale_methodCOMBObicubic4 options: bilinear, bicubic, nearest-exact, area

Outputs (1)

NameTypeDescription
LATENTLATENT