MiniMax H3 TeaCache Args
MiniMax H3 TeaCache Args — the free-ish speedup, if you can live with slightly less detail
- teacache_args
Adjacent denoising steps barely differ - the latent at step 20 looks a lot like the latent at step 21. TeaCache is the observation that you can skip expensive transformer blocks on steps where nothing much changed, and this node is where you configure how aggressive that skipping is for H3. It's the same block-skipping family of trick the Wan crowd benchmarked to death, applied to H3's 33B DiT - which is exactly the model where it pays off, because every skipped block run is billions of parameters you didn't compute.
How it works
At each step, starting from start_block, the sampler compares the current block's output to the cached version from the previous step. If the mean L1 distance is below rel_l1_thresh, it treats it as a cache hit and skips up to max_skip_blocks consecutive blocks, reusing their last computed outputs instead of recomputing. Two guardrails keep it from drifting: warmup_steps at the start and cooldown_steps at the end always compute fully (the trajectory actually moves there), and the skip is bounded per step. The output is a frozen config object - a MINIMAX_H3_TEACACHE - that the KSampler reads.
The inputs that matter
rel_l1_thresh- the one you'll actually tune. Default0.08. Higher = more cache hits = faster, with quality erosion at the top end; lower = more faithful. Start at the default and push it up in small steps if you need more speed.start_block- default3. First block where cache checks engage. The earliest blocks are cheap and change a lot; let the expensive middle blocks do the skipping.max_skip_blocks- default15(out of 50 total). The ceiling per hit. Cap it lower if you see artifacts.warmup_steps(default1) andcooldown_steps(default2) - always-full steps at the extremes of the schedule. Safe to leave.
One output: teacache_args, wired into the KSampler's optional teacache_args socket. No input sockets - it's pure config.
Installing it
Pack-wide routine - ComfyUI Manager search "MiniMax H3", or:
cd ComfyUI/custom_nodes
git clone https://github.com/xiaolibai-sys/ComfyUI-MiniMaxH3
pip install -r requirements.txt
then restart. Pure config node, no models.
Common issues
- Speedup invisible. TeaCache only engages across many steps with a real signal - if you're on 8 steps with default warmup/cooldown, most of your run is protected, so there's little to skip. Its sweet spot is 20–40 step renders.
- Detail gets wobbly. That's
rel_l1_threshtoo high ormax_skip_blockstoo permissive. Dial the threshold down. - Benchmarking against the wrong thing. It's a quality-vs-time trade, not a free lunch. The defaults are conservative for a reason - compare outputs at the same seed before you commit to aggressive settings.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| start_block | INT | 30–49 | First block where cache checks are enabled. |
| max_skip_blocks | INT | 151–50 | Maximum number of consecutive blocks skipped on a cache hit. |
| rel_l1_thresh | FLOAT | 0.080–1 | Reuse the cache when mean L1 distance is below this threshold. Higher values are faster but may reduce quality. |
| warmup_steps | INT | 10–100 | Steps at the start that always compute fully. |
| cooldown_steps | INT | 20–100 | Steps at the end that always compute fully. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| teacache_args | MINIMAX_H3_TEACACHE | — |