Max Shift Slider
One knob for 'make it feel different' on Flux
- FLOAT
The pack's own description says this slider controls "the maximum pixel shift, often used to introduce variation." The name sounds scary; the reality is friendlier. It's a single float slider, 0 to 4 in 0.05 steps, defaulting to 1.15, and it controls the max_shift parameter of the ModelSamplingFlux nodes in the workflow. That's the timestep-shift knob that flow-matching models like Flux use instead of a classic noise-schedule choice.
What "shift" actually does
Flux is a rectified-flow model: it learns a nearly straight path from noise to image, and sampling walks along that path. shift decides where along the path the sampling effort gets concentrated. A shift that emphasizes the high-noise end spends relatively more steps on composition and broad structure; a shift that leans the other way spends more on fine detail. ComfyUI's ModelSamplingFlux exposes this as max_shift and base_shift, and the stock defaults for Flux dev - max_shift 1.15, base_shift 0.5 - are exactly where this slider starts.
That's why the slider is described as "introducing variation": nudge it and you change the balance of effort, which changes the character of the result even with the same seed and prompt. It's the closest thing the workflow has to a "feel" knob for Flux sampling. Small moves matter here. Anything within roughly 1.0–1.4 of the default is a tweak; pushing toward 2 or 3 is a different sampling regime entirely, and results get weirder, not better.
One gotcha worth knowing before you chase it: some schedulers apply their own sigma shift and ignore whatever you set. If the slider seems to do nothing at all, check which scheduler you're on before you conclude it's broken. In the Continuum workflow the value routes through the get/set system (the Set_max shift slot in the shipped JSON) into all four ModelSamplingFlux nodes, so it applies across output modules at once - a genuinely nice bit of the modular design.
Wiring and context
One input widget (value, the slider itself), one FLOAT output. That float is exactly what ModelSamplingFlux wants. If you ever use this node outside the Continuum workflow, you can wire it straight into a ModelSamplingFlux node's max_shift input and get the same behavior.
This is also a good place to remember the Flux sampler rules while you're poking at it: Flux wants a converging sampler (Euler is the community default), no Karras scheduler, and guidance around 3.5 for dev. Tweak shift for variation, not to rescue a bad sampler choice - that's the wrong tool and it'll fight you.
Install
It ships with the pack:
cd ComfyUI/custom_nodes
git clone https://github.com/robertvoy/ComfyUI-Flux-Continuum
Restart ComfyUI (or install via ComfyUI Manager → search "Flux Continuum"). No extra dependencies - the pack's pyproject.toml lists none.
Troubleshooting
- Slider changes nothing - check your scheduler (some override shift), then confirm the
FLOATwire from the slider actually reaches the sampling section. In the Continuum workflow it should land on theSet_max shiftslot. - Images get worse as you raise it - expected. Higher shift isn't better; it's different. Go back near 1.15 and step in 0.05 increments.
For a utility pack that usually adds nothing but cable management, this is the one node that quietly changes what your Flux images look like.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| value | FLOAT | 1.150–4 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| FLOAT | FLOAT | — |