๐ Controls 8 (Drawer)
Eight controls in one node for the workflow that has everything
- value_1
- value_2
- value_3
- value_4
- value_5
- value_6
- value_7
- value_8
Some workflows are one knob away from perfect. Others need steps, CFG, seed, denoise, a lora strength, a scheduler, and two prompt toggles all in reach at once. DrawerControls8 is the middle of the Drawer Controls range - eight slots in a single node, for when four feels cramped and twelve is overkill.
It belongs to ComfyUI-Drawer, Kuroi's mobile-friendly drawer platform. The family is Controls1 / 4 / 8 / 12; eight is the "character sheet" tier - enough slots to cover a whole sampler chain plus a couple of extra toggles without turning the node into a wall of boxes.
How the slots work
Each of the eight slots is two text widgets:
- value_N - the value, as text.
- def_N - the definition string. First token is the type:
int,float,bool,combo,string(with aliases likeintegerโ int,numberโ float,toggleโ bool). The rest is Deck presentation - label, min, max, step - as infloat | CFG Scale | 1 | 20 | 0.5 | 1.
Outputs are value_1 through value_8, all * typed, each able to feed any widget. Right-click a widget on the target node, Convert to input, wire the slot in, and it becomes a Deck control when the node's title carries a ๐ marker. Only connected outputs render, so empty slots don't clutter the drawer. Combo slots read their options live from whatever widget the output is plugged into.
Installing it
cd ComfyUI/custom_nodes
git clone https://github.com/Kuroi961/ComfyUI-Drawer.git
pip install -r ComfyUI-Drawer/requirements.txt
Or search ComfyUI-Drawer in ComfyUI Manager. requirements.txt is a single package (Send2Trash), no model downloads, no ffmpeg needed for these nodes.
Gotchas
- Type mismatches won't show at the node -
*outputs skip ComfyUI's type checking. A slot feeding adef_1ofintinto a widget that wants FLOAT will break downstream. Make the def match the target. def_Ndefaults to string when empty; you'll see it as text arriving somewhere numeric.- With eight slots, label discipline matters.
int | Steps | 1 | 80 | 1 | 0is a good label;intis not. The label is what the Deck shows, and a drawer of unlabeled sliders is just a maze.
For a workflow you ship to someone else, this is a nice middle ground: one node carries the whole control surface, the graph stays tidy, and the person using it only ever touches the drawer. Pick Controls4 if you're minimal, Controls12 if you're building a full panel - eight is the balanced default.
Inputs (16)
| Name | Type | Default | Description |
|---|---|---|---|
| value_1 | STRING | โ | |
| def_1 | STRING | โ | |
| value_2 | STRING | โ | |
| def_2 | STRING | โ | |
| value_3 | STRING | โ | |
| def_3 | STRING | โ | |
| value_4 | STRING | โ | |
| def_4 | STRING | โ | |
| value_5 | STRING | โ | |
| def_5 | STRING | โ | |
| value_6 | STRING | โ | |
| def_6 | STRING | โ | |
| value_7 | STRING | โ | |
| def_7 | STRING | โ | |
| value_8 | STRING | โ | |
| def_8 | STRING | โ |
Outputs (8)
| Name | Type | Description |
|---|---|---|
| value_1 | * | โ |
| value_2 | * | โ |
| value_3 | * | โ |
| value_4 | * | โ |
| value_5 | * | โ |
| value_6 | * | โ |
| value_7 | * | โ |
| value_8 | * | โ |