From 0d006f8e9870e57cad3766ea36a3817850904713 Mon Sep 17 00:00:00 2001 From: Jedrzej Kosinski Date: Fri, 26 Dec 2025 16:39:46 -0800 Subject: [PATCH] Use outputs id as display_name if no display_name present, remove v3 outputs id restriction that made them have to have unique IDs from the inputs --- comfy_api/latest/_io.py | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/comfy_api/latest/_io.py b/comfy_api/latest/_io.py index f0570b121..5157b4e1d 100644 --- a/comfy_api/latest/_io.py +++ b/comfy_api/latest/_io.py @@ -213,8 +213,9 @@ class Output(_IO_V3): self.is_output_list = is_output_list def as_dict(self): + display_name = self.display_name if self.display_name else self.id return prune_dict({ - "display_name": self.display_name, + "display_name": display_name, "tooltip": self.tooltip, "is_output_list": self.is_output_list, }) @@ -1287,16 +1288,12 @@ class Schema: output_ids = [o.id for o in self.outputs] input_set = set(input_ids) output_set = set(output_ids) - issues = [] + issues: list[str] = [] # verify ids are unique per list if len(input_set) != len(input_ids): issues.append(f"Input ids must be unique, but {[item for item, count in Counter(input_ids).items() if count > 1]} are not.") if len(output_set) != len(output_ids): issues.append(f"Output ids must be unique, but {[item for item, count in Counter(output_ids).items() if count > 1]} are not.") - # verify ids are unique between lists - intersection = input_set & output_set - if len(intersection) > 0: - issues.append(f"Ids must be unique between inputs and outputs, but {intersection} are not.") if len(issues) > 0: raise ValueError("\n".join(issues)) # validate inputs and outputs