MiniMax H3 Uniform Flow Scheduler [Experimental]
A sigma-schedule laboratory
- model
- sigmas
This node exists because somebody actually watched the output, not because schedulers needed another knob. While A/B-testing MiniMax-H3 with ComfyUI's stock ddim_uniform schedule, the author of the RefDelta pack kept seeing the same thing: quick cuts, coherent action, and unusually high scene/action variety. That observation turned into a whole scheduler laboratory, and MiniMax H3 Uniform Flow Scheduler [Experimental] is its front door. If you run MiniMax-H3 locally and want shot variety without hand-rolling sigma tables, this is the node you reach for - with the pack's own blessing to keep legacy_ddim_uniform around as the "how stock ComfyUI actually behaves" control.
What it actually is
A scheduler node in the ComfyUI sense: it takes a MODEL and steps, and outputs a single SIGMAS tensor - the list of noise levels the sampler walks down. It is not a sampler. The "DDIM" in legacy_ddim_uniform describes how the time points are spaced, not what denoises your video. The pack is explicit: wire this node's sigmas output into your custom sampling path and keep using ER-SDE. Everything about it is tuned against H3's own clock.
Mechanically, the node builds a strictly-decreasing schedule on H3's shared base flow coordinate u, then maps it through the loaded model's video shift. It reads shift and audio_shift straight off your model, which is why the model input is required and why it must be the H3 ModelSamplingAV path - it never invents its own video/audio clocks. Output is deterministic CPU float32, terminates at exact zero, and denoise < 1 returns the exact tail of the longer schedule, same as BasicScheduler.
The inputs that matter
You really set four things:
model- your loaded H3 checkpoint (theMODELout of your sampling path).steps- defaults to 19, the winner of the pack's completed media A/B pass.mode- the 10-way menu below; defaults tophase_offset_uniform.phase- the offset for that mode, default 0.50.
Everything else - power, tail_steps, tail_start, beta_alpha/beta_beta, arc_strength, structure_fraction, profile, and friends - is marked advanced and is inert outside its named mode. phase does nothing unless you're in phase_offset_uniform; power only bites in power_uniform. Don't go tweaking knobs that aren't live. auto_tail_steps (default on) picks min(5, effective_steps - 1) tail steps for the refinement modes.
The mode menu, honestly
Ten modes, but only a couple matter for daily use. phase_offset_uniform is the released default and the empirical winner: the author's sweep found phase 0.60/0.65 reintroduced visible flashing, 0.55 was stable but weaker on action, and 0.50 hit the balance. legacy_ddim_uniform reproduces stock ComfyUI exactly - integer table stride, extra point, tail slice - and is the high-variety control to keep for comparison. uniform_linspace is solid and neutral. The refinement-tail family (uniform_refinement_tail, trailing_refined) can look great but is more inventive/unstable across repeats; av_arc_length produced an artifacted shot in the tested pass; default asymmetric_beta(0.6, 0.6) was unstable with doubled audio. Treat all of those as research controls, not recommendations.
Install
Clone into custom_nodes and restart:
cd ComfyUI/custom_nodes
git clone https://github.com/xmarre/ComfyUI-MiniMax-H3-RefDelta-Solver.git
ComfyUI Manager works too - search "MiniMax H3 RefDelta Solver". There are no runtime dependencies beyond current ComfyUI, which is refreshingly rare. But the real prerequisite is the model: this pack targets xmarre's pruned Ref-Delta fused rank-1024 MiniMax-H3 checkpoint, and the H3 weights themselves run ~42GB with no verified consumer-VRAM floor. And if you're in the US, EU, UK, or Korea, the H3 Community License doesn't license you to run the local weights at all - check that before you spend the download time.
Gotchas
Don't forget the pack's own production stance: its recommended path is the MiniMax H3 RefDelta Stability Sampler + BasicScheduler(beta), and this scheduler is explicitly experimental. The defaults came from one tested workflow and "remain prompt-, seed-, checkpoint-, and step-count-dependent." That's the author's disclaimer, not a marketing hedge. Also note the schedule is decoupled from the sampler - if you swap in a non-ER-SDE sampler expecting DDIM behavior, you'll get the schedule, not the sampler. Want to preview a schedule without burning a model run? The repo ships tools/inspect_h3_schedule.py to dump curves as CSV.
Inputs (19)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | — | |
| steps | INT | 191–10000 | — |
| denoise | FLOAT | 1.000–1 | — |
| mode | COMBO | phase_offset_uniform | 10 options: legacy_ddim_uniform, uniform_linspace, phase_offset_uniform, power_uniform, uniform_refinement_tail, trailing_refined, +4 |
| phase | FLOAT | 0.500–0.99 | — |
| power | FLOAT | 1.000.25–4 | — |
| tail_steps | INT | 50–100 | — |
| tail_start | FLOAT | 0.1500.001–0.999 | — |
| tail_power | FLOAT | 2.000.25–4 | — |
| beta_alpha | FLOAT | 0.600.05–5 | — |
| beta_beta | FLOAT | 0.600.05–5 | — |
| arc_strength | FLOAT | 0.500–1 | — |
| audio_weight | FLOAT | 1.000–4 | — |
| structure_fraction | FLOAT | 0.500.05–0.95 | — |
| mid_power | FLOAT | 1.000.25–4 | — |
| detail_power | FLOAT | 1.000.25–4 | — |
| profile | COMBO | h3_uniform_neutral | 1 options: h3_uniform_neutral |
| profile_path | STRING | — | |
| auto_tail_steps | BOOLEAN | true | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| sigmas | SIGMAS | — |