ComfyUI Extension: ComfyUI-ModelSamplingSD3Advanced
Adds windowed, curved shift control for Flow Matching samplers (SD3-style / flow schedules). It is a drop-in replacement for Comfy's included ModelSamplingSD3 node.
Custom Nodes (0)
README
ComfyUI-ModelSamplingSD3Advanced
A ComfyUI node that adds windowed, curved “shift” control for Flow Matching samplers (SD3-style / flow schedules). It is a drop-in replacement for Comfy's included ModelSamplingSD3 node.
This was built specifically for Flow Match models such as bigASP, where I have observed:
- Better prompt adherence at higher shift (especially early in denoising),
- but worse image quality / texture / coherence if that high shift persists into later steps.
- Especially when using character LoRAs.
ModelSamplingSD3Advanced lets you apply a high shift in early steps (to lock in prompt adherence), then transition to a lower shift later (to maintain quality.)
What this node does
The node patches the model’s model_sampling with a custom flow schedule where shift varies over denoise progress:
shift_startused near the beginning (high noise / early steps)shift_endused later (low noise / late steps)- a window (
start_percent→end_percent) defines where the transition occurs - a curve controls how that transition feels (linear, cosine, smoothstep, etc.)
Installation
You can clone this repo into comfyui/custom_nodes/ComfyUI-ModelSamplingSD3Advanced or search for "Model Sampling SD3 Advanced" in the ComfyUI Manager.
Inputs
- model: The incoming model.
- shift_start: Shift value at the beginning (early/high-noise steps).
- shift_end: Shift value at the end (late/low-noise steps).
- start_percent: Denoise progress where the transition window begins.
- end_percent: Denoise progress where the transition window ends.
- curve: Shape of the transition inside the window:
linear,cosine,smoothstep,ease_in,ease_out,sigmoid
- outside_window: Controls behavior outside the window:
hold(default): beforestart_percentusesshift_start, afterend_percentusesshift_endbaseline: outside the window uses the model’s default shift (strictly windowed modulation)linear_extrapolate: extends the shift trend beyond the window (advanced)
- multiplier: Flow schedule timestep multiplier (typically 1000). Keep default unless you know why you’re changing it.
Output
- MODEL: A patched model with the modified sampling schedule.
Notes / Caveats
- This node modifies the sampling schedule; results can be model-specific.
- The node is meant for Flow Matching / SD3-style schedules (not classic epsilon/DDIM schedules).
- If your workflow/sampler expects strictly monotonic sigmas, this implementation enforces monotonicity as a safety measure.