ComfyUI Node

Slider

The semantic LoRA slider

By WepeNerd·Created 5 months ago·Updated about 17 hours ago· 0
Slider
    • strength
    normalized0.00
    label
    low_value-1.00
    center_value0.00
    high_value1.00
    curve1.00

    Every LoRA loader in ComfyUI already gives you a strength float, and let's be honest: a bare 1.0 doesn't tell you anything. Is that "realism but mild" or "realism cranked to eleven"? The WepeNerd Slider is a labeled −1 → 0 → +1 dial - name it Realism, Age, Detail, whatever - that outputs a plain ComfyUI FLOAT for you to plug into strength_model, strength_clip, or any FLOAT input that wants a number. It turns a meaningless scalar into a control you can actually feel, which is why it's worth reaching for in workflows you tune over and over.

    It's a small node, and the README is refreshingly honest about one boundary: it only produces a FLOAT. It does not select or load LoRAs. You still put a LoraLoader (or LoraLoaderModelOnly) in your graph and feed its strength input from this slider. The node is a nicer knob, not a replacement loader.

    The trick that makes it useful

    The genuinely clever bit is that LOW, CENTER and HIGH map independently. You're not stuck with symmetric −1/+1 semantics. For a positive-only style strength that never goes negative, set LOW 0, CENTER 1.5, HIGH 3 - both halves of the dial stay meaningful instead of the top half being wasted on negative territory. Want a reversed range where pulling right makes the effect weaker? Map HIGH below LOW. That flexibility is the whole pitch: the everyday interface stays a friendly labeled dial while the underlying calibration can be as weird as your LoRA needs it to be.

    Under the hood it's a piecewise map, visible in the pack source. Given the normalized position n:

    n ≥ 0:  output = center + (high − center) · n^curve
    n < 0:  output = center + (low − center) · (−n)^curve
    

    curve at 1 is linear; above 1 the response softens near CENTER, so you get finer control in the middle of the range where most of your real tweaking happens. The value is clamped to [−1, 1], and negative outputs are genuinely useful here - a LoRA at negative strength steers away from its trained concept, and a dial that naturally spans both directions makes that trick discoverable instead of a footnote.

    Inputs and the one output

    • normalized - the dial itself, −1 to +1, default 0. This is the semantic position, and it's the thing you drag. Drag near the center and it snaps to exactly 0; hold Shift to bypass the snap.
    • label - a workflow-facing name like Realism or Detail. Cosmetic - the source literally discards it (del label) after serializing it to the frontend. Name it so you know which dial is which.
    • low_value / center_value / high_value - the outputs at normalized −1 / 0 / +1. Defaults −1, 0, 1; each adjustable across ±10000.
    • curve - 0.1 to 5, default 1 (linear). Above 1 gives you a softer response near CENTER.

    Output: strength, a FLOAT. Wire it into your LoRA loader's strength_model (and strength_clip, if you want the clip branch tracking it too) or any compatible FLOAT input.

    Two frontend touches worth knowing: Hide Calibration collapses the node to the compact everyday dial (right-click → Show Calibration brings the LOW/CENTER/HIGH widgets back, and the state is saved), and double-clicking the track - or the context-menu Reset Slider to Center - returns normalized to 0. The red-neutral-green track is a nice touch for spotting at a glance which way you've pushed a control.

    Install

    It ships in the WepeNerd pack. ComfyUI Manager, search WepeNerd, or:

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

    then restart ComfyUI. You'll find it under WepeNerd/Utilities. It has no model dependencies and needs nothing beyond the pack's requirements - unlike some of the pack's other nodes (the 3D and video ones pull in trimesh, pyrender and av), this one is pure math and frontend. If you want the slider alone, it doesn't care about any of that heavy stuff, though the one pip install -r requirements.txt step installs everything anyway.

    Is it a must-have? No - ComfyUI's own primitive float nodes will do the job in a pinch. But once you've rebuilt the same "realism 0.8" strength across six workflows, a labeled, snap-to-center dial that remembers your calibration is the difference between a mystery scalar and a control you trust at a glance. Slider-only, no LoRA loading, and unapologetically a quality-of-life node - and for that job it's the one I'd reach for.

    CategoryWepeNerd/Utilities

    Inputs (6)

    NameTypeDefaultDescription
    normalizedFLOAT0.00-1–1Semantic position: -1 LOW, 0 CENTER, +1 HIGH.
    labelSTRINGA workflow-facing name such as Realism or Detail.
    low_valueFLOAT-1.00-10000–10000Output at normalized -1 (LOW).
    center_valueFLOAT0.00-10000–10000Output at normalized 0 (CENTER).
    high_valueFLOAT1.00-10000–10000Output at normalized +1 (HIGH).
    curveFLOAT1.000.1–51 is linear; above 1 is softer near CENTER.

    Outputs (1)

    NameTypeDescription
    strengthFLOAT