diff --git a/README.MD b/README.MD
index 629b893..fc61cbb 100644
--- a/README.MD
+++ b/README.MD
@@ -80,6 +80,8 @@ When this error has occurred, please check the network environment.
## Update
**If the dependency package error after updating, please reinstall the relevant dependency packages.
+* Commit [ImageToMask](#ImageToMask) node, it can be converted image into mask. Supports converting any channel in LAB, RGBA, YUV, and HSV modes into masks, while providing color scale adjustment. Support mask optional input to obtain masks that only include valid parts.
+* The blackpoint and whitepoint options in some nodes have been changed to slider adjustment for a more intuitive display. Include [MaskEdgeUltraDetailV2](#MaskEdgeUltraDetailV2), [SegmentAnythingUltraV2](#SegmentAnythingUltraV2), [RmBgUltraV2](#RmBgUltraV2),[PersonMaskUltraV2](#PersonMaskUltraV2),[BiRefNetUltra](#BiRefNetUltra), [SegformerB2ClothesUltra](#SegformerB2ClothesUltra), [BlendIfMask](#BlendIfMask) and [Levels](#Levels).
* [ImageScaleRestoreV2](#ImageScaleRestoreV2) and [ImageScaleByAspectRatioV2](#ImageScaleByAspectRatioV2) nodes add the ```total_pixel``` method to scale images.
* Commit [MediapipeFacialSegment](#MediapipeFacialSegment) node,Used to segment facial features, including left and right eyebrows, eyes, lips, and teeth.
* Commit [BatchSelector](#BatchSelector) node,Used to retrieve specified images or masks from batch images or masks.
@@ -1432,6 +1434,23 @@ Node Options:
* fix_threshold: The threshold for repairing masks.
* invert_mask: Whether to reverse the mask.
+### ImageToMask
+Convert the image to a mask. Supports converting any channel in LAB, RGBA, YUV, and HSV modes into masks, while providing color scale adjustment. Support mask optional input to obtain masks that only include valid parts.
+
+
+Node Options:
+
+* image: Input image.
+* mask: This input is optional, if there is a mask, only the colors inside the mask are included in the range.
+* channel: Channel selection. You can choose any channel of LAB, RGBA, YUV, or HSV modes.
+* black_point*: Black dot value for the mask. The value range is 0-255, with a default value of 0.
+* white_point*: White dot value for the mask. The value range is 0-255, with a default value of 255.
+* gray_point: Gray dot values for the mask. The value range is 0.01-9.99, with a default of 1.
+* invert_output_mask: Whether to reverse the mask.
+
+*If the black_point or output_black_point value is greater than white_point or output_white_point, the two values are swapped, with the larger value used as white_point and the smaller value used as black_point.
+
+
### Shadow & Highlight Mask
Generate masks for the dark and bright parts of the image.

diff --git a/README_CN.MD b/README_CN.MD
index 74f08d6..37fdf41 100644
--- a/README_CN.MD
+++ b/README_CN.MD
@@ -80,6 +80,8 @@ git clone https://github.com/chflame163/ComfyUI_LayerStyle.git
## 更新说明
**如果本插件更新后出现依赖包错误,请重新安装相关依赖包。
+* 添加 [ImageToMask](#ImageToMask) 节点,可将图片转为遮罩。支持以LAB,RGBA, YUV 和 HSV模式的任意通道转换为遮罩,同时提供色阶调整。支持mask可选输入以获取仅包括有效部分的遮罩。
+* 部分节点中blackpoint和whitepoint选项改为滑块调节,便于更直观显示。包括[MaskEdgeUltraDetailV2](#MaskEdgeUltraDetailV2), [SegmentAnythingUltraV2](#SegmentAnythingUltraV2), [RmBgUltraV2](#RmBgUltraV2),[PersonMaskUltraV2](#PersonMaskUltraV2),[BiRefNetUltra](#BiRefNetUltra), [SegformerB2ClothesUltra](#SegformerB2ClothesUltra), [BlendIfMask](#BlendIfMask) 和 [Levels](#Levels)。
* [ImageScaleRestoreV2](#ImageScaleRestoreV2) 和[ImageScaleByAspectRatioV2](#ImageScaleByAspectRatioV2) 节点增加TotalPixel方法缩放图片。
* 添加 [MediapipeFacialSegment](#MediapipeFacialSegment) 节点, 用于分割面部五官,包括左右眉、眼睛、嘴唇和牙齿。
* 添加 [BatchSelector](#BatchSelector) 节点, 用于从批量图片或遮罩中获取指定的图片或遮罩。
@@ -1417,6 +1419,23 @@ PersonMaskUltra的V2升级版,增加了VITMatte边缘处理方法。(注意:
* fix_threshold: 修补遮罩的阈值。
* invert_mask: 是否反转遮罩。
+### ImageToMask
+将图片转为遮罩。支持以LAB,RGBA, YUV 和 HSV模式的任意通道转换为遮罩,同时提供色阶调整。支持mask可选输入以获取仅包括有效部分的遮罩。
+
+
+节点选项说明:
+
+* image: 图像输入。
+* mask: 遮罩输入。此输入是可选项,如果有遮罩则仅遮罩内的颜色被纳入范围。
+* channel: 通道选择。可以选择LAB,RGBA, YUV 和 HSV模式的任意一个通道。
+* black_point*: 遮罩黑点值。取值范围0-255, 默认值0。
+* white_point*: 遮罩白点值。取值范围0-255, 默认值255。
+* gray_point: 遮罩灰点值。取值范围0.01-9.99, 默认1。
+* invert_output_mask: 是否反转遮罩。
+
+*如果 black_point 或 output_black_point 数值大于 white_point 或 output_white_point,则两个数值将交换,较大的数值作为white_point使用,较小的数值作为black_point使用。
+
+
### Shadow & Highlight Mask
生成图像暗部和亮部的遮罩。
diff --git a/image/birefnet_ultra_node.jpg b/image/birefnet_ultra_node.jpg
index 10ee79b..73c9f1b 100644
Binary files a/image/birefnet_ultra_node.jpg and b/image/birefnet_ultra_node.jpg differ
diff --git a/image/blendif_mask_node.jpg b/image/blendif_mask_node.jpg
index c2cbc01..2e6b974 100644
Binary files a/image/blendif_mask_node.jpg and b/image/blendif_mask_node.jpg differ
diff --git a/image/image_to_mask_example.jpg b/image/image_to_mask_example.jpg
new file mode 100644
index 0000000..0772242
Binary files /dev/null and b/image/image_to_mask_example.jpg differ
diff --git a/image/image_to_mask_node.jpg b/image/image_to_mask_node.jpg
new file mode 100644
index 0000000..fd70f9d
Binary files /dev/null and b/image/image_to_mask_node.jpg differ
diff --git a/image/layercolor_nodes.jpg b/image/layercolor_nodes.jpg
index c3954c7..1ada384 100644
Binary files a/image/layercolor_nodes.jpg and b/image/layercolor_nodes.jpg differ
diff --git a/image/layermask_nodes.jpg b/image/layermask_nodes.jpg
index e473a74..89743ee 100644
Binary files a/image/layermask_nodes.jpg and b/image/layermask_nodes.jpg differ
diff --git a/image/layerutility_nodes.jpg b/image/layerutility_nodes.jpg
index ce92053..2cf2753 100644
Binary files a/image/layerutility_nodes.jpg and b/image/layerutility_nodes.jpg differ
diff --git a/image/levels_node.jpg b/image/levels_node.jpg
index ffb5b68..d222c28 100644
Binary files a/image/levels_node.jpg and b/image/levels_node.jpg differ
diff --git a/image/mask_edge_ultra_detail_v2_node.jpg b/image/mask_edge_ultra_detail_v2_node.jpg
index d5e1f85..aece2d2 100644
Binary files a/image/mask_edge_ultra_detail_v2_node.jpg and b/image/mask_edge_ultra_detail_v2_node.jpg differ
diff --git a/image/person_mask_ultra_v2_node.jpg b/image/person_mask_ultra_v2_node.jpg
index af9d915..25ae115 100644
Binary files a/image/person_mask_ultra_v2_node.jpg and b/image/person_mask_ultra_v2_node.jpg differ
diff --git a/image/rmbg_ultra_v2_node.jpg b/image/rmbg_ultra_v2_node.jpg
index d006dd6..4610e4d 100644
Binary files a/image/rmbg_ultra_v2_node.jpg and b/image/rmbg_ultra_v2_node.jpg differ
diff --git a/image/segformer_ultra_node.jpg b/image/segformer_ultra_node.jpg
index 387a883..c22aeed 100644
Binary files a/image/segformer_ultra_node.jpg and b/image/segformer_ultra_node.jpg differ
diff --git a/image/segment_anything_ultra_v2_node.jpg b/image/segment_anything_ultra_v2_node.jpg
index 8152b12..fa12110 100644
Binary files a/image/segment_anything_ultra_v2_node.jpg and b/image/segment_anything_ultra_v2_node.jpg differ
diff --git a/py/birefnet_ultra.py b/py/birefnet_ultra.py
index 6d32f0a..827c454 100644
--- a/py/birefnet_ultra.py
+++ b/py/birefnet_ultra.py
@@ -15,8 +15,8 @@ class BiRefNetUltra:
"detail_method": (method_list,),
"detail_erode": ("INT", {"default": 6, "min": 1, "max": 255, "step": 1}),
"detail_dilate": ("INT", {"default": 6, "min": 1, "max": 255, "step": 1}),
- "black_point": ("FLOAT", {"default": 0.01, "min": 0.01, "max": 0.98, "step": 0.01}),
- "white_point": ("FLOAT", {"default": 0.99, "min": 0.02, "max": 0.99, "step": 0.01}),
+ "black_point": ("FLOAT", {"default": 0.01, "min": 0.01, "max": 0.98, "step": 0.01, "display": "slider"}),
+ "white_point": ("FLOAT", {"default": 0.99, "min": 0.02, "max": 0.99, "step": 0.01, "display": "slider"}),
"process_detail": ("BOOLEAN", {"default": True}),
},
"optional": {
diff --git a/py/blend_if_mask.py b/py/blend_if_mask.py
index 5d8010e..62e170c 100644
--- a/py/blend_if_mask.py
+++ b/py/blend_if_mask.py
@@ -23,9 +23,9 @@ class BlendIfMask:
"image": ("IMAGE", ),
"invert_mask": ("BOOLEAN", {"default": True}), # 反转mask
"blend_if": (blend_if_list,),
- "black_point": ("INT", {"default": 0, "min": 0, "max": 254, "step": 1}),
+ "black_point": ("INT", {"default": 0, "min": 0, "max": 254, "step": 1, "display": "slider"}),
"black_range": ("INT", {"default": 0, "min": 0, "max": 255, "step": 1}),
- "white_point": ("INT", {"default": 255, "min": 1, "max": 255, "step": 1}),
+ "white_point": ("INT", {"default": 255, "min": 1, "max": 255, "step": 1, "display": "slider"}),
"white_range": ("INT", {"default": 0, "min": 0, "max": 255, "step": 1}),
},
"optional": {
diff --git a/py/color_correct_levels.py b/py/color_correct_levels.py
index 49a1699..83b0b69 100644
--- a/py/color_correct_levels.py
+++ b/py/color_correct_levels.py
@@ -15,8 +15,8 @@ class ColorCorrectLevels:
"required": {
"image": ("IMAGE", ), #
"channel": (channel_list,),
- "black_point": ("INT", {"default": 0, "min": 0, "max": 255, "step": 1}),
- "white_point": ("INT", {"default": 255, "min": 0, "max": 255, "step": 1}),
+ "black_point": ("INT", {"default": 0, "min": 0, "max": 255, "step": 1, "display": "slider"}),
+ "white_point": ("INT", {"default": 255, "min": 0, "max": 255, "step": 1, "display": "slider"}),
"gray_point": ("FLOAT", {"default": 1, "min": 0.01, "max": 9.99, "step": 0.01}),
"output_black_point": ("INT", {"default": 0, "min": 0, "max": 255, "step": 1}),
"output_white_point": ("INT", {"default": 255, "min": 0, "max": 255, "step": 1}),
diff --git a/py/image_to_mask.py b/py/image_to_mask.py
new file mode 100644
index 0000000..be4b70e
--- /dev/null
+++ b/py/image_to_mask.py
@@ -0,0 +1,107 @@
+from .imagefunc import *
+
+NODE_NAME = 'ImageToMask'
+
+class ImageToMask:
+ @classmethod
+ def INPUT_TYPES(s):
+ channel_list = ["L(LAB)", "A(Lab)", "B(Lab)",
+ "R(RGB)", "G(RGB)", "B(RGB)", "alpha",
+ "Y(YUV)", "U(YUV)", "V(YUV)",
+ "H(HSV)", "S(HSV", "V(HSV)"]
+ return {
+ "required": {
+ "image": ("IMAGE", ),
+ "channel": (channel_list,),
+ "black_point": ("INT", {"default": 0, "min": 0, "max": 255, "step": 1, "display": "slider"}),
+ "white_point": ("INT", {"default": 255, "min": 0, "max": 255, "step": 1, "display": "slider"}),
+ "gray_point": ("FLOAT", {"default": 1.0, "min": 0.01, "max": 9.99, "step": 0.01}),
+ "invert_output_mask": ("BOOLEAN", {"default": False}), # 反转mask
+ },
+ "optional": {
+ "mask": ("MASK",), #
+ }
+ }
+
+ RETURN_TYPES = ("MASK",)
+ RETURN_NAMES = ("mask",)
+ FUNCTION = "image_to_mask"
+ CATEGORY = '😺dzNodes/LayerMask'
+
+ def image_to_mask(self, image, channel,
+ black_point, white_point, gray_point,
+ invert_output_mask, mask=None
+ ):
+
+ ret_masks = []
+ l_images = []
+ l_masks = []
+
+ for l in image:
+ l_images.append(torch.unsqueeze(l, 0))
+ m = tensor2pil(l)
+ if m.mode == 'RGBA':
+ l_masks.append(m.split()[-1])
+ else:
+ l_masks.append(Image.new('L', m.size, 'white'))
+ if mask is not None:
+ if mask.dim() == 2:
+ mask = torch.unsqueeze(mask, 0)
+ l_masks = []
+ for m in mask:
+ l_masks.append(tensor2pil(torch.unsqueeze(m, 0)).convert('L'))
+
+ for i in range(len(l_images)):
+ orig_image = l_images[i] if i < len(l_images) else l_images[-1]
+ orig_image = tensor2pil(orig_image)
+ orig_mask = l_masks[i] if i < len(l_masks) else l_masks[-1]
+
+ mask = Image.new('L', orig_image.size, 'black')
+ if channel == "L(LAB)":
+ mask, _, _, _ = image_channel_split(orig_image, 'LAB')
+ elif channel == "A(Lab)":
+ _, mask, _, _ = image_channel_split(orig_image, 'LAB')
+ elif channel == "B(Lab)":
+ _, _, mask, _ = image_channel_split(orig_image, 'LAB')
+ elif channel == "R(RGB)":
+ mask, _, _, _ = image_channel_split(orig_image, 'RGB')
+ elif channel == "G(RGB)":
+ _, mask, _, _ = image_channel_split(orig_image, 'RGB')
+ elif channel == "B(RGB)":
+ _, _, mask, _ = image_channel_split(orig_image, 'RGB')
+ elif channel == "alpha":
+ _, _, _, mask = image_channel_split(orig_image, 'RGBA')
+ elif channel == "Y(YUV)":
+ mask, _, _, _ = image_channel_split(orig_image, 'YCbCr')
+ elif channel == "U(YUV)":
+ _, mask, _, _ = image_channel_split(orig_image, 'YCbCr')
+ elif channel == "V(YUV)":
+ _, _, mask, _ = image_channel_split(orig_image, 'YCbCr')
+ elif channel == "H(HSV)":
+ mask, _, _, _ = image_channel_split(orig_image, 'HSV')
+ elif channel == "S(HSV)":
+ _, mask, _, _ = image_channel_split(orig_image, 'HSV')
+ elif channel == "V(HSV)":
+ _, _, mask, _ = image_channel_split(orig_image, 'HSV')
+ mask = normalize_gray(mask)
+ mask = adjust_levels(mask, black_point, white_point, gray_point,
+ 0, 255)
+ if invert_output_mask:
+ mask = ImageChops.invert(mask)
+ ret_mask = Image.new('L', mask.size, 'black')
+ ret_mask.paste(mask, mask=orig_mask)
+
+ ret_mask = image2mask(ret_mask)
+
+ ret_masks.append(ret_mask)
+
+ return (torch.cat(ret_masks, dim=0), )
+
+
+NODE_CLASS_MAPPINGS = {
+ "LayerMask: ImageToMask": ImageToMask
+}
+
+NODE_DISPLAY_NAME_MAPPINGS = {
+ "LayerMask: ImageToMask": "LayerMask: Image To Mask"
+}
\ No newline at end of file
diff --git a/py/mask_edge_ultra_detail_v2.py b/py/mask_edge_ultra_detail_v2.py
index 31d3bbe..8140e8c 100644
--- a/py/mask_edge_ultra_detail_v2.py
+++ b/py/mask_edge_ultra_detail_v2.py
@@ -21,8 +21,8 @@ class MaskEdgeUltraDetailV2:
"fix_threshold": ("FLOAT", {"default": 0.75, "min": 0.01, "max": 0.99, "step": 0.01}),
"edge_erode": ("INT", {"default": 6, "min": 1, "max": 255, "step": 1}),
"edte_dilate": ("INT", {"default": 6, "min": 1, "max": 255, "step": 1}),
- "black_point": ("FLOAT", {"default": 0.01, "min": 0.01, "max": 0.98, "step": 0.01}),
- "white_point": ("FLOAT", {"default": 0.99, "min": 0.02, "max": 0.99, "step": 0.01}),
+ "black_point": ("FLOAT", {"default": 0.01, "min": 0.01, "max": 0.98, "step": 0.01, "display": "slider"}),
+ "white_point": ("FLOAT", {"default": 0.99, "min": 0.02, "max": 0.99, "step": 0.01, "display": "slider"}),
},
"optional": {
}
diff --git a/py/person_mask_ultra_v2.py b/py/person_mask_ultra_v2.py
index cdbeb4f..bd7de6c 100644
--- a/py/person_mask_ultra_v2.py
+++ b/py/person_mask_ultra_v2.py
@@ -33,8 +33,8 @@ class PersonMaskUltraV2:
"detail_method": (method_list,),
"detail_erode": ("INT", {"default": 6, "min": 1, "max": 255, "step": 1}),
"detail_dilate": ("INT", {"default": 6, "min": 1, "max": 255, "step": 1}),
- "black_point": ("FLOAT", {"default": 0.01, "min": 0.01, "max": 0.98, "step": 0.01}),
- "white_point": ("FLOAT", {"default": 0.99, "min": 0.02, "max": 0.99, "step": 0.01}),
+ "black_point": ("FLOAT", {"default": 0.01, "min": 0.01, "max": 0.98, "step": 0.01, "display": "slider"}),
+ "white_point": ("FLOAT", {"default": 0.99, "min": 0.02, "max": 0.99, "step": 0.01, "display": "slider"}),
"process_detail": ("BOOLEAN", {"default": True}),
},
"optional":
diff --git a/py/rembg_ultra_v2.py b/py/rembg_ultra_v2.py
index 31e7cce..9bae40c 100644
--- a/py/rembg_ultra_v2.py
+++ b/py/rembg_ultra_v2.py
@@ -17,8 +17,8 @@ class RmBgUltraV2:
"detail_method": (method_list,),
"detail_erode": ("INT", {"default": 6, "min": 1, "max": 255, "step": 1}),
"detail_dilate": ("INT", {"default": 6, "min": 1, "max": 255, "step": 1}),
- "black_point": ("FLOAT", {"default": 0.01, "min": 0.01, "max": 0.98, "step": 0.01}),
- "white_point": ("FLOAT", {"default": 0.99, "min": 0.02, "max": 0.99, "step": 0.01}),
+ "black_point": ("FLOAT", {"default": 0.01, "min": 0.01, "max": 0.98, "step": 0.01, "display": "slider"}),
+ "white_point": ("FLOAT", {"default": 0.99, "min": 0.02, "max": 0.99, "step": 0.01, "display": "slider"}),
"process_detail": ("BOOLEAN", {"default": True}),
},
"optional": {
diff --git a/py/segformer_ultra.py b/py/segformer_ultra.py
index 9756fe0..7cdd550 100644
--- a/py/segformer_ultra.py
+++ b/py/segformer_ultra.py
@@ -62,8 +62,8 @@ class Segformer_B2_Clothes:
"detail_method": (method_list,),
"detail_erode": ("INT", {"default": 12, "min": 1, "max": 255, "step": 1}),
"detail_dilate": ("INT", {"default": 6, "min": 1, "max": 255, "step": 1}),
- "black_point": ("FLOAT", {"default": 0.01, "min": 0.01, "max": 0.98, "step": 0.01}),
- "white_point": ("FLOAT", {"default": 0.99, "min": 0.02, "max": 0.99, "step": 0.01}),
+ "black_point": ("FLOAT", {"default": 0.01, "min": 0.01, "max": 0.98, "step": 0.01, "display": "slider"}),
+ "white_point": ("FLOAT", {"default": 0.99, "min": 0.02, "max": 0.99, "step": 0.01, "display": "slider"}),
"process_detail": ("BOOLEAN", {"default": True}),
}
}
diff --git a/py/segment_anything_ultra_v2.py b/py/segment_anything_ultra_v2.py
index 6fa0526..5db8e91 100644
--- a/py/segment_anything_ultra_v2.py
+++ b/py/segment_anything_ultra_v2.py
@@ -26,8 +26,8 @@ class SegmentAnythingUltraV2:
"detail_method": (method_list,),
"detail_erode": ("INT", {"default": 6, "min": 1, "max": 255, "step": 1}),
"detail_dilate": ("INT", {"default": 6, "min": 1, "max": 255, "step": 1}),
- "black_point": ("FLOAT", {"default": 0.15, "min": 0.01, "max": 0.98, "step": 0.01}),
- "white_point": ("FLOAT", {"default": 0.99, "min": 0.02, "max": 0.99, "step": 0.01}),
+ "black_point": ("FLOAT", {"default": 0.15, "min": 0.01, "max": 0.98, "step": 0.01, "display": "slider"}),
+ "white_point": ("FLOAT", {"default": 0.99, "min": 0.02, "max": 0.99, "step": 0.01, "display": "slider"}),
"process_detail": ("BOOLEAN", {"default": True}),
"prompt": ("STRING", {"default": "subject"}),
},
diff --git a/py/text_join.py b/py/text_join.py
index 56c610a..02f6729 100644
--- a/py/text_join.py
+++ b/py/text_join.py
@@ -11,13 +11,13 @@ class TextJoin:
def INPUT_TYPES(cls):
return {
"required": {
- "text_1": ("STRING", {"multiline": True}),
+ "text_1": ("STRING", {"multiline": False}),
},
"optional": {
- "text_2": ("STRING", {"multiline": True}),
- "text_3": ("STRING", {"multiline": True}),
- "text_4": ("STRING", {"multiline": True}),
+ "text_2": ("STRING", {"multiline": False}),
+ "text_3": ("STRING", {"multiline": False}),
+ "text_4": ("STRING", {"multiline": False}),
}
}
diff --git a/pyproject.toml b/pyproject.toml
index 6bd68f3..971b5d8 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -1,7 +1,7 @@
[project]
name = "comfyui_layerstyle"
description = "A set of nodes for ComfyUI it generate image like Adobe Photoshop's Layer Style. the Drop Shadow is first completed node, and follow-up work is in progress."
-version = "1.0.3"
+version = "1.0.4"
license = "MIT"
dependencies = ["numpy", "pillow", "torch", "matplotlib", "Scipy", "scikit_image", "opencv-contrib-python", "pymatting", "segment_anything", "timm", "addict", "yapf", "colour-science", "wget", "mediapipe", "loguru", "typer_config", "fastapi", "rich", "google-generativeai", "diffusers", "omegaconf", "tqdm", "transformers", "kornia", "image-reward", "ultralytics", "blend_modes", "blind-watermark", "qrcode", "pyzbar", "psd-tools"]
diff --git a/workflow/image_to_mask_example.json b/workflow/image_to_mask_example.json
new file mode 100644
index 0000000..9d890e1
--- /dev/null
+++ b/workflow/image_to_mask_example.json
@@ -0,0 +1,217 @@
+{
+ "last_node_id": 4,
+ "last_link_id": 4,
+ "nodes": [
+ {
+ "id": 1,
+ "type": "LayerMask: ImageToMask",
+ "pos": [
+ 1209,
+ 483
+ ],
+ "size": {
+ "0": 315,
+ "1": 174
+ },
+ "flags": {},
+ "order": 2,
+ "mode": 0,
+ "inputs": [
+ {
+ "name": "image",
+ "type": "IMAGE",
+ "link": 1,
+ "slot_index": 0
+ },
+ {
+ "name": "mask",
+ "type": "MASK",
+ "link": 4
+ }
+ ],
+ "outputs": [
+ {
+ "name": "mask",
+ "type": "MASK",
+ "links": [
+ 2
+ ],
+ "shape": 3,
+ "slot_index": 0
+ }
+ ],
+ "properties": {
+ "Node name for S&R": "LayerMask: ImageToMask"
+ },
+ "widgets_values": [
+ "V(YUV)",
+ 18,
+ 80,
+ 1,
+ false
+ ]
+ },
+ {
+ "id": 3,
+ "type": "LayerMask: MaskPreview",
+ "pos": [
+ 1584,
+ 484
+ ],
+ "size": {
+ "0": 420.80670166015625,
+ "1": 278.8514404296875
+ },
+ "flags": {},
+ "order": 3,
+ "mode": 0,
+ "inputs": [
+ {
+ "name": "mask",
+ "type": "MASK",
+ "link": 2
+ }
+ ],
+ "properties": {
+ "Node name for S&R": "LayerMask: MaskPreview"
+ }
+ },
+ {
+ "id": 4,
+ "type": "LayerMask: RmBgUltra V2",
+ "pos": [
+ 830,
+ 618
+ ],
+ "size": {
+ "0": 315,
+ "1": 198
+ },
+ "flags": {},
+ "order": 1,
+ "mode": 0,
+ "inputs": [
+ {
+ "name": "image",
+ "type": "IMAGE",
+ "link": 3
+ }
+ ],
+ "outputs": [
+ {
+ "name": "image",
+ "type": "IMAGE",
+ "links": null,
+ "shape": 3
+ },
+ {
+ "name": "mask",
+ "type": "MASK",
+ "links": [
+ 4
+ ],
+ "shape": 3,
+ "slot_index": 1
+ }
+ ],
+ "properties": {
+ "Node name for S&R": "LayerMask: RmBgUltra V2"
+ },
+ "widgets_values": [
+ "VITMatte(local)",
+ 6,
+ 6,
+ 0.01,
+ 0.99,
+ true
+ ]
+ },
+ {
+ "id": 2,
+ "type": "LoadImage",
+ "pos": [
+ 436,
+ 482
+ ],
+ "size": [
+ 345.1379699707031,
+ 314
+ ],
+ "flags": {},
+ "order": 0,
+ "mode": 0,
+ "outputs": [
+ {
+ "name": "IMAGE",
+ "type": "IMAGE",
+ "links": [
+ 1,
+ 3
+ ],
+ "shape": 3,
+ "slot_index": 0
+ },
+ {
+ "name": "MASK",
+ "type": "MASK",
+ "links": null,
+ "shape": 3,
+ "slot_index": 1
+ }
+ ],
+ "properties": {
+ "Node name for S&R": "LoadImage"
+ },
+ "widgets_values": [
+ "1344x768_redcar (1).png",
+ "image"
+ ]
+ }
+ ],
+ "links": [
+ [
+ 1,
+ 2,
+ 0,
+ 1,
+ 0,
+ "IMAGE"
+ ],
+ [
+ 2,
+ 1,
+ 0,
+ 3,
+ 0,
+ "MASK"
+ ],
+ [
+ 3,
+ 2,
+ 0,
+ 4,
+ 0,
+ "IMAGE"
+ ],
+ [
+ 4,
+ 4,
+ 1,
+ 1,
+ 1,
+ "MASK"
+ ]
+ ],
+ "groups": [],
+ "config": {},
+ "extra": {
+ "ds": {
+ "scale": 1,
+ "offset": [
+ 36.074233874347044,
+ -23.924999965815914
+ ]
+ }
+ },
+ "version": 0.4
+}
\ No newline at end of file
diff --git a/workflow/layerstyle_all_nodes.json b/workflow/layerstyle_all_nodes.json
new file mode 100644
index 0000000..7ce4264
--- /dev/null
+++ b/workflow/layerstyle_all_nodes.json
@@ -0,0 +1,4890 @@
+{
+ "last_node_id": 156,
+ "last_link_id": 5,
+ "nodes": [
+ {
+ "id": 35,
+ "type": "LayerFilter: ChannelShake",
+ "pos": [
+ -3252.9131427184966,
+ 3615.037113813488
+ ],
+ "size": {
+ "0": 315,
+ "1": 106
+ },
+ "flags": {},
+ "order": 0,
+ "mode": 0,
+ "inputs": [
+ {
+ "name": "image",
+ "type": "IMAGE",
+ "link": null
+ }
+ ],
+ "outputs": [
+ {
+ "name": "image",
+ "type": "IMAGE",
+ "links": null,
+ "shape": 3
+ }
+ ],
+ "properties": {
+ "Node name for S&R": "LayerFilter: ChannelShake"
+ },
+ "widgets_values": [
+ 20,
+ 40,
+ "RGB"
+ ]
+ },
+ {
+ "id": 19,
+ "type": "LayerMask: MaskBoxDetect",
+ "pos": [
+ -3992.6048044594754,
+ 2650.5560768526316
+ ],
+ "size": {
+ "0": 315,
+ "1": 250
+ },
+ "flags": {},
+ "order": 1,
+ "mode": 0,
+ "inputs": [
+ {
+ "name": "mask",
+ "type": "MASK",
+ "link": null
+ }
+ ],
+ "outputs": [
+ {
+ "name": "box_preview",
+ "type": "IMAGE",
+ "links": null,
+ "shape": 3
+ },
+ {
+ "name": "x_percent",
+ "type": "FLOAT",
+ "links": null,
+ "shape": 3
+ },
+ {
+ "name": "y_percent",
+ "type": "FLOAT",
+ "links": null,
+ "shape": 3
+ },
+ {
+ "name": "width",
+ "type": "INT",
+ "links": null,
+ "shape": 3
+ },
+ {
+ "name": "height",
+ "type": "INT",
+ "links": null,
+ "shape": 3
+ },
+ {
+ "name": "x",
+ "type": "INT",
+ "links": null,
+ "shape": 3
+ },
+ {
+ "name": "y",
+ "type": "INT",
+ "links": null,
+ "shape": 3
+ }
+ ],
+ "properties": {
+ "Node name for S&R": "LayerMask: MaskBoxDetect"
+ },
+ "widgets_values": [
+ "min_bounding_rect",
+ 0,
+ 0,
+ 1
+ ]
+ },
+ {
+ "id": 20,
+ "type": "LayerFilter: GaussianBlur",
+ "pos": [
+ -3616.6539828267732,
+ 3629.6015783759854
+ ],
+ "size": {
+ "0": 315,
+ "1": 58
+ },
+ "flags": {},
+ "order": 2,
+ "mode": 0,
+ "inputs": [
+ {
+ "name": "image",
+ "type": "IMAGE",
+ "link": null
+ }
+ ],
+ "outputs": [
+ {
+ "name": "image",
+ "type": "IMAGE",
+ "links": null,
+ "shape": 3
+ }
+ ],
+ "properties": {
+ "Node name for S&R": "LayerFilter: GaussianBlur"
+ },
+ "widgets_values": [
+ 20
+ ]
+ },
+ {
+ "id": 58,
+ "type": "LayerFilter: SkinBeauty",
+ "pos": [
+ -3615.6539828267732,
+ 3760.6015783759854
+ ],
+ "size": {
+ "0": 315,
+ "1": 126
+ },
+ "flags": {},
+ "order": 3,
+ "mode": 0,
+ "inputs": [
+ {
+ "name": "image",
+ "type": "IMAGE",
+ "link": null
+ }
+ ],
+ "outputs": [
+ {
+ "name": "image",
+ "type": "IMAGE",
+ "links": null,
+ "shape": 3
+ },
+ {
+ "name": "beauty_mask",
+ "type": "MASK",
+ "links": null,
+ "shape": 3
+ }
+ ],
+ "properties": {
+ "Node name for S&R": "LayerFilter: SkinBeauty"
+ },
+ "widgets_values": [
+ 20,
+ -10,
+ 100
+ ]
+ },
+ {
+ "id": 59,
+ "type": "LayerFilter: WaterColor",
+ "pos": [
+ -3247.653982826773,
+ 3789.6015783759854
+ ],
+ "size": {
+ "0": 315,
+ "1": 82
+ },
+ "flags": {},
+ "order": 4,
+ "mode": 0,
+ "inputs": [
+ {
+ "name": "image",
+ "type": "IMAGE",
+ "link": null
+ }
+ ],
+ "outputs": [
+ {
+ "name": "image",
+ "type": "IMAGE",
+ "links": null,
+ "shape": 3
+ }
+ ],
+ "properties": {
+ "Node name for S&R": "LayerFilter: WaterColor"
+ },
+ "widgets_values": [
+ 50,
+ 100
+ ]
+ },
+ {
+ "id": 13,
+ "type": "LayerFilter: MotionBlur",
+ "pos": [
+ -3979.6539828267737,
+ 3624.6015783759854
+ ],
+ "size": {
+ "0": 315,
+ "1": 82
+ },
+ "flags": {},
+ "order": 5,
+ "mode": 0,
+ "inputs": [
+ {
+ "name": "image",
+ "type": "IMAGE",
+ "link": null
+ }
+ ],
+ "outputs": [
+ {
+ "name": "image",
+ "type": "IMAGE",
+ "links": null,
+ "shape": 3
+ }
+ ],
+ "properties": {
+ "Node name for S&R": "LayerFilter: MotionBlur"
+ },
+ "widgets_values": [
+ 0,
+ 20
+ ]
+ },
+ {
+ "id": 36,
+ "type": "LayerMask: MaskMotionBlur",
+ "pos": [
+ -3992.1815718586113,
+ 3111.8126928244315
+ ],
+ "size": {
+ "0": 315,
+ "1": 106
+ },
+ "flags": {},
+ "order": 6,
+ "mode": 0,
+ "inputs": [
+ {
+ "name": "mask",
+ "type": "MASK",
+ "link": null
+ }
+ ],
+ "outputs": [
+ {
+ "name": "mask",
+ "type": "MASK",
+ "links": null,
+ "shape": 3
+ }
+ ],
+ "properties": {
+ "Node name for S&R": "LayerMask: MaskMotionBlur"
+ },
+ "widgets_values": [
+ true,
+ 20,
+ 0
+ ]
+ },
+ {
+ "id": 37,
+ "type": "LayerFilter: SoftLight",
+ "pos": [
+ -2886.290694905618,
+ 3597.2318330716635
+ ],
+ "size": {
+ "0": 315,
+ "1": 106
+ },
+ "flags": {},
+ "order": 7,
+ "mode": 0,
+ "inputs": [
+ {
+ "name": "image",
+ "type": "IMAGE",
+ "link": null
+ }
+ ],
+ "outputs": [
+ {
+ "name": "image",
+ "type": "IMAGE",
+ "links": null,
+ "shape": 3
+ }
+ ],
+ "properties": {
+ "Node name for S&R": "LayerFilter: SoftLight"
+ },
+ "widgets_values": [
+ 1,
+ -10,
+ 100
+ ]
+ },
+ {
+ "id": 77,
+ "type": "LayerFilter: LightLeak",
+ "pos": [
+ -2887.290694905618,
+ 3751.2318330716635
+ ],
+ "size": {
+ "0": 315,
+ "1": 154
+ },
+ "flags": {},
+ "order": 8,
+ "mode": 0,
+ "inputs": [
+ {
+ "name": "image",
+ "type": "IMAGE",
+ "link": null
+ }
+ ],
+ "outputs": [
+ {
+ "name": "image",
+ "type": "IMAGE",
+ "links": null,
+ "shape": 3
+ }
+ ],
+ "properties": {
+ "Node name for S&R": "LayerFilter: LightLeak"
+ },
+ "widgets_values": [
+ "random",
+ "left_top",
+ 0,
+ 0,
+ 100
+ ]
+ },
+ {
+ "id": 57,
+ "type": "LayerFilter: ColorMap",
+ "pos": [
+ -3968.2906949056182,
+ 3770.2318330716635
+ ],
+ "size": {
+ "0": 315,
+ "1": 82
+ },
+ "flags": {},
+ "order": 9,
+ "mode": 0,
+ "inputs": [
+ {
+ "name": "image",
+ "type": "IMAGE",
+ "link": null
+ }
+ ],
+ "outputs": [
+ {
+ "name": "image",
+ "type": "IMAGE",
+ "links": null,
+ "shape": 3
+ }
+ ],
+ "properties": {
+ "Node name for S&R": "LayerFilter: ColorMap"
+ },
+ "widgets_values": [
+ "autumn",
+ 100
+ ]
+ },
+ {
+ "id": 79,
+ "type": "LayerFilter: Film",
+ "pos": [
+ -2523.290694905617,
+ 3618.2318330716635
+ ],
+ "size": {
+ "0": 315,
+ "1": 342
+ },
+ "flags": {},
+ "order": 10,
+ "mode": 0,
+ "inputs": [
+ {
+ "name": "image",
+ "type": "IMAGE",
+ "link": null
+ },
+ {
+ "name": "depth_map",
+ "type": "IMAGE",
+ "link": null
+ }
+ ],
+ "outputs": [
+ {
+ "name": "image",
+ "type": "IMAGE",
+ "links": null,
+ "shape": 3
+ }
+ ],
+ "properties": {
+ "Node name for S&R": "LayerFilter: Film"
+ },
+ "widgets_values": [
+ 0.5,
+ 0.5,
+ 1,
+ 0.5,
+ 0.15,
+ 1,
+ 0.5,
+ 0.6,
+ 0.2,
+ 90,
+ 2.2,
+ 0.9
+ ]
+ },
+ {
+ "id": 78,
+ "type": "LayerFilter: Sharp & Soft",
+ "pos": [
+ -3966.2906949056182,
+ 3925.2318330716653
+ ],
+ "size": {
+ "0": 315,
+ "1": 58
+ },
+ "flags": {},
+ "order": 11,
+ "mode": 0,
+ "inputs": [
+ {
+ "name": "images",
+ "type": "IMAGE",
+ "link": null
+ }
+ ],
+ "outputs": [
+ {
+ "name": "image",
+ "type": "IMAGE",
+ "links": null,
+ "shape": 3
+ }
+ ],
+ "properties": {
+ "Node name for S&R": "LayerFilter: Sharp & Soft"
+ },
+ "widgets_values": [
+ "very sharp"
+ ]
+ },
+ {
+ "id": 86,
+ "type": "LayerUtility: ColorImage V2",
+ "pos": [
+ -3976.4967176954938,
+ 1475.9450755754724
+ ],
+ "size": {
+ "0": 315,
+ "1": 130
+ },
+ "flags": {},
+ "order": 12,
+ "mode": 0,
+ "inputs": [
+ {
+ "name": "size_as",
+ "type": "*",
+ "link": null
+ }
+ ],
+ "outputs": [
+ {
+ "name": "image",
+ "type": "IMAGE",
+ "links": null,
+ "shape": 3
+ }
+ ],
+ "properties": {
+ "Node name for S&R": "LayerUtility: ColorImage V2"
+ },
+ "widgets_values": [
+ "custom",
+ 512,
+ 512,
+ "#000000"
+ ]
+ },
+ {
+ "id": 73,
+ "type": "LayerUtility: ImageAutoCrop",
+ "pos": [
+ -2451.496717695495,
+ 1124.9450755754726
+ ],
+ "size": {
+ "0": 426.0666198730469,
+ "1": 410
+ },
+ "flags": {},
+ "order": 13,
+ "mode": 0,
+ "inputs": [
+ {
+ "name": "image",
+ "type": "IMAGE",
+ "link": null
+ }
+ ],
+ "outputs": [
+ {
+ "name": "cropped_image",
+ "type": "IMAGE",
+ "links": null,
+ "shape": 3
+ },
+ {
+ "name": "box_preview",
+ "type": "IMAGE",
+ "links": null,
+ "shape": 3
+ },
+ {
+ "name": "cropped_mask",
+ "type": "MASK",
+ "links": null,
+ "shape": 3
+ }
+ ],
+ "properties": {
+ "Node name for S&R": "LayerUtility: ImageAutoCrop"
+ },
+ "widgets_values": [
+ "#FFFFFF",
+ "1:1",
+ 2,
+ 1,
+ true,
+ 1024,
+ "min_bounding_rect",
+ 100,
+ 0,
+ "RMBG 1.4",
+ "sam_vit_h (2.56GB)",
+ "GroundingDINO_SwinT_OGC (694MB)",
+ 0.3,
+ "subject"
+ ]
+ },
+ {
+ "id": 71,
+ "type": "LayerUtility: LayerImageTransform",
+ "pos": [
+ -2407.496717695495,
+ 1584.9450755754724
+ ],
+ "size": {
+ "0": 315,
+ "1": 226
+ },
+ "flags": {},
+ "order": 14,
+ "mode": 0,
+ "inputs": [
+ {
+ "name": "image",
+ "type": "IMAGE",
+ "link": null
+ }
+ ],
+ "outputs": [
+ {
+ "name": "image",
+ "type": "IMAGE",
+ "links": null,
+ "shape": 3
+ }
+ ],
+ "properties": {
+ "Node name for S&R": "LayerUtility: LayerImageTransform"
+ },
+ "widgets_values": [
+ 0,
+ 0,
+ "None",
+ 1,
+ 1,
+ 0,
+ "lanczos",
+ 0
+ ]
+ },
+ {
+ "id": 88,
+ "type": "LayerUtility: PromptTagger",
+ "pos": [
+ -1989.4967176954972,
+ 1130.9450755754726
+ ],
+ "size": {
+ "0": 315,
+ "1": 130
+ },
+ "flags": {},
+ "order": 15,
+ "mode": 0,
+ "inputs": [
+ {
+ "name": "image",
+ "type": "IMAGE",
+ "link": null
+ }
+ ],
+ "outputs": [
+ {
+ "name": "text",
+ "type": "STRING",
+ "links": null,
+ "shape": 3
+ }
+ ],
+ "properties": {
+ "Node name for S&R": "LayerUtility: PromptTagger"
+ },
+ "widgets_values": [
+ "gemini-pro-vision",
+ 80,
+ "",
+ ""
+ ]
+ },
+ {
+ "id": 85,
+ "type": "LayerUtility: ImageRemoveAlpha",
+ "pos": [
+ -2009.4967176954972,
+ 1963.945075575474
+ ],
+ "size": {
+ "0": 315,
+ "1": 82
+ },
+ "flags": {},
+ "order": 16,
+ "mode": 0,
+ "inputs": [
+ {
+ "name": "RGBA_image",
+ "type": "IMAGE",
+ "link": null
+ }
+ ],
+ "outputs": [
+ {
+ "name": "RGB_image",
+ "type": "IMAGE",
+ "links": null,
+ "shape": 3
+ }
+ ],
+ "properties": {
+ "Node name for S&R": "LayerUtility: ImageRemoveAlpha"
+ },
+ "widgets_values": [
+ false,
+ "#000000"
+ ]
+ },
+ {
+ "id": 84,
+ "type": "LayerUtility: ImageCombineAlpha",
+ "pos": [
+ -2002.4967176954972,
+ 1850.945075575473
+ ],
+ "size": {
+ "0": 260.3999938964844,
+ "1": 46
+ },
+ "flags": {},
+ "order": 17,
+ "mode": 0,
+ "inputs": [
+ {
+ "name": "RGB_image",
+ "type": "IMAGE",
+ "link": null
+ },
+ {
+ "name": "mask",
+ "type": "MASK",
+ "link": null
+ }
+ ],
+ "outputs": [
+ {
+ "name": "RGBA_image",
+ "type": "IMAGE",
+ "links": null,
+ "shape": 3
+ }
+ ],
+ "properties": {
+ "Node name for S&R": "LayerUtility: ImageCombineAlpha"
+ }
+ },
+ {
+ "id": 72,
+ "type": "LayerUtility: LayerMaskTransform",
+ "pos": [
+ -2022.4967176954967,
+ 1569.9450755754724
+ ],
+ "size": {
+ "0": 315,
+ "1": 226
+ },
+ "flags": {},
+ "order": 18,
+ "mode": 0,
+ "inputs": [
+ {
+ "name": "mask",
+ "type": "MASK",
+ "link": null
+ }
+ ],
+ "outputs": [
+ {
+ "name": "mask",
+ "type": "MASK",
+ "links": null,
+ "shape": 3
+ }
+ ],
+ "properties": {
+ "Node name for S&R": "LayerUtility: LayerMaskTransform"
+ },
+ "widgets_values": [
+ 0,
+ 0,
+ "None",
+ 1,
+ 1,
+ 0,
+ "lanczos",
+ 0
+ ]
+ },
+ {
+ "id": 87,
+ "type": "LayerUtility: GradientImage V2",
+ "pos": [
+ -3978.4967176954938,
+ 1696.9450755754724
+ ],
+ "size": {
+ "0": 315,
+ "1": 178
+ },
+ "flags": {},
+ "order": 19,
+ "mode": 0,
+ "inputs": [
+ {
+ "name": "size_as",
+ "type": "*",
+ "link": null
+ }
+ ],
+ "outputs": [
+ {
+ "name": "image",
+ "type": "IMAGE",
+ "links": null,
+ "shape": 3
+ }
+ ],
+ "properties": {
+ "Node name for S&R": "LayerUtility: GradientImage V2"
+ },
+ "widgets_values": [
+ "custom",
+ 512,
+ 512,
+ 0,
+ "#FFFFFF",
+ "#000000"
+ ]
+ },
+ {
+ "id": 80,
+ "type": "LayerUtility: LaMa",
+ "pos": [
+ -2404.496717695495,
+ 1872.9450755754733
+ ],
+ "size": {
+ "0": 315,
+ "1": 174
+ },
+ "flags": {},
+ "order": 20,
+ "mode": 0,
+ "inputs": [
+ {
+ "name": "image",
+ "type": "IMAGE",
+ "link": null
+ },
+ {
+ "name": "mask",
+ "type": "MASK",
+ "link": null
+ }
+ ],
+ "outputs": [
+ {
+ "name": "image",
+ "type": "IMAGE",
+ "links": null,
+ "shape": 3
+ }
+ ],
+ "properties": {
+ "Node name for S&R": "LayerUtility: LaMa"
+ },
+ "widgets_values": [
+ "lama",
+ "cuda",
+ false,
+ 25,
+ 8
+ ]
+ },
+ {
+ "id": 47,
+ "type": "LayerColor: HSV",
+ "pos": [
+ -3236.990147134852,
+ 626.2774648124082
+ ],
+ "size": {
+ "0": 315,
+ "1": 106
+ },
+ "flags": {},
+ "order": 21,
+ "mode": 0,
+ "inputs": [
+ {
+ "name": "image",
+ "type": "IMAGE",
+ "link": null
+ }
+ ],
+ "outputs": [
+ {
+ "name": "image",
+ "type": "IMAGE",
+ "links": null,
+ "shape": 3
+ }
+ ],
+ "properties": {
+ "Node name for S&R": "LayerColor: HSV"
+ },
+ "widgets_values": [
+ 0,
+ 0,
+ 0
+ ]
+ },
+ {
+ "id": 60,
+ "type": "LayerUtility: TextImage",
+ "pos": [
+ -2849.6209271136736,
+ 1591.3332585302887
+ ],
+ "size": {
+ "0": 400,
+ "1": 408.00006103515625
+ },
+ "flags": {},
+ "order": 22,
+ "mode": 0,
+ "inputs": [
+ {
+ "name": "size_as",
+ "type": "*",
+ "link": null
+ }
+ ],
+ "outputs": [
+ {
+ "name": "image",
+ "type": "IMAGE",
+ "links": null,
+ "shape": 3
+ },
+ {
+ "name": "mask",
+ "type": "MASK",
+ "links": null,
+ "shape": 3
+ }
+ ],
+ "properties": {
+ "Node name for S&R": "LayerUtility: TextImage"
+ },
+ "widgets_values": [
+ "Text",
+ "Kingsoft_Cloud_Font.ttf",
+ 0,
+ 0,
+ 5,
+ 5,
+ 80,
+ 0,
+ 1707317572,
+ "horizontal",
+ 512,
+ 512,
+ "#FFA000",
+ "#FFFFFF"
+ ]
+ },
+ {
+ "id": 53,
+ "type": "LayerUtility: ImageMaskScaleAs",
+ "pos": [
+ -2849.6209271136736,
+ 1376.3332585302887
+ ],
+ "size": {
+ "0": 315,
+ "1": 162
+ },
+ "flags": {},
+ "order": 23,
+ "mode": 0,
+ "inputs": [
+ {
+ "name": "scale_as",
+ "type": "*",
+ "link": null
+ },
+ {
+ "name": "image",
+ "type": "IMAGE",
+ "link": null
+ },
+ {
+ "name": "mask",
+ "type": "MASK",
+ "link": null
+ }
+ ],
+ "outputs": [
+ {
+ "name": "image",
+ "type": "IMAGE",
+ "links": null,
+ "shape": 3
+ },
+ {
+ "name": "mask",
+ "type": "MASK",
+ "links": null,
+ "shape": 3
+ },
+ {
+ "name": "original_size",
+ "type": "BOX",
+ "links": null,
+ "shape": 3
+ },
+ {
+ "name": "widht",
+ "type": "INT",
+ "links": null,
+ "shape": 3
+ },
+ {
+ "name": "height",
+ "type": "INT",
+ "links": null,
+ "shape": 3
+ }
+ ],
+ "properties": {
+ "Node name for S&R": "LayerUtility: ImageMaskScaleAs"
+ },
+ "widgets_values": [
+ "letterbox",
+ "lanczos"
+ ]
+ },
+ {
+ "id": 82,
+ "type": "LayerUtility: ImageScaleRestore V2",
+ "pos": [
+ -2858.6209271136736,
+ 1107.3332585302887
+ ],
+ "size": {
+ "0": 342.5999755859375,
+ "1": 210
+ },
+ "flags": {},
+ "order": 24,
+ "mode": 0,
+ "inputs": [
+ {
+ "name": "image",
+ "type": "IMAGE",
+ "link": null
+ },
+ {
+ "name": "mask",
+ "type": "MASK",
+ "link": null
+ },
+ {
+ "name": "original_size",
+ "type": "BOX",
+ "link": null
+ }
+ ],
+ "outputs": [
+ {
+ "name": "image",
+ "type": "IMAGE",
+ "links": null,
+ "shape": 3
+ },
+ {
+ "name": "mask",
+ "type": "MASK",
+ "links": null,
+ "shape": 3
+ },
+ {
+ "name": "original_size",
+ "type": "BOX",
+ "links": null,
+ "shape": 3
+ },
+ {
+ "name": "width",
+ "type": "INT",
+ "links": null,
+ "shape": 3
+ },
+ {
+ "name": "height",
+ "type": "INT",
+ "links": null,
+ "shape": 3
+ }
+ ],
+ "properties": {
+ "Node name for S&R": "LayerUtility: ImageScaleRestore V2"
+ },
+ "widgets_values": [
+ 1,
+ "lanczos",
+ "by_scale",
+ 1024
+ ]
+ },
+ {
+ "id": 22,
+ "type": "LayerUtility: GetColorTone",
+ "pos": [
+ -3976.620927113673,
+ 1328.3332585302887
+ ],
+ "size": {
+ "0": 315,
+ "1": 78
+ },
+ "flags": {},
+ "order": 25,
+ "mode": 0,
+ "inputs": [
+ {
+ "name": "image",
+ "type": "IMAGE",
+ "link": null
+ }
+ ],
+ "outputs": [
+ {
+ "name": "RGB color in HEX",
+ "type": "STRING",
+ "links": null,
+ "shape": 3
+ },
+ {
+ "name": "HSV color in list",
+ "type": "LIST",
+ "links": null,
+ "shape": 3
+ }
+ ],
+ "properties": {
+ "Node name for S&R": "LayerUtility: GetColorTone"
+ },
+ "widgets_values": [
+ "main_color"
+ ]
+ },
+ {
+ "id": 122,
+ "type": "LayerUtility: ImageBlend V2",
+ "pos": [
+ -3973.620927113673,
+ 1120.3332585302887
+ ],
+ "size": {
+ "0": 315,
+ "1": 146
+ },
+ "flags": {},
+ "order": 26,
+ "mode": 0,
+ "inputs": [
+ {
+ "name": "background_image",
+ "type": "IMAGE",
+ "link": null
+ },
+ {
+ "name": "layer_image",
+ "type": "IMAGE",
+ "link": null
+ },
+ {
+ "name": "layer_mask",
+ "type": "MASK",
+ "link": null
+ }
+ ],
+ "outputs": [
+ {
+ "name": "image",
+ "type": "IMAGE",
+ "links": null,
+ "shape": 3
+ }
+ ],
+ "properties": {
+ "Node name for S&R": "LayerUtility: ImageBlend V2"
+ },
+ "widgets_values": [
+ true,
+ "normal",
+ 100
+ ]
+ },
+ {
+ "id": 114,
+ "type": "LayerUtility: PromptEmbellish",
+ "pos": [
+ -1976.6209271136752,
+ 1330.3332585302887
+ ],
+ "size": {
+ "0": 304.84375,
+ "1": 133.19407653808594
+ },
+ "flags": {},
+ "order": 27,
+ "mode": 0,
+ "inputs": [
+ {
+ "name": "image",
+ "type": "IMAGE",
+ "link": null
+ }
+ ],
+ "outputs": [
+ {
+ "name": "text",
+ "type": "STRING",
+ "links": null,
+ "shape": 3
+ }
+ ],
+ "properties": {
+ "Node name for S&R": "LayerUtility: PromptEmbellish"
+ },
+ "widgets_values": [
+ "google-gemini",
+ 40,
+ ""
+ ]
+ },
+ {
+ "id": 135,
+ "type": "LayerMask: SegmentAnythingUltra V2",
+ "pos": [
+ -3268.609447038326,
+ 2918.075849291451
+ ],
+ "size": {
+ "0": 315,
+ "1": 294
+ },
+ "flags": {},
+ "order": 28,
+ "mode": 0,
+ "inputs": [
+ {
+ "name": "image",
+ "type": "IMAGE",
+ "link": null
+ }
+ ],
+ "outputs": [
+ {
+ "name": "image",
+ "type": "IMAGE",
+ "links": null,
+ "shape": 3
+ },
+ {
+ "name": "mask",
+ "type": "MASK",
+ "links": null,
+ "shape": 3
+ }
+ ],
+ "properties": {
+ "Node name for S&R": "LayerMask: SegmentAnythingUltra V2"
+ },
+ "widgets_values": [
+ "sam_vit_h (2.56GB)",
+ "GroundingDINO_SwinT_OGC (694MB)",
+ 0.3,
+ "VITMatte",
+ 6,
+ 6,
+ 0.15,
+ 0.99,
+ true,
+ "subject"
+ ]
+ },
+ {
+ "id": 138,
+ "type": "LayerFilter: HDREffects",
+ "pos": [
+ -2161.385199876591,
+ 3627.224400345973
+ ],
+ "size": {
+ "0": 315,
+ "1": 178
+ },
+ "flags": {},
+ "order": 29,
+ "mode": 0,
+ "inputs": [
+ {
+ "name": "image",
+ "type": "IMAGE",
+ "link": null
+ }
+ ],
+ "outputs": [
+ {
+ "name": "image",
+ "type": "IMAGE",
+ "links": null,
+ "shape": 3
+ }
+ ],
+ "properties": {
+ "Node name for S&R": "LayerFilter: HDREffects"
+ },
+ "widgets_values": [
+ 0.5,
+ 0.25,
+ 0.75,
+ 0.25,
+ 0.1,
+ 0.25
+ ]
+ },
+ {
+ "id": 49,
+ "type": "LayerColor: LUT Apply",
+ "pos": [
+ -3980.974169487287,
+ 597.1791490436375
+ ],
+ "size": {
+ "0": 315,
+ "1": 82
+ },
+ "flags": {},
+ "order": 30,
+ "mode": 0,
+ "inputs": [
+ {
+ "name": "image",
+ "type": "IMAGE",
+ "link": null
+ }
+ ],
+ "outputs": [
+ {
+ "name": "image",
+ "type": "IMAGE",
+ "links": null,
+ "shape": 3
+ }
+ ],
+ "properties": {
+ "Node name for S&R": "LayerColor: LUT Apply"
+ },
+ "widgets_values": [
+ "BlueArchitecture.cube",
+ "linear"
+ ]
+ },
+ {
+ "id": 50,
+ "type": "LayerColor: RGB",
+ "pos": [
+ -3988.974169487287,
+ 755.1791490436375
+ ],
+ "size": {
+ "0": 315,
+ "1": 106
+ },
+ "flags": {},
+ "order": 31,
+ "mode": 0,
+ "inputs": [
+ {
+ "name": "image",
+ "type": "IMAGE",
+ "link": null
+ }
+ ],
+ "outputs": [
+ {
+ "name": "image",
+ "type": "IMAGE",
+ "links": null,
+ "shape": 3
+ }
+ ],
+ "properties": {
+ "Node name for S&R": "LayerColor: RGB"
+ },
+ "widgets_values": [
+ 0,
+ 0,
+ 0
+ ]
+ },
+ {
+ "id": 97,
+ "type": "LayerColor: AutoBrightness",
+ "pos": [
+ -3613.974169487286,
+ 615.1791490436375
+ ],
+ "size": {
+ "0": 315,
+ "1": 102
+ },
+ "flags": {},
+ "order": 32,
+ "mode": 0,
+ "inputs": [
+ {
+ "name": "image",
+ "type": "IMAGE",
+ "link": null
+ },
+ {
+ "name": "mask",
+ "type": "MASK",
+ "link": null
+ }
+ ],
+ "outputs": [
+ {
+ "name": "image",
+ "type": "IMAGE",
+ "links": null,
+ "shape": 3
+ }
+ ],
+ "properties": {
+ "Node name for S&R": "LayerColor: AutoBrightness"
+ },
+ "widgets_values": [
+ 75,
+ 8
+ ]
+ },
+ {
+ "id": 98,
+ "type": "LayerColor: ColorBalance",
+ "pos": [
+ -2516.974169487284,
+ 723.1791490436376
+ ],
+ "size": {
+ "0": 315,
+ "1": 106
+ },
+ "flags": {},
+ "order": 33,
+ "mode": 0,
+ "inputs": [
+ {
+ "name": "image",
+ "type": "IMAGE",
+ "link": null
+ }
+ ],
+ "outputs": [
+ {
+ "name": "image",
+ "type": "IMAGE",
+ "links": null,
+ "shape": 3
+ }
+ ],
+ "properties": {
+ "Node name for S&R": "LayerColor: ColorBalance"
+ },
+ "widgets_values": [
+ 0,
+ 0,
+ 0
+ ]
+ },
+ {
+ "id": 101,
+ "type": "LayerColor: Color of Shadow & Highlight",
+ "pos": [
+ -2152.9741694872846,
+ 455.17914904363766
+ ],
+ "size": {
+ "0": 327.6000061035156,
+ "1": 294
+ },
+ "flags": {},
+ "order": 34,
+ "mode": 0,
+ "inputs": [
+ {
+ "name": "image",
+ "type": "IMAGE",
+ "link": null
+ },
+ {
+ "name": "mask",
+ "type": "MASK",
+ "link": null
+ }
+ ],
+ "outputs": [
+ {
+ "name": "image",
+ "type": "IMAGE",
+ "links": null,
+ "shape": 3
+ }
+ ],
+ "properties": {
+ "Node name for S&R": "LayerColor: Color of Shadow & Highlight"
+ },
+ "widgets_values": [
+ 1,
+ 1,
+ 0,
+ 0,
+ 0.25,
+ 1,
+ 1,
+ 0,
+ 0,
+ 0.25
+ ]
+ },
+ {
+ "id": 44,
+ "type": "LayerColor: ColorAdapter",
+ "pos": [
+ -3240.9741694872855,
+ 785.1791490436375
+ ],
+ "size": {
+ "0": 315,
+ "1": 78
+ },
+ "flags": {},
+ "order": 35,
+ "mode": 0,
+ "inputs": [
+ {
+ "name": "image",
+ "type": "IMAGE",
+ "link": null
+ },
+ {
+ "name": "color_ref_image",
+ "type": "IMAGE",
+ "link": null
+ }
+ ],
+ "outputs": [
+ {
+ "name": "image",
+ "type": "IMAGE",
+ "links": null,
+ "shape": 3
+ }
+ ],
+ "properties": {
+ "Node name for S&R": "LayerColor: ColorAdapter"
+ },
+ "widgets_values": [
+ 75
+ ]
+ },
+ {
+ "id": 89,
+ "type": "LayerStyle: ColorOverlay V2",
+ "pos": [
+ -3942.646993690912,
+ -388.3132825003091
+ ],
+ "size": {
+ "0": 315,
+ "1": 170
+ },
+ "flags": {},
+ "order": 36,
+ "mode": 0,
+ "inputs": [
+ {
+ "name": "background_image",
+ "type": "IMAGE",
+ "link": null
+ },
+ {
+ "name": "layer_image",
+ "type": "IMAGE",
+ "link": null
+ },
+ {
+ "name": "layer_mask",
+ "type": "MASK",
+ "link": null
+ }
+ ],
+ "outputs": [
+ {
+ "name": "image",
+ "type": "IMAGE",
+ "links": null,
+ "shape": 3
+ }
+ ],
+ "properties": {
+ "Node name for S&R": "LayerStyle: ColorOverlay V2"
+ },
+ "widgets_values": [
+ true,
+ "normal",
+ 100,
+ "#FFBF30"
+ ]
+ },
+ {
+ "id": 90,
+ "type": "LayerStyle: DropShadow V2",
+ "pos": [
+ -3942.646993690912,
+ -88.31328250030909
+ ],
+ "size": {
+ "0": 315,
+ "1": 266
+ },
+ "flags": {},
+ "order": 37,
+ "mode": 0,
+ "inputs": [
+ {
+ "name": "background_image",
+ "type": "IMAGE",
+ "link": null
+ },
+ {
+ "name": "layer_image",
+ "type": "IMAGE",
+ "link": null
+ },
+ {
+ "name": "layer_mask",
+ "type": "MASK",
+ "link": null
+ }
+ ],
+ "outputs": [
+ {
+ "name": "image",
+ "type": "IMAGE",
+ "links": null,
+ "shape": 3
+ }
+ ],
+ "properties": {
+ "Node name for S&R": "LayerStyle: DropShadow V2"
+ },
+ "widgets_values": [
+ true,
+ "normal",
+ 50,
+ 25,
+ 25,
+ 6,
+ 18,
+ "#000000"
+ ]
+ },
+ {
+ "id": 95,
+ "type": "LayerStyle: Stroke V2",
+ "pos": [
+ -3102.6469936909125,
+ -58.31328250030909
+ ],
+ "size": {
+ "0": 315,
+ "1": 242
+ },
+ "flags": {},
+ "order": 38,
+ "mode": 0,
+ "inputs": [
+ {
+ "name": "background_image",
+ "type": "IMAGE",
+ "link": null
+ },
+ {
+ "name": "layer_image",
+ "type": "IMAGE",
+ "link": null
+ },
+ {
+ "name": "layer_mask",
+ "type": "MASK",
+ "link": null
+ }
+ ],
+ "outputs": [
+ {
+ "name": "image",
+ "type": "IMAGE",
+ "links": null,
+ "shape": 3
+ }
+ ],
+ "properties": {
+ "Node name for S&R": "LayerStyle: Stroke V2"
+ },
+ "widgets_values": [
+ true,
+ "normal",
+ 100,
+ 0,
+ 8,
+ 0,
+ "#FF0000"
+ ]
+ },
+ {
+ "id": 92,
+ "type": "LayerStyle: InnerGlow V2",
+ "pos": [
+ -3092.6469936909125,
+ -398.31328250030936
+ ],
+ "size": {
+ "0": 315,
+ "1": 266
+ },
+ "flags": {},
+ "order": 39,
+ "mode": 0,
+ "inputs": [
+ {
+ "name": "background_image",
+ "type": "IMAGE",
+ "link": null
+ },
+ {
+ "name": "layer_image",
+ "type": "IMAGE",
+ "link": null
+ },
+ {
+ "name": "layer_mask",
+ "type": "MASK",
+ "link": null
+ }
+ ],
+ "outputs": [
+ {
+ "name": "image",
+ "type": "IMAGE",
+ "links": null,
+ "shape": 3
+ }
+ ],
+ "properties": {
+ "Node name for S&R": "LayerStyle: InnerGlow V2"
+ },
+ "widgets_values": [
+ true,
+ "screen",
+ 100,
+ 5,
+ 48,
+ 25,
+ "#FFBF30",
+ "#FE0000"
+ ]
+ },
+ {
+ "id": 91,
+ "type": "LayerStyle: GradientOverlay V2",
+ "pos": [
+ -3532.6469936909116,
+ -398.31328250030936
+ ],
+ "size": {
+ "0": 315,
+ "1": 266
+ },
+ "flags": {},
+ "order": 40,
+ "mode": 0,
+ "inputs": [
+ {
+ "name": "background_image",
+ "type": "IMAGE",
+ "link": null
+ },
+ {
+ "name": "layer_image",
+ "type": "IMAGE",
+ "link": null
+ },
+ {
+ "name": "layer_mask",
+ "type": "MASK",
+ "link": null
+ }
+ ],
+ "outputs": [
+ {
+ "name": "image",
+ "type": "IMAGE",
+ "links": null,
+ "shape": 3
+ }
+ ],
+ "properties": {
+ "Node name for S&R": "LayerStyle: GradientOverlay V2"
+ },
+ "widgets_values": [
+ true,
+ "normal",
+ 100,
+ "#FFBF30",
+ 255,
+ "#FE0000",
+ 255,
+ 0
+ ]
+ },
+ {
+ "id": 94,
+ "type": "LayerStyle: OuterGlow V2",
+ "pos": [
+ -3532.6469936909116,
+ -63.31328250030905
+ ],
+ "size": {
+ "0": 315,
+ "1": 266
+ },
+ "flags": {},
+ "order": 41,
+ "mode": 0,
+ "inputs": [
+ {
+ "name": "background_image",
+ "type": "IMAGE",
+ "link": null
+ },
+ {
+ "name": "layer_image",
+ "type": "IMAGE",
+ "link": null
+ },
+ {
+ "name": "layer_mask",
+ "type": "MASK",
+ "link": null
+ }
+ ],
+ "outputs": [
+ {
+ "name": "image",
+ "type": "IMAGE",
+ "links": null,
+ "shape": 3
+ }
+ ],
+ "properties": {
+ "Node name for S&R": "LayerStyle: OuterGlow V2"
+ },
+ "widgets_values": [
+ true,
+ "screen",
+ 100,
+ 5,
+ 48,
+ 25,
+ "#FFBF30",
+ "#FE0000"
+ ]
+ },
+ {
+ "id": 10,
+ "type": "LayerUtility: ColorPicker",
+ "pos": [
+ -1628.7867504583176,
+ 1137.1416209071645
+ ],
+ "size": {
+ "0": 210,
+ "1": 94
+ },
+ "flags": {},
+ "order": 42,
+ "mode": 0,
+ "inputs": [
+ {
+ "name": "color",
+ "type": "COLOR",
+ "link": null
+ }
+ ],
+ "outputs": [
+ {
+ "name": "value",
+ "type": "STRING",
+ "links": null,
+ "shape": 3
+ }
+ ],
+ "properties": {
+ "Node name for S&R": "LayerUtility: ColorPicker"
+ },
+ "widgets_values": [
+ "#ffffff",
+ "HEX"
+ ]
+ },
+ {
+ "id": 93,
+ "type": "LayerStyle: InnerShadow V2",
+ "pos": [
+ -2672.6469936909125,
+ -388.3132825003091
+ ],
+ "size": {
+ "0": 315,
+ "1": 266
+ },
+ "flags": {},
+ "order": 43,
+ "mode": 0,
+ "inputs": [
+ {
+ "name": "background_image",
+ "type": "IMAGE",
+ "link": null
+ },
+ {
+ "name": "layer_image",
+ "type": "IMAGE",
+ "link": null
+ },
+ {
+ "name": "layer_mask",
+ "type": "MASK",
+ "link": null
+ }
+ ],
+ "outputs": [
+ {
+ "name": "image",
+ "type": "IMAGE",
+ "links": null,
+ "shape": 3
+ }
+ ],
+ "properties": {
+ "Node name for S&R": "LayerStyle: InnerShadow V2"
+ },
+ "widgets_values": [
+ true,
+ "normal",
+ 35,
+ 5,
+ 5,
+ 2,
+ 15,
+ "#000000"
+ ]
+ },
+ {
+ "id": 46,
+ "type": "LayerColor: Gamma",
+ "pos": [
+ -3979.9901471348526,
+ 474.27746481240837
+ ],
+ "size": {
+ "0": 315,
+ "1": 58
+ },
+ "flags": {},
+ "order": 44,
+ "mode": 0,
+ "inputs": [
+ {
+ "name": "image",
+ "type": "IMAGE",
+ "link": null
+ }
+ ],
+ "outputs": [
+ {
+ "name": "image",
+ "type": "IMAGE",
+ "links": null,
+ "shape": 3
+ }
+ ],
+ "properties": {
+ "Node name for S&R": "LayerColor: Gamma"
+ },
+ "widgets_values": [
+ 1
+ ]
+ },
+ {
+ "id": 45,
+ "type": "LayerColor: Brightness & Contrast",
+ "pos": [
+ -3607.990147134852,
+ 465.27746481240837
+ ],
+ "size": {
+ "0": 315,
+ "1": 106
+ },
+ "flags": {},
+ "order": 45,
+ "mode": 0,
+ "inputs": [
+ {
+ "name": "image",
+ "type": "IMAGE",
+ "link": null
+ }
+ ],
+ "outputs": [
+ {
+ "name": "image",
+ "type": "IMAGE",
+ "links": null,
+ "shape": 3
+ }
+ ],
+ "properties": {
+ "Node name for S&R": "LayerColor: Brightness & Contrast"
+ },
+ "widgets_values": [
+ 1,
+ 1,
+ 1
+ ]
+ },
+ {
+ "id": 65,
+ "type": "LayerColor: Exposure",
+ "pos": [
+ -3616.974169487286,
+ 782.1791490436375
+ ],
+ "size": {
+ "0": 315,
+ "1": 58
+ },
+ "flags": {},
+ "order": 46,
+ "mode": 0,
+ "inputs": [
+ {
+ "name": "image",
+ "type": "IMAGE",
+ "link": null
+ }
+ ],
+ "outputs": [
+ {
+ "name": "image",
+ "type": "IMAGE",
+ "links": null,
+ "shape": 3
+ }
+ ],
+ "properties": {
+ "Node name for S&R": "LayerColor: Exposure"
+ },
+ "widgets_values": [
+ -5
+ ]
+ },
+ {
+ "id": 139,
+ "type": "LayerColor: YUV",
+ "pos": [
+ -3237.303971047696,
+ 468.1864281175174
+ ],
+ "size": {
+ "0": 315,
+ "1": 106
+ },
+ "flags": {},
+ "order": 47,
+ "mode": 0,
+ "inputs": [
+ {
+ "name": "image",
+ "type": "IMAGE",
+ "link": null
+ }
+ ],
+ "outputs": [
+ {
+ "name": "image",
+ "type": "IMAGE",
+ "links": null,
+ "shape": 3
+ }
+ ],
+ "properties": {
+ "Node name for S&R": "LayerColor: YUV"
+ },
+ "widgets_values": [
+ 0,
+ 0,
+ 0
+ ]
+ },
+ {
+ "id": 99,
+ "type": "LayerColor: ColorTemperature",
+ "pos": [
+ -2149.9359513099753,
+ 802.5993359498291
+ ],
+ "size": {
+ "0": 315,
+ "1": 58
+ },
+ "flags": {},
+ "order": 48,
+ "mode": 0,
+ "inputs": [
+ {
+ "name": "image",
+ "type": "IMAGE",
+ "link": null
+ }
+ ],
+ "outputs": [
+ {
+ "name": "image",
+ "type": "IMAGE",
+ "links": null,
+ "shape": 3
+ }
+ ],
+ "properties": {
+ "Node name for S&R": "LayerColor: ColorTemperature"
+ },
+ "widgets_values": [
+ -44
+ ]
+ },
+ {
+ "id": 48,
+ "type": "LayerColor: LAB",
+ "pos": [
+ -2874.3039710476965,
+ 467.1864281175174
+ ],
+ "size": {
+ "0": 315,
+ "1": 106
+ },
+ "flags": {},
+ "order": 49,
+ "mode": 0,
+ "inputs": [
+ {
+ "name": "image",
+ "type": "IMAGE",
+ "link": null
+ }
+ ],
+ "outputs": [
+ {
+ "name": "image",
+ "type": "IMAGE",
+ "links": null,
+ "shape": 3
+ }
+ ],
+ "properties": {
+ "Node name for S&R": "LayerColor: LAB"
+ },
+ "widgets_values": [
+ 1,
+ 1,
+ 0
+ ]
+ },
+ {
+ "id": 96,
+ "type": "LayerColor: AutoAdjust",
+ "pos": [
+ -2515.974169487284,
+ 458.17914904363766
+ ],
+ "size": {
+ "0": 315,
+ "1": 202
+ },
+ "flags": {},
+ "order": 50,
+ "mode": 0,
+ "inputs": [
+ {
+ "name": "image",
+ "type": "IMAGE",
+ "link": null
+ }
+ ],
+ "outputs": [
+ {
+ "name": "image",
+ "type": "IMAGE",
+ "links": null,
+ "shape": 3
+ }
+ ],
+ "properties": {
+ "Node name for S&R": "LayerColor: AutoAdjust"
+ },
+ "widgets_values": [
+ 100,
+ -14,
+ 24,
+ -21,
+ 33,
+ 28,
+ -12
+ ]
+ },
+ {
+ "id": 12,
+ "type": "LayerMask: MaskPreview",
+ "pos": [
+ -3962.184434678819,
+ 2963.184828016494
+ ],
+ "size": {
+ "0": 247.42562866210938,
+ "1": 83.5252456665039
+ },
+ "flags": {},
+ "order": 51,
+ "mode": 0,
+ "inputs": [
+ {
+ "name": "mask",
+ "type": "MASK",
+ "link": null
+ }
+ ],
+ "properties": {
+ "Node name for S&R": "LayerMask: MaskPreview"
+ }
+ },
+ {
+ "id": 27,
+ "type": "LayerMask: MaskGrow",
+ "pos": [
+ -3997.184434678819,
+ 3277.184828016494
+ ],
+ "size": {
+ "0": 315,
+ "1": 106
+ },
+ "flags": {},
+ "order": 52,
+ "mode": 0,
+ "inputs": [
+ {
+ "name": "mask",
+ "type": "MASK",
+ "link": null
+ }
+ ],
+ "outputs": [
+ {
+ "name": "mask",
+ "type": "MASK",
+ "links": null,
+ "shape": 3
+ }
+ ],
+ "properties": {
+ "Node name for S&R": "LayerMask: MaskGrow"
+ },
+ "widgets_values": [
+ true,
+ 4,
+ 4
+ ]
+ },
+ {
+ "id": 64,
+ "type": "LayerMask: MaskStroke",
+ "pos": [
+ -3649.184434678819,
+ 2668.184828016494
+ ],
+ "size": {
+ "0": 315,
+ "1": 130
+ },
+ "flags": {},
+ "order": 53,
+ "mode": 0,
+ "inputs": [
+ {
+ "name": "mask",
+ "type": "MASK",
+ "link": null
+ }
+ ],
+ "outputs": [
+ {
+ "name": "mask",
+ "type": "MASK",
+ "links": null,
+ "shape": 3
+ }
+ ],
+ "properties": {
+ "Node name for S&R": "LayerMask: MaskStroke"
+ },
+ "widgets_values": [
+ true,
+ 0,
+ 20,
+ 6
+ ]
+ },
+ {
+ "id": 25,
+ "type": "LayerMask: MaskEdgeShrink",
+ "pos": [
+ -3658.184434678819,
+ 2855.184828016494
+ ],
+ "size": {
+ "0": 315,
+ "1": 154
+ },
+ "flags": {},
+ "order": 54,
+ "mode": 0,
+ "inputs": [
+ {
+ "name": "mask",
+ "type": "MASK",
+ "link": null
+ }
+ ],
+ "outputs": [
+ {
+ "name": "mask",
+ "type": "MASK",
+ "links": null,
+ "shape": 3
+ }
+ ],
+ "properties": {
+ "Node name for S&R": "LayerMask: MaskEdgeShrink"
+ },
+ "widgets_values": [
+ true,
+ 4,
+ 6,
+ 1,
+ 25
+ ]
+ },
+ {
+ "id": 70,
+ "type": "LayerMask: CreateGradientMask",
+ "pos": [
+ -3656.184434678819,
+ 3072.184828016494
+ ],
+ "size": {
+ "0": 315,
+ "1": 178
+ },
+ "flags": {},
+ "order": 55,
+ "mode": 0,
+ "inputs": [
+ {
+ "name": "size_as",
+ "type": "*",
+ "link": null
+ }
+ ],
+ "outputs": [
+ {
+ "name": "mask",
+ "type": "MASK",
+ "links": null,
+ "shape": 3
+ }
+ ],
+ "properties": {
+ "Node name for S&R": "LayerMask: CreateGradientMask"
+ },
+ "widgets_values": [
+ 512,
+ 512,
+ "bottom",
+ 100,
+ 0,
+ 100
+ ]
+ },
+ {
+ "id": 11,
+ "type": "LayerMask: MaskInvert",
+ "pos": [
+ -3595.184434678819,
+ 3327.184828016494
+ ],
+ "size": {
+ "0": 210,
+ "1": 26
+ },
+ "flags": {},
+ "order": 56,
+ "mode": 0,
+ "inputs": [
+ {
+ "name": "mask",
+ "type": "MASK",
+ "link": null
+ }
+ ],
+ "outputs": [
+ {
+ "name": "mask",
+ "type": "MASK",
+ "links": null,
+ "shape": 3
+ }
+ ],
+ "properties": {
+ "Node name for S&R": "LayerMask: MaskInvert"
+ }
+ },
+ {
+ "id": 63,
+ "type": "LayerMask: PixelSpread",
+ "pos": [
+ -3281.184434678819,
+ 3280.184828016494
+ ],
+ "size": {
+ "0": 315,
+ "1": 102
+ },
+ "flags": {},
+ "order": 57,
+ "mode": 0,
+ "inputs": [
+ {
+ "name": "image",
+ "type": "IMAGE",
+ "link": null
+ },
+ {
+ "name": "mask",
+ "type": "MASK",
+ "link": null
+ }
+ ],
+ "outputs": [
+ {
+ "name": "image",
+ "type": "IMAGE",
+ "links": null,
+ "shape": 3
+ }
+ ],
+ "properties": {
+ "Node name for S&R": "LayerMask: PixelSpread"
+ },
+ "widgets_values": [
+ false,
+ 0
+ ]
+ },
+ {
+ "id": 132,
+ "type": "LayerMask: MaskEdgeUltraDetail V2",
+ "pos": [
+ -2912.184434678819,
+ 2670.184828016494
+ ],
+ "size": {
+ "0": 315,
+ "1": 246
+ },
+ "flags": {},
+ "order": 58,
+ "mode": 0,
+ "inputs": [
+ {
+ "name": "image",
+ "type": "IMAGE",
+ "link": null
+ },
+ {
+ "name": "mask",
+ "type": "MASK",
+ "link": null
+ }
+ ],
+ "outputs": [
+ {
+ "name": "image",
+ "type": "IMAGE",
+ "links": null,
+ "shape": 3
+ },
+ {
+ "name": "mask",
+ "type": "MASK",
+ "links": null,
+ "shape": 3
+ }
+ ],
+ "properties": {
+ "Node name for S&R": "LayerMask: MaskEdgeUltraDetail V2"
+ },
+ "widgets_values": [
+ "VITMatte",
+ 0,
+ 0,
+ 0.75,
+ 6,
+ 6,
+ 0.01,
+ 0.99
+ ]
+ },
+ {
+ "id": 69,
+ "type": "LayerMask: MaskByDifferent",
+ "pos": [
+ -2913.184434678819,
+ 2992.184828016494
+ ],
+ "size": {
+ "0": 315,
+ "1": 150
+ },
+ "flags": {},
+ "order": 59,
+ "mode": 0,
+ "inputs": [
+ {
+ "name": "image_1",
+ "type": "IMAGE",
+ "link": null
+ },
+ {
+ "name": "image_2",
+ "type": "IMAGE",
+ "link": null
+ }
+ ],
+ "outputs": [
+ {
+ "name": "mask",
+ "type": "MASK",
+ "links": null,
+ "shape": 3
+ }
+ ],
+ "properties": {
+ "Node name for S&R": "LayerMask: MaskByDifferent"
+ },
+ "widgets_values": [
+ 1.5,
+ 4,
+ 0.75,
+ false
+ ]
+ },
+ {
+ "id": 26,
+ "type": "LayerMask: MaskGradient",
+ "pos": [
+ -2916.184434678819,
+ 3223.184828016494
+ ],
+ "size": {
+ "0": 315,
+ "1": 154
+ },
+ "flags": {},
+ "order": 60,
+ "mode": 0,
+ "inputs": [
+ {
+ "name": "mask",
+ "type": "MASK",
+ "link": null
+ }
+ ],
+ "outputs": [
+ {
+ "name": "mask",
+ "type": "MASK",
+ "links": null,
+ "shape": 3
+ }
+ ],
+ "properties": {
+ "Node name for S&R": "LayerMask: MaskGradient"
+ },
+ "widgets_values": [
+ true,
+ "top",
+ 100,
+ 0,
+ 100
+ ]
+ },
+ {
+ "id": 133,
+ "type": "LayerMask: PersonMaskUltra V2",
+ "pos": [
+ -2529.184434678819,
+ 2680.184828016494
+ ],
+ "size": {
+ "0": 315,
+ "1": 366
+ },
+ "flags": {},
+ "order": 61,
+ "mode": 0,
+ "inputs": [
+ {
+ "name": "images",
+ "type": "IMAGE",
+ "link": null
+ }
+ ],
+ "outputs": [
+ {
+ "name": "image",
+ "type": "IMAGE",
+ "links": null,
+ "shape": 3
+ },
+ {
+ "name": "mask",
+ "type": "MASK",
+ "links": null,
+ "shape": 3
+ }
+ ],
+ "properties": {
+ "Node name for S&R": "LayerMask: PersonMaskUltra V2"
+ },
+ "widgets_values": [
+ true,
+ false,
+ false,
+ false,
+ false,
+ false,
+ 0.4,
+ "VITMatte",
+ 6,
+ 6,
+ 0.01,
+ 0.99,
+ true
+ ]
+ },
+ {
+ "id": 128,
+ "type": "LayerMask: BiRefNetUltra",
+ "pos": [
+ -2529.184434678819,
+ 3127.184828016494
+ ],
+ "size": {
+ "0": 315,
+ "1": 198
+ },
+ "flags": {},
+ "order": 62,
+ "mode": 0,
+ "inputs": [
+ {
+ "name": "image",
+ "type": "IMAGE",
+ "link": null
+ }
+ ],
+ "outputs": [
+ {
+ "name": "image",
+ "type": "IMAGE",
+ "links": null,
+ "shape": 3
+ },
+ {
+ "name": "mask",
+ "type": "MASK",
+ "links": null,
+ "shape": 3
+ }
+ ],
+ "properties": {
+ "Node name for S&R": "LayerMask: BiRefNetUltra"
+ },
+ "widgets_values": [
+ "VITMatte",
+ 6,
+ 6,
+ 0.01,
+ 0.99,
+ true
+ ]
+ },
+ {
+ "id": 129,
+ "type": "LayerMask: BlendIf Mask",
+ "pos": [
+ -2157.184434678819,
+ 3156.184828016494
+ ],
+ "size": {
+ "0": 315,
+ "1": 198
+ },
+ "flags": {},
+ "order": 63,
+ "mode": 0,
+ "inputs": [
+ {
+ "name": "image",
+ "type": "IMAGE",
+ "link": null
+ },
+ {
+ "name": "mask",
+ "type": "MASK",
+ "link": null
+ }
+ ],
+ "outputs": [
+ {
+ "name": "mask",
+ "type": "MASK",
+ "links": null,
+ "shape": 3
+ }
+ ],
+ "properties": {
+ "Node name for S&R": "LayerMask: BlendIf Mask"
+ },
+ "widgets_values": [
+ true,
+ "gray",
+ 0,
+ 0,
+ 255,
+ 0
+ ]
+ },
+ {
+ "id": 136,
+ "type": "LayerMask: Shadow & Highlight Mask",
+ "pos": [
+ -2148.184434678819,
+ 2929.184828016494
+ ],
+ "size": {
+ "0": 315,
+ "1": 150
+ },
+ "flags": {},
+ "order": 64,
+ "mode": 0,
+ "inputs": [
+ {
+ "name": "image",
+ "type": "IMAGE",
+ "link": null
+ },
+ {
+ "name": "mask",
+ "type": "MASK",
+ "link": null
+ }
+ ],
+ "outputs": [
+ {
+ "name": "shadow_mask",
+ "type": "MASK",
+ "links": null,
+ "shape": 3
+ },
+ {
+ "name": "highlight_mask",
+ "type": "MASK",
+ "links": null,
+ "shape": 3
+ }
+ ],
+ "properties": {
+ "Node name for S&R": "LayerMask: Shadow & Highlight Mask"
+ },
+ "widgets_values": [
+ 0,
+ 0.25,
+ 0,
+ 0.25
+ ]
+ },
+ {
+ "id": 144,
+ "type": "LayerMask: MaskByColor",
+ "pos": [
+ -1765.1844346788198,
+ 2668.184828016494
+ ],
+ "size": {
+ "0": 262.9359130859375,
+ "1": 210
+ },
+ "flags": {},
+ "order": 65,
+ "mode": 0,
+ "inputs": [
+ {
+ "name": "image",
+ "type": "IMAGE",
+ "link": null
+ },
+ {
+ "name": "mask",
+ "type": "MASK",
+ "link": null
+ }
+ ],
+ "outputs": [
+ {
+ "name": "mask",
+ "type": "MASK",
+ "links": null,
+ "shape": 3
+ }
+ ],
+ "properties": {
+ "Node name for S&R": "LayerMask: MaskByColor"
+ },
+ "widgets_values": [
+ "#FFFFFF",
+ "",
+ 0,
+ 2,
+ 0.75,
+ false
+ ]
+ },
+ {
+ "id": 141,
+ "type": "LayerMask: ImageToMask",
+ "pos": [
+ -2153.184434678819,
+ 2668.184828016494
+ ],
+ "size": {
+ "0": 315,
+ "1": 174
+ },
+ "flags": {},
+ "order": 66,
+ "mode": 0,
+ "inputs": [
+ {
+ "name": "image",
+ "type": "IMAGE",
+ "link": null
+ },
+ {
+ "name": "mask",
+ "type": "MASK",
+ "link": null
+ }
+ ],
+ "outputs": [
+ {
+ "name": "mask",
+ "type": "MASK",
+ "links": null,
+ "shape": 3
+ }
+ ],
+ "properties": {
+ "Node name for S&R": "LayerMask: ImageToMask"
+ },
+ "widgets_values": [
+ "L(LAB)",
+ 0,
+ 255,
+ 1,
+ false
+ ]
+ },
+ {
+ "id": 145,
+ "type": "LayerMask: SegformerB2ClothesUltra",
+ "pos": [
+ -1425.1844346788198,
+ 2669.184828016494
+ ],
+ "size": {
+ "0": 315,
+ "1": 582
+ },
+ "flags": {},
+ "order": 67,
+ "mode": 0,
+ "inputs": [
+ {
+ "name": "image",
+ "type": "IMAGE",
+ "link": null
+ }
+ ],
+ "outputs": [
+ {
+ "name": "image",
+ "type": "IMAGE",
+ "links": null,
+ "shape": 3
+ },
+ {
+ "name": "mask",
+ "type": "MASK",
+ "links": null,
+ "shape": 3
+ }
+ ],
+ "properties": {
+ "Node name for S&R": "LayerMask: SegformerB2ClothesUltra"
+ },
+ "widgets_values": [
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ "VITMatte",
+ 12,
+ 6,
+ 0.01,
+ 0.99,
+ true
+ ]
+ },
+ {
+ "id": 137,
+ "type": "LayerMask: YoloV8Detect",
+ "pos": [
+ -1790.1844346788198,
+ 2942.184828016494
+ ],
+ "size": {
+ "0": 315,
+ "1": 122
+ },
+ "flags": {},
+ "order": 68,
+ "mode": 0,
+ "inputs": [
+ {
+ "name": "image",
+ "type": "IMAGE",
+ "link": null
+ }
+ ],
+ "outputs": [
+ {
+ "name": "mask",
+ "type": "MASK",
+ "links": null,
+ "shape": 3
+ },
+ {
+ "name": "yolo_plot_image",
+ "type": "IMAGE",
+ "links": null,
+ "shape": 3
+ },
+ {
+ "name": "yolo_masks",
+ "type": "MASK",
+ "links": null,
+ "shape": 3
+ }
+ ],
+ "properties": {
+ "Node name for S&R": "LayerMask: YoloV8Detect"
+ },
+ "widgets_values": [
+ "face_yolov8m.pt",
+ "all"
+ ]
+ },
+ {
+ "id": 123,
+ "type": "LayerUtility: ImageHub",
+ "pos": [
+ -1259,
+ 1114
+ ],
+ "size": {
+ "0": 315,
+ "1": 422
+ },
+ "flags": {},
+ "order": 69,
+ "mode": 0,
+ "inputs": [
+ {
+ "name": "input1_image",
+ "type": "IMAGE",
+ "link": null
+ },
+ {
+ "name": "input1_mask",
+ "type": "MASK",
+ "link": null
+ },
+ {
+ "name": "input2_image",
+ "type": "IMAGE",
+ "link": null
+ },
+ {
+ "name": "input2_mask",
+ "type": "MASK",
+ "link": null
+ },
+ {
+ "name": "input3_image",
+ "type": "IMAGE",
+ "link": null
+ },
+ {
+ "name": "input3_mask",
+ "type": "MASK",
+ "link": null
+ },
+ {
+ "name": "input4_image",
+ "type": "IMAGE",
+ "link": null
+ },
+ {
+ "name": "input4_mask",
+ "type": "MASK",
+ "link": null
+ },
+ {
+ "name": "input5_image",
+ "type": "IMAGE",
+ "link": null
+ },
+ {
+ "name": "input5_mask",
+ "type": "MASK",
+ "link": null
+ },
+ {
+ "name": "input6_image",
+ "type": "IMAGE",
+ "link": null
+ },
+ {
+ "name": "input6_mask",
+ "type": "MASK",
+ "link": null
+ },
+ {
+ "name": "input7_image",
+ "type": "IMAGE",
+ "link": null
+ },
+ {
+ "name": "input7_mask",
+ "type": "MASK",
+ "link": null
+ },
+ {
+ "name": "input8_image",
+ "type": "IMAGE",
+ "link": null
+ },
+ {
+ "name": "input8_mask",
+ "type": "MASK",
+ "link": null
+ },
+ {
+ "name": "input9_image",
+ "type": "IMAGE",
+ "link": null
+ },
+ {
+ "name": "input9_mask",
+ "type": "MASK",
+ "link": null
+ }
+ ],
+ "outputs": [
+ {
+ "name": "image",
+ "type": "IMAGE",
+ "links": null,
+ "shape": 3
+ },
+ {
+ "name": "mask",
+ "type": "MASK",
+ "links": null,
+ "shape": 3
+ }
+ ],
+ "properties": {
+ "Node name for S&R": "LayerUtility: ImageHub"
+ },
+ "widgets_values": [
+ 1,
+ false
+ ]
+ },
+ {
+ "id": 124,
+ "type": "LayerUtility: ImageRewardFilter",
+ "pos": [
+ -1235,
+ 1607
+ ],
+ "size": {
+ "0": 315,
+ "1": 102
+ },
+ "flags": {},
+ "order": 70,
+ "mode": 0,
+ "inputs": [
+ {
+ "name": "images",
+ "type": "IMAGE",
+ "link": null
+ }
+ ],
+ "outputs": [
+ {
+ "name": "images",
+ "type": "IMAGE",
+ "links": null,
+ "shape": 3
+ },
+ {
+ "name": "obsolete_images",
+ "type": "IMAGE",
+ "links": null,
+ "shape": 3
+ }
+ ],
+ "properties": {
+ "Node name for S&R": "LayerUtility: ImageRewardFilter"
+ },
+ "widgets_values": [
+ "",
+ 3
+ ]
+ },
+ {
+ "id": 125,
+ "type": "LayerUtility: QWenImage2Prompt",
+ "pos": [
+ -1235,
+ 1795
+ ],
+ "size": {
+ "0": 315,
+ "1": 58
+ },
+ "flags": {},
+ "order": 71,
+ "mode": 0,
+ "inputs": [
+ {
+ "name": "image",
+ "type": "IMAGE",
+ "link": null
+ }
+ ],
+ "outputs": [
+ {
+ "name": "text",
+ "type": "STRING",
+ "links": null,
+ "shape": 3
+ }
+ ],
+ "properties": {
+ "Node name for S&R": "LayerUtility: QWenImage2Prompt"
+ },
+ "widgets_values": [
+ "describe this image"
+ ]
+ },
+ {
+ "id": 15,
+ "type": "LayerUtility: PrintInfo",
+ "pos": [
+ -2858,
+ 2055
+ ],
+ "size": {
+ "0": 210,
+ "1": 26
+ },
+ "flags": {},
+ "order": 72,
+ "mode": 0,
+ "inputs": [
+ {
+ "name": "anything",
+ "type": "*",
+ "link": null
+ }
+ ],
+ "outputs": [
+ {
+ "name": "text",
+ "type": "STRING",
+ "links": null,
+ "shape": 3
+ }
+ ],
+ "properties": {
+ "Node name for S&R": "LayerUtility: PrintInfo"
+ }
+ },
+ {
+ "id": 140,
+ "type": "LayerUtility: TextJoin",
+ "pos": [
+ -2925,
+ 2139
+ ],
+ "size": {
+ "0": 257.51568603515625,
+ "1": 136.52333068847656
+ },
+ "flags": {},
+ "order": 73,
+ "mode": 0,
+ "outputs": [
+ {
+ "name": "text",
+ "type": "STRING",
+ "links": null,
+ "shape": 3
+ }
+ ],
+ "properties": {
+ "Node name for S&R": "LayerUtility: TextJoin"
+ },
+ "widgets_values": [
+ "",
+ "",
+ "",
+ ""
+ ]
+ },
+ {
+ "id": 119,
+ "type": "LayerUtility: AddBlindWaterMark",
+ "pos": [
+ -2619,
+ 2107
+ ],
+ "size": {
+ "0": 268.79998779296875,
+ "1": 46
+ },
+ "flags": {},
+ "order": 74,
+ "mode": 0,
+ "inputs": [
+ {
+ "name": "image",
+ "type": "IMAGE",
+ "link": null
+ },
+ {
+ "name": "watermark_image",
+ "type": "IMAGE",
+ "link": null
+ }
+ ],
+ "outputs": [
+ {
+ "name": "image",
+ "type": "IMAGE",
+ "links": null,
+ "shape": 3
+ }
+ ],
+ "properties": {
+ "Node name for S&R": "LayerUtility: AddBlindWaterMark"
+ }
+ },
+ {
+ "id": 120,
+ "type": "LayerUtility: ShowBlindWaterMark",
+ "pos": [
+ -2611,
+ 2218
+ ],
+ "size": {
+ "0": 277.20001220703125,
+ "1": 26
+ },
+ "flags": {},
+ "order": 75,
+ "mode": 0,
+ "inputs": [
+ {
+ "name": "image",
+ "type": "IMAGE",
+ "link": null
+ }
+ ],
+ "outputs": [
+ {
+ "name": "watermark_image",
+ "type": "IMAGE",
+ "links": null,
+ "shape": 3
+ }
+ ],
+ "properties": {
+ "Node name for S&R": "LayerUtility: ShowBlindWaterMark"
+ }
+ },
+ {
+ "id": 103,
+ "type": "LayerUtility: CropBoxResolve",
+ "pos": [
+ -2308,
+ 2098
+ ],
+ "size": {
+ "0": 235.1999969482422,
+ "1": 86
+ },
+ "flags": {},
+ "order": 76,
+ "mode": 0,
+ "inputs": [
+ {
+ "name": "crop_box",
+ "type": "BOX",
+ "link": null
+ }
+ ],
+ "outputs": [
+ {
+ "name": "x",
+ "type": "INT",
+ "links": null,
+ "shape": 3
+ },
+ {
+ "name": "y",
+ "type": "INT",
+ "links": null,
+ "shape": 3
+ },
+ {
+ "name": "width",
+ "type": "INT",
+ "links": null,
+ "shape": 3
+ },
+ {
+ "name": "height",
+ "type": "INT",
+ "links": null,
+ "shape": 3
+ }
+ ],
+ "properties": {
+ "Node name for S&R": "LayerUtility: CropBoxResolve"
+ }
+ },
+ {
+ "id": 142,
+ "type": "LayerUtility: BatchSelector",
+ "pos": [
+ -2263,
+ 2235
+ ],
+ "size": {
+ "0": 315,
+ "1": 78
+ },
+ "flags": {},
+ "order": 77,
+ "mode": 0,
+ "inputs": [
+ {
+ "name": "images",
+ "type": "IMAGE",
+ "link": null
+ },
+ {
+ "name": "masks",
+ "type": "MASK",
+ "link": null
+ }
+ ],
+ "outputs": [
+ {
+ "name": "image",
+ "type": "IMAGE",
+ "links": null,
+ "shape": 3
+ },
+ {
+ "name": "mask",
+ "type": "MASK",
+ "links": null,
+ "shape": 3
+ }
+ ],
+ "properties": {
+ "Node name for S&R": "LayerUtility: BatchSelector"
+ },
+ "widgets_values": [
+ "0,"
+ ]
+ },
+ {
+ "id": 106,
+ "type": "LayerUtility: NumberCalculator",
+ "pos": [
+ -2264,
+ 2361
+ ],
+ "size": {
+ "0": 315,
+ "1": 78
+ },
+ "flags": {},
+ "order": 78,
+ "mode": 0,
+ "inputs": [
+ {
+ "name": "a",
+ "type": "*",
+ "link": null
+ },
+ {
+ "name": "b",
+ "type": "*",
+ "link": null
+ }
+ ],
+ "outputs": [
+ {
+ "name": "int",
+ "type": "INT",
+ "links": null,
+ "shape": 3
+ },
+ {
+ "name": "float",
+ "type": "FLOAT",
+ "links": null,
+ "shape": 3
+ }
+ ],
+ "properties": {
+ "Node name for S&R": "LayerUtility: NumberCalculator"
+ },
+ "widgets_values": [
+ "+"
+ ]
+ },
+ {
+ "id": 102,
+ "type": "LayerUtility: RGB Value",
+ "pos": [
+ -2029,
+ 2107
+ ],
+ "size": {
+ "0": 210,
+ "1": 66
+ },
+ "flags": {},
+ "order": 79,
+ "mode": 0,
+ "inputs": [
+ {
+ "name": "color_value",
+ "type": "*",
+ "link": null
+ }
+ ],
+ "outputs": [
+ {
+ "name": "R",
+ "type": "INT",
+ "links": null,
+ "shape": 3
+ },
+ {
+ "name": "G",
+ "type": "INT",
+ "links": null,
+ "shape": 3
+ },
+ {
+ "name": "B",
+ "type": "INT",
+ "links": null,
+ "shape": 3
+ }
+ ],
+ "properties": {
+ "Node name for S&R": "LayerUtility: RGB Value"
+ }
+ },
+ {
+ "id": 108,
+ "type": "LayerUtility: Integer",
+ "pos": [
+ -1923,
+ 2245
+ ],
+ "size": {
+ "0": 219.2043914794922,
+ "1": 58
+ },
+ "flags": {},
+ "order": 80,
+ "mode": 0,
+ "outputs": [
+ {
+ "name": "int",
+ "type": "INT",
+ "links": null,
+ "shape": 3
+ }
+ ],
+ "properties": {
+ "Node name for S&R": "LayerUtility: Integer"
+ },
+ "widgets_values": [
+ 0
+ ]
+ },
+ {
+ "id": 111,
+ "type": "LayerUtility: Seed",
+ "pos": [
+ -1924,
+ 2358
+ ],
+ "size": {
+ "0": 210,
+ "1": 82
+ },
+ "flags": {},
+ "order": 81,
+ "mode": 0,
+ "outputs": [
+ {
+ "name": "seed",
+ "type": "INT",
+ "links": null,
+ "shape": 3
+ }
+ ],
+ "properties": {
+ "Node name for S&R": "LayerUtility: Seed"
+ },
+ "widgets_values": [
+ 0,
+ "randomize"
+ ]
+ },
+ {
+ "id": 105,
+ "type": "LayerUtility: BooleanOperator",
+ "pos": [
+ -1791,
+ 2126
+ ],
+ "size": {
+ "0": 315,
+ "1": 78
+ },
+ "flags": {},
+ "order": 82,
+ "mode": 0,
+ "inputs": [
+ {
+ "name": "a",
+ "type": "*",
+ "link": null
+ },
+ {
+ "name": "b",
+ "type": "*",
+ "link": null
+ }
+ ],
+ "outputs": [
+ {
+ "name": "output",
+ "type": "BOOLEAN",
+ "links": null,
+ "shape": 3
+ }
+ ],
+ "properties": {
+ "Node name for S&R": "LayerUtility: BooleanOperator"
+ },
+ "widgets_values": [
+ "=="
+ ]
+ },
+ {
+ "id": 127,
+ "type": "LayerUtility: SimpleTextImage",
+ "pos": [
+ -1677,
+ 1538
+ ],
+ "size": {
+ "0": 400,
+ "1": 384.0000305175781
+ },
+ "flags": {},
+ "order": 83,
+ "mode": 0,
+ "inputs": [
+ {
+ "name": "size_as",
+ "type": "*",
+ "link": null
+ }
+ ],
+ "outputs": [
+ {
+ "name": "image",
+ "type": "IMAGE",
+ "links": null,
+ "shape": 3
+ },
+ {
+ "name": "mask",
+ "type": "MASK",
+ "links": null,
+ "shape": 3
+ }
+ ],
+ "properties": {
+ "Node name for S&R": "LayerUtility: SimpleTextImage"
+ },
+ "widgets_values": [
+ "text",
+ "Alibaba-PuHuiTi-Bold.ttf",
+ "center",
+ 80,
+ 8,
+ 72,
+ "#FFFFFF",
+ 0,
+ "#FF8000",
+ 0,
+ 0,
+ 512,
+ 512
+ ]
+ },
+ {
+ "id": 112,
+ "type": "LayerUtility: ExtendCanvasV2",
+ "pos": [
+ -1642,
+ 1287
+ ],
+ "size": {
+ "0": 302.38214111328125,
+ "1": 198
+ },
+ "flags": {},
+ "order": 84,
+ "mode": 0,
+ "inputs": [
+ {
+ "name": "image",
+ "type": "IMAGE",
+ "link": null
+ },
+ {
+ "name": "mask",
+ "type": "MASK",
+ "link": null
+ }
+ ],
+ "outputs": [
+ {
+ "name": "image",
+ "type": "IMAGE",
+ "links": null,
+ "shape": 3
+ },
+ {
+ "name": "mask",
+ "type": "MASK",
+ "links": null,
+ "shape": 3
+ }
+ ],
+ "properties": {
+ "Node name for S&R": "LayerUtility: ExtendCanvasV2"
+ },
+ "widgets_values": [
+ true,
+ 0,
+ 0,
+ 0,
+ 0,
+ "#000000"
+ ]
+ },
+ {
+ "id": 17,
+ "type": "LayerUtility: GetImageSize",
+ "pos": [
+ -1669,
+ 1989
+ ],
+ "size": {
+ "0": 218.39999389648438,
+ "1": 66
+ },
+ "flags": {},
+ "order": 85,
+ "mode": 0,
+ "inputs": [
+ {
+ "name": "image",
+ "type": "IMAGE",
+ "link": null
+ }
+ ],
+ "outputs": [
+ {
+ "name": "width",
+ "type": "INT",
+ "links": null,
+ "shape": 3
+ },
+ {
+ "name": "height",
+ "type": "INT",
+ "links": null,
+ "shape": 3
+ },
+ {
+ "name": "original_size",
+ "type": "BOX",
+ "links": null,
+ "shape": 3
+ }
+ ],
+ "properties": {
+ "Node name for S&R": "LayerUtility: GetImageSize"
+ }
+ },
+ {
+ "id": 110,
+ "type": "LayerUtility: Boolean",
+ "pos": [
+ -1670,
+ 2257
+ ],
+ "size": {
+ "0": 210,
+ "1": 58
+ },
+ "flags": {},
+ "order": 86,
+ "mode": 0,
+ "outputs": [
+ {
+ "name": "boolean",
+ "type": "BOOLEAN",
+ "links": null,
+ "shape": 3
+ }
+ ],
+ "properties": {
+ "Node name for S&R": "LayerUtility: Boolean"
+ },
+ "widgets_values": [
+ false
+ ]
+ },
+ {
+ "id": 109,
+ "type": "LayerUtility: Float",
+ "pos": [
+ -1671,
+ 2371
+ ],
+ "size": {
+ "0": 210.5312042236328,
+ "1": 58
+ },
+ "flags": {},
+ "order": 87,
+ "mode": 0,
+ "outputs": [
+ {
+ "name": "float",
+ "type": "FLOAT",
+ "links": null,
+ "shape": 3
+ }
+ ],
+ "properties": {
+ "Node name for S&R": "LayerUtility: Float"
+ },
+ "widgets_values": [
+ 0
+ ]
+ },
+ {
+ "id": 143,
+ "type": "LayerUtility: LoadPSD",
+ "pos": [
+ -1088,
+ 1946
+ ],
+ "size": [
+ 315,
+ 454
+ ],
+ "flags": {},
+ "order": 88,
+ "mode": 0,
+ "outputs": [
+ {
+ "name": "flat_image",
+ "type": "IMAGE",
+ "links": null,
+ "shape": 3
+ },
+ {
+ "name": "layer_image",
+ "type": "IMAGE",
+ "links": null,
+ "shape": 3
+ },
+ {
+ "name": "all_layers",
+ "type": "IMAGE",
+ "links": null,
+ "shape": 3
+ }
+ ],
+ "properties": {
+ "Node name for S&R": "LayerUtility: LoadPSD"
+ },
+ "widgets_values": [
+ "loadpsd_test.psd",
+ "",
+ false,
+ "layer_index",
+ 0,
+ "",
+ "image"
+ ]
+ },
+ {
+ "id": 115,
+ "type": "LayerUtility: PurgeVRAM",
+ "pos": [
+ -2941,
+ 2332
+ ],
+ "size": {
+ "0": 295.0606689453125,
+ "1": 86.06962585449219
+ },
+ "flags": {},
+ "order": 89,
+ "mode": 0,
+ "inputs": [
+ {
+ "name": "anything",
+ "type": "*",
+ "link": null
+ }
+ ],
+ "properties": {
+ "Node name for S&R": "LayerUtility: PurgeVRAM"
+ },
+ "widgets_values": [
+ true,
+ true
+ ]
+ },
+ {
+ "id": 107,
+ "type": "LayerUtility: TextBox",
+ "pos": [
+ -2608,
+ 2318
+ ],
+ "size": {
+ "0": 304.0732727050781,
+ "1": 100.12908172607422
+ },
+ "flags": {},
+ "order": 90,
+ "mode": 0,
+ "outputs": [
+ {
+ "name": "text",
+ "type": "STRING",
+ "links": null,
+ "shape": 3
+ }
+ ],
+ "properties": {
+ "Node name for S&R": "LayerUtility: TextBox"
+ },
+ "widgets_values": [
+ ""
+ ]
+ },
+ {
+ "id": 146,
+ "type": "LayerUtility: SaveImagePlus",
+ "pos": [
+ -1429,
+ 1989
+ ],
+ "size": {
+ "0": 315,
+ "1": 250
+ },
+ "flags": {},
+ "order": 91,
+ "mode": 0,
+ "inputs": [
+ {
+ "name": "images",
+ "type": "IMAGE",
+ "link": null
+ }
+ ],
+ "properties": {
+ "Node name for S&R": "LayerUtility: SaveImagePlus"
+ },
+ "widgets_values": [
+ "",
+ "comfyui",
+ "None",
+ "png",
+ 80,
+ false,
+ "",
+ false,
+ true
+ ]
+ },
+ {
+ "id": 126,
+ "type": "LayerUtility: SaveImagePlus",
+ "pos": [
+ -3980,
+ 2143
+ ],
+ "size": {
+ "0": 315,
+ "1": 250
+ },
+ "flags": {},
+ "order": 92,
+ "mode": 0,
+ "inputs": [
+ {
+ "name": "images",
+ "type": "IMAGE",
+ "link": null
+ }
+ ],
+ "properties": {
+ "Node name for S&R": "LayerUtility: SaveImagePlus"
+ },
+ "widgets_values": [
+ "",
+ "comfyui",
+ "None",
+ "png",
+ 80,
+ false,
+ "",
+ false,
+ false
+ ]
+ },
+ {
+ "id": 9,
+ "type": "LayerUtility: ImageOpacity",
+ "pos": [
+ -3985,
+ 1953
+ ],
+ "size": {
+ "0": 315,
+ "1": 102
+ },
+ "flags": {},
+ "order": 93,
+ "mode": 0,
+ "inputs": [
+ {
+ "name": "image",
+ "type": "IMAGE",
+ "link": null
+ },
+ {
+ "name": "mask",
+ "type": "MASK",
+ "link": null
+ }
+ ],
+ "outputs": [
+ {
+ "name": "image",
+ "type": "IMAGE",
+ "links": null,
+ "shape": 3
+ },
+ {
+ "name": "mask",
+ "type": "MASK",
+ "links": null,
+ "shape": 3
+ }
+ ],
+ "properties": {
+ "Node name for S&R": "LayerUtility: ImageOpacity"
+ },
+ "widgets_values": [
+ 100,
+ true
+ ]
+ },
+ {
+ "id": 113,
+ "type": "LayerUtility: GetColorToneV2",
+ "pos": [
+ -3624,
+ 2209
+ ],
+ "size": {
+ "0": 315,
+ "1": 194
+ },
+ "flags": {},
+ "order": 94,
+ "mode": 0,
+ "inputs": [
+ {
+ "name": "image",
+ "type": "IMAGE",
+ "link": null
+ },
+ {
+ "name": "mask",
+ "type": "MASK",
+ "link": null
+ }
+ ],
+ "outputs": [
+ {
+ "name": "image",
+ "type": "IMAGE",
+ "links": null,
+ "shape": 3
+ },
+ {
+ "name": "color_in_hex",
+ "type": "STRING",
+ "links": null,
+ "shape": 3
+ },
+ {
+ "name": "HSV color in list",
+ "type": "LIST",
+ "links": null,
+ "shape": 3
+ }
+ ],
+ "properties": {
+ "Node name for S&R": "LayerUtility: GetColorToneV2"
+ },
+ "widgets_values": [
+ "main_color",
+ "entire",
+ "BiRefNet",
+ false,
+ 16
+ ]
+ },
+ {
+ "id": 81,
+ "type": "LayerUtility: ImageScaleByAspectRatio V2",
+ "pos": [
+ -3623,
+ 1823
+ ],
+ "size": {
+ "0": 336,
+ "1": 306
+ },
+ "flags": {},
+ "order": 95,
+ "mode": 0,
+ "inputs": [
+ {
+ "name": "image",
+ "type": "IMAGE",
+ "link": null
+ },
+ {
+ "name": "mask",
+ "type": "MASK",
+ "link": null
+ }
+ ],
+ "outputs": [
+ {
+ "name": "image",
+ "type": "IMAGE",
+ "links": null,
+ "shape": 3
+ },
+ {
+ "name": "mask",
+ "type": "MASK",
+ "links": null,
+ "shape": 3
+ },
+ {
+ "name": "original_size",
+ "type": "BOX",
+ "links": null,
+ "shape": 3
+ },
+ {
+ "name": "width",
+ "type": "INT",
+ "links": null,
+ "shape": 3
+ },
+ {
+ "name": "height",
+ "type": "INT",
+ "links": null,
+ "shape": 3
+ }
+ ],
+ "properties": {
+ "Node name for S&R": "LayerUtility: ImageScaleByAspectRatio V2"
+ },
+ "widgets_values": [
+ "original",
+ 1,
+ 1,
+ "letterbox",
+ "lanczos",
+ "8",
+ "None",
+ 1024
+ ]
+ },
+ {
+ "id": 52,
+ "type": "LayerUtility: ImageShift",
+ "pos": [
+ -3620,
+ 1534
+ ],
+ "size": {
+ "0": 315,
+ "1": 218
+ },
+ "flags": {},
+ "order": 96,
+ "mode": 0,
+ "inputs": [
+ {
+ "name": "image",
+ "type": "IMAGE",
+ "link": null
+ },
+ {
+ "name": "mask",
+ "type": "MASK",
+ "link": null
+ }
+ ],
+ "outputs": [
+ {
+ "name": "image",
+ "type": "IMAGE",
+ "links": null,
+ "shape": 3
+ },
+ {
+ "name": "mask",
+ "type": "MASK",
+ "links": null,
+ "shape": 3
+ },
+ {
+ "name": "border_mask",
+ "type": "MASK",
+ "links": null,
+ "shape": 3
+ }
+ ],
+ "properties": {
+ "Node name for S&R": "LayerUtility: ImageShift"
+ },
+ "widgets_values": [
+ 256,
+ 256,
+ true,
+ "#000000",
+ 20,
+ 12
+ ]
+ },
+ {
+ "id": 121,
+ "type": "LayerUtility: ImageBlendAdvance V2",
+ "pos": [
+ -3613,
+ 1123
+ ],
+ "size": {
+ "0": 315,
+ "1": 338
+ },
+ "flags": {},
+ "order": 97,
+ "mode": 0,
+ "inputs": [
+ {
+ "name": "background_image",
+ "type": "IMAGE",
+ "link": null
+ },
+ {
+ "name": "layer_image",
+ "type": "IMAGE",
+ "link": null
+ },
+ {
+ "name": "layer_mask",
+ "type": "MASK",
+ "link": null
+ }
+ ],
+ "outputs": [
+ {
+ "name": "image",
+ "type": "IMAGE",
+ "links": null,
+ "shape": 3
+ },
+ {
+ "name": "mask",
+ "type": "MASK",
+ "links": null,
+ "shape": 3
+ }
+ ],
+ "properties": {
+ "Node name for S&R": "LayerUtility: ImageBlendAdvance V2"
+ },
+ "widgets_values": [
+ true,
+ "normal",
+ 100,
+ 55.370000000000005,
+ 50,
+ "None",
+ 1,
+ 1,
+ 0,
+ "lanczos",
+ 0
+ ]
+ },
+ {
+ "id": 104,
+ "type": "LayerUtility: CropByMask V2",
+ "pos": [
+ -3244,
+ 1123
+ ],
+ "size": {
+ "0": 315,
+ "1": 238
+ },
+ "flags": {},
+ "order": 98,
+ "mode": 0,
+ "inputs": [
+ {
+ "name": "image",
+ "type": "IMAGE",
+ "link": null
+ },
+ {
+ "name": "mask",
+ "type": "MASK",
+ "link": null
+ },
+ {
+ "name": "crop_box",
+ "type": "BOX",
+ "link": null
+ }
+ ],
+ "outputs": [
+ {
+ "name": "croped_image",
+ "type": "IMAGE",
+ "links": null,
+ "shape": 3
+ },
+ {
+ "name": "croped_mask",
+ "type": "MASK",
+ "links": null,
+ "shape": 3
+ },
+ {
+ "name": "crop_box",
+ "type": "BOX",
+ "links": null,
+ "shape": 3
+ },
+ {
+ "name": "box_preview",
+ "type": "IMAGE",
+ "links": null,
+ "shape": 3
+ }
+ ],
+ "properties": {
+ "Node name for S&R": "LayerUtility: CropByMask V2"
+ },
+ "widgets_values": [
+ false,
+ "min_bounding_rect",
+ 20,
+ 20,
+ 20,
+ 20
+ ]
+ },
+ {
+ "id": 39,
+ "type": "LayerUtility: RestoreCropBox",
+ "pos": [
+ -3244,
+ 1416
+ ],
+ "size": {
+ "0": 315,
+ "1": 118
+ },
+ "flags": {},
+ "order": 99,
+ "mode": 0,
+ "inputs": [
+ {
+ "name": "background_image",
+ "type": "IMAGE",
+ "link": null
+ },
+ {
+ "name": "croped_image",
+ "type": "IMAGE",
+ "link": null
+ },
+ {
+ "name": "crop_box",
+ "type": "BOX",
+ "link": null
+ },
+ {
+ "name": "croped_mask",
+ "type": "MASK",
+ "link": null
+ }
+ ],
+ "outputs": [
+ {
+ "name": "image",
+ "type": "IMAGE",
+ "links": null,
+ "shape": 3
+ },
+ {
+ "name": "mask",
+ "type": "MASK",
+ "links": null,
+ "shape": 3
+ }
+ ],
+ "properties": {
+ "Node name for S&R": "LayerUtility: RestoreCropBox"
+ },
+ "widgets_values": [
+ false
+ ]
+ },
+ {
+ "id": 42,
+ "type": "LayerUtility: ImageChannelSplit",
+ "pos": [
+ -3241,
+ 1586
+ ],
+ "size": {
+ "0": 315,
+ "1": 118
+ },
+ "flags": {},
+ "order": 100,
+ "mode": 0,
+ "inputs": [
+ {
+ "name": "image",
+ "type": "IMAGE",
+ "link": null
+ }
+ ],
+ "outputs": [
+ {
+ "name": "channel_1",
+ "type": "IMAGE",
+ "links": null,
+ "shape": 3
+ },
+ {
+ "name": "channel_2",
+ "type": "IMAGE",
+ "links": null,
+ "shape": 3
+ },
+ {
+ "name": "channel_3",
+ "type": "IMAGE",
+ "links": null,
+ "shape": 3
+ },
+ {
+ "name": "channel_4",
+ "type": "IMAGE",
+ "links": null,
+ "shape": 3
+ }
+ ],
+ "properties": {
+ "Node name for S&R": "LayerUtility: ImageChannelSplit"
+ },
+ "widgets_values": [
+ "RGBA"
+ ]
+ },
+ {
+ "id": 41,
+ "type": "LayerUtility: ImageChannelMerge",
+ "pos": [
+ -3246,
+ 1770
+ ],
+ "size": {
+ "0": 315,
+ "1": 118
+ },
+ "flags": {},
+ "order": 101,
+ "mode": 0,
+ "inputs": [
+ {
+ "name": "channel_1",
+ "type": "IMAGE",
+ "link": null
+ },
+ {
+ "name": "channel_2",
+ "type": "IMAGE",
+ "link": null
+ },
+ {
+ "name": "channel_3",
+ "type": "IMAGE",
+ "link": null
+ },
+ {
+ "name": "channel_4",
+ "type": "IMAGE",
+ "link": null
+ }
+ ],
+ "outputs": [
+ {
+ "name": "image",
+ "type": "IMAGE",
+ "links": null,
+ "shape": 3
+ }
+ ],
+ "properties": {
+ "Node name for S&R": "LayerUtility: ImageChannelMerge"
+ },
+ "widgets_values": [
+ "RGBA"
+ ]
+ },
+ {
+ "id": 21,
+ "type": "LayerUtility: XY to Percent",
+ "pos": [
+ -3247,
+ 1948
+ ],
+ "size": {
+ "0": 330,
+ "1": 102
+ },
+ "flags": {},
+ "order": 102,
+ "mode": 0,
+ "inputs": [
+ {
+ "name": "background_image",
+ "type": "IMAGE",
+ "link": null
+ },
+ {
+ "name": "layer_image",
+ "type": "IMAGE",
+ "link": null
+ }
+ ],
+ "outputs": [
+ {
+ "name": "x_percent",
+ "type": "FLOAT",
+ "links": null,
+ "shape": 3
+ },
+ {
+ "name": "x_percent",
+ "type": "FLOAT",
+ "links": null,
+ "shape": 3
+ }
+ ],
+ "properties": {
+ "Node name for S&R": "LayerUtility: XY to Percent"
+ },
+ "widgets_values": [
+ 0,
+ 0
+ ]
+ },
+ {
+ "id": 116,
+ "type": "LayerUtility: CreateQRCode",
+ "pos": [
+ -3245,
+ 2106
+ ],
+ "size": {
+ "0": 269.3143310546875,
+ "1": 143.97171020507812
+ },
+ "flags": {},
+ "order": 103,
+ "mode": 0,
+ "outputs": [
+ {
+ "name": "image",
+ "type": "IMAGE",
+ "links": null,
+ "shape": 3
+ }
+ ],
+ "properties": {
+ "Node name for S&R": "LayerUtility: CreateQRCode"
+ },
+ "widgets_values": [
+ 512,
+ 1,
+ ""
+ ]
+ },
+ {
+ "id": 117,
+ "type": "LayerUtility: DecodeQRCode",
+ "pos": [
+ -3249,
+ 2322
+ ],
+ "size": {
+ "0": 255.13755798339844,
+ "1": 64.73329162597656
+ },
+ "flags": {},
+ "order": 104,
+ "mode": 0,
+ "inputs": [
+ {
+ "name": "image",
+ "type": "IMAGE",
+ "link": null
+ }
+ ],
+ "outputs": [
+ {
+ "name": "string",
+ "type": "STRING",
+ "links": null,
+ "shape": 3
+ }
+ ],
+ "properties": {
+ "Node name for S&R": "LayerUtility: DecodeQRCode"
+ },
+ "widgets_values": [
+ 2
+ ]
+ },
+ {
+ "id": 100,
+ "type": "LayerColor: Levels",
+ "pos": [
+ -2879,
+ 662
+ ],
+ "size": {
+ "0": 315,
+ "1": 178
+ },
+ "flags": {},
+ "order": 105,
+ "mode": 0,
+ "inputs": [
+ {
+ "name": "image",
+ "type": "IMAGE",
+ "link": null
+ }
+ ],
+ "outputs": [
+ {
+ "name": "image",
+ "type": "IMAGE",
+ "links": null,
+ "shape": 3
+ }
+ ],
+ "properties": {
+ "Node name for S&R": "LayerColor: Levels"
+ },
+ "widgets_values": [
+ "RGB",
+ 0,
+ 255,
+ 1,
+ 0,
+ 255
+ ]
+ },
+ {
+ "id": 134,
+ "type": "LayerMask: RmBgUltra V2",
+ "pos": [
+ -3280,
+ 2662
+ ],
+ "size": {
+ "0": 315,
+ "1": 198
+ },
+ "flags": {},
+ "order": 106,
+ "mode": 0,
+ "inputs": [
+ {
+ "name": "image",
+ "type": "IMAGE",
+ "link": null
+ }
+ ],
+ "outputs": [
+ {
+ "name": "image",
+ "type": "IMAGE",
+ "links": null,
+ "shape": 3
+ },
+ {
+ "name": "mask",
+ "type": "MASK",
+ "links": null,
+ "shape": 3
+ }
+ ],
+ "properties": {
+ "Node name for S&R": "LayerMask: RmBgUltra V2"
+ },
+ "widgets_values": [
+ "VITMatte",
+ 6,
+ 6,
+ 0.01,
+ 0.99,
+ true
+ ]
+ }
+ ],
+ "links": [],
+ "groups": [
+ {
+ "title": "LayerStyle Nodes",
+ "bounding": [
+ -4021,
+ -509,
+ 1758,
+ 773
+ ],
+ "color": "#3f789e",
+ "font_size": 24,
+ "locked": false
+ },
+ {
+ "title": "LayerUtility Nodes:",
+ "bounding": [
+ -4014,
+ 1029,
+ 3265,
+ 1440
+ ],
+ "color": "#3f789e",
+ "font_size": 24,
+ "locked": false
+ },
+ {
+ "title": "LayerMask Nodes:",
+ "bounding": [
+ -4020,
+ 2561,
+ 2940,
+ 851
+ ],
+ "color": "#3f789e",
+ "font_size": 24,
+ "locked": false
+ },
+ {
+ "title": "LayerFilter Nodes:",
+ "bounding": [
+ -4019,
+ 3508,
+ 2242,
+ 519
+ ],
+ "color": "#3f789e",
+ "font_size": 24,
+ "locked": false
+ },
+ {
+ "title": "LayerColor Nodes",
+ "bounding": [
+ -4020,
+ 363,
+ 2236,
+ 559
+ ],
+ "color": "#3f789e",
+ "font_size": 24,
+ "locked": false
+ }
+ ],
+ "config": {},
+ "extra": {
+ "ds": {
+ "scale": 0.27941459537662333,
+ "offset": [
+ 6880.871991269499,
+ 1092.1909396593524
+ ]
+ }
+ },
+ "version": 0.4
+}
\ No newline at end of file