From aac91caf1ac8ee7435adad0b8c83f2487e14ff84 Mon Sep 17 00:00:00 2001 From: Jedrzej Kosinski Date: Thu, 19 Jun 2025 03:11:30 -0500 Subject: [PATCH] Added extra_dict to InputV3/WidgetInputV3 for custom node/widget expansion --- comfy_api/v3/io.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/comfy_api/v3/io.py b/comfy_api/v3/io.py index 67ae1b996..e291f6752 100644 --- a/comfy_api/v3/io.py +++ b/comfy_api/v3/io.py @@ -152,20 +152,21 @@ class InputV3(IO_V3): ''' Base class for a V3 Input. ''' - def __init__(self, id: str, display_name: str=None, optional=False, tooltip: str=None, lazy: bool=None): + def __init__(self, id: str, display_name: str=None, optional=False, tooltip: str=None, lazy: bool=None, extra_dict=None): super().__init__() self.id = id self.display_name = display_name self.optional = optional self.tooltip = tooltip self.lazy = lazy + self.extra_dict = extra_dict if extra_dict is not None else {} def as_dict_V1(self): return prune_dict({ "display_name": self.display_name, "tooltip": self.tooltip, - "lazy": self.lazy - }) + "lazy": self.lazy, + }) | prune_dict(self.extra_dict) def get_io_type_V1(self): return self.io_type @@ -176,8 +177,8 @@ class WidgetInputV3(InputV3): ''' def __init__(self, id: str, display_name: str=None, optional=False, tooltip: str=None, lazy: bool=None, default: Any=None, - socketless: bool=None, widgetType: str=None, types: list[type[ComfyType] | ComfyType]=None): - super().__init__(id, display_name, optional, tooltip, lazy) + socketless: bool=None, widgetType: str=None, types: list[type[ComfyType] | ComfyType]=None, extra_dict=None): + super().__init__(id, display_name, optional, tooltip, lazy, extra_dict) self.default = default self.socketless = socketless self.widgetType = widgetType