β Big Palette Switch
Swap color palettes with a single number
- input_0
- input_1
- input_2
- input_3
- input_4
- input_5
- input_6
- input_7
- input_8
- input_9
- selected
The Dream Project pack's palette system is its secret weapon - a way to keep colors consistent across a long animation by sampling, analyzing, and shifting palettes frame by frame. Big Palette Switch [Dream] is the routing node for that system: up to ten RGB_PALETTE inputs, a select integer, and the chosen palette flows out as selected. Think "this section of the video uses the warm palette, that section uses the cool one."
How it works
Standard switch skeleton, palette-flavored. Connect palettes into input_0 through input_9, set select (INT 0β9), and that palette is passed through untouched. on_missing handles empty slots - previous walks backward to the nearest connected palette, next walks forward. Since a palette in this pack is just a list of sampled RGB colors, passing it through the switch costs nothing meaningful.
The inputs that matter
- select - INT, 0β9. The slot to output.
- on_missing -
previousornextfallback. - input_0 β¦ input_9 - the candidate palettes.
Where it fits
The pack's color-coherence workflow produces palettes from Sample Image as Palette [Dream], manipulates them with Palette Color Align / Palette Color Shift, and feeds them into Noise from Palette for consistent coloring. A switch in the middle lets you change the whole color direction at a chosen frame - drive select from a frame counter and the animation shifts from one palette family to another at the beat. It also makes A/B palette testing trivial: two palettes, one number, swap instantly.
Installing it
Ships with Dream Project Animation Nodes - ComfyUI Manager (search Dream Project Animation) or clone https://github.com/alt-key-project/comfyui-dream-project into custom_nodes, pip install -r requirements.txt, restart. No model downloads.
Common issues
The family gotchas apply - 0-indexed slots, and on_missing silently masking a wrong index by handing you the nearest connected palette. One palette-specific note: the switch only works with RGB_PALETTE type inputs, so don't try to feed it raw images (run them through a sampler node first). And remember the eager evaluation caveat: if a connected palette comes from an expensive image-sampling pipeline, it runs whether you select it or not.
Inputs (12)
| Name | Type | Default | Description |
|---|---|---|---|
| select | INT | 00β9 | β |
| on_missing | COMBO | 2 options: previous, next | |
| input_0opt | RGB_PALETTE | β | |
| input_1opt | RGB_PALETTE | β | |
| input_2opt | RGB_PALETTE | β | |
| input_3opt | RGB_PALETTE | β | |
| input_4opt | RGB_PALETTE | β | |
| input_5opt | RGB_PALETTE | β | |
| input_6opt | RGB_PALETTE | β | |
| input_7opt | RGB_PALETTE | β | |
| input_8opt | RGB_PALETTE | β | |
| input_9opt | RGB_PALETTE | β |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| selected | RGB_PALETTE | β |