Nodes/IAMCCS-nodes/MiniMax H3 R38 Lazy Delivery
ComfyUI Node

MiniMax H3 R38 Lazy Delivery

Native, latent-upres, or RTX frames for delivery

By IAMCCS·Created 11 months ago·Updated a day ago· 113
MiniMax H3 R38 Lazy Delivery
  • cine_linx
  • native_frames
  • native_audio
  • bridge_last_frame
  • h3_upres_frames
  • h3_upres_rtx_frames
  • delivery_frames
  • audio
  • bridge_last_frame
  • delivery_fps
  • upscale_applied
  • report
master_readytrue

At the end of an R38 chunked shot there are up to three candidate video sources: the native frames straight out of stage-1 decode, the frames refined through H3 latent upres, and - if RTX is in the plan - the further-upscaled RTX frames. IAMCCS_MiniMaxH3DeliveryRouterR38 picks exactly one, lazily, so the branches you don't use never get computed. It's the valve between "we rendered a shot" and "here is the master for delivery."

How it works

The decision rule, in plain terms:

  • If master_ready is false (master still assembling) or the plan isn't in h3_latent_upres mode → native frames win.
  • If the plan requests RTX → the h3_upres_rtx_frames branch is the one it requests.
  • Otherwise → h3_upres_frames (the latent-upres output) wins.

Both upscale inputs are lazy, and check_lazy_status asks ComfyUI to evaluate only the selected branch - the same trick as the R37 backend lazy switch, so a delivery decision doesn't drag a full upscale pipeline along with it. When it has selected an upscale branch it also unloads all models and empties the cache before handing off, which keeps VRAM sane while the master is being finalized or encoded.

After selection it can run the frames through the optional RIFE interpolation stage (rife_mode from the plan) to change the delivery frame rate, then center-crops exactly to delivery dimensions and returns.

One guard worth knowing: if the plan claims an upscale mode that this R38 delivery graph doesn't wire (something other than off or h3_latent_upres), the router raises and tells you to use the existing LTX/Wan workflow for that route instead of silently delivering the wrong thing.

Inputs

  • cine_linx, native_frames, native_audio, bridge_last_frame - required, the native results.
  • master_ready - required boolean from the chunk checkpoint.
  • h3_upres_frames, h3_upres_rtx_frames - optional lazy IMAGE branches.

Outputs

  • delivery_frames, audio, bridge_last_frame, delivery_fps - the final master + audio, with the last-frame bridge preserved for the next shot and the fps after any RIFE step.
  • upscale_applied - a string naming which route won ("off/native", "H3 Latent Upres R38", or "+ NVIDIA RTX VSR"). Read this when you're unsure what actually shipped.
  • report - the full story including RIFE status.

Install

Pack install (git clone https://github.com/IAMCCS/IAMCCS-nodes.git) plus MiniMax H3 support and whichever delivery branch the plan uses (upscaler checkpoint, RTX runtime, RIFE).

Gotchas

  • master_ready is a hard gate. False → you get native frames, period. If the upscaled output never appears, check the accumulator finished, not the router.
  • Don't manually connect both lazy branches and expect the router to "prefer" one - the plan decides, and the report/upscale_applied string tells you what it picked.
  • The deliberate raise on unsupported upscale modes is a feature: it stops you from silently delivering native footage when you think you're getting the upscale. If that error hits, change the plan mode, don't fight the node.
  • The router unloads models on the upscale path - your next run will re-load them. That's the cost of a clean handoff, not a bug.
CategoryIAMCCS/MiniMax H3/Latent Upres R38

Inputs (7)

NameTypeDefaultDescription
cine_linxIAMCCS_SUPERNODE_LINX
native_framesIMAGE
native_audioAUDIO
bridge_last_frameIMAGE
master_readyBOOLEANtrue
h3_upres_framesoptIMAGE
h3_upres_rtx_framesoptIMAGE

Outputs (6)

NameTypeDescription
delivery_framesIMAGE
audioAUDIO
bridge_last_frameIMAGE
delivery_fpsINT
upscale_appliedSTRING
reportSTRING