MiniMax H3 TRT VAE 解码加速 (T8 EXP)
TensorRT VAE decode — the recommended TRT node, and the benchmark that says 'no total win'
- video_vae
- report_json
If you're going to try the TensorRT VAE route in this pack at all, this is the node its author points you at - decoder-only. It replaces the video VAE decode with a TensorRT engine and leaves image and reference-video encoding on the original PyTorch path, which is the conservative shape: the thing you speed up can't change what the sampler is conditioned on.
Now the part that saves you a weekend. The author's own measurement, on the reference machine, with a short clip including model load, decode and save: native ~30.54s, TRT ~31.33s. No total time win. That is the whole reason the release notes say loudly that you must not read raw decode throughput as generation speedup - you can genuinely speed up an operation and still lose on the clock.
How it works
This is a loader, not a decoder. It takes your native weights plus a compiled engine and hands you a VAE object:
native_video_vae- the originalminimax_h3_video_vae_fp16.safetensors. Still required, even though decode runs on the engine, because the encoder path stays native. Pick the video VAE, never the audio one.decoder_engine- the engine directory you compiled on this machine. Single frames or small sizes need the flex engine.runtime_directory- absolute path to the isolated TensorRTsite-packages. Blank meansmodels/vae/h3_trt/runtime/site-packages.cpu_output_budget_mib- the cap on the CPU-side pixel buffer after decode, default 1024. It is explicitly not a VRAM limit, and exceeding it errors out instead of quietly dropping frames. Fine, but still an error at the end of a long render.
Outputs are video_vae and report_json. video_vae goes into the socket where your native video VAE was; plug the audio VAE in wherever it already goes and leave it there.
Per call, the engine is loaded, validated and released - not kept resident. So you don't get mysterious persistent VRAM holding, but you also don't get much benefit from repeated small decodes.
Install
Manager → search MiniMax H3 Audio T8, or:
cd ComfyUI/custom_nodes
git clone https://github.com/T8mars/comfyui-minimax-h3-audio-T8.git minimax-h3-audio-T8
Restart completely. Then the TRT prerequisites, which are the real cost:
<ComfyUI-Python> -m pip install --target <ComfyUI>/models/vae/h3_trt/runtime/site-packages tensorrt-cu13==10.13.3.9.post1
Put the decoder ONNX and its .onnx.data under models/vae/h3_trt/, generate the flex graph with the bundled CPU tool, check everything with the installation node, compile the decoder-flex engine alone, then come back here. None of this is required for the rest of the pack - skip it and everything else still imports.
Where people get burned
The engine dropdown reads the folders under h3_trt/engines. If your new build isn't in the list, refresh the models in ComfyUI instead of typing a path. Never point this at a folder someone else compiled: engines are bound to the runtime directory and file identities they were built against, and moving them means recompiling.
Do the A/B properly before you commit to the pipeline. Same prompt and seed, one clip native and one TRT, and compare whole-run wall time - not the log line for the decode step. There is no independent community benchmarking of this node anywhere (the author's own purge-VRAM node has more Reddit mentions than this entire pack does), so the honest starting point is the number above, which says don't expect a win on a short clip.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| native_video_vae | COMBO | 原版H3视频VAE;不选择音频VAE。编码保持原生时仍需这份权重。 | |
| decoder_engine | COMBO | 本机编译的解码引擎;单帧或小尺寸需要flex引擎。 | |
| runtime_directory | STRING | TensorRT独立site-packages绝对路径;留空使用models/vae/h3_trt/runtime/site-packages。 | |
| cpu_output_budget_mib | INT | 102464–8192 | 解码后的CPU像素缓冲上限,不是显存上限。 |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| video_vae | VAE | — |
| report_json | STRING | — |