From 3aa8f900d618fc668e6b078bf5461ac76a23710a Mon Sep 17 00:00:00 2001 From: Yousef Rafat <81116377+yousef-rafat@users.noreply.github.com> Date: Fri, 10 Apr 2026 13:49:29 +0200 Subject: [PATCH] updated workflow --- comfy_extras/nodes_mask.py | 35 ++++++++++++++++++++++++++--------- 1 file changed, 26 insertions(+), 9 deletions(-) diff --git a/comfy_extras/nodes_mask.py b/comfy_extras/nodes_mask.py index 6cdc666d4..32b60afda 100644 --- a/comfy_extras/nodes_mask.py +++ b/comfy_extras/nodes_mask.py @@ -374,6 +374,29 @@ class GrowMask(IO.ComfyNode): expand_mask = execute # TODO: remove +class ClipVisionToMask(IO.ComfyNode): + @classmethod + def define_schema(cls): + return IO.Schema( + node_id="ClipVisionToMask", + inputs = [ + IO.ClipVisionOutput.Input("clip_vision_output") + ], + outputs = [IO.Mask.Output("mask")] + ) + @classmethod + def execute(cls, clip_vision_output): + if not isinstance(clip_vision_output, torch.Tensor): + mask = clip_vision_output["last_hidden_state"] + mask = mask.sigmoid() + if mask.ndim == 3: + mask = mask.unsqueeze(0) + if mask.shape[1] != 1: + mask = mask.movedim(-1, 1) + return IO.NodeOutput(mask) + + clip_vision_to_mask = execute + class ConcatMask(IO.ComfyNode): @classmethod def define_schema(cls): @@ -382,20 +405,13 @@ class ConcatMask(IO.ComfyNode): search_aliases=["add mask", "concat mask", "merge mask"], category="mask", inputs=[ - IO.AnyType.Input("mask"), + IO.Mask.Input("mask"), IO.Image.Input("image"), ], outputs=[IO.Image.Output("rgba_image"), IO.Mask.Output("input_mask")], ) @classmethod def execute(cls, mask, image): - if not isinstance(mask, torch.Tensor): - mask = mask["last_hidden_state"] - mask = mask.sigmoid() - if mask.ndim == 3: - mask = mask.unsqueeze(0) - if mask.shape[1] != 1: - mask = mask.movedim(-1, 1) if image.shape[-1] == 3: image = image.movedim(-1, 1) target_h, target_w = image.shape[2], image.shape[3] @@ -471,7 +487,8 @@ class MaskExtension(ComfyExtension): GrowMask, ThresholdMask, MaskPreview, - ConcatMask + ConcatMask, + ClipVisionToMask ]