MiniMax H3 in ComfyUI: the version, the files, and the flag that stops the OOM
Native nodes shipped in 0.30.0. The fix that stops it running out of memory shipped in 0.32.0, and most guides still stop at 0.30.0. Here is the current state, with pull request numbers.

To run MiniMax H3 in ComfyUI you need ComfyUI 0.32.0 or later, four model files totalling 42.47 GB, and no custom nodes. Native support arrived in 0.30.0, but the sampler fix for distorted audio landed in 0.31.0 and the peak-memory fix in 0.32.0. On a 24 GB card, host RAM decides whether it finishes.
Everything here is dated. Nine H3 fixes shipped after 0.30.0, so a guide written in the first week describes a different program. Each fact below carries its pull request number and its release.
Check this before you download anything: the MiniMax H3 Community Licence excludes the US, the EU, the UK and South Korea from the grant to run the weights locally, and §V.4 extends that restriction to the output. The hosted API is not covered by the territory clause. A summary, not legal advice — the full licence breakdown has the clauses.
What 0.30.0 gives you, and what it does not
0.30.0 is where the nodes and the three local example templates appear. That is all it is.
Six more fixes arrived in 0.31.0 on 8 August, led by kijai's #15243, Fix
sampler issues for audio with minimax. Three arrived in 0.32.0 on 11
August, including comfyanonymous's #15486, Fix peak memory issue with H3 —
the reason a 24 GB card that used to die now finishes.
| Release | PR | What it fixes | Severity |
|---|---|---|---|
| 0.31.0 | #15243 | Sampler over-steps the audio schedule; at 4 steps it is noise | blocker |
| 0.31.0 | #15390 | EasyCache corrupts the soundtrack | major |
| 0.31.0 | #15377 | Full offload of the audio VAE fails | major |
| 0.31.0 | #15334 | The int8_convrot VAE will not load | major |
| 0.31.0 | #15322 | Masked sampling is wrong | minor |
| 0.31.0 | #15268 | Device-mismatch errors during VAE decode | minor |
| 0.32.0 | #15486 | The OOM one. Update before you patch anything by hand | blocker |
| 0.32.0 | #15477 | Tiled VAE decode crashes on NestedTensor latents | major |
| 0.32.0 | #15446 | Decode is slower and heavier without it | minor |
0.33.1 on 13 August added MiniMax ContextIR and Regenerate-2K API nodes
(#15471), so the hosted 2K stage can be chained onto a local graph. The
weights for it are still not open, and we have not run this ourselves.
cd /path/to/ComfyUI
git pull
python -m pip install -r requirements.txt
python main.py --version # expect 0.32.0 or laterWindows portable: use the bundled update script or the in-app updater.
Which model files to download, and where they go
Do not clone the repository — it holds every precision variant and totals about 475 GB. A text-to-video or image-to-video graph loads exactly four files, byte-checked against Hugging Face on 14 August.
| File | Size | Goes in |
|---|---|---|
minimax_h3_fl2va_pruned_int8_convrot.safetensors | 20.97 GB | models/diffusion_models/ |
qwen3vl_32b_minimax_h3_nvfp4_awq.safetensors | 15.69 GB | models/text_encoders/ |
minimax_h3_video_vae_fp16.safetensors | 5.21 GB | models/vae/ |
minimax_h3_audio_vae_fp32.safetensors | 0.61 GB | models/vae/ |
| Total | 42.47 GB = 39.55 GiB |
hf download Comfy-Org/MiniMax-H3 \
diffusion_models/minimax_h3_fl2va_pruned_int8_convrot.safetensors \
text_encoders/qwen3vl_32b_minimax_h3_nvfp4_awq.safetensors \
vae/minimax_h3_video_vae_fp16.safetensors \
vae/minimax_h3_audio_vae_fp32.safetensors \
--local-dir ComfyUI/modelsReference-to-video adds a fifth file, the separate Ref2VA checkpoint, taking the set to 63.44 GB. Loading the FL2VA file into an R2V graph is the most common first-run failure.
Two widely-copied file tables report these figures in gibibytes while labelling them GB. If you cleared 39.6 GB of disk, you are 2.9 GB short before ComfyUI writes anything.
On precision: bf16 is 66.28 GB for the diffusion model alone — pick it only
if you know why. fp8_scaled is 20.96 GB, almost identical in size to
int8_convrot; choose it only if int8_convrot will not build in your
environment.
Then: Workflow → Browse Templates → Video → MiniMax H3. Three local templates, plus three that call the API.
Will your GPU run it?
There is no official minimum, and every hardware table you will find disagrees with the others because they measured different things.
Host RAM is what kills the run, not VRAM
On a 4090 running the pruned INT8 stack, only about 6.6 GB sits in VRAM
during sampling — the weights live in host memory and page in. So the failure
is a host-memory failure. One documented 3090 run reached 29,866 MB of 31,997
MB and was killed by the kernel; the same job with --disable-pinned-memory
peaked at 7,508 MB and finished in 23 minutes 17 seconds. You cannot page
out pinned memory, which is why adding swap on its own changes nothing.
If you are on 0.30–0.31 and cannot update, the reproducible recipes change one
constant — MiniMaxH3.memory_usage_factor in comfy/supported_models.py, from
0.114 to 1.0. On 0.32.0 or later, update first and only patch if it still
OOMs.
Measured runs, and the hardware behind each one
Fourteen runs have been published with enough detail to attribute. None is a benchmark — nobody has held the variables still. Read them as existence proofs: this configuration finished, in this long.
| GPU | VRAM | Host RAM | Canvas | Length | Time |
|---|---|---|---|---|---|
| RTX 3060 | 12 GB | 16 GB | 0.2 MP | 5 s | 51 min 07 s |
| RTX 3060 | 12 GB | 32 GB | 864×480 | 5.17 s, 20 steps | under 9 min |
| RTX 3070 | 8 GB | 32 GB | 0.4 MP | 5 s | ~9–10 min |
| RTX 4090 Laptop + SageAttention | 16 GB | 32 GB | 960×540 | 5 s, 20 steps | 182 s |
| RTX 5070 Ti | 16 GB | 64 GB | 0.4 MP | 5 / 10 / 15 s | ~2 / 4.5 / 7 min |
| RTX 5080 | 16 GB | — | 1.0 MP | 10 s | 13 min 36 s |
| RTX 4090 | 24 GB | — | 832×480 | 15 s, 8 steps | ~25–30 min |
| RTX 3090 | 24 GB | 31 GB | — | 15 s | 23 min 17 s |
| 2× RTX 5090 (SGLang, not ComfyUI) | 32 GB each | 377 GiB | 1344×768 | 124 frames, 50 steps | 559.67 s |
That last row is a different runtime on two cards with 377 GiB of host RAM. It is listed for scale, not for comparison — using it to predict single-card ComfyUI speed is wrong. On a single 4090, the same recipe gives a feasibility edge: 832×480 finishes at both 124 and 362 frames, 1088×640 finishes at 124 frames, and both 1088×640 at 192 frames and 1344×768 at 362 frames OOM.
Whether the card pays for itself is a separate calculation.
Resolution, frames, and the 17n+5 grid
Three settings on the Resolution Selector produce width and height. Keep Multiple at 32 — that is H3's grid. The native canvas is a 768-pixel short edge capped at 768×1344. At 16:9, Megapixels 0.98 gives exactly 1344×768; the 1.0 preset gives 1376×768, which is off the documented canvas. Templates ship at 0.4 MP. Start there. The floor is 384p; 256p fails outright.
Frame counts snap to 17n+5 at 24 fps, so most requests round up. 175 frames is 7.29 seconds; there is no 7.00. Across the whole 4–15 second range exactly one value lands on a whole second: 192 frames, 8.000 seconds. The validated ceiling is 362 frames, or 15.08 seconds.
No audio, or distorted audio
Two different failures with two different causes.
Silence is a wiring problem. Both VAEs must be loaded and the
VAEDecodeAudio output must reach the save node. Check the file, not the
player — you should see H.264 at 24 fps and AAC stereo at 32 kHz. No second
stream means the graph is wrong, not the model.
ffprobe -hide_banner out.mp4Distortion is a sampler problem. H3 runs picture and sound on two flow
schedules, shift 12 and shift 3, and a single-clock sampler over-steps one of
them. At 20 steps the error is invisible; at the 4 steps a Turbo LoRA uses, it
becomes clipping and noise. ComfyUI 0.31.0 handles both schedules natively
through ModelSamplingAV. Below that version you need larryvrh's dual-clock
sampler.
Errors, and the one-line fix for each
Two rules before you change anything. Change one variable at a time and rerun
the same prompt and seed — stacking --lowvram, --reserve-vram,
--cache-none and a quantised checkpoint at once leaves you with no idea which
one helped. And get one plain official template to finish before you add
SageAttention, TeaCache, EasyCache or a GGUF loader.
| Symptom in the console | Cause | Fix |
|---|---|---|
CUDA out of memory during sampling | Canvas × frames exceed the plan | Drop Megapixels first, frames second. On 0.30–0.31, update to 0.32.0 (#15486) |
| Process killed, machine freezes, no CUDA error | Host RAM. Pinned memory cannot be paged out | --disable-pinned-memory --disable-async-offload |
| OOM only during VAE decode | Decode allocation scales with frames | Fewer frames or smaller canvas; update to 0.32.0 (#15477, #15446) |
MiniMaxH3… nodes or templates absent | Core older than 0.30.0 | python main.py --version, update, restart |
| No "text to video" node anywhere | Misunderstanding | The T2V template is MiniMaxH3ImageToVideo with nothing connected. Do not install third-party replacements |
| Loader error on the R2V graph | FL2VA checkpoint selected instead of Ref2VA | Select minimax_h3_ref2va_pruned_int8_convrot.safetensors |
| Output has no audio stream | Audio VAE not loaded, or VAEDecodeAudio not reaching the save node | Check both, verify with ffprobe |
| Audio clips, buzzes or turns to noise | Two flow schedules stepped on one clock | Update to 0.31.0 (#15243), or use larryvrh's Turbo Sampler |
| Generation fails at 256p | Below H3's 384p floor | Use the template presets |
Making it faster, in the order that helps
In this order, because the first two are free and the last one costs quality.
- Update. 0.32.0's VAE optimisation and memory fix are worth more than any flag.
- Drop the canvas before the length. 0.4 MP finishes where 1 MP on a 24 GB card often does not.
- SageAttention. Launch with
--use-sage-attention, or patch it in with KJNodes. ComfyUI estimates roughly double; offload-bound machines see less. The dtype fallback warnings are expected. - Turbo LoRA. larryvrh's v4 cuts sampling from about 20 steps to 4–8. Use 6–8; 4 smears fast motion, and past 8 it stops helping.
Do not add --lowvram alongside --disable-pinned-memory. They conflict.
When not to run it in ComfyUI
Three cases where local is the wrong answer, and one where it is clearly the right one.
Local is wrong if you are in the US, EU, UK or South Korea and self-hosting the weights; the licence does not grant it. It is wrong if you need 2K from open weights, because Regenerate-2K was never released. And it is wrong on 8 GB with 16 GB of system RAM, where a five-second clip has been reported at 51 minutes.
Local is right if you have 24 GB of VRAM, 32 GB of host RAM and a permitted territory. ComfyUI then gives you batching, LoRAs and node-level control that no hosted interface, ours included, can match. That is why every filename and flag here is spelled out.
Questions after a failed first run
Do I need a custom node? No. Native since 0.30.0, and the templates use core nodes only.
Why is there no text-to-video node?
The T2V template is MiniMaxH3ImageToVideo with nothing connected. By design.
Which version should I actually run? 0.32.0 or later. 0.30.0 runs, but misses nine H3 fixes.
Why is my output silent?
Both VAEs must load and VAEDecodeAudio must reach the save node. Verify with
ffprobe.
Why does the sound break at 4 steps? Single-clock sampling over-steps the audio schedule. Fixed in 0.31.0.
How much disk do I need? 42.47 GB for T2V and I2V, 63.44 GB with Ref2VA, plus cache.
Can a 12 GB card do it? Yes, with heavy offload. A maintainer reported 864×480, 124 frames, 20 steps, under nine minutes.
Why did my 7-second clip run long? Frames snap to 17n+5. 175 frames is 7.29 seconds.
Should I use a GGUF build? There is no official one. Try it only after the official stack works.
Can I get 2K locally? Not from open weights. Since 0.33.1 you can chain the hosted Regenerate-2K node.
What may change. This moves weekly: check the ComfyUI releases for H3
entries newer than 0.33.1. The 362-frame ceiling is third-party documentation,
not an official cap. And the memory_usage_factor patch may already be
unnecessary on 0.32.0 and later. Last verified 2026-08-14.
Written by
Editorial desk
minimax-h3ai.video


