π¨ NL Constant Color
A solid color frame on demand, sized to your context
- image
- mask
- image_info_json
NL Constant Color is the node you don't know you need until you need it: it generates a solid color image - plus its mask - at your workflow resolution. That's it. No models, no tricks. But "a constant color frame" is surprisingly load-bearing in real graphs, because there are about six different things you can do with one.
It's the perfect background plate for compositing tests, a reset state for a merge (blend your render against a mid-gray and see what the grade is actually doing), a placeholder while you build a workflow, or a clean fill for a mask-driven operation where you want to check the mask alone. In a studio pipeline it's the difference between "I need to mock up a frame right now" and "let me go find an image."
The inputs that matter
red/green/blue/alpha- the color, each 0β1. Black by default.batch_size- how many frames to generate. Handy if the downstream wants a batch.size_mode-context(uses the NL Workflow resolution) orcustom, withwidth/heightwhen custom.color_mode- the interesting one. It controls how your entered RGB is interpreted:working- values are in the pipeline working space (ACEScg), so they go in untouched.model- values are in model space (linear sRGB) and get converted into working space.raw- treated as data, no color management applied.
That color_mode field is why this "trivial" node is actually part of the pack's color story. A constant color is the one image whose colorspace you can't infer from a file - you have to say what the values mean. This node makes you say it, which is exactly how the pack wants color handled.
Outputs: image, mask (solid, matching your alpha), and image_info_json carrying the colorspace you declared. The mask output is solid white by default (alpha 1), so you get a usable mask for free.
Install and gotchas
Part of the shared pack:
cd ComfyUI/custom_nodes
git clone https://github.com/NOLABEL-VFX/ComfyUI-NL_Nodes
or ComfyUI Manager β "ComfyUI-NL_Nodes", restart. Nothing heavy to install. The two ways people trip: using custom size with zeros (you get a 0Γ0 image and a confusing error) - set real numbers; and misreading color_mode. If your "mid gray" looks brighter or darker than you expected, check whether you're in working vs model space. Gray in linear space is not gray on your screen, and that's the node behaving correctly.
Inputs (9)
| Name | Type | Default | Description |
|---|---|---|---|
| red | FLOAT | 0.000β1 | β |
| green | FLOAT | 0.000β1 | β |
| blue | FLOAT | 0.000β1 | β |
| alpha | FLOAT | 1.000β1 | β |
| batch_size | INT | 11β4096 | β |
| size_mode | COMBO | context | 2 options: context, custom |
| width | INT | 00β16384 | β |
| height | INT | 00β16384 | β |
| color_mode | COMBO | working | How to interpret the entered RGB values. 'working': values are in the pipeline working space (e.g. ACEScg). 'model': values are in model space (Linear sRGB) and will be converted to working space. 'raw': values are data/utility and will not be color-managed. |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | β |
| mask | MASK | β |
| image_info_json | STRING | β |