Nodes/MachinePainting Nodes/πŸ‘Ύ Mega Slider X1
ComfyUI Node

πŸ‘Ύ Mega Slider X1

One float, wired anywhere β€” the universal slider you'll actually use

By machinepaintingΒ·Created 10 months agoΒ·Updated 4 months agoΒ· 9
πŸ‘Ύ Mega Slider X1
  • master
  • value
β—„output_intfalseβ–Ί
β—„slider_10.00β–Ί

Some ComfyUI utility nodes are over-engineered Rube Goldberg machines. πŸ‘Ύ Mega Slider X1 is not one of them. It's a single float slider that outputs a single FLOAT, with a genuinely useful twist: it can take its min/max/step from a Mega Slider Master Value node instead of hard-coding them, and it can hand you an integer instead of a float when you ask. That's the whole pitch, and for driving one parameter - CFG, denoise, LoRA strength, a strength you feed into a blend node - it's exactly enough.

The inputs that matter

  • slider_1 - the value itself (FLOAT, βˆ’10000 to 10000, default 0). Drag it, wire the output, done.
  • output_int (BOOLEAN, default off) - flip it on and the node rounds the value to a whole number on the way out. That's your "integer where an integer belongs" button for step counts, batch sizes, or any downstream node that's picky about ints.
  • master (optional, MEGA_SLIDER_MASTER) - plug in a Mega Slider Master Value and the slider clamps to its range and snaps to its step. Leave it unconnected and you get the raw default range.

Output: one value FLOAT. Wire it into any node that takes a float - that's the point, it's universal.

How the mechanism works

Straightforward, and the source backs it up. When a master is connected, the node reads the min/max/step from the master dict, clamps your slider value into [min, max], and rounds to the nearest step multiple: round(value / step) * step. output_int then casts to int before it's returned. There's no magic, which is exactly why it's reliable - a slider that clamps and snaps is a slider that can't feed a nonsense number into your sampler.

The frontend layer also exposes per-slider overrides: right-click the node β†’ Properties β†’ slider_1_min, slider_1_max, slider_1_step. Set those and they override the master for this slider specifically. Useful when one value in a bank needs its own range.

Why not just use a plain widget?

Fair question. Core ComfyUI nodes already expose float fields. Where Mega Slider X1 earns its keep is the master connection: change the master once and every slider in a bank rescales live, which matters when you're driving several values from the same conceptual range (all strengths 0–1, all denoise 0.3–0.7). And output_int saves you a separate int-conversion node on every integer-typed input. For single-use, it's a nice-to-have; for parameter banks, it's the backbone.

Installing it

It ships in the MachinePainting Nodes pack. ComfyUI Manager β†’ search "MachinePaintingNodes", or:

cd ComfyUI/custom_nodes
git clone https://github.com/machinepainting/ComfyUI-MachinePaintingNodes.git

Then restart. The pack depends on opencv-python-headless, numpy<3, and rembg, but this node only passes floats around - no heavy lifting.

Gotchas

  • Step snapping is silent. With a master connected at step 0.1, typing 0.33 snaps to 0.3. If a value looks "wrong," check the master's step.
  • No master = enormous default range (βˆ’10000 to 10000 with 0.01 step). Fine for free-form tuning; annoying if you want a constrained dial - connect a master or use the property overrides.
  • The X3/X6/X12 siblings are the same node with more sliders; if you later need three values, swap the node, not the approach.

For one clean float out, this is the one I'd reach for - no ceremony, just a number you can trust.

CategoryMachinePaintingNodes/Util

Inputs (3)

NameTypeDefaultDescription
output_intBOOLEANfalseβ€”
slider_1FLOAT0.00-10000–10000β€”
masteroptMEGA_SLIDER_MASTERβ€”

Outputs (1)

NameTypeDescription
valueFLOATβ€”