Playbook Number (External)
An integer slider that lets you cheat from the id field
- number
Playbook Number is the integer version of Playbook Float, and it shares the same pleasantly weird secret: the id field can act as a value input. Type a number into it and that number becomes the output, clamped to your min/max. It looks like a mistake. It's the design.
This is one of the "External" nodes in Playbook Nodes, the ComfyUI side of Playbook3D's cloud render service. On their platform, the web UI injects control values into these nodes - a step-count slider in their interface becomes an integer in your workflow. The injection point is id. Locally, nothing injects anything, so the node uses default_value instead - unless you type a number into id yourself, in which case that wins.
The inputs
- id - string, default
"Node ID". The platform's injection point. Locally: a digit here overrides everything. - label - web-UI metadata, inert locally.
- min and max - integers, defaults 0 and 100. The output is always clamped into this range.
- default_value - optional integer, default 0. Used when
idisn't a valid number.
Output is a single number (INT). The logic: if id is empty or not digits, output default_value clamped; if id is digits, output that value clamped. So on your own machine, the sane usage is: leave id alone, set min/max and default_value, and you have a clamped integer constant. Handy for steps, batch counts, or anything else that should stay in a known range and get the same treatment on a shared workflow.
Install
The usual pack install - ComfyUI Manager → Playbook Nodes, or:
cd ComfyUI/custom_nodes
git clone https://github.com/playbook3d/playbook3d-comfyui-nodes
Restart ComfyUI. No API key, no network calls, no dependencies beyond numpy (already in ComfyUI). It's a pure passthrough node.
Troubleshooting
Same trap as Playbook Float, so don't get caught twice: a digit sitting in id silently overrides default_value. If the output is wrong, check id first. Clamping is also silent - an id of 500 with max 100 returns 100. And if you feed it a float like 1.5 in id, that's not a digit string, so it's ignored and default_value wins; this node is strictly integers. Keep id empty unless you know you're using the injection trick, and it'll behave exactly like the boring integer node it pretends to be.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| id | STRING | Node ID | — |
| label | STRING | Node Label | — |
| min | INT | 0 | — |
| max | INT | 100 | — |
| default_valueopt | INT | 0-2147483647–2147483647 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| number | INT | — |