Nodes/MiniMax H3 Audio T8/MiniMax H3 AV Sigma Same-NFE / 音画同NFE重分布 (Advanced)
ComfyUI Node

MiniMax H3 AV Sigma Same-NFE / 音画同NFE重分布 (Advanced)

Reshape the sigma schedule without changing the step count

By T8mars·Created 20 days ago·Updated a day ago· 807
MiniMax H3 AV Sigma Same-NFE / 音画同NFE重分布 (Advanced)
  • sigmas
  • sigmas
  • actual_nfe
  • report_json
modereport_only
start_progress0.50
tail_power1.60
shift_video12.00
shift_audio3.00
profileturbo_standard8
sampling_routedual_clock_euler
accept_turbo_schedule_oodfalse

Here's a scheduling trick people learn the hard way: you can spend the exact same number of model calls and get a different result, just by deciding where in the denoising process those calls land. MiniMaxH3AVSigmaSameNFERedistributionT8Advanced is that trick as a node - it keeps the joint audio-video model-call count (the NFE) and the endpoints untouched, but optionally slides the existing sigma points around in base-flow time. And it defaults to report_only, so nothing changes until you say so.

The name is the whole contract. "Same-NFE" means you're not adding steps - actual_nfe output will match what you started with. "Redistribution" means the node takes the sigma knots your scheduler produced and re-weights their spacing. tail_power is the dial: 1.0 is exact identity (a no-op pass-through), and values above 1.0 pull existing points toward the zero-sigma tail - which is where fine detail and final audio texture actually get resolved in flow-matching samplers.

Why you'd bother

H3's joint transformer generates video and audio together, but the two modalities don't necessarily want the same sigma cadence. The node carries separate shift_video (12) and shift_audio (3) defaults, which is a hint: video likes its points one way, audio another, and the dual-clock sampling route (dual_clock_euler) is where this experiment is meant to live. If you suspect your output is under-resolved in the tail - motion micro-jitter, audio that sounds slightly soft - a redistribution that packs more of the existing steps into the end of the schedule is the cheap experiment to try before adding NFE you don't have.

The inputs that matter

  • sigmas in, sigmas out - it's a drop-in between your scheduler and sampler.
  • mode - report_only (default) prints what it would do; flip to apply when you're ready.
  • start_progress (0.5) - where in the schedule redistribution begins. Below that, knots stay put.
  • tail_power (1.6) - the strength of the pull toward zero. 1.0 = identity.
  • profile (turbo_standard8) and accept_turbo_schedule_ood - the honest part. The author validated the Turbo dual-clock path with an 8-step baseline, and adding untrained intermediate times to an 8-step Turbo schedule is out-of-distribution by definition. That's why the accept flag exists: you have to consciously acknowledge you're pushing a Turbo schedule past what it was trained for.

Outputs: the reshaped sigmas, an actual_nfe you can verify stayed the same, and report_json. It sits in T8/MiniMax H3/Quality/Experimental next to its two schedule siblings - this one is "same NFE, different placement," while the other two add steps to the tail.

Install

Standard pack install:

cd ComfyUI/custom_nodes
git clone https://github.com/T8mars/comfyui-minimax-h3-audio-T8

Restart ComfyUI. No extra dependencies, no model files - pure schedule math. Run it in report_only on your current workflow first, eyeball actual_nfe and the sigmas output, then decide if the tail pull is worth an A/B. And keep the expectations honest: this is an experiment, not a magic quality knob. The pack's own documentation is careful to call these unvalidated outside the fixed test cases.

CategoryT8/MiniMax H3/Quality/Experimental

Inputs (9)

NameTypeDefaultDescription
sigmasSIGMAS
modeCOMBOreport_only2 options: report_only, apply_exp
start_progressFLOAT0.500–0.99
tail_powerFLOAT1.600.2–51.0 is exact identity; values above 1 move existing points toward the zero-sigma tail.
shift_videoFLOAT12.000.01–100
shift_audioFLOAT3.000.01–100
profileCOMBOturbo_standard85 options: turbo_standard8, turbo_ema8, turbo_fl2v8, stock20, custom_strict
sampling_routeCOMBOdual_clock_euler4 options: dual_clock_euler, native_flow_av_unverified, multirate_exp_unsupported, unknown
accept_turbo_schedule_oodBOOLEANfalse

Outputs (3)

NameTypeDescription
sigmasSIGMAS
actual_nfeINT
report_jsonSTRING