Select Libraries
The tiny node that lets Prompt808 draw from more than one library at once
- libraries
Prompt808's Generate Prompt node has a perfectly good library dropdown. So why does this node exist? Because the dropdown is one slot, and one slot is not enough. Select Libraries is the pack's multi-library picker: a stack of on/off slots, each with its own library dropdown, plus an "+ Add Library" button to spawn more. Connect its single output to the Generate node's libraries input, and generation can draw from your "Portraits," "Cinematic," and "Street" libraries at once - or all of them, equally.
How it works
It's a dynamic-input node in the same spirit as rgthree's Power Lora Loader (the source literally says so). The JS frontend fetches your library names from /prompt808/api/libraries and adds library_1, library_2, … slots at runtime; each slot carries a toggle and a name. On execution the node scans its inputs, collects every enabled, named slot into a P808_LIBRARIES list, and hands that to the Generate node.
The important part happens on the receiving end. When Generate sees a connected libraries input, it prioritizes it over its own dropdown - the dropdown auto-hides - and any library name that no longer exists is skipped with a warning. If every slot ends up disabled, generation halts with "All selected libraries are invalid or empty" rather than silently picking something you didn't ask for. In other words, this node is nearly stateless; it's the Generate node that does the real work, merging the selected libraries into one virtual pool of elements, archetypes, and style profiles.
The one setting that matters
Balance Libraries under Settings > Prompt808 > General, on by default. With it on, a 30-element library gets equal representation next to a 3,000-element one, because selection picks a library uniformly first and then an element from it. Without it, big libraries simply dominate - which is sometimes exactly what you want when one library is your broad style base and another is a small accent set. It has no effect on a single library, so it only becomes a real knob once you're doing multi-library generation.
Inputs and outputs
There are no static inputs - the slots are created dynamically, so don't go hunting for them in the node's type definitions. One output: libraries, of type P808_LIBRARIES, which plugs only into a Generate node's libraries input. That's the whole contract.
Installing it
Same pack as everything else: search "Prompt808" in ComfyUI Manager, or git clone https://github.com/Machete3000/Prompt808 into ComfyUI/custom_nodes, pip install -r Prompt808/requirements.txt, and restart. You don't need this node to use Prompt808 at all - the dropdown's "All" option already merges every library. Grab it when you find yourself juggling two or three libraries and wishing "All" let you choose which ones. It's the pack's least glamorous node and, once you're there, its most convenient.
Inputs (0)
No inputs
Outputs (1)
| Name | Type | Description |
|---|---|---|
| libraries | P808_LIBRARIES | Selected library names for multi-library generation |