Nodes/ComfyUI-Curve/📷 Camera Raw Enhance
ComfyUI Node

📷 Camera Raw Enhance

Adobe Camera Raw for images that never touched a camera

By aiaiaikkk·Created about a year ago·Updated 10 months ago· 181
📷 Camera Raw Enhance
  • image
  • mask
  • image
exposure0.0
highlights0
shadows0
whites0
blacks0
temperature0
tint0
vibrance0
saturation0
contrast0
texture0
clarity0
dehaze0
blend50
overall_strength1.0
mask_blur0.0
invert_maskfalse

This is the biggest name-drop in the ComfyUI-Curve pack: it ports Adobe Camera Raw's basic panel - exposure, highlights, shadows, whites, blacks, temperature, tint, vibrance, saturation, contrast - plus the three modern favorites (Texture, Clarity, Dehaze) into a single ComfyUI node. No camera raw file required, which is fine, because you never had one. You're running a RAW developer's controls on a JPEG that a neural network hallucinated 40 seconds ago.

Why you'd reach for it: generated images have predictable color problems. Skin comes out plastic and over-smoothed, haze creeps into "dreamy" prompts, and the tone curve is whatever the model felt like. This node is the single most useful "fix the render" step in the pack - fifteen sliders that cover 90% of what people manually fix after the fact.

How it works

Each slider maps to a real implementation: highlights/shadows recover detail in their tonal band, whites/blacks set the endpoints, temperature and tint do white-balance math, vibrance saturates the under-saturated colors first, and texture/clarity run detail-aware contrast passes. The heaviest machinery is Dehaze. The author implemented several algorithms - a dark-channel prior with guided filter refinement, a Photoshop-style contrast-boost variant, and a simple fallback - then added auto-selection based on image characteristics (brightness, haze level, detail). It's the most code in the pack by a mile, and it shows.

The one honest caveat lives in the README: the frontend preview and the backend output for Dehaze were out of sync for a while, the author aligned them in June 2025, and the changelog still admits the result "still has gaps with PS Camera Raw effects." Read: don't expect pixel-perfect parity with Adobe, but the direction and magnitude are right.

The inputs that matter

  • exposure (-5 to 5) - the overall brightness dial, the one you'll touch first.
  • highlights / shadows / whites / blacks (-100 to 100) - tonal rescue and endpoint control.
  • temperature / tint (-100 to 100) - strip a blue cast, warm things up.
  • texture / clarity / dehaze - the headline trio. The portrait trick is negative texture: it softens medium-size skin detail the same way a makeup blur does.
  • vibrance vs saturation - vibrance for tasteful pop, saturation when you mean it.
  • blend (0-100, default 50) and overall_strength (0-2) - the master volume and the wet-brush amount. Use them.

Everything is optional except the image, and there's a mask + mask_blur + invert_mask set if you only want the effect on part of the frame. Single image output, straight into Preview or Save.

Installing it

Standard custom-node fare. ComfyUI Manager → search "ComfyUI-Curve", or:

cd ComfyUI/custom_nodes
git clone https://github.com/aiaiaikkk/ComfyUI-Curve.git

Restart ComfyUI and you're done. No model downloads, no API keys, nothing to fetch at first run. The heavy lifting is numpy/OpenCV math on the image tensor.

Where people get burned

The Dehaze preview mismatch is the documented one - if your popup preview and your saved output disagree on haze, that's the known front/back sync history, not you doing it wrong. Keep blend below 100 and the disagreement stays invisible in practice. The other trap is piling everything on at once: +30 clarity, +40 texture, +20 dehaze, +15 vibrance and you've created a crunchy HDR monstrosity. Pick one or two, keep blend around 50-70, and let the popup live preview be your judge.

CategoryImage/Adjustments

Inputs (19)

NameTypeDefaultDescription
imageIMAGE
exposureFLOAT0.0-5–5曝光度调整,控制整体亮度
highlightsFLOAT0-100–100高光调整,控制过曝区域
shadowsFLOAT0-100–100阴影调整,提亮暗部细节
whitesFLOAT0-100–100白色调整,调整白场点
blacksFLOAT0-100–100黑色调整,调整黑场点
temperatureFLOAT0-100–100色温调整,控制冷暖色调
tintFLOAT0-100–100色调调整,绿品偏向
vibranceFLOAT0-100–100自然饱和度,智能饱和度调整
saturationFLOAT0-100–100饱和度调整,整体饱和度
contrastFLOAT0-100–100对比度调整,整体对比度
textureFLOAT0-100–100纹理增强,增强中等大小细节的对比度
clarityFLOAT0-100–100清晰度调整,增强中间调对比度
dehazeFLOAT0-100–100去薄雾效果,减少或增加大气雾霾
blendFLOAT500–100控制增强效果的混合程度(0-100%)
overall_strengthFLOAT1.00–2增强效果的整体强度
maskoptMASK可选遮罩,增强效果仅对遮罩区域有效
mask_bluroptFLOAT0.00–20遮罩边缘羽化程度
invert_maskoptBOOLEANfalse反转遮罩区域

Outputs (1)

NameTypeDescription
imageIMAGE