Nodes/IAMCCS-nodes/MiniMax H3 Optional Upscale Router
ComfyUI Node

MiniMax H3 Optional Upscale Router

A lazy switcher so MiniMax H3 doesn't pay for an upscale it isn't using

By IAMCCS·Created 11 months ago·Updated 5 days ago· 113
MiniMax H3 Optional Upscale Router
  • native_frames
  • audio
  • ltx23_frames
  • wan22_frames
  • frames
  • audio
  • report
upscale_modeoff
planned_upscale_mode

Here's the trap the IAMCCS_MiniMaxH3UpscaleRouter exists to stop you falling into. MiniMax H3 gives you an optional finishing pass - you can push a shot up to higher resolution with an LTX 2.3 or a Wan 2.2 5B model instead of leaving it at native. If you wire an upscaler into the graph unconditionally, ComfyUI loads a whole extra diffusion model on every render, even the drafts you're just iterating on. This tiny node is a lazy switch: it picks which frame branch actually flows through based on a mode you set once in the Shotboard.

How it works

It's about as simple as a router gets. Three IMAGE inputs arrive - native_frames (the H3 output), ltx23_frames, and wan22_frames (the two upscale branches) - along with the audio that travels alongside. The upscale_mode widget (off / ltx23 / wan22_5b) decides which is returned. Crucially, it honors planned_upscale_mode if a STRING is wired in, so the decision can live in the Shotboard's plan and get passed down instead of being a widget you forget to change. The Lora of it: because the router is optional-input, ComfyUI's lazy evaluation means the LTX/Wan upscale branches aren't even loaded unless the mode asks for them. Upscale off = zero upscaler cost.

Two of the three branches being unconnected is the intended state. The node validates that the branch you selected is actually connected - ask for ltx23 with nothing on ltx23_frames and it raises a clear error rather than silently giving you native frames.

What comes out

Three outputs: frames (the winning branch's IMAGE), audio (passed through untouched), and report (a STRING telling you which route ran, e.g. "Upscale router: Wan 2.2 5B"). Wire frames and audio into whatever consumes the shot - a VAE decode, a saver, or the RTX 4K post node.

The bigger picture

This node is the delivery end of the Shotboard's upscale_mode decision. The Shotboard (IAMCCS_MiniMaxH3ShotPlanner) sets upscale_mode to off/ltx23/wan22_5b and the upscale target resolution; the router just executes it at the branch point. The practical rule: keep upscale_mode off for your draft runs, flip it on for the final pass. The router then behaves like a manual switch - you're choosing the upscaler per shot rather than paying for it per render.

Install

It's part of IAMCCS-nodes - ComfyUI Manager → search "IAMCCS", or cd ComfyUI/custom_nodes && git clone https://github.com/IAMCCS/IAMCCS-nodes.git, restart, done. The upscale branches themselves are not this node's job: they're LTX 2.3 / Wan 2.2 5B sampling graphs you supply, which is why the node stays dependency-light and just routes frames.

CategoryIAMCCS/MiniMax H3

Inputs (6)

NameTypeDefaultDescription
native_framesIMAGE
audioAUDIO
upscale_modeCOMBOoff3 options: off, ltx23, wan22_5b
planned_upscale_modeoptSTRING
ltx23_framesoptIMAGE
wan22_framesoptIMAGE

Outputs (3)

NameTypeDescription
framesIMAGE
audioAUDIO
reportSTRING