Nodes/MiniMax H3 RefDelta Solver/MiniMax H3 Uniform Flow Scheduler [Experimental]
ComfyUI Node

MiniMax H3 Uniform Flow Scheduler [Experimental]

A sigma-schedule laboratory

By xmarre·Created 22 days ago·Updated 9 days ago· 1
MiniMax H3 Uniform Flow Scheduler [Experimental]
  • model
  • sigmas
steps19
denoise1.00
modephase_offset_uniform
phase0.50
power1.00
tail_steps5
tail_start0.150
tail_power2.00
beta_alpha0.60
beta_beta0.60
arc_strength0.50
audio_weight1.00
structure_fraction0.50
mid_power1.00
detail_power1.00
profileh3_uniform_neutral
profile_path
auto_tail_stepstrue

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 (the MODEL out 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 to phase_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.

Categorysampling/custom_sampling/schedulers

Inputs (19)

NameTypeDefaultDescription
modelMODEL
stepsINT191–10000
denoiseFLOAT1.000–1
modeCOMBOphase_offset_uniform10 options: legacy_ddim_uniform, uniform_linspace, phase_offset_uniform, power_uniform, uniform_refinement_tail, trailing_refined, +4
phaseFLOAT0.500–0.99
powerFLOAT1.000.25–4
tail_stepsINT50–100
tail_startFLOAT0.1500.001–0.999
tail_powerFLOAT2.000.25–4
beta_alphaFLOAT0.600.05–5
beta_betaFLOAT0.600.05–5
arc_strengthFLOAT0.500–1
audio_weightFLOAT1.000–4
structure_fractionFLOAT0.500.05–0.95
mid_powerFLOAT1.000.25–4
detail_powerFLOAT1.000.25–4
profileCOMBOh3_uniform_neutral1 options: h3_uniform_neutral
profile_pathSTRING
auto_tail_stepsBOOLEANtrue

Outputs (1)

NameTypeDescription
sigmasSIGMAS