Nodes/ComfyUI-MiniMax-H3-LongMedia/MiniMax H3 • Long Media Decode
ComfyUI Node

MiniMax H3 • Long Media Decode

Where a long H3 run finally becomes video you can watch

By vizart-vj·Created 14 days ago·Updated 2 days ago· 71
MiniMax H3 • Long Media Decode
  • final_av
  • long_media_plan
  • images
  • audio
  • duration_seconds
  • report
enable_tilingtrue
tile_size256
width512
temporal_size32
batch_size1
color_match_strength0.00

Everything upstream in this pack lives in H3's NestedTensor AV latent - video and audio as one packed object. That's powerful, but it's also useless until you get pixels back out. Long Media Decode is the final stop: it takes the stitched final_av latent and turns it into an IMAGE batch plus an AUDIO stream in one shot. It's the fourth and last node of the standard pipeline - Setup → Planner → Sampler → Decode - and the only one that gives you something you can actually watch.

What it does

Required inputs are final_av (the sampler's output) and long_media_plan (so it knows the clip's true geometry, including how much to trim). Then a set of decode-tuning knobs:

  • enable_tiling (default on) and tile_size (default 256) - H3's video VAE decode runs in spatial tiles. This is the "tiled H3 video decode for long outputs" the README mentions; it's what lets a 1080p 15-second result decode without a fresh OOM at the very end of a long run.
  • width, temporal_size, batch_size - the decode canvas, temporal chunk, and how many frames per decode batch. Lower batch_size if the decode itself is what's killing your VRAM.
  • color_match_strength (default 0) - the one that fixes a specific, annoying bug. Set >0 and every frame's color statistics get nudged toward frame 0. That matters when frame 0 is pinned to a reference and the rest of the clip drifts - the classic visible "jump at the loop seam" in loop workflows. 0 disables it; a small value like 0.15–0.3 quietly fixes the drift.

Outputs: images (IMAGE), audio (AUDIO), duration_seconds (FLOAT), and a report string. Wire images into a video preview or save node, audio into an audio preview/save.

The gotcha to know about

The decode and the sampler have to agree about which path produced the latent. In 0.4.40, native per-clip continuous VideoVAE decode is gated to multiclip on both the sampler and decoder sides. If you hand a segmented_continuation latent to a decode expecting a multiclip assembly - or vice versa - you can get seam artifacts or a geometry mismatch. Keep the pair consistent: whatever workflow mode the Setup used is the plan you pass to both Sampler and Decode.

Install

Ships in ComfyUI-MiniMax-H3-LongMedia. Manager search "MiniMax-H3-LongMedia", or:

cd ComfyUI/custom_nodes
git clone https://github.com/vizart-vj/ComfyUI-MiniMax-H3-LongMedia

restart. You need the H3 checkpoint plus video and audio VAEs (MiniMaxAI/MiniMax-H3 on HuggingFace, ~42.5 GB; community license excludes US/EU/UK/Korea). The SAFE example workflow ships in the repo at workflows/MiniMax-H3-LongMedia-SAFE-1080p-15s.json if you want a working end-to-end graph to copy.

Troubleshooting

If decode OOMs while sampling was fine, you're hitting the VAE's own peak - that's what enable_tiling and a lower batch_size are for. If the colors visibly shift over the clip, that's the color_match_strength knob, not a broken workflow. And if report complains about geometry or trim, the latent and the plan disagree - re-run with a fresh decode, or check that the workflow mode (multiclip vs segmented_continuation) matches between Sampler and Decode. Keep Dynamic VRAM on; the pack coordinates tiled decode with it and explicitly warns against launching with --disable-dynamic-vram.

CategoryMiniMax H3/LongMedia/LongMedia

Inputs (8)

NameTypeDefaultDescription
final_avLATENT
long_media_planLONG_MEDIA_PLAN
enable_tilingBOOLEANtrue
tile_sizeINT25632–2048
widthINT51232–8192
temporal_sizeINT321–256
batch_sizeINT11–16
color_match_strengthFLOAT0.000–10 disables. >0 nudges every frame's color statistics toward frame 0, useful when frame 0 is pinned to a reference and the rest of the clip drifts in color (visible as a jump at a loop seam).

Outputs (4)

NameTypeDescription
imagesIMAGE
audioAUDIO
duration_secondsFLOAT
reportSTRING