ModelSamplingSD3
Retune the schedule when your SD3.5 image looks off
- model
- MODEL
ModelSamplingSD3 is the shift knob for the SD3 and SD3.5 family - a single shift parameter that retunes how the noise schedule maps onto sampling steps. If your SD3.5 render comes out too dark, too blurry, or just "off" and you've already checked steps and CFG, this is the node everyone will point you at.
The model family behind it is a weird beast. SD3 Medium launched in June 2024 as a technical landmark and a community disaster at the same time - the MMDiT architecture and rectified-flow objective were genuinely good research that the whole field then adopted, but the model shipped with broken anatomy and a license that got it banned from CivitAI. SD3.5 arrived in October 2024 as a genuinely competent 8B base with better terms, and then Stability's July 2025 acceptable-use revision deleted the family from the platform a second time. The node survived all of it because it's the standard way to make these models behave.
How it works
Flow-matching models like SD3 train on a near-straight noise-to-image trajectory, and the shift parameter bends where your sampler spends its steps. Push it up and more steps land in the high-noise phase where the overall composition gets settled; the result reads as more structure, more contrast, often a better-balanced image. Leave it low and the schedule lingers on detail work.
Mechanically the node clones your model and swaps in a ModelSamplingDiscreteFlow sampling base with a CONST sampling type, then calls set_parameters(shift=..., multiplier=1000). The 1000 multiplier is the SD3-style timestep scale - that's the entire difference from ModelSamplingAuraFlow, which uses 1.0. It also preserves any noise scale the original model sampling carried, so stacking it after another patch won't lose that state.
Inputs and what to set
model- the model to patch, between loader and sampler.shift- float, default 3.0. That default is what most SD3/SD3.5 workflows ship with and it's a fine starting point. Raise it toward 5-7 when output looks mushy or composition is weak; drop it if things get oversaturated or over-contrasty.
Output is the patched MODEL, wired straight into your KSampler. No extra files, no downloads - it's pure schedule math inside ComfyUI core.
Common issues & troubleshooting
It won't fix SD3 Medium's anatomy. This patch adjusts the sampling schedule; it can't repair a model that was under-trained on humans. If your "girl lying on the grass" comes out Eldritch, that's the model, not the schedule - no shift value fixes it.
Expect to tune it per resolution and seed. Shift interacts with aspect ratio and total steps. The same value that looks great at 1024x1024 can look different at a wide 16:9 crop, so treat 3.0 as a baseline, not a law.
Don't stack it with another sampling patch blindly. It replaces the model's sampling object. If a workflow already patches sampling (say, with ModelSamplingDiscrete), the last patch in the chain wins - check which one is actually closest to the sampler before adding a second.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | — | |
| shift | FLOAT | 3.000–100 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| MODEL | MODEL | — |