Nodes/Jovimetrix/GRAYSCALE (JOV)
ComfyUI Node

GRAYSCALE (JOV)

A dead-simple grayscale node from the old days

By Amorano·Created 3 years ago·Updated 12 months ago· 397
GRAYSCALE (JOV)
  • 👾
  • 🌈
  • 🖼️

GRAYSCALE (JOV) is the most unpretentious node in this whole pack: image in, black-and-white image out. That's it. If you need a monochrome version of something for a mask, a texture, a depth-style pass, or just to check your composition without color noise, this was the one-click answer.

The catch - and it's a familiar one by now - is that this node is a pre-2.0 Jovimetrix node. Its category ("JOVIMETRIX GLSL") gives the era away: it shipped back when Jovimetrix had a whole GLSL-flavored section, before the 2.0 rework moved GLSL work to the separate Jovi_GLSL pack and reorganized the image filters. The standalone grayscale node didn't survive under that name, and the current pack doesn't ship an exact same-named replacement.

That doesn't mean you're stuck - the modern equivalents are everywhere and arguably more flexible:

  • Jovimetrix's ADJUST: COLOR (JOV) with saturation driven to 0 does the desaturate trick.
  • PIXEL SPLIT (JOV) can separate channels, and any single channel treated as luminance is effectively grayscale.
  • The old node's one interesting extra - a 🌈 VEC3 of per-channel weights defaulting to (0.299, 0.587, 0.114) - is exactly the Rec.601 luma formula your TV uses. That's a nice detail: it's not a naive average of R/G/B; green counts more because the eye is more sensitive to it. If you want that specific conversion today, it's ~5 lines in any Python/expression node, or just pick the luma/channel output of a pixel-split.

How it worked

You fed it an image (👾), it multiplied each channel by your weight vector and summed, producing a proper perceived-luminance grayscale rather than a muddy RGB average. The default weights are the reason it looked right out of the box. Output was a single 🖼️ IMAGE.

Installing it

The node itself is gone from current Jovimetrix, but if you're on an old workflow that still loads it, the pack install is:

# ComfyUI Manager: search "Jovimetrix" and install
cd ComfyUI/custom_nodes
git clone https://github.com/Amorano/Jovimetrix.git
cd Jovimetrix
pip install -r requirements.txt

Restart ComfyUI. Just be aware that updating to 2.x is what removes this node - the README warns against updating past 1.7.48 if you depend on legacy nodes.

Troubleshooting

  • Node doesn't exist / won't load - you've updated past 1.7.48. Rebuild the effect with ADJUST: COLOR or PIXEL SPLIT, or extract a channel as a mask.
  • Grayscale looks too dark / too light - that's the luma weights doing their job. If you want a flat average instead, set the weights to (0.333, 0.333, 0.333).

Honest verdict: this was a "nice to have" utility, not a critical node - and its exact job is one of the easiest things to reproduce in the current pack. If you're rebuilding a workflow, don't go hunting for it; spend the two minutes on the modern path and move on.

CategoryJOVIMETRIX GLSL

Inputs (2)

NameTypeDefaultDescription
👾opt*
🌈optVEC30.299,0.587,0.1140–1

Outputs (1)

NameTypeDescription
🖼️IMAGE