π Curves Pro
Photoshop-Style RGB Curves, Drawn Right on the Node
- image_in
- fx
- image
- curves_json
There is no better-feeling color operation in a graphics app than dragging a curve, and ComfyUI's default toolset doesn't have one. π Curves Pro brings it over: an interactive canvas on the node where you draw RGB, Red, Green, and Blue curves, with a live histogram of your connected image underneath. It's the grading primitive from the post-processing layer, given a real interface.
How it works. The node is the editor half of the pack's curves pair (Curves Pro Image is the receiver that applies the curves to an actual image). Its canvas has channels - RGB plus R, G, B - a live histogram computed from the image you feed in, and grid snapping at three densities so you can make precise, repeatable S-curves. There's a preset system: save and load curve shapes from the pack's json_curves/ folder, so your "warm film look" is one click away on any future workflow.
Inputs. The curve data itself lives in all_curves_json, a STRING that holds all four channels' points in JSON (the default is an identity curve - a straight line - for each). You generally won't edit that by hand; the canvas writes it. channel picks which curve you're currently editing, enabled toggles whether the effect applies, and label is just a friendly name for the effect. The optional image_in is what the histogram reads from - connect your actual image so the curve sits on top of real luminance data, which is most of the benefit.
Outputs. Three: fx (a COLOR_FX descriptor for the Color Pro chain), image (the graded result - this is the standalone path, where the node applies curves directly), and curves_json (the same JSON as the widget, exposed as a wire so you can save it or hand it to a Curves Pro Image node). The fx output is how it joins the Color Pro receiver chain: the pack made Curves Pro compatible with that system, so your curve can be one stage in a stack.
Where people get burned: the obvious one - if you're in a hurry and only connect image_in to the histogram, you still have to get the output from image to somewhere you can see it. And remember the editor and the receiver are separate nodes for a reason: Curves Pro alone gives you the curve and a graded image, but for a "load image, apply curve, preview original vs modified" experience you want the pair wired together via curves_json.
Install. ComfyUI Manager β search "Orion4D_MetaNode", or clone https://github.com/orion4d/Orion4D_MetaNode into custom_nodes/ and restart. Category: Orion4D_MetaNode/ColorGrading. No extra dependencies.
If you've ever wanted Photoshop's curves in a node graph without leaving ComfyUI - this is that node, and the histogram makes it better than the original.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| enabled | BOOLEAN | true | β |
| label | STRING | Curves | β |
| channel | COMBO | RGB | 4 options: RGB, Red, Green, Blue |
| all_curves_json | 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]]} | β |
| image_inopt | IMAGE | β |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| fx | COLOR_FX | β |
| image | IMAGE | β |
| curves_json | STRING | β |