From cb64b957f25341f1c24f7baa0f78117f885a476c Mon Sep 17 00:00:00 2001 From: Terry Jia Date: Sun, 22 Feb 2026 15:06:46 -0500 Subject: [PATCH] CURVE type --- comfy_api/latest/_io.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/comfy_api/latest/_io.py b/comfy_api/latest/_io.py index 025727071..425408e41 100644 --- a/comfy_api/latest/_io.py +++ b/comfy_api/latest/_io.py @@ -1237,6 +1237,21 @@ class BoundingBox(ComfyTypeIO): return d +@comfytype(io_type="CURVE") +class Curve(ComfyTypeIO): + Type = list + + class Input(WidgetInput): + def __init__(self, id: str, display_name: str=None, optional=False, tooltip: str=None, + socketless: bool=True, default: list=None, advanced: bool=None): + super().__init__(id, display_name, optional, tooltip, None, default, socketless, None, None, None, None, advanced) + if default is None: + self.default = [[0, 0], [1, 1]] + + def as_dict(self): + return super().as_dict() + + DYNAMIC_INPUT_LOOKUP: dict[str, Callable[[dict[str, Any], dict[str, Any], tuple[str, dict[str, Any]], str, list[str] | None], None]] = {} def register_dynamic_input_func(io_type: str, func: Callable[[dict[str, Any], dict[str, Any], tuple[str, dict[str, Any]], str, list[str] | None], None]): DYNAMIC_INPUT_LOOKUP[io_type] = func @@ -2223,5 +2238,6 @@ __all__ = [ "PriceBadgeDepends", "PriceBadge", "BoundingBox", + "Curve", "NodeReplace", ]