FromListGetColors
Fan a color palette out into per-color sockets — FromListGetColors
- list
- COLOR
- COLOR
- COLOR
- COLOR
- COLOR
- COLOR
- COLOR
- COLOR
- COLOR
- COLOR
- COLOR
- COLOR
- COLOR
- COLOR
- COLOR
- COLOR
- COLOR
- COLOR
- COLOR
- COLOR
- COLOR
- COLOR
- COLOR
- COLOR
- COLOR
- COLOR
- COLOR
- COLOR
- COLOR
- COLOR
- COLOR
- COLOR
FromListGetColors is the color member of Bmad's unpack-the-list family, and it's the one you'll hit if you do any palette-driven masking. A COLOR list in, each color out on its own socket - so a single palette feeds a row of nodes that each need one color.
The COLOR type here is Bmad's own, a simple RGB tuple used across the pack's color nodes. You'll see it produced by FindComplementaryColor (returns the best-matching color from a dictionary), the Color Clip nodes, and the color dictionary nodes. The pattern that makes FromListGetColors shine: build a palette once, fan it out, and feed each color into its own Color Clip or ColorToHSVColor - that turns "clip five colors out of this image" into one tidy bundle instead of five individually-configured nodes. It pairs with ToColorList on the gathering side, same as every other node in this family.
How it works
Same UnMakeListMeta machinery as the rest of the FromListGetX set. INPUT_IS_LIST is on, and the implementation is the usual one-liner:
def get_all(self, list):
return tuple(list)
Declared with 32 output slots, but it starts with zero visible outputs on the canvas. The pack's JS (ArbitraryOutputsFixedInputs.js) adds an outputs widget - set how many sockets you want (up to 16) or right-click → "update Outputs." The README's ❔ marker applies; poke the widget or the node looks dead.
Inputs and outputs
list- a COLOR list,forceInput, wired fromToColorListor any COLOR-list producer.- Outputs: up to 16 individual COLOR sockets, one per palette entry.
Match the widget to the list length - the node returns exactly as many colors as the list holds.
Install
Part of bmad4ever/comfyui_bmad_nodes. Via ComfyUI Manager, search "comfyui_bmad_nodes" ("Bmad Nodes"), install, restart. Manual:
cd ComfyUI/custom_nodes
git clone https://github.com/bmad4ever/comfyui_bmad_nodes
cd comfyui_bmad_nodes
pip install -r requirements.txt
Restart ComfyUI after. No models - requirements are opencv-python, scikit-image, simpleeval, gray2color.
Common issues
The family curse applies (no sockets → set the outputs widget; widget missing → hard-refresh so the JS loads). The COLOR-type wrinkle is the real trap: COLOR is a Bmad-specific type, so stock ComfyUI nodes won't produce or consume it. If you can't find a source for the list input, that's why - you need one of the pack's color nodes to build the list. And because it's a custom type, whatever you wire the outputs into also has to understand COLOR. Keep that in mind and this is a genuinely convenient node; forget it and you'll chase a phantom "no compatible input" error for a while.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| list | COLOR | — |
Outputs (32)
| Name | Type | Description |
|---|---|---|
| COLOR | COLOR | — |
| COLOR | COLOR | — |
| COLOR | COLOR | — |
| COLOR | COLOR | — |
| COLOR | COLOR | — |
| COLOR | COLOR | — |
| COLOR | COLOR | — |
| COLOR | COLOR | — |
| COLOR | COLOR | — |
| COLOR | COLOR | — |
| COLOR | COLOR | — |
| COLOR | COLOR | — |
| COLOR | COLOR | — |
| COLOR | COLOR | — |
| COLOR | COLOR | — |
| COLOR | COLOR | — |
| COLOR | COLOR | — |
| COLOR | COLOR | — |
| COLOR | COLOR | — |
| COLOR | COLOR | — |
| COLOR | COLOR | — |
| COLOR | COLOR | — |
| COLOR | COLOR | — |
| COLOR | COLOR | — |
| COLOR | COLOR | — |
| COLOR | COLOR | — |
| COLOR | COLOR | — |
| COLOR | COLOR | — |
| COLOR | COLOR | — |
| COLOR | COLOR | — |
| COLOR | COLOR | — |
| COLOR | COLOR | — |