Nodes/comfyui_bmad_nodes/ExtendColorList
ComfyUI Node Runs on cloud

ExtendColorList

Concatenate color lists, the boring node that earns its place

By bmad4ever·Created 3 years ago·Updated 9 months ago· 70
ExtendColorList
    • COLOR
    inputs_len2

    This is a list plumbing node, and it does one thing: take two or more COLOR lists and concatenate them into a single list. ExtendColorList is the pack's version of "glue lists together," specialized for the COLOR type - the sibling of ExtendCondList, ExtendImageList, ExtendStringList, and friends that the pack generates for every data type it handles.

    Why does that exist? Because once you start building batch workflows in ComfyUI, you keep finding yourself with colors scattered across separate nodes and one consumer that wants them all in one slot. That's this node.

    How it works

    • inputs_len - an INT, default 2, range 0–32. It decides how many list inputs the node exposes.
    • Right-click → "update Inputs" (the pack's ❔ convention) to generate the color_1, color_2, ... color_N sockets for your chosen count.

    Each input is a COLOR list - note the inputs are list-typed, so you feed them from other list producers, not single colors. The node walks every input list in order and returns one combined COLOR list. Order is preserved: color_1's items first, then color_2's.

    Inputs are marked INPUT_IS_LIST, and the output is flagged as a list, so everything downstream sees one flat COLOR list.

    Where it fits

    The color-list chain in this pack is: build lists with ToColorList (turn individual colors into a list) or other Extend nodes, merge them here, then hand the result to anything that consumes a COLOR list - the color-analysis nodes, or a FromListGetColors if you need to pull items back out by index. A practical pattern: keep "palette part 1" and "palette part 2" in separate ToColorList nodes for readability, then ExtendColorList merges them before analysis.

    Gotchas

    • Forgetting the right-click step. Set inputs_len, right-click, "update Inputs," or the sockets won't match your widget.
    • Feeding single COLOR values into list inputs - the sockets expect lists. If you're wiring one color, wrap it in a ToColorList first.
    • There's no dedup or sorting. What goes in comes out, in order. If two lists share a color, you'll see it twice.

    Install

    cd ComfyUI/custom_nodes
    git clone https://github.com/bmad4ever/comfyui_bmad_nodes
    cd comfyui_bmad_nodes
    pip install -r requirements.txt
    

    or install "comfyui_bmad_nodes" via ComfyUI Manager and restart. No models, no special dependencies - it's pure list assembly. Invisible when it works, and it frees you from hand-joining color lists in your head.

    CategoryBmad/Lists/Extend

    Inputs (1)

    NameTypeDefaultDescription
    inputs_lenINT20–32

    Outputs (1)

    NameTypeDescription
    COLORCOLOR