Nodes/ComfyUI Color Profile Reader/Quick Color Space Fix
ComfyUI Node

Quick Color Space Fix

The 'why is my image washed out' one-click rescue

By APZmedia·Created 11 months ago·Updated 5 months ago· 7
Quick Color Space Fix
  • image
  • fixed_image
  • fix_info
input_modetensor
fix_typeAdobe RGB to sRGB
image_path

If you've ever had an image come out of a pipeline looking washed out or oversaturated and had no idea why, QuickColorSpaceFix is the node to reach for first. It's a one-dropdown presets node that fixes the single most common color-space mistake in the wild: an image that was tagged or authored in one space (usually Adobe RGB) being treated as if it were another (sRGB). Pick the mismatch from the list, click, done.

How it works

It's a thin, opinionated wrapper around the pack's LittleCMSColorProfileConverter. Each fix_type maps to a source/target/rendering-intent triple, and the real LittleCMS conversion does the work:

  • Adobe RGB to sRGB - the big one. Adobe RGB is a wider gamut; when an Adobe RGB image is interpreted as sRGB it looks washed out (colors desaturated, contrast flattened). This is the classic rescue.
  • sRGB to Adobe RGB - the reverse mistake: an sRGB image interpreted as Adobe RGB looks oversaturated and clipped. Converts back the other way.
  • Linearize sRGB / sRGB to Linear - un-encodes sRGB into linear light. Both map to the same sRGB → Linear sRGB conversion; use them when a pipeline needs linear input (some img2img and post-processing chains).

Outputs are fixed_image plus fix_info, a JSON string recording the fix type, its description, and the underlying conversion details.

The inputs that matter

  • fix_type - the four presets above. Default is Adobe RGB to sRGB, which is the right default: it's the most common mistake by a wide margin.
  • input_mode - tensor (default) or file with image_path.

Why this node earns its keep

This is the one that matches what people actually search for. The "washed out" and "oversaturated" complaints that fill the subreddits are, a surprising amount of the time, not generation problems at all - they're color-space misinterpretation problems, and the fix is a single conversion. The pack's deeper nodes (LittleCMSColorProfileConverter, ColorConverterAdvanced) give you the full dials; this one exists so you don't have to think about rendering intents when the answer is "Adobe RGB was misread as sRGB, fix it."

Install

Standard pack install:

cd ComfyUI/custom_nodes
git clone https://github.com/APZmedia/ComfyUI-color-tools

Or ComfyUI Manager → search "ComfyUI Color Profile Reader" → Install → restart. Two gotchas: the README's manual clone URL is a placeholder (yourusername/ComfyUI-color-tools.git - use APZmedia/), and the startup install.py sweeps for optional deps on first launch (can take a couple of minutes). Because this wraps the LittleCMS converter, it needs Pillow + numpy - both near-universal in ComfyUI.

Honest caveat: presets cover the common cases, but if your source is actually ProPhoto RGB or Display P3, this node doesn't have a preset for it - that's the LittleCMS node's job with its full profile list and custom profile support. QuickColorSpaceFix is the "I'm pretty sure it's the Adobe/sRGB thing" button, and most of the time it is.

CategoryColor Tools/Quick Fix

Inputs (4)

NameTypeDefaultDescription
input_modeCOMBOtensor2 options: file, tensor
fix_typeCOMBOAdobe RGB to sRGB4 options: Adobe RGB to sRGB, sRGB to Adobe RGB, Linearize sRGB, sRGB to Linear
imageoptIMAGE
image_pathoptSTRING

Outputs (2)

NameTypeDescription
fixed_imageIMAGE
fix_infoSTRING