Nodes/ComfyUI-FL-MiniMaxH3/FL MiniMax H3 Latent Upscale
ComfyUI Node

FL MiniMax H3 Latent Upscale

Upscaling H3 video without a VAE round trip

By filliptm·Created about a month ago·Updated 11 days ago· 17
FL MiniMax H3 Latent Upscale
  • latent
  • latent
target_long_side1024
upscale_methodbislerp

FL MiniMax H3 Latent Upscale is the "fast" answer to the question every H3 user asks two renders in: how do I make this bigger? Its approach is the classic latent-space hack - interpolate the video stream directly in latent space, no decode, no re-encode. What it preserves is the interesting part: the video duration, the original audio latent tensor, shot boundaries, motion-context metadata, reshot data, everything nested inside that H3 latent dictionary stays put.

That's worth calling out because H3 latents aren't a flat tensor. They're nested - video and audio live together, with metadata riding along. Run one of these through a generic latent node that doesn't know about H3 and you can lose the audio or the shot plan silently. This node is written against the nested format, so it's the safe spatial resize.

The honest tradeoff

This node does not create detail. It enlarges pixels in latent space; whatever was in the latent, scaled up, is what you get. The README is blunt about it: use it for a fast final enlargement, or pair it with a low-denoise refinement pass if you want actual detail at the new size. And the refinement path is where Apply Timeline comes in - conditioning is spatial, so after you resize you rebuild it:

Base KSampler → FL MiniMax H3 Latent Upscale
    → FL MiniMax H3 Apply Timeline
    → low-denoise KSampler → decode

The cost warning is real: a 2x spatial upscale creates roughly 4x as many video tokens for downstream sampling. Latent upscale is cheap in isolation; the sampler that runs on the result is not.

Inputs and output

  • latent - the native nested H3 video/audio latent.
  • target_long_side - target pixel size for the longest side (default 1024). Aspect ratio is preserved and both output dimensions stay aligned to 32 pixels, which is H3's canvas alignment.
  • upscale_method - interpolation applied directly to each spatial latent slice, defaulting to bislerp. The README recommends bislerp as the general-purpose method here.
  • latent (output) - the spatially upscaled latent, unchanged in duration, audio and metadata.

Wire the output straight into a video VAE for a quick enlargement, or into Apply Timeline (then a low-denoise sampler) when you want the result to hold up at the new resolution. Keep the pixel-refinement instinct in your back pocket too: if you're already doing a beat-scheduled multi-shot render, FL MiniMax H3 Beat Pixel Upscale KSampler does decode → resize → re-encode → refine per render automatically, and is usually the better tool for that job.

Gotchas

If your sampler rejects the latent or you see shape errors downstream, check whether some node between here and the sampler flattened the nested structure - this node is metadata-preserving, but whatever you chain after it might not be. And don't expect the upscale to rescue a soft base render; the base render quality is the ceiling unless you pay for the refinement pass. Install is the shared pack story: ComfyUI Manager → FL MiniMax H3, or clone https://github.com/filliptm/ComfyUI-FL-MiniMaxH3.git into custom_nodes and restart. No extra dependencies, no model downloads.

CategoryFL/MiniMax H3/Latent

Inputs (3)

NameTypeDefaultDescription
latentLATENTNative nested MiniMax H3 video/audio latent.
target_long_sideINT102432–16384Target pixel size for the longest side. Aspect ratio is preserved and both output dimensions stay aligned to 32 pixels.
upscale_methodCOMBObislerpInterpolation applied directly to each spatial H3 latent slice.

Outputs (1)

NameTypeDescription
latentLATENTSpatially upscaled H3 latent with unchanged video duration, audio, and metadata.