color_ImageCurve
Photoshop-style curves, with 30 built-in presets
- image
- image
If you've used the Curves tool in Photoshop or Lightroom, color_ImageCurve works exactly the way you'd expect - drag points on a graph to reshape brightness, either across the combined RGB channel or on R, G, and B independently. Same tool, just living inside your ComfyUI graph instead of a separate app. It's under Apt_Preset/image/visualize_edit, and unlike some of this pack's other adjustment nodes, there's no separate plain/visual pair here - curves are inherently something you want to watch update live, so this node is always the interactive version.
How it works
curve_data is a JSON string holding the actual curve points per channel - the default is a flat identity curve, {"RGB":[[0,0],[1,1]], "R":[[0,0],[1,1]], "G":[[0,0],[1,1]], "B":[[0,0],[1,1]]}, meaning two anchor points at the corners, i.e. "do nothing." The node's own widget is what lets you actually drag points on screen; that JSON is what ends up stored once you have a shape you like.
The inputs and outputs that matter
curve_preset(dropdown, defaultCustom) - 30 built-in presets includingContrast (S)(the classic S-curve),Soft Contrast,Matte(the lifted-blacks, faded-shadow look common to a lot of Instagram-style presets),Fade Highlights,Brighten,Darken,Warm,Cool,Teal & Orange(the cinematic blockbuster grade - orange skin against teal shadows),Cross Process(the deliberately-wrong-chemistry analog film look),Linear, and 18 more.curve_data(string, JSON) - the raw curve points; leave onCustomwhile hand-editing so a preset pick doesn't overwrite your work.saturation(0-2, default 1) - a bonus dial bolted on next to the curve itself.imagein,imageout - and because this is an output node, it previews directly on the canvas.
How to install it
Through ComfyUI Manager: search "ComfyUI-Apt_Preset", install, restart. Manually:
cd ComfyUI/custom_nodes
git clone https://github.com/cardenluo/ComfyUI-Apt_Preset.git
then run install.bat (Windows) or install requirements manually on Linux/Mac, and restart. No model downloads for this node.
Common issues & troubleshooting
Picking a preset wipes out a curve you hand-edited. That's expected - curve_preset presumably overwrites curve_data with the preset's own points. Keep curve_preset on Custom while manually dragging points, and only touch the dropdown when you actually want to replace your curve.
Preview doesn't update after picking a preset. JSON-string-backed widgets like this one can occasionally lag the UI; if the canvas doesn't refresh, re-queue the node once to sync it.
Not sure which preset to start from. Teal & Orange and Cross Process are genuinely useful starting grades rather than novelty options - worth trying before hand-placing points from scratch.
IMPORT FAILED on the pack. ComfyUI-Apt_Preset is large and updates often; users have reported import failures after some updates. Reinstall via Manager before assuming it's this node.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | — | |
| curve_preset | COMBO | Custom | 30 options: Custom, Contrast (S), Soft Contrast, Matte, Fade Highlights, Brighten, +24 |
| curve_data | STRING | {"RGB":[[0.0,0.0],[1.0,1.0]],"R":[[0.0,0.0],[1.0,1.0]],"G":[[0.0,0.0],[1.0,1.0]],"B":[[0.0,0.0],[1.0,1.0]]} | — |
| saturation | FLOAT | 1.000–2 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |