VELVET VICE MiniMax H3 — System Check
The bouncer that stops a 40GB model from loading into a machine with no RAM left
- model_config
- prompt
- memory_policy
- status
MiniMax H3 is not a subtle model. The diffusion weights alone are a 33B-class load, the Qwen text encoder is a second multi-gigabyte budget, and by the time ComfyUI has shuffled everything into VRAM you really do not want to discover you only had 4GB of RAM free. The VELVET VICE MiniMax H3 System Check is the bouncer at the door: it looks at your machine before the heavy nodes run, and if things are bad it stops the render with a message that names the problem instead of letting you watch ComfyUI crawl into an OOM.
What it checks, in order:
- RAM right now. Current usage percent and free GiB get compared against your thresholds.
- The model files. When you don't wire in a hub config, it checks that the H3 diffusion model, video VAE and text encoder actually exist on disk under the expected folders.
- ComfyUI's node registry. H3 image-to-video needs recent core nodes (
MiniMaxH3ImageToVideo, the audio VAE decoder, video creation). If they're missing, the node tells you to update ComfyUI - this is the #1 "why won't this pack work" fix, because day-0 H3 support landed in a specific ComfyUI build and older installs simply don't have the node.
The behavior is governed by strict_preflight (on by default): with it on, any issue raises and the run stops dead with a readable error. Turn it off and problems downgrade to printed warnings, which is the setting for "I know it's tight, just let it try."
The knobs you actually tune, because the defaults are opinionated:
- ram_abort_percent (94) - if RAM usage is already at/above this, abort before loading.
- min_available_ram_gib (12) - needs at least 12 GiB free or it flags. On an 8GB-RAM box you'll want to lower this; just know you're gambling.
- monitor_interval_seconds (1), warning_ram_percent (92), critical_ram_percent (97) - these set up a background memory monitor that keeps watching during the render, not just at the start.
critical_ram_percentmust be higher thanwarning_ram_percentor the node raises a ValueError about its own settings.
Outputs: prompt - the same STRING that went in, passed straight through. That's not padding; it's how this node becomes the execution barrier. Wire it onward and nothing downstream fires until the check has passed. memory_policy (a custom VELVET_VICE_MEMORY_POLICY object) carries the monitor settings the rest of the pack's memory tooling reads. status (STRING) is the human-readable verdict - "preflight passed; X GiB RAM available" or a list of what failed.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/Velvet-Vice/velvet-vice-minimax-h3
Restart ComfyUI (Manager users: search "velvet-vice-minimax-h3"). No pip dependencies.
Where people get caught
Two messages trip people up. "update ComfyUI; missing core node(s)" is not a warning you can tune away - your ComfyUI genuinely predates H3 support, so update it. And if the node is wired after the model loaders instead of before them, you've defeated the entire purpose; the check only helps if it executes first, which is why the pack routes it into the prompt barrier position. If you get a hard abort and you're sure the machine can handle it, look at whether min_available_ram_gib is just set too high for your box - that's the knob, not a bug.
Inputs (8)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | — | |
| strict_preflight | BOOLEAN | true | — |
| ram_abort_percent | FLOAT | 94.070–99 | — |
| min_available_ram_gib | FLOAT | 124–128 | — |
| monitor_interval_seconds | FLOAT | 1.00.5–10 | — |
| warning_ram_percent | FLOAT | 92.060–98 | — |
| critical_ram_percent | FLOAT | 97.070–99.5 | — |
| model_configopt | VELVET_VICE_H3_MODEL_CONFIG | — |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| prompt | STRING | — |
| memory_policy | VELVET_VICE_MEMORY_POLICY | — |
| status | STRING | — |