Nodes/Sage Utils/Model Shifts
ComfyUI Node

Model Shifts

Shift and FreeU together, from one dropdown instead of two nodes

By arcum42·Created 2 years ago·Updated 28 days ago· 33
Model Shifts
    • model_shifts
    settings

    Two of the most fiddly model-side knobs in modern ComfyUI are the timestep shift and FreeU's b/s parameters. Sage Utils has separate nodes for each - Model Shift Only and FreeU v2 - and then it has Model Shifts, which is the one you'll probably actually use: a single node with one dropdown that combines both, or lets you use either on its own.

    It's the "all of the above" model-tuning node, and the whole design is "give me the settings, don't make me think about plumbing."

    How it works

    The node has one input, settings, which is a dynamic combo with three modes:

    • Shift Only - a shift_type dropdown (None/x1/x1000) and a shift value.
    • FreeU v2 Only - the freeu_v2 enable toggle plus b1, b2, s1, s2.
    • Shift and FreeU v2 - both sets of fields at once.

    Pick a mode and the node shows you exactly those fields; no dead inputs lying around. When you run it, it packages the active values into a single model_shifts bundle and - importantly - fills in safe defaults for whatever mode isn't active (shift disabled when you're FreeU-only, FreeU off when you're shift-only), so the downstream loader never gets confused by stale values.

    The inputs that matter

    • settings - the mode dropdown, which is the whole interface.
    • shift_type / shift - only in shift modes. x1 is the scale for AuraFlow and Lumina 2; x1000 for everything else. Default shift is 3, but it's model-specific - some flow-matching models want a much higher value.
    • freeu_v2, b1, b2, s1, s2 - only in FreeU modes. The defaults (enable off, b 1.3/1.4, s 0.9/0.2) are stock FreeU v2 values, good starting points for SD-class models.

    Output: model_shifts, wired into the model_shifts input on Load Models (Sage_LoadModelFromInfo).

    How it fits the pack

    This is the "combined" counterpart to the two single-purpose nodes - the pack clearly expects you to graduate here. The nice practical bit: because shift and FreeU share one bundle and the node guarantees defaults for the inactive mode, you can flip between "shift only," "FreeU only," and "both" by changing one dropdown, and the loader applies whatever you picked. That's a clean way to A/B test whether a model responds better to shift, to FreeU, or to neither.

    Installing

    Same as every Sage Utils node:

    cd ComfyUI/custom_nodes
    git clone https://github.com/arcum42/ComfyUI_SageUtils.git
    cd ComfyUI_SageUtils && pip install -r requirements.txt
    

    Restart ComfyUI, or install "Sage Utils" from ComfyUI Manager. No models to download - both adjustments are pure model-patch logic.

    Where people get tripped up

    Two familiar traps, inherited from its parents. First, FreeU's master freeu_v2 toggle defaults to off - the b/s values do nothing until you flip it. Second, shift only meaningfully affects flow-matching models, and even then some schedulers override your shift with their own (the community's favorite offender is bong_tangent). If you set shift, see no change, and FreeU is off, check the scheduler before you blame the node. The good news: the combined design means there's only one model_shifts input to manage, so none of your confusion can come from wiring.

    CategorySage Utils/model

    Inputs (1)

    NameTypeDefaultDescription
    settingsCOMBO3 options: [object Object], [object Object], [object Object]

    Outputs (1)

    NameTypeDescription
    model_shiftsMODEL_SHIFTSSettings to apply to the model loader, including shift and FreeU v2 values.