Nodes/MiniMax H3 RefDelta Solver/MiniMax H3 SA-Solver Scheduler [Experimental]
ComfyUI Node

MiniMax H3 SA-Solver Scheduler [Experimental]

The H3 scheduler that learned to keep its hands off the wheel

By xmarre·Created 22 days ago·Updated 9 days ago· 1
MiniMax H3 SA-Solver Scheduler [Experimental]
  • model
  • sigmas
steps10
denoise1.00
modesimple_control

This is the rare node where the boring default is the honest answer, and the fancy mode is the one to be suspicious of. The MiniMax H3 SA-Solver Scheduler (from the xmarre/ComfyUI-MiniMax-H3-RefDelta-Solver pack) is an experimental scheduler for the MiniMax-H3 SA-Solver path - the pack's 33B omni-model video checkpoint that generates its own audio. Its job is narrow by design: it only decides where the outer sigma points land. It doesn't touch the sampler at all.

That last part is the whole story, so it's worth saying twice. SA-Solver (PEC and PECE) stays the authority for the predictor/corrector equations, the stochastic noise, the RNG, the callbacks, and the model-call count. The scheduler just hands it a SIGMAS list. If you swap in a completely different sampler downstream, this node has done nothing for you - the points are placed for SA-Solver geometry.

Why the node exists at all

MiniMax-H3 is a CONST flow model: it generates video and synchronized audio from one shared base-flow clock, and ComfyUI runs it through ModelSamplingAV. SA-Solver builds its Adams coefficients in half-log-SNR space, so the natural temptation is to schedule uniformly in that space. The author tried it - two modes that were uniformly spaced in lambda - and both produced visibly bugged decoded video. The first control interval collapsed from about 0.1 to 0.000355 in shared base time, which the Adams coefficients survived numerically but the media did not.

So those failed modes got deleted from the user-facing node, and the pack shipped a scheduler that only does one of two things:

  • simple_control (default): literally ComfyUI's simple scheduler. Exact parity, including the BasicScheduler-style denoise tail.
  • simple_adams_bounded: keeps simple as the base geometry, then finds the single record with the worst native Adams L1 coefficient norm and moves at most one interior node, transferring width between its two adjacent intervals. Everything stays inside a hard 0.875x–1.125x interval envelope.

That's the whole feature list, and the bounded mode is genuinely modest: at 10 steps it moves u[4] from 0.600000 to 0.612400. The author is upfront that it improves the selected L1 diagnostic without improving the global maximum or L2 coefficient, and that it has only passed synthetic validation. There's no decoded-media quality claim, and in the one real 10-step test, simple_control was actually slightly preferred. Read that as: a research vehicle, not a free upgrade.

Inputs and output

Four inputs, and a beginner only really touches one of them.

  • model - your MiniMax-H3 MODEL. This is what the node reads shift, audio_shift, and multiplier from; nothing is hardcoded. It also requires ModelSamplingAV with CONST flow sampling, and throws a TypeError if you feed it anything else.
  • steps (default 10) - number of outer SA-Solver intervals. Remember that active PECE with corrector_order > 0 exposes about 2N − 1 logical H3 model calls, so 10 outer steps is not 10 model calls.
  • denoise (default 1.0) - matches BasicScheduler tail-slicing, so partial-denoise workflows behave like you expect.
  • mode (default simple_control) - the only real choice, discussed above.

The single output is sigmas (SIGMAS). Wire it into the sampler's sigmas input in a custom-sampling path - exactly where you'd otherwise drop a BasicScheduler. Nothing else to connect; this is a pure point-placement node.

Install and what else you need

No dependencies beyond current ComfyUI - the README is telling the truth here, and the wheel's dependencies = [] backs it up.

cd ComfyUI/custom_nodes
git clone https://github.com/xmarre/ComfyUI-MiniMax-H3-RefDelta-Solver.git

Restart ComfyUI (or search "MiniMax H3 RefDelta" in the Manager). But the node alone generates nothing: you need the pack's target checkpoint, the rank-1024 pruned Ref-Delta fused MiniMax-H3 from xmarre's HuggingFace, plus the companion Spectrum MiniMax-H3 pack if you want the full RefDelta interop. And one flag worth flying up front: MiniMax-H3's community license excludes the US, EU, UK, and South Korea - check the license before you bother downloading the weights.

Gotchas

The two modes will not give you wildly different videos - the bounded mode changes one node. If you're chasing quality, simple_control at 10–19 steps is the defensible choice; the pack's own production recommendation is stock BasicScheduler(beta) anyway. This node is for the specific case where you want SA-Solver PEC/PECE on H3 and care about point placement. If active-PECE through the RefDelta sampler gives you trouble, the updated Spectrum interop contract (PR #91) is required - a sampler-side issue, not this node's fault. And if you see the ModelSamplingAV TypeError, you've loaded the wrong checkpoint; that's the node correctly refusing to guess.

Categorysampling/custom_sampling/schedulers

Inputs (4)

NameTypeDefaultDescription
modelMODEL
stepsINT101–10000Number of outer SA-Solver intervals; PECE phase count is unchanged.
denoiseFLOAT1.000–1Matches ComfyUI BasicScheduler tail-slicing semantics.
modeCOMBOsimple_controlsimple_control is exact ComfyUI simple. simple_adams_bounded permits one solver-native local base-time transfer around the worst Adams L1 record while enforcing a hard 0.875x..1.125x interval envelope.

Outputs (1)

NameTypeDescription
sigmasSIGMAS