MiniMax H3-World Safe Video Save / 安全视频保存 (T8)
The H3-World save node that refuses to write a corrupt MP4
- images
- audio
- video
- saved_path
- report_json
Every workflow ends with a save node, and usually they're all the same. This one isn't, and the difference is worth one paragraph before you dismiss it as plumbing. MiniMax H3 is memory-hungry enough that when it's near the edge of your VRAM, the in-process encoder ComfyUI normally uses can occasionally write a broken bitstream - you think you've rendered a clip and the file is garbage. MiniMaxH3WorldSafeVideoSaveT8Advanced sidesteps that by handing the encoding to an isolated, single-threaded libx264 subprocess and only publishing the MP4 after a strict video-and-audio decode check passes. No decode pass, no file. It's the boring-but-correct way to end an H3-World render.
Inputs
images- the decoded IMAGE frames of your 832×480×124 result.audio- the AUDIO from the H3 audio VAE decode. The node validates it's a single mono or stereo batch, checks for NaN/Inf, pads or trims to the expected sample count, and clamps before writing. Feed it the decoded audio or this node will complain loudly and specifically.filename_prefix- defaultMiniMaxH3/H3-World/h3_world_i2va_832x480_124f, saved underoutput/. Change the prefix if you don't want every run colliding with the same counter.crf- quality/rate control, default 18, range 0–51. 18 is a sane H.264 default; lower is bigger and cleaner, and for a 5-second test clip the size difference barely matters.
Outputs
video(VIDEO) - a live preview of the just-saved file.saved_path- where it actually landed.report_json- the encoder's self-report: codec, CRF, sample rate, channel counts, the SHA-256 of the finished file, and confirmation the strict decode passed.
The gotcha that matters
This node needs ffmpeg on your PATH. The whole "isolated process" design depends on it, so the first error you're likely to hit if ffmpeg is missing is a plain "FFmpeg is required for H3-World safe MP4 output." Install FFmpeg, make sure ffmpeg resolves in your shell, restart ComfyUI, and rerun. On Windows, the README's PowerShell-friendly setup is the same as the rest of the pack - it adds no new pip dependencies for these nodes.
Wiring it into the chain
It's the final node in the H3-World workflow: after the sampler, decode the av_latent with both VAEs (that's where your images and audio come from), then connect them here. The whole sample graph is in examples/workflows/26-h3-world. If you're just testing the save path itself, you can drive this node standalone with any 832×480×124 frame stack plus matching audio - but honestly, run the example workflow; the wiring is the part that's easy to get subtly wrong (wrong frame count, mono-vs-stereo surprises), and the report output will tell you exactly what the encoder received.
One more honest note: this is a save node - it fixes corrupt-file risk, not the content. The H3-World chain is validated on its fixed parking-garage contract (stable motion, intact audio, quality on par with plain H3), so if your first frame is a different scene entirely, judge the render on its own merits and don't treat a successful MP4 as a quality pass.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| images | IMAGE | — | |
| audio | AUDIO | — | |
| filename_prefix | STRING | MiniMaxH3/H3-World/h3_world_i2va_832x480_124f | — |
| crf | INT | 180–51 | — |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| video | VIDEO | — |
| saved_path | STRING | — |
| report_json | STRING | — |