RAW Image Processor (beta)
Load camera RAW straight into ComfyUI, no Lightroom detour
- image
- metadata
Every other node in this pack takes an already-loaded ComfyUI IMAGE. RawImageProcessor is the odd one out: it reads a file straight off disk - a camera RAW file, an EXR, an HDR, or 16-bit TIFF - and does the actual RAW development (demosaicing, white balance, tone mapping) itself. The author's own pitch for it is blunt: skip the whole "import to Lightroom first" dance.
What it is and why you'd reach for it
If your workflow starts from real camera footage - reference photography, a color-match source, an actual RAW capture you want to blend with generated content - you'd normally have to develop it in a separate RAW tool and export a JPEG or TIFF before ComfyUI could touch it. This node does that development step inline, in the graph, with real demosaicing and tone-mapping controls rather than a black-box "just decode it" conversion. It's labeled beta, alongside BatchColorCorrection and ColorCorrectionViewer - the author's own framing for this trio is "the experimental playground," next to the "rock solid" main Color Corrector.
How it works
format_type (default auto) picks between actual RAW sensor data, EXR, HDR, or 16-bit TIFF sources, each of which needs different handling. For true RAW files it runs a demosaic algorithm - AHD, VNG, PPG, or AAHD, the same named algorithms real RAW processors use to reconstruct full-color pixels from a Bayer sensor's single-channel-per-pixel data - then applies white balance and, for HDR/EXR sources specifically, tone mapping (Reinhard, Drago, or ACES, the standard HDR-to-SDR tone curves) to bring a wide dynamic range down into something displayable.
The inputs and outputs that matter
file_path is required and is a plain string field - you type or paste a path, there's no upload widget. format_type picks the source type (auto/raw/exr/hdr/tiff16). From there it's a long list of optional processing knobs in familiar RAW-editor vocabulary: white_balance (auto, camera, or lighting presets like daylight/cloudy/shade/tungsten/fluorescent/flash), demosaic_algorithm (default AHD, generally the safest choice), tone_mapping (default aces), hdr_exposure/hdr_gamma for HDR sources specifically, and a standard develop pass - exposure, highlights, shadows, brightness, contrast, saturation, noise_reduction - plus output_colorspace (sRGB, Adobe RGB, ProPhoto RGB) and output_gamma for how the final image is encoded. Outputs are image (the developed result, ready for the rest of your ComfyUI graph) and metadata - a string carrying whatever info the RAW file exposed.
How to install it
Via ComfyUI Manager: search "Easy Color Correction" and install the pack - this node ships with it. Manually:
cd ComfyUI/custom_nodes
git clone https://github.com/regiellis/ComfyUI-EasyColorCorrector.git
cd ComfyUI-EasyColorCorrector
pip install -r requirements.txt
then restart ComfyUI. This is the one node in the pack where the heavier dependencies aren't optional extras - rawpy (a LibRaw wrapper) and OpenEXR are what actually let it read RAW and EXR files at all. Both wrap native C/C++ libraries rather than being pure Python, so they're the two most likely entries in the requirements list to fail to build if your system is missing a compiler toolchain or the underlying library - if the install script errors out specifically on one of these, that's why.
Common issues & troubleshooting
file_path doesn't point anywhere. This field is a plain string, not a file picker - on a server-hosted ComfyUI instance (rather than one running on your own machine), that path has to be reachable by the server, not by your browser. If you're used to a local upload widget elsewhere in ComfyUI, this node's file input works differently and it's easy to type a path that only exists on your own computer.
Install fails on rawpy or OpenEXR specifically. Both need native libraries under the hood (LibRaw and the OpenEXR C++ library respectively) rather than being pure-Python wheels everywhere. If the rest of the pack's requirements installed fine and only one of these two is the holdout, that's a strong hint - you may need your platform's build tools rather than a pip flag fixing it.
It's beta - expect rougher edges than the main Color Corrector. That's consistent with how the author describes this trio of nodes. If a specific demosaic algorithm or tone-mapping mode misbehaves, try AHD (the default) and ACES before assuming your source file is bad.
RAW output looks flat or dull straight out of the node. That's often correct, not broken - RAW development intentionally starts conservative so you have headroom. Push exposure, contrast, and saturation from there, or hand the output to one of the pack's other color-correction nodes for the actual grade.
Inputs (16)
| Name | Type | Default | Description |
|---|---|---|---|
| file_path | STRING | — | |
| format_type | COMBO | auto | 5 options: auto, raw, exr, hdr, tiff16 |
| white_balanceopt | COMBO | auto | 8 options: auto, camera, daylight, cloudy, shade, tungsten, +2 |
| demosaic_algorithmopt | COMBO | AHD | 4 options: AHD, VNG, PPG, AAHD |
| tone_mappingopt | COMBO | aces | 4 options: none, reinhard, drago, aces |
| hdr_exposureopt | FLOAT | 0.0-5–5 | — |
| hdr_gammaopt | FLOAT | 2.20.5–4 | — |
| exposureopt | FLOAT | 0.0-3–3 | — |
| highlightsopt | FLOAT | 0.0-1–1 | — |
| shadowsopt | FLOAT | 0.0-1–1 | — |
| brightnessopt | FLOAT | 0.0-1–1 | — |
| contrastopt | FLOAT | 0.0-1–1 | — |
| saturationopt | FLOAT | 0.0-1–1 | — |
| noise_reductionopt | FLOAT | 0.00–1 | — |
| output_colorspaceopt | COMBO | sRGB | 3 options: sRGB, Adobe RGB, ProPhoto RGB |
| output_gammaopt | COMBO | sRGB | 4 options: sRGB, linear, 1.8, 2.2 |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |
| metadata | STRING | — |