Apply HyperFlow Advanced (Ablations)
The ablation knobs, and why you should leave them alone
- model
- model
- sigmas
Same node, two extra dials
Apply HyperFlow Advanced is the base HyperFlow node with the lid off. Same job - the 8-step HyperFlow adapter (a rank-256 LoRA plus two-time (t, r) conditioning) patched onto MiniMax-H3 between the loader and the sampler - same install, same models/hyperflow/ weights, same two outputs.
The difference is two widgets: gate and sigmas. Both exist so you can reproduce ablations of the released model. With them at their defaults this node does exactly what ApplyHyperFlow does - the code backs that up: gate below zero and an empty sigmas string are passed through as None, meaning "read it from the weights file."
So the honest advice is: if you don't know why you'd change these, use the plain node. The advanced node buys you two ways to break your render and nothing else.
Why the two knobs exist
Recall the blend that gives HyperFlow its two-time conditioning:
t_emb = emb_t(t) + gate * (emb_r(r) - emb_t(t))
Every step is conditioned on the interval it integrates, r = 1 - sigma_next, rather than the point t.
gate is the scalar on that endpoint term. -1 (the default, and the sentinel) means "use the gate stored in the weights file" - the trained value. Any other number overrides it, which is an ablation: 0 collapses the blend to plain single-time conditioning, and pushing it up weights the endpoint embedding harder than the model was ever trained for. Range goes to 2.0 in 0.05 steps. There's no version of this where a random value looks better; it's a probe, not a taste setting.
sigmas is a raw sigma grid as a comma-separated string, and it's the one people get wrong. Four rules, straight from the validator:
- it must have at least two points,
- be strictly decreasing,
- start at or below 1.0,
- and end at exactly 0.0.
Empty means "use the grid stored in the weights file" - the trained 8-step grid:
1.0, 0.931506, 0.839236, 0.703462, 0.5, 0.296538, 0.160764, 0.068494, 0.0
Nine points, eight Euler steps. Type your own and you're changing the step count or the spacing of the trajectory - again, an ablation. Note that this is the unshifted grid: the node applies the video shift (12) internally before handing you the SIGMAS output, so if you're copying values out of a SamplerCustomAdvanced widget to paste back in here, you're pasting the wrong clock. Commas or spaces both parse; anything non-numeric raises.
One interaction worth knowing
experimental_curve_refit - the pruned-base conditioning fit - is disabled the moment you override gate, strength or sigmas. That's deliberate: the fit is bound to a specific checkpoint and a specific recipe, so any override drops you back to backbone-LoRA-only behaviour. If you're on a pruned base and wondering why the refit quietly did nothing, check these three first.
Inputs and outputs
The shared fields are the same set as the base node: model (chain once - it errors if HyperFlow is already applied), hyperflow_file, strength, lora_mode, variant, download_if_missing and verbose. Same advice applies - strength stays at 1.0, lora_mode stays bypass unless you need the VRAM back, and experimental_curve_refit is the optional widget you may have to reveal with right-click → show optional widgets.
Outputs are model and sigmas. Wire sigmas into SamplerCustomAdvanced's sigma input instead of a scheduler, and sample with Euler. Optional sparse attention on top: sol-attn at start_percent = 0.16, dense_blocks = "0,1", tau = 1.0, sink off, extra_tokens = 0.
Install
ComfyUI Manager → ComfyUI-Hyperflow → install → restart, or:
cd ComfyUI/custom_nodes
git clone https://github.com/Saganaki22/ComfyUI-Hyperflow
Then place one converted .safetensors in ComfyUI/models/hyperflow/ - the full build (3.67 GiB, the released model) or the pruned one (3.64 GiB, for pruned/curve bases only). Zero pip dependencies; the pack ships nothing beyond torch and ComfyUI itself.
Gotchas
Full build on a pruned base (or the reverse) errors out by design with the filename you should have chosen - that check is automatic, so trust the message. A sigma grid that isn't strictly decreasing or doesn't land on 0.0 is rejected with your list echoed back, which usually means a stray shifted value snuck in. And a stall at "Model Initializing" after a ComfyUI update is worth isolating with --disable-fast-disk, since that status covers the first full sampling step including weight loading and LoRA merging - it doesn't prove a hang.
Same licence caveat as the rest of the pack: the code is Apache-2.0, the weights are a MiniMax-H3 derivative under the H3 Community License, which excludes the US, EU, UK and South Korea.
Inputs (10)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | The MiniMax-H3 diffusion model to patch. Chain once. | |
| hyperflow_file | COMBO | The ComfyUI-converted HyperFlow weights (models/hyperflow). | |
| strength | FLOAT | 1.000–2 | Adapter strength. 1.0 is the released model. |
| lora_mode | COMBO | bypass | bypass: run-time additive (sharp). merge: folded into the weights (low VRAM, softer on quantized bases). |
| variant | COMBO | auto | Build to fetch when downloading: auto (default) matches the detected base; full = non-pruned base; pruned = backbone-only for pruned/curve bases. Ignored when the file is already on disk. |
| download_if_missing | BOOLEAN | false | Download the chosen variant from drbaph/Hyperflow-Comfyui into models/hyperflow when missing. Requires internet. |
| gate | FLOAT | -1.00-1–2 | Blend of the endpoint embedding. -1 (default) reads the gate from the weights file; any other value overrides it (ablation). |
| sigmas | STRING | Custom raw sigma grid, comma separated, must start <= 1 and end at exactly 0 (e.g. the 9 default points). Empty = the grid stored in the weights file (the trained 8-step grid). Ablation use only. | |
| verbose | BOOLEAN | false | Log the applied modules and the per-step (t, r) context. |
| experimental_curve_refitopt | BOOLEAN | false | Experimental checkpoint-bound fit; gate/strength/sigma overrides disable the refit and keep backbone-only behavior. |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| model | MODEL | — |
| sigmas | SIGMAS | — |