Nodes/IAMCCS-nodes/IAMCCS H3 ULTIMATE LATENT · TILED
ComfyUI Node

IAMCCS H3 ULTIMATE LATENT · TILED

H3 delivery that keeps one tile in VRAM at a time

By IAMCCS·Created 11 months ago·Updated about 17 hours ago· 113
IAMCCS H3 ULTIMATE LATENT · TILED
  • model
  • clip
  • video_vae
  • audio_vae
  • sampled_latent
  • stage1_conditioning
  • cine_linx
  • native_frames
  • native_audio
  • motion_state
  • bridge_frame
  • first_frame_override
  • last_frame_override
  • ref_image_1
  • ref_image_2
  • ref_image_3
  • ref_image_4
  • ref_video
  • ref_video_audio
  • ref_audio
  • video_path
  • report
resolved_render_id
native_saved_report
current_segment
total_segments
context_trim_frames
join_trim_frames
queue_next_segmenttrue

Upscaling a latent video model the obvious way means holding the entire latent pass in memory. For a long H3 programme that's the difference between "renders overnight" and "OOM in the third segment" - and it's why the interesting work in this area is always about doing the same job in pieces.

IAMCCS_MiniMaxH3UltimateTiledDelivery is the bounded-memory delivery route. Instead of one full-latent pass it keeps exactly one temporal/spatial piece in the sampler at a time, which is what makes it the practical default while the pack's R41 full-latent route stays available as the high-VRAM quality reference.

Inputs

This is a delivery node, so it takes the whole handoff: model, clip, video_vae, audio_vae, sampled_latent, stage1_conditioning, cine_linx, native_frames, native_audio, resolved_render_id, native_saved_report, current_segment, total_segments, context_trim_frames, join_trim_frames, and queue_next_segment (default true).

Optional: motion_state, bridge_frame, first_frame_override, last_frame_override, ref_image_1ref_image_4, ref_video, ref_video_audio, ref_audio.

Most of those are pass-through from the earlier stages - the point is that this node sits at the end of the universal chain and receives the same provenance the rest of the delivery group exchanges. queue_next_segment is the one you'll actually flip: leave it true and the Shotboard queue continues to the next segment after this one finishes; set it false to render one segment and stop, which is what you want while tuning.

Outputs are video_path and report. The path is the encoded file; the report is your audit line.

The tiling parameters aren't on the node

They live in the pack's H3 settings, and the node reads them from the plan. Worth knowing their shape even so, because it explains the timing:

  • Spatial tiles default to 512×512 with 96px overlap and a 32px fade, snapped to multiples of 32. overlap_width/overlap_height are clamped to the tile size minus 32 so you can't ask for more overlap than tile.
  • Temporal chunking defaults to 102 frames, rounded to a multiple of 17 - H3's temporal cadence - with 17-frame overlap, and overlap can never exceed chunk minus 17.
  • Overlap handling is earlier with a linear blend by default, and anchor_strength sits at 0.999, which is what keeps the tiles locked to their reference rather than each drifting off on its own.

If your tiled output shows a faint grid, the fade and overlap are too small for your content; if it shows repeated detail, the overlap is working against you and the anchor is too strong. Those two symptoms have opposite fixes, so change one thing at a time.

Dependencies that will stop you

Two, and both are named in the error rather than discovered later:

  • Comfyui-MMH3-UltimateUpscale - the tiled upscale engine. Without it the node can't do anything and says so.
  • A MiniMax H3 3D latent upscaler checkpoint in models/latent_upscale_models, selected in IAMCCS Settings. That's a real download, not a config toggle.

If the RTX path is requested, the target is halved and grid-rounded before the RTX pass finishes it, so the tile job stays cheap and the final size is handled by the dedicated pass.

Install

cd ComfyUI/custom_nodes
git clone https://github.com/IAMCCS/IAMCCS-nodes.git

Or Manager → search IAMCCS, restart. Then add the MMH3 Ultimate Upscale pack and drop the H3 latent upscaler into models/latent_upscale_models.

Native H3 audio stays the final authority in this route - the audio you get out is the one the model generated, not something the upscale touched. And because it's per-shot delivery, it composes with the queue: each segment lands as its own file with its own report, which is a lot easier to review than one enormous master at the end of a four-hour run.

CategoryIAMCCS/MiniMax H3/Universal Delivery

Inputs (27)

NameTypeDefaultDescription
modelMODEL
clipCLIP
video_vaeVAE
audio_vaeVAE
sampled_latentLATENT
stage1_conditioningCONDITIONING
cine_linxIAMCCS_SUPERNODE_LINX
native_framesIMAGE
native_audioAUDIO
resolved_render_idSTRING
native_saved_reportSTRING
current_segmentINT
total_segmentsINT
context_trim_framesINT
join_trim_framesINT
queue_next_segmentBOOLEANtrue
motion_stateoptIAMCCS_H3_MOTION_CONTEXT
bridge_frameoptIMAGE
first_frame_overrideoptIMAGE
last_frame_overrideoptIMAGE
ref_image_1optIMAGE
ref_image_2optIMAGE
ref_image_3optIMAGE
ref_image_4optIMAGE
ref_videooptIMAGE
ref_video_audiooptAUDIO
ref_audiooptAUDIO

Outputs (2)

NameTypeDescription
video_pathSTRING
reportSTRING