Nodes/ComfyUI-Darkroom/CMYK Gamut Warning
ComfyUI Node

CMYK Gamut Warning

See exactly which pixels the press can't print before you ship the file

By jeremieLouvaert·Created 5 months ago·Updated 3 days ago· 101
CMYK Gamut Warning
  • image
  • overlay
target_profile(no CMYK profiles found)
intentperceptual
threshold0.030

Your monitor can show colors a CMYK press physically cannot make. Punchy electric blues and neon greens are the usual culprits - they get clamped or shifted when converted, and what comes off the press is a flatter, sadder version of what you approved. The fix isn't guessing; it's knowing where the problem is. That's what CMYK Gamut Warning does: it overlays the pixels that fall outside the chosen print condition's gamut so you can see the problem before it's on paper.

It's the middle node of ComfyUI-Darkroom's four-node print workflow - the one you run between Soft-Proof (which shows you the flattened result) and TAC Check (which flags ink coverage). Think of the trio as proof → locate → verify, and this node is the "locate."

How it works

The node converts your image to the target CMYK profile and back, then compares the round-trip result to the original. Pixels whose color moved more than a threshold distance are out of gamut - they couldn't be reproduced by that press condition - and get flagged on the overlay. The threshold is an RGB distance (default 0.03): lower it to flag even subtle shifts, raise it to only flag gross mismatches. Like the other print nodes it logs to the console, reporting the percentage of out-of-gamut pixels.

The inputs that matter

  • target_profile - the CMYK stock you're checking against. Auto-discovered; if the dropdown shows "(no CMYK profiles found)", drop an .icc into ComfyUI-Darkroom/data/icc_profiles/ and restart.
  • intent - the rendering intent the press conversion will use. Perceptual is the photo default; the warning changes meaning with intent, so keep it consistent with what you'll actually export with.
  • threshold - the sensitivity dial. 0.03 catches real print problems without crying wolf on near-misses.
  • image - the obvious one.

Output is a single overlay image. Wire it to PreviewImage to see the flagged regions on top of your photo.

Install and gotchas

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

Or search "Darkroom" in ComfyUI Manager and restart. It's under AKURATE/Darkroom/Print.

The common confusion: this node doesn't fix the out-of-gamut pixels, it locates them. The fix is usually desaturating the offending hue (Darkroom's HSL Selective or Hue vs Sat does that job well) and re-running the check until the warning is quiet. And don't chase zero warnings for a photo - a little out-of-gamut is normal and prints fine; the threshold exists precisely so you can decide how much "normal" you're willing to accept. Save the warnings for the saturated, brand-color-critical stuff like logos, where exactness actually matters.

CategoryAKURATE/Darkroom/Print

Inputs (4)

NameTypeDefaultDescription
imageIMAGE
target_profileCOMBO(no CMYK profiles found)CMYK print stock to check gamut against
intentCOMBOperceptualRendering intent used when the image gets printed
thresholdFLOAT0.0300.001–0.2RGB distance above which a pixel is flagged out-of-gamut

Outputs (1)

NameTypeDescription
overlayIMAGE