Nodes/TBG’s ComfyUI Development Takeaways/Model Sampling Flux Gradual
ComfyUI Node

Model Sampling Flux Gradual

Dial Flux's sampling shift like a 'creativity' slider

By Ltamann·Created about a year ago·Updated 7 months ago· 20
Model Sampling Flux Gradual
  • model
  • latent
  • MODEL
max_shift0.870
base_shift0.500
GradualModelShift0.000

Flux has a built-in concept called shift that controls how much denoising effort lands on the noisy early steps versus the fine-detail late steps, and it's resolution-dependent by default. The stock ModelSamplingFlux and ModelSamplingFluxNormalized nodes let you override it, but each does its own thing and there's no smooth path between them. This node is that path: it patches your model's sampling with a graduated shift that sits on a continuum between the two stock behaviors, controlled by one slider the author cheekily describes as "like Creativity in Magnific."

The mechanism is grounded and worth understanding. The node reads your latent's dimensions, applies an interpolation formula to turn max_shift, base_shift, and resolution into an effective shift value, and then - here's the "gradual" part - blends that between two regimes using GradualModelShift: at 0 you get the resolution-normalized behavior (gentler, material-preserving), at 1 you get the classic Flux shift (more creative, structure-heavy). The result is patched onto your MODEL, which you then wire into your sampler as usual.

The three inputs that actually matter

  • latent - used purely to measure image dimensions. Connect your latent before sampling (or the latent you intend to sample from).
  • max_shift / base_shift - the bounds of the shift curve. The tooltips give the direction: for img2img, lower values "retain better the materials," with suggested ranges of 0.5–0.9 for max and around 0.1 for base. Think of max as the strong end and base as the floor.
  • GradualModelShift - the creative dial, −1 to 2 (default 0). 0 ≈ normalized behavior, 1 ≈ classic Flux shift. Higher than 1 pushes past the classic curve. This is the control you'll actually tweak between runs.

Output is a single MODEL; wire it straight into your sampler's model input.

Install and expectations

Manager → search TBG Takeaways → install, restart:

cd ComfyUI/custom_nodes
git clone https://github.com/Ltamann/ComfyUI-TBG-Takeaways

Under TBG/Takeaways after restart. No extra deps, no model downloads.

Who's this for? People doing img2img and high-res fix passes with Flux who keep hitting the same wall: the stock shift makes the model redraw aggressively and lose original texture, or the normalized version is too tame. If that's you, set GradualModelShift low for texture-faithful img2img and nudge it up when you want invention. If your t2i looks fine and you've never touched ModelSampling nodes, this is solving a problem you don't have yet. Also set expectations: it's a one-dev Patreon "takeaway," so the tooltips are the whole manual - but the concept is sound and it gives you a single continuous dial where ComfyUI stock gives you two discrete nodes.

CategoryTBG/Takeaways

Inputs (5)

NameTypeDefaultDescription
modelMODELThe model to apply sampling adjustments to
max_shiftFLOAT0.870-100–100Maximum shift Img2Img lower value retain better the materials 0.5-0.9
base_shiftFLOAT0.500-100–100Base shift Img2Img lower value retain better the materials 0.1
latentLATENTThe latent to calculate image dimensions from
GradualModelShiftFLOAT0.000-1–2Like Creativity in Magnific. Interpolates between a ImageSize ModelSampelFluxNormalized 0 to ModelSampelFlux 1. 0

Outputs (1)

NameTypeDescription
MODELMODEL