MiniMax H3 Render Backend (Sampler + AV Decode)
The sampler-and-decode backend, minus the bells and whistles
- model
- positive
- latent
- video_vae
- audio_vae
- frames
- audio
- sampled_latent
- shifted_model
- report
Some nodes exist to hide a hundred connections behind one box. This one hides maybe twelve. The MiniMax H3 Render Backend takes the model, positive, and latent that the Shotboard Backend produces and runs the actual sampling pass, then decodes both the video and audio VAE streams. It's the plain-vanilla render path of IAMCCS's H3 Shotboard workflow, and it's a good template for understanding what a native H3 sample step actually involves.
What it does under the hood
The node reassembles the standard ComfyUI custom-sampler chain using built-in nodes: MiniMaxH3SigmaShift applies the separate video and audio shift values, then RandomNoise, BasicGuider, KSamplerSelect, BasicScheduler, and SamplerCustomAdvanced do the actual denoising, and finally VAEDecode + VAEDecodeAudio turn the sampled latents back into frames and waveform. Nothing exotic - which is the point. If you're hand-building an H3 graph without the Shotboard, this is the wiring you'd otherwise have to draw yourself.
The one H3-specific touch is that seed math: the node computes seed + chunk_index * seed_stride, so every chunk in a multi-segment render gets a different but reproducible noise. Keep seed fixed and rerun, and you get the same per-chunk results.
Inputs worth setting
steps- default 20. H3 wants far fewer steps than SD ever did; people routinely land in the 10–20 range.sampler_name/scheduler- the full ComfyUI list, with euler and simple nudged to the top since they're the reference H3 defaults.shift_video(default 12) andshift_audio(default 3) - the sigma shift knobs. Shift video higher for longer/more dynamic clips; the audio shift is a separate scale and shouldn't be dragged along with it.denoise- 1.0 for a full generation; drop it for img2vid refinement passes.seed/seed_stride- as above.
Outputs
frames and audio are your finished segment (video IMAGE + AUDIO waveform), ready to feed a save node or the delivery chain. sampled_latent lets you keep the raw latents for a second decode. shifted_model is the sigma-shifted model - useful if a downstream node needs the same shifted context without re-applying it.
The V2 sibling
If you're running the full Shotboard pipeline, you'll probably reach for IAMCCS_MiniMaxH3GenerationBackendV2 instead - it adds the optional Turbo LoRA, acceleration, VRAM cleanup before decode, and lets the shot plan's sampling settings own the contract. This Render Backend is the simpler, more transparent option: fewer moving parts, easier to debug, and every parameter visible on the node itself.
Installing it
Same pack, same story: ComfyUI Manager (search "IAMCCS") or git clone https://github.com/IAMCCS/IAMCCS-nodes.git into custom_nodes, then restart. The node needs a ComfyUI build with native MiniMax H3 AV conditioning/sampling (the comfy_extras.nodes_minimax_h3 module) - that landed in ComfyUI around the H3 open-weights release in mid-2026. It doesn't pull in any extra packs on its own.
One tip from the README's validation checklist: before committing to a long multi-segment render, queue a short take with upscaling, RIFE, and RTX all disabled. If this node's preview updates and the sampler advances cleanly, your base path is sound - everything else is layered on top of it.
Inputs (14)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | — | |
| positive | CONDITIONING | — | |
| latent | LATENT | — | |
| video_vae | VAE | — | |
| audio_vae | VAE | — | |
| chunk_index | INT | — | |
| seed | INT | 420–18446744073709550000 | — |
| seed_stride | INT | 10–18446744073709550000 | — |
| steps | INT | 201–10000 | — |
| sampler_name | COMBO | 44 options: euler, euler_cfg_pp, euler_ancestral, euler_ancestral_cfg_pp, heun, heunpp2, +38 | |
| scheduler | COMBO | 9 options: simple, sgm_uniform, karras, exponential, ddim_uniform, beta, +3 | |
| denoise | FLOAT | 1.000–1 | — |
| shift_video | FLOAT | 12.000.01–100 | — |
| shift_audio | FLOAT | 3.000.01–100 | — |
Outputs (5)
| Name | Type | Description |
|---|---|---|
| frames | IMAGE | — |
| audio | AUDIO | — |
| sampled_latent | LATENT | — |
| shifted_model | MODEL | — |
| report | STRING | — |