ComfyUI Extension: ComfyUI-ModelSamplingSD3Advanced

Authored by SparknightLLC

Created

Updated

0 stars

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_start used near the beginning (high noise / early steps)
    • shift_end used later (low noise / late steps)
    • a window (start_percentend_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): before start_percent uses shift_start, after end_percent uses shift_end
      • baseline: 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.