Nodes/ComfyUI-Curve/📐 Curve Presets
ComfyUI Node

📐 Curve Presets

70+ one-click looks, with a smart channel twist

By aiaiaikkk·Created about a year ago·Updated 10 months ago· 181
📐 Curve Presets
    • curve_points
    • suggested_channel
    preset_styleLinear (无调整)

    This node holds the whole preset library for the ComfyUI-Curve pack: 70+ named looks - portrait, landscape, cinematic blue-orange, cyberpunk, film emulations, Japanese fresh, Hong Kong classic - stored as ready-made curve data. The catch, and it's a deliberate one: it doesn't touch your image at all. It's a data source. You pick a style and it hands you two strings that make the pack's PS Curves node do the work. Wire it right and you get one-click grading; wire it wrong and you've added a node that does nothing visible.

    Why you'd reach for it: speed and consistency. Hand-drawing curves every session is slow, and guessing which curve makes a "film" look is worse. This node codifies the author's tuning - each preset was built against a color-theory idea of where it should act - and, in the clever bit, it also tells PS Curves which channel to apply the curve to. Cinematic blue-orange goes to the blue channel, Japanese fresh to green, Hong Kong classic to red, global looks to RGB. That channel mapping is the difference between "a curve" and "the look someone actually designed."

    How it works

    The mechanism is dead simple under the hood: a lookup table of preset names to semicolon-formatted curve points, plus a suggested channel per preset. curve_points is emitted as x1,y1;x2,y2;..., and suggested_channel as RGB, Red, Green, or Blue. Nothing renders, nothing computes on pixels - it's string generation with a nice dropdown on top.

    The workflow is:

    1. Add Curve Presets (this node) and PS Curves to the graph.
    2. Wire curve_points → PS Curves' preset_curve_points, and suggested_channelpreset_suggested_channel.
    3. Pick a style from the dropdown. Run.

    PS Curves detects the preset inputs and applies the curve to the suggested channel automatically. Swap styles and re-run; the node re-evaluates each time because it flags its state as changed whenever you switch preset_style.

    The inputs and outputs that matter

    There's exactly one real input: preset_style, the dropdown with 65+ entries (the author says 70+; the enum lists 65). Names include Linear (no adjustment), portrait/landscape/night specials, contrast series, film looks, Japanese styles, Hong Kong styles, social-media looks, art filters, and more. Two outputs, curve_points and suggested_channel, both strings. That's the whole thing.

    One honest warning for non-Chinese readers: the preset names are in Chinese - you'll be picking between 人像专用 and 电影蓝橙 unless the author localizes them. The display also truncates the list with "…+53 more," so browsing means scrolling a long way. It's worth it; the cinematic and film groups are genuinely usable.

    Installing it

    Same pack, same routine. ComfyUI Manager → search "ComfyUI-Curve", or:

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

    Restart ComfyUI. This node adds essentially zero dependency weight on top of the pack.

    Where people get burned

    The one recurring mistake is expecting it to do something on its own. It has no image input and no image output - if you add it, pick a style, and see no change, that's by design. It only becomes a grader once it's wired into PS Curves' preset inputs. Second, because the channel suggestion is preset logic rather than per-image analysis, a preset that "should" be subtle may come on strong if the suggested channel amplifies a cast already in the image. Keep the PS Curves strength slider handy as your escape valve.

    CategoryImage/Presets

    Inputs (1)

    NameTypeDefaultDescription
    preset_styleCOMBOLinear (无调整)65 options: Linear (无调整), 人像专用, 风景专用, 夜景专用, 高对比度, 超高对比, +59

    Outputs (2)

    NameTypeDescription
    curve_pointsSTRING
    suggested_channelSTRING