Nodes/ComfyUI-FL-MiniMaxH3/FL MiniMax H3 Neural Latent Upscale 3D
ComfyUI Node

FL MiniMax H3 Neural Latent Upscale 3D

The 3D neural latent upscale for H3

By filliptm·Created about a month ago·Updated a day ago· 17
FL MiniMax H3 Neural Latent Upscale 3D
  • upscale_model
  • latent
  • latent
mode
align32
temporal_chunk_size32

Upscaling video is a different problem from upscaling a still, because every frame has to agree with its neighbors - a 2D upscaler working frame-by-frame can leave you with shimmering, crawling detail where the model lost track of what moved between frames. FL MiniMax H3 Neural Latent Upscale 3D is the pack's answer: the same learned latent upscale idea as the 2D node, but with a checkpoint that processes space and time jointly, so the temporal coherence is baked into the operation rather than hoped for.

You pay for that. The 3D path is slower and greedier than the 2D path, and it's not always the right tool. If your clip is short, static-ish, or you're just prepping a quick enlargement, the 2D node gets you 90% there at a fraction of the cost. Reach for 3D when motion actually matters - camera moves, subject movement, anything where a temporally-naive upscale would be visible. In the KB's terms, this is squarely the "more pixels over time" job, and it's the least-settled kind of upscaling there is, so take the quality win where you can get it.

The node shares the loader with 2D (FL MiniMax H3 Load Latent Upscaler), but insists on a 3D checkpoint - same dropdown, the node checks the architecture and errors on a mismatch. And like its sibling, it only touches the video half of H3's nested AV latent: the audio latent passes through untouched, the noise_mask is resized to the new spatial size, and temporal length never changes.

Where it diverges is how you tell it how big to go. Instead of a single scale float, the mode input is a dynamic selector with three shapes:

  • scale by multiplier - a 1.0×–4.0× float, the 2D node's model.
  • target dimensions - explicit width/height in pixels. Set these and the node works out the scale for you.
  • megapixels - target total pixel budget (default 1.0 MP). Nice for matching a delivery spec without doing aspect-ratio arithmetic.

Whichever you pick, the node computes an effective scale and enforces two rules: it only upscales (ask for something smaller than the source and it errors), and it caps the effective scale at 4x. Output dimensions get snapped to H3's 32-pixel spatial grid so you don't hand the sampler a latent that's off-canvas.

Two more knobs, both advanced by default:

  • align (default 32) - the spatial alignment multiple for the target canvas. Leave it alone unless you know H3's canvas math and have a reason to change it.
  • temporal_chunk_size (default 32) - the one that actually matters. The 3D model can look across the whole clip for context, but on long renders that's a lot of live tensor. Chunking processes the clip in runs of latent time steps (32 by default) to fit in VRAM. Set it to 0 for full temporal context - the most coherent result, if your card can take it. On long clips, drop it and accept that each chunk sees less global context. If you hit OOM, this is the first dial to turn.

Everything else about placement is identical to 2D: it sits between the loader and (ideally) the pack's Apply Timeline + a low-denoise refinement sampler, and it outputs a native H3 latent you can decode or keep passing through H3-aware nodes. And the honest VRAM warning applies doubly here: the upscale itself is the cheap part - any hi-res refinement pass after it runs at the new, larger resolution, and a 2x spatial upscale means roughly 4x the video tokens downstream.

Installing is the shared pack story: ComfyUI Manager, search FL MiniMax H3, install - or git clone https://github.com/filliptm/ComfyUI-FL-MiniMaxH3.git into ComfyUI/custom_nodes and restart. It needs a current ComfyUI with MiniMax H3 support plus your own H3 model/VAE files, and it expects 3D checkpoint weights from LBH-123-AI/Minimax_h3_latent_Upscaler in models/latent_upscale_models/. If you migrated over from the old Fill Nodes that hosted these nodes, update Fill Nodes first to avoid duplicate registrations - then restart.

CategoryFL/MiniMax H3/Latent

Inputs (5)

NameTypeDefaultDescription
upscale_modelLATENT_UPSCALE_MODEL
latentLATENT
modeCOMBO3 options: [object Object], [object Object], [object Object]
alignINT321–512
temporal_chunk_sizeINT320–512Latent time steps per chunk. Set to 0 for full temporal context.

Outputs (1)

NameTypeDescription
latentLATENT