# Spectrum skips MiniMax H3 transformer blocks and calls the result approximate

> xmarre/ComfyUI-Spectrum-MiniMax-H3 is a ComfyUI custom node that accelerates the native MiniMax H3 audio-video model by forecasting denoiser features with Chebyshev ridge regression instead of running the transformer. It is honest about being lossy, and its step-count table shows why a 10 step run can cost 28 model calls.

**xmarre/ComfyUI-Spectrum-MiniMax-H3** — Training-free Spectrum acceleration for ComfyUI’s native MiniMax H3 audio-video model. Uses Chebyshev ridge feature forecasting to skip selected H3 transformer evaluations, with adaptive scheduling, sampler-aware support for Euler, ER-SDE, RES, SEEDS and SA-Solver, CPU/VRAM history storage, and fail-closed native fallbacks.

- Repository: https://github.com/xmarre/ComfyUI-Spectrum-MiniMax-H3
- Stars: 682 · Forks: 44
- Language: Python
- License: GPL-3.0
- Published: 2026-09-17 · Updated: 2026-09-17 · Language: en
- Canonical page: https://hysenlabs.com/projects/xmarre-comfyui-spectrum-minimax-h3

## Actual steps keep the transformer, forecast steps skip it

The mechanism is a division of labour between the steps that run the model and the steps that predict it. On an actual step the node runs native MiniMax H3 and retains the packed target hidden state after the final transformer block. On a forecast step it predicts that same state from the previous actual anchors, skips the H3 transformer blocks for that step entirely, and continues through the native output and sampler path so the surrounding graph is untouched. The saving is therefore the transformer evaluation, not the rest of the model. The integration also has to cope with MiniMax H3's packed audio and video representation, with ComfyUI's sampler contracts, with stochastic and multistage samplers, and with replay, and the repository is explicit that its implementation is standalone while the method itself comes from the upstream paper and the authors' own implementation. Supported sampler families named across the releases are Euler, ER-SDE, RES, SEEDS and SA-Solver.

## The forecast is a Chebyshev fit fitted online with ridge regression

The forecasting idea comes from Spectrum, described as training-free spectral diffusion feature forecasting, introduced by Jiaqi Han, Juntong Shi, Puheng Li, Haotian Ye, Qiushan Guo and Stefano Ermon in Adaptive Spectral Feature Forecasting for Diffusion Sampling Acceleration. The paper, its project page and the official implementation are all linked as the primary upstream references, and this repository is an adaptation rather than a new method. The maths is compact. Denoiser features are treated as functions over diffusion time, approximated with Chebyshev polynomial bases, and the coefficients of those bases are fitted online with ridge regression. That is what allows selected future feature states to be forecast without a full denoiser evaluation, and it is also why nothing has to be trained or shipped as weights. The cost sits elsewhere: the coefficient fit happens during sampling, so the approach trades transformer time for a small amount of regression work per forecast step, and the repository keeps CPU and VRAM history storage for the anchors it needs.

## Ten steps can mean nineteen or twenty-eight H3 calls

The single most useful table in the documentation is the one about step counts, because the ComfyUI steps value is not what people assume it is. Steps is the number of outer sigma intervals, and it is not necessarily the number of logical H3 model-call opportunities. With N equal to the number of sigmas minus one, ordinary one-call samplers such as Euler, RES multistep and ER-SDE give N calls, so 10 outer steps stay at 10 and 19 stay at 19. SEEDS-2 gives 2N minus 1, which turns 10 into 19 and 19 into 37. SEEDS-3 gives 3N minus 2, which turns 10 into 28 and 19 into 55. Active SA-Solver PECE, meaning use_pece true with corrector_order above zero, matches SEEDS-2 at 2N minus 1. The reason for the minus one or two is that the final SEEDS interval terminates directly at sigma zero and does not expose its internal stage calls. The practical consequence is that savings measured against the steps slider understate the real cost of multistage sampling.

## balanced became the default PECE policy on tested evidence

The default changed for a stated reason. In v0.2.23, active SA-Solver PECE acceleration became full, with explicit ownership of the predicted and corrected phases and persistent endpoints that are actual-only, and balanced became the default PECE forecast policy after matched production testing. Two alternatives remain available: max_speed as the higher-speed option and stable_start as the more conservative one. The same release added Spectrum composition for RefDelta Solver v0.6.0 SEEDS-2 and SEEDS-3 backends, SA-Solver PEC and SA-Solver PECE backends, while preserving RefDelta's actual-only evidence ownership, and it recorded that production testing with DiffAid, Untwist-RoPE and H3 Continuum produced acceptable decoded media under both balanced and max-speed PECE. The project's own wording is that balanced was perceptually preferred in the workflow it tested, which is a narrower claim than balanced being better everywhere, and worth holding that distinction when you read a default.

## ER-SDE took two quality fixes before it was usable

The release history reads like a bug log for the stochastic path. v0.2.11 fixed what is called confetti corruption in native ER-SDE forecasts by switching to solver-space denoised interpolation, while preserving the native stochastic trajectory and the RNG stream so seeded runs stay comparable. The same release hardened post-run teardown so optional generic-correction research work cannot block a completed generation from reaching decode and save. v0.2.14 hardened native ER-SDE offline replay around the reviewed KJNodes Model Preview Override callback, bypassing only that callback's replay-time preview wrapper, and added diagnostics for the callback, the noise sampler and replay finalisation to make hangs and hard wedges visible. v0.2.12 added Diff-Aid compatibility against ComfyUI-DiffAid-Patches v1.0.6 and later, with separate patch identity, its own telemetry, cache separation and hard-window transition anchoring, and it preserved the normal 11-actual, 9-forecast schedule in validated 20-step native ER-SDE tests without model-aware extra NFEs.

## Every companion integration is versioned and fail-closed

The pattern across integrations is a versioned contract that degrades to native behaviour rather than guessing. For stochastic SEEDS-2 and SEEDS-3 the node reconstructs the exact current state and forecasts the transformer residual, while the outer stochastic SEEDS stage stays exact. SA-Solver PEC uses actual-only persistent Adams history and causal solver-space dense output, so forecast error cannot recursively contaminate the solver, and active PECE corrector configurations stay fail-closed and native. Validation in v0.2.22 reported SEEDS-2 reaching 11/8 on the initial chunk and 12/7 on the Continuum chunk, SA-Solver at 11/8 on both chunks, all with zero fallbacks and clean decoded output. RefDelta Solver v0.2.0 and later got its own fail-closed contract that keeps Spectrum forecasts out of its actual-anchor risk and correction history while keeping them in ER-SDE solver history. Untwisting-RoPE support added distinct cache identity and hard-boundary anchoring and stacks with Diff-Aid, and its optional post-run analysis was moved into an isolated subprocess.

## An alpha custom node with an empty dependency list

The packaging tells you what kind of project this is. pyproject declares the distribution as comfyui-spectrum-minimax-h3 at version 0.2.28, requires Python 3.10 or newer, classifies itself as Development Status 3 - Alpha and as GPLv3 or later, and lists classifiers for Python 3.10 through 3.13. Its dependencies array is empty, which is normal for a ComfyUI custom node that runs inside an existing ComfyUI environment rather than installing its own stack. It ships a pytest configuration pointing at the tests directory with -ra reporting, and a ComfyUI metadata block with the publisher id xmarre, a display name of ComfyUI-Spectrum-MiniMax-H3, and empty icon and includes fields, so the registry entry will look bare. The repository layout is unusually documentation heavy for a node: nodes.py and __init__.py sit at the root beside the comfyui_spectrum_h3 package, with investigation, tools, docs and tests directories, four benchmark and research write-ups, and both a LICENSE and a separate COPYRIGHT file. Releases v0.2.26, v0.2.27 and v0.2.28 all landed in September 2026.

## Conclusion

Use this node when you generate MiniMax H3 audio-video in ComfyUI often enough that transformer evaluations dominate your wall clock, and you can accept output that differs from native H3 at the same seed. Do not adopt it to reproduce an exact frame, and do not read the reduced step count as a speed guarantee: the sampler table shows multistage and active PECE solvers turning 10 outer steps into as many as 28 model calls. Before you tune anything, read the benchmark files in the repository root, check that your sampler is in the reviewed list, and pin a release rather than tracking main.

## FAQ

### Is MiniMax H3 on ComfyUI?

Yes, natively. This repository is a ComfyUI custom node implementing the native MiniMax H3 audio-video model rather than wrapping a third-party node, working around MiniMax H3's packed audio and video representation and ComfyUI's sampler contracts. It accelerates that native path instead of replacing it.

### What is MiniMax H3 in the context of this node?

It is an audio-video model whose denoiser is evaluated as a sequence of transformer blocks. On an actual step this node runs native H3 and keeps the packed target hidden state from the final transformer block, and on a forecast step it predicts that state and skips the transformer blocks for that step.

### Does Spectrum change my ComfyUI output?

Yes, it can. The node calls itself an approximate accelerator because forecast steps change the denoising trajectory, so output can differ from native MiniMax H3 even with the same seed and the same workflow. That is the trade for skipping transformer evaluations.

### What does the steps value mean in ComfyUI Spectrum MiniMax H3?

Steps is the number of outer sigma intervals, not the number of H3 model calls. Ordinary one-call samplers give N calls, SEEDS-2 and active SA-Solver PECE give 2N minus 1, and SEEDS-3 gives 3N minus 2, so 10 outer steps can mean 10, 19 or 28 H3 evaluations depending on the sampler.

## Sources

- [Issues](https://github.com/xmarre/ComfyUI-Spectrum-MiniMax-H3/issues)
- [License: GPL-3.0](https://github.com/xmarre/ComfyUI-Spectrum-MiniMax-H3/blob/main/LICENSE)
- [README](https://github.com/xmarre/ComfyUI-Spectrum-MiniMax-H3/blob/main/README.md)
- [Releases](https://github.com/xmarre/ComfyUI-Spectrum-MiniMax-H3/releases)
- [xmarre/ComfyUI-Spectrum-MiniMax-H3 on GitHub](https://github.com/xmarre/ComfyUI-Spectrum-MiniMax-H3)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/xmarre-comfyui-spectrum-minimax-h3
