Solid Color RGB
A flat color swatch, dialed in by RGB or hex
- solid color image
It looks like the least interesting node in the whole pack, and in a sense it is - all it does is output a flat rectangle of one color. But you'll reach for it constantly once you have it, because a lot of ComfyUI graphs need exactly that: a solid-color layer to blend on top of something with Blend Modes, a tint image to feed into a Color Balance chain for testing, a placeholder background, or a base color for a mask you're about to composite. Instead of generating an image just to get a color, or exporting a swatch from another app, this node makes one in a single click.
How it works
There's no algorithm to speak of - it fills a canvas of the size you specify with one RGB value, per pixel, and hands you back an IMAGE tensor. The only real design decision is that it gives you two ways to dial in the color: numeric R/G/B sliders, or a hex code. If you type a valid hex value into the hex field, it overrides whatever the R/G/B fields say.
The inputs and outputs that matter
red,green,blue(0–255 each, default 0) - standard 8-bit color channels. Default is pure black.hex(optional string, blank by default) - drop in something likeff6a00and it takes over from the RGB sliders. Handy if you're matching a brand color or something you picked from a color picker elsewhere.width,height(1–4096, default 1024 each) - pixel dimensions of the output. Match these to whatever you're compositing this into, or you'll be relying on a downstream resize.
Output is a single IMAGE labeled solid color image - wire it straight into backdrop or source on Blend Modes, or use it as a plain background layer.
How to install it
ComfyUI Manager: search Virtuoso Nodes for ComfyUI, install, restart. Or manually:
cd ComfyUI/custom_nodes
git clone https://github.com/chrisfreilich/virtuoso-nodes
pip install -r virtuoso-nodes/requirements.txt
Restart ComfyUI; the node appears under Virtuoso/Solid Color. No model files, no heavy dependencies - this is one of the lightest nodes in the pack, pure arithmetic on a blank canvas.
Common issues & troubleshooting
Hex field ignored. If you fill in RGB values and also leave garbage or an invalid string in hex, the node needs a valid hex value to take priority - an empty string (the default) is what lets your RGB sliders through. If your color isn't changing when you edit hex, double-check you typed a real 6-character hex code without a leading # issue tripping the parser.
Output is the wrong size for what you're blending it with. This node doesn't auto-match anything - width/height are exact pixel counts you set yourself. If you're feeding it into Blend Modes as the source, that node will resize it for you via source_adjust, but if you want a pixel-perfect match, set the dimensions here to equal your backdrop up front.
Just want a quick sanity-check gray or white. Set R, G, and B to the same value - 128 for mid-gray, 255 for white - it's the fastest way to build a neutral test layer for checking a blend mode or mask without generating anything.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| red | FLOAT | 00–255 | — |
| green | FLOAT | 00–255 | — |
| blue | FLOAT | 00–255 | — |
| height | INT | 10241–4096 | — |
| width | INT | 10241–4096 | — |
| hexopt | STRING | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| solid color image | IMAGE | — |