Playbook Seed
Fixed when you're iterating, random when you're exploring
- seed
Playbook Seed is a seed control with one toggle: Fixed or Random. Set to Fixed, it outputs whatever integer you typed. Set to Random, it generates a fresh 15-digit seed every run. It's the same job a dozen utility packs already do - but it rides in this pack for a reason, and it's worth knowing what that reason is.
Playbook Nodes is the ComfyUI side of Playbook3D, a cloud 3D render service. When your workflow runs on their platform, the External-style nodes get driven from their web UI - and a seed is exactly the kind of thing you want to control without touching the graph. This node's id and label fields are the hooks for that. Locally, though, it's just a clean seed source, and a handy one: 15-digit seeds give you a far bigger space than the 32-bit seeds most sampler defaults nudge around, which matters if you're hunting for a specific look in a large family of runs.
The inputs
- id and label - the standard external-node metadata, inert locally.
- default_value - an integer, default 0. The fixed seed; also the seed used in Random mode's absence (though Random doesn't use it - it rolls its own).
- setting - dropdown,
FixedorRandom, defaultFixed.
Output is a single seed (INT). The mechanism is exactly what it says: Fixed returns default_value; Random generates a random 15-digit integer (100000000000000 to 999999999999999) on every execution.
Install
Standard 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, no dependencies beyond Python's random module - this node never talks to Playbook's servers.
Troubleshooting
Not much to break, but two things catch people. First: in Random mode the seed changes on every execution, including re-runs of the same queue - that's by design, but if you wanted a repeatable random, capture the output into a text widget or switch back to Fixed after you like the result. Second: the node doesn't clamp or validate your default_value, so if you type something wild it passes through as-is; most samplers handle it, but a huge seed can produce unexpected results with some schedulers. And as with the rest of the pack, the id/label fields are inert locally - if you're debugging why a seed changed between runs, check setting, not id.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| id | STRING | Node ID | — |
| label | STRING | Node Label | — |
| default_value | INT | 0-999999999999999–999999999999999 | — |
| setting | COMBO | Fixed | 2 options: Fixed, Random |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| seed | INT | — |