MiniMax H3 Environment Audit / 环境兼容审计 (Advanced)
Diagnose your H3 install before you blame the workflow
- model
- positive
- no_known_blocker
- status
- report_json
This is the "is my environment even compatible" node, and it's the one I'd point anyone at before they start tweaking sampling parameters. It's a read-only audit of your current ComfyUI H3 setup: the H3 core, known fix ancestry, VAE chunking and tiled-decode contracts, wrapper ownership, DynamicVRAM, and - the part that saves the most hours - a requested workload estimate. It never patches, unloads, downloads, runs an attention kernel, or changes a single setting. You drag it in, describe the job, read the report.
Why it exists in this pack: MiniMax H3 on ComfyUI is young and your stack can quietly be broken in ways that look like a model problem. The canonical case the README documents is KJNodes' Sage Attention patch throwing sageattention is not new enough ... or could not determine CUDA architecture. The fix everyone gives is "update Sage", but that's usually wrong - the real culprit is a wheel built for a different Torch/CUDA/Python/GPU-architecture combo. "Installed latest" doesn't mean compatible. This node is the pack's way of making that mismatch visible instead of guessable.
When you select the Sage backend it preserves the exact package/core import result, the six core symbols KJNodes requires, and the CUDA-architecture probe evidence - the wheel's reported smXX versus your actual GPU. That's the difference between "my Sage is broken" and "my Sage wheel targets sm_120 but my card is sm_100".
The inputs are mostly a workload description: workload_profile (general, t2va, ref2va, hybrid, long_video, multikeyframe, speech), width/height (defaults 736×416, 32-aligned steps), length (default 124 frames), model_family/model_precision, attention_backend, cache_backend, decode_mode, dynamic_vram_mode, plus reference_media_count and middle_keyframe_count - because H3's VRAM and sequence length grow with every reference you add. minimum_current_headroom_mib (default 512) is the reserve gate the pack uses in its own claims, and enforcement flips between report_only and block_known_unsafe - the latter actually raising an error if a blocker is found, which is useful if you want it to stop a fragile run before it OOMs. The optional model and positive inputs let it look at the real tensors rather than your typed guess.
Outputs: no_known_blocker (BOOLEAN), a human status string, and report_json for the report-watchers. It's an output node, so it ends a branch.
The honest framing to remember: this is a diagnostic, not a guarantee. The workload estimate is a memory-planning proxy - model weights, full attention activations, VAE/CLIP, VBAR and fragmentation are not all included, so "no known blocker" isn't "16GB safe." The pack's own rule is to pass a small job first and climb. Use this node to answer "is my Sage real, is my VAE contract right, is this canvas asking for the impossible" - and then still test.
Install: ComfyUI Manager → search "MiniMax H3 Audio T8", or:
cd ComfyUI/custom_nodes
git clone https://github.com/T8mars/comfyui-minimax-h3-audio-T8
Restart ComfyUI. No forced pip deps, no downloads - the audit is pure Python reflection and report generation. And a reminder that applies to all of H3: the model weights themselves carry the MiniMax H3 Community License, which excludes the US, EU, UK and Korea from the applicable territory, no matter how clean your environment audit looks.
Inputs (16)
| Name | Type | Default | Description |
|---|---|---|---|
| workload_profile | COMBO | general | 7 options: general, t2va, ref2va, hybrid, long_video, multikeyframe, +1 |
| width | INT | 73632–16384 | — |
| height | INT | 41632–16384 | — |
| length | INT | 1245–3600 | — |
| model_family | COMBO | auto_unknown | 3 options: auto_unknown, fl2va, ref2va |
| model_precision | COMBO | auto_unknown | 6 options: auto_unknown, bf16_fp16, int8_convrot, fp8, nvfp4, other_quant |
| attention_backend | COMBO | auto_detect | 4 options: auto_detect, stock, sage_attention, other_custom |
| cache_backend | COMBO | auto_detect | 6 options: auto_detect, none, t8_h3_block_cache, step_cache, spectrum, other_custom |
| decode_mode | COMBO | regular | 2 options: regular, tiled |
| dynamic_vram_mode | COMBO | auto_detect | 3 options: auto_detect, enabled, disabled |
| reference_media_count | INT | 00–32 | — |
| middle_keyframe_count | INT | 00–32 | — |
| minimum_current_headroom_mib | FLOAT | 5120–65536 | — |
| enforcement | COMBO | report_only | 2 options: report_only, block_known_unsafe |
| modelopt | MODEL | — | |
| positiveopt | CONDITIONING | — |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| no_known_blocker | BOOLEAN | — |
| status | STRING | — |
| report_json | STRING | — |