diff --git a/example_workflows/1-FaceDetailer.jpg b/example_workflows/1-FaceDetailer.jpg new file mode 100644 index 0000000..3ca20f5 Binary files /dev/null and b/example_workflows/1-FaceDetailer.jpg differ diff --git a/example_workflows/1-FaceDetailer.json b/example_workflows/1-FaceDetailer.json new file mode 100644 index 0000000..0801a0b --- /dev/null +++ b/example_workflows/1-FaceDetailer.json @@ -0,0 +1,1269 @@ +{ + "last_node_id": 61, + "last_link_id": 170, + "nodes": [ + { + "id": 28, + "type": "KSampler", + "pos": [ + 530, + 840 + ], + "size": [ + 320, + 600 + ], + "flags": {}, + "order": 14, + "mode": 0, + "inputs": [ + { + "name": "model", + "type": "MODEL", + "link": 65 + }, + { + "name": "positive", + "type": "CONDITIONING", + "link": 57 + }, + { + "name": "negative", + "type": "CONDITIONING", + "link": 170 + }, + { + "name": "latent_image", + "type": "LATENT", + "link": 59, + "slot_index": 3 + } + ], + "outputs": [ + { + "name": "LATENT", + "type": "LATENT", + "links": [ + 60 + ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "KSampler" + }, + "widgets_values": [ + 431433362471142, + "fixed", + 20, + 8, + "euler", + "normal", + 1 + ], + "color": "#322", + "bgcolor": "#533" + }, + { + "id": 43, + "type": "PreviewImage", + "pos": [ + 2390, + -140 + ], + "size": [ + 230, + 300 + ], + "flags": {}, + "order": 19, + "mode": 0, + "inputs": [ + { + "name": "images", + "type": "IMAGE", + "link": 142 + } + ], + "outputs": [], + "title": "Cropped (refined)", + "properties": { + "Node name for S&R": "PreviewImage" + }, + "widgets_values": [], + "color": "#223", + "bgcolor": "#335" + }, + { + "id": 52, + "type": "PreviewImage", + "pos": [ + 2390, + 210 + ], + "size": [ + 230, + 310 + ], + "flags": {}, + "order": 20, + "mode": 0, + "inputs": [ + { + "name": "images", + "type": "IMAGE", + "link": 146 + } + ], + "outputs": [], + "properties": { + "Node name for S&R": "PreviewImage" + }, + "widgets_values": [], + "color": "#223", + "bgcolor": "#335" + }, + { + "id": 53, + "type": "UltralyticsDetectorProvider", + "pos": [ + 1290, + 200 + ], + "size": [ + 315, + 78 + ], + "flags": {}, + "order": 0, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "BBOX_DETECTOR", + "type": "BBOX_DETECTOR", + "shape": 3, + "links": [ + 150 + ], + "slot_index": 0 + }, + { + "name": "SEGM_DETECTOR", + "type": "SEGM_DETECTOR", + "shape": 3, + "links": null + } + ], + "properties": { + "Node name for S&R": "UltralyticsDetectorProvider" + }, + "widgets_values": [ + "bbox/face_yolov8m.pt" + ], + "color": "#223", + "bgcolor": "#335" + }, + { + "id": 16, + "type": "SAMLoader", + "pos": [ + 1290, + 340 + ], + "size": [ + 320, + 82 + ], + "flags": {}, + "order": 1, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "SAM_MODEL", + "type": "SAM_MODEL", + "links": [ + 151 + ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "SAMLoader" + }, + "widgets_values": [ + "sam_vit_b_01ec64.pth", + "AUTO" + ], + "color": "#223", + "bgcolor": "#335" + }, + { + "id": 30, + "type": "VAEDecode", + "pos": [ + 1010, + 840 + ], + "size": [ + 140, + 50 + ], + "flags": {}, + "order": 15, + "mode": 0, + "inputs": [ + { + "name": "samples", + "type": "LATENT", + "link": 60 + }, + { + "name": "vae", + "type": "VAE", + "link": 164 + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 78, + 152 + ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "VAEDecode" + }, + "widgets_values": [], + "color": "#322", + "bgcolor": "#533" + }, + { + "id": 4, + "type": "CheckpointLoaderSimple", + "pos": [ + -640, + 190 + ], + "size": [ + 312.0885314941406, + 98 + ], + "flags": {}, + "order": 2, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "MODEL", + "type": "MODEL", + "links": [ + 64, + 157 + ], + "slot_index": 0 + }, + { + "name": "CLIP", + "type": "CLIP", + "links": [ + 148, + 149, + 159 + ], + "slot_index": 1 + }, + { + "name": "VAE", + "type": "VAE", + "links": [ + 161, + 163 + ], + "slot_index": 2 + } + ], + "properties": { + "Node name for S&R": "CheckpointLoaderSimple" + }, + "widgets_values": [ + "SD1.5/fantexiRealistic_v10.safetensors" + ], + "color": "#222", + "bgcolor": "#000" + }, + { + "id": 58, + "type": "Reroute", + "pos": [ + 850, + 220 + ], + "size": [ + 75, + 26 + ], + "flags": {}, + "order": 10, + "mode": 0, + "inputs": [ + { + "name": "", + "type": "*", + "link": 163 + } + ], + "outputs": [ + { + "name": "", + "type": "VAE", + "links": [ + 164 + ], + "slot_index": 0 + } + ], + "properties": { + "showOutputText": false, + "horizontal": false + } + }, + { + "id": 5, + "type": "CLIPTextEncode", + "pos": [ + -120, + 300 + ], + "size": [ + 310, + 180 + ], + "flags": {}, + "order": 6, + "mode": 0, + "inputs": [ + { + "name": "clip", + "type": "CLIP", + "link": 148 + } + ], + "outputs": [ + { + "name": "CONDITIONING", + "type": "CONDITIONING", + "links": [ + 57, + 165 + ], + "slot_index": 0 + } + ], + "title": "Positive", + "properties": { + "Node name for S&R": "CLIPTextEncode" + }, + "widgets_values": [ + "(photorealistic:1.4), best quality, masterpiece, 1girl, (detailed eyes), perfect anatomy, smile, details, perfect eyes, perfect face, (SpringGreen+letter_printed_sleeveless_turtleneck), ((white_low_waist_jeans)), (thigh_gap:1.2), at_the_top_of_mountain, snow, daytime, windy, path, mountain_villa, sky_view, slender, looking_away, (small breast:1.2)" + ], + "color": "#322", + "bgcolor": "#533" + }, + { + "id": 6, + "type": "CLIPTextEncode", + "pos": [ + -120, + 540 + ], + "size": [ + 310, + 120 + ], + "flags": {}, + "order": 7, + "mode": 0, + "inputs": [ + { + "name": "clip", + "type": "CLIP", + "link": 149 + } + ], + "outputs": [ + { + "name": "CONDITIONING", + "type": "CONDITIONING", + "links": [ + 167 + ], + "slot_index": 0 + } + ], + "title": "Negative", + "properties": { + "Node name for S&R": "CLIPTextEncode" + }, + "widgets_values": [ + "embedding:easynegative, embedding:badhandv4, paintings, sketches, (worst quality:1.4, low quality, normal quality), lowres, normal quality, (monochrome), (grayscale), skin spots, acnes, skin blemishes, age spot, glans, nsfw, watermark, signature, text, bikini, bad anatomy, (six_fingers), (nail_art), nail polish, blush, fruit," + ], + "color": "#322", + "bgcolor": "#533" + }, + { + "id": 60, + "type": "Reroute", + "pos": [ + 340, + 540 + ], + "size": [ + 75, + 26 + ], + "flags": {}, + "order": 12, + "mode": 0, + "inputs": [ + { + "name": "", + "type": "*", + "link": 167 + } + ], + "outputs": [ + { + "name": "", + "type": "CONDITIONING", + "links": [ + 168, + 170 + ], + "slot_index": 0 + } + ], + "properties": { + "showOutputText": false, + "horizontal": false + } + }, + { + "id": 31, + "type": "Reroute", + "pos": [ + 130, + 190 + ], + "size": [ + 82, + 26 + ], + "flags": {}, + "order": 4, + "mode": 0, + "inputs": [ + { + "name": "", + "type": "*", + "link": 64 + } + ], + "outputs": [ + { + "name": "MODEL", + "type": "MODEL", + "links": [ + 65 + ], + "slot_index": 0 + } + ], + "properties": { + "showOutputText": true, + "horizontal": false + } + }, + { + "id": 29, + "type": "EmptyLatentImage", + "pos": [ + -120, + 900 + ], + "size": [ + 310, + 130 + ], + "flags": {}, + "order": 3, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "LATENT", + "type": "LATENT", + "links": [ + 59 + ] + } + ], + "properties": { + "Node name for S&R": "EmptyLatentImage" + }, + "widgets_values": [ + 296, + 512, + 1 + ], + "color": "#322", + "bgcolor": "#533" + }, + { + "id": 51, + "type": "FaceDetailer", + "pos": [ + 1720, + -330 + ], + "size": [ + 350, + 1180 + ], + "flags": {}, + "order": 17, + "mode": 0, + "inputs": [ + { + "name": "image", + "type": "IMAGE", + "link": 152 + }, + { + "name": "model", + "type": "MODEL", + "link": 158 + }, + { + "name": "clip", + "type": "CLIP", + "link": 160 + }, + { + "name": "vae", + "type": "VAE", + "link": 162 + }, + { + "name": "positive", + "type": "CONDITIONING", + "link": 166 + }, + { + "name": "negative", + "type": "CONDITIONING", + "link": 169 + }, + { + "name": "bbox_detector", + "type": "BBOX_DETECTOR", + "link": 150 + }, + { + "name": "sam_model_opt", + "type": "SAM_MODEL", + "shape": 7, + "link": 151 + }, + { + "name": "segm_detector_opt", + "type": "SEGM_DETECTOR", + "shape": 7, + "link": null + }, + { + "name": "detailer_hook", + "type": "DETAILER_HOOK", + "shape": 7, + "link": null + }, + { + "name": "scheduler_func_opt", + "type": "SCHEDULER_FUNC", + "shape": 7, + "link": null + } + ], + "outputs": [ + { + "name": "image", + "type": "IMAGE", + "shape": 3, + "links": [ + 141 + ], + "slot_index": 0 + }, + { + "name": "cropped_refined", + "type": "IMAGE", + "shape": 6, + "links": [ + 142 + ], + "slot_index": 1 + }, + { + "name": "cropped_enhanced_alpha", + "type": "IMAGE", + "shape": 6, + "links": [ + 146 + ], + "slot_index": 2 + }, + { + "name": "mask", + "type": "MASK", + "shape": 3, + "links": [ + 153 + ], + "slot_index": 3 + }, + { + "name": "detailer_pipe", + "type": "DETAILER_PIPE", + "shape": 3, + "links": null + }, + { + "name": "cnet_images", + "type": "IMAGE", + "shape": 6, + "links": null + } + ], + "properties": { + "Node name for S&R": "FaceDetailer" + }, + "widgets_values": [ + 360, + true, + 768, + 0, + "fixed", + 20, + 8, + "euler", + "normal", + 0.5, + 5, + true, + false, + 0.5, + 15, + 3, + "center-1", + 0, + 0.93, + 0, + 0.7, + "False", + 10, + "", + 1, + false, + 20, + false, + false + ], + "color": "#223", + "bgcolor": "#335" + }, + { + "id": 17, + "type": "MaskToImage", + "pos": [ + 2150, + 590 + ], + "size": [ + 176.39999389648438, + 26 + ], + "flags": {}, + "order": 21, + "mode": 0, + "inputs": [ + { + "name": "mask", + "type": "MASK", + "link": 153 + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 107 + ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "MaskToImage" + }, + "widgets_values": [], + "color": "#223", + "bgcolor": "#335" + }, + { + "id": 18, + "type": "PreviewImage", + "pos": [ + 2390, + 590 + ], + "size": [ + 230, + 290 + ], + "flags": {}, + "order": 22, + "mode": 0, + "inputs": [ + { + "name": "images", + "type": "IMAGE", + "link": 107 + } + ], + "outputs": [], + "title": "Mask", + "properties": { + "Node name for S&R": "PreviewImage" + }, + "widgets_values": [], + "color": "#223", + "bgcolor": "#335" + }, + { + "id": 7, + "type": "PreviewImage", + "pos": [ + 2660, + -320 + ], + "size": [ + 430, + 650 + ], + "flags": {}, + "order": 18, + "mode": 0, + "inputs": [ + { + "name": "images", + "type": "IMAGE", + "link": 141 + } + ], + "outputs": [], + "title": "Enhanced", + "properties": { + "Node name for S&R": "PreviewImage" + }, + "widgets_values": [], + "color": "#223", + "bgcolor": "#335" + }, + { + "id": 33, + "type": "PreviewImage", + "pos": [ + 1250, + 840 + ], + "size": [ + 360, + 630 + ], + "flags": {}, + "order": 16, + "mode": 0, + "inputs": [ + { + "name": "images", + "type": "IMAGE", + "link": 78 + } + ], + "outputs": [], + "properties": { + "Node name for S&R": "PreviewImage" + }, + "widgets_values": [], + "color": "#322", + "bgcolor": "#533" + }, + { + "id": 55, + "type": "Reroute", + "pos": [ + -190, + -310 + ], + "size": [ + 75, + 26 + ], + "flags": {}, + "order": 5, + "mode": 0, + "inputs": [ + { + "name": "", + "type": "*", + "link": 157 + } + ], + "outputs": [ + { + "name": "", + "type": "MODEL", + "links": [ + 158 + ], + "slot_index": 0 + } + ], + "properties": { + "showOutputText": false, + "horizontal": false + } + }, + { + "id": 56, + "type": "Reroute", + "pos": [ + -190, + -290 + ], + "size": [ + 75, + 26 + ], + "flags": {}, + "order": 8, + "mode": 0, + "inputs": [ + { + "name": "", + "type": "*", + "link": 159 + } + ], + "outputs": [ + { + "name": "", + "type": "CLIP", + "links": [ + 160 + ], + "slot_index": 0 + } + ], + "properties": { + "showOutputText": false, + "horizontal": false + } + }, + { + "id": 57, + "type": "Reroute", + "pos": [ + -190, + -270 + ], + "size": [ + 75, + 26 + ], + "flags": {}, + "order": 9, + "mode": 0, + "inputs": [ + { + "name": "", + "type": "*", + "link": 161 + } + ], + "outputs": [ + { + "name": "", + "type": "VAE", + "links": [ + 162 + ], + "slot_index": 0 + } + ], + "properties": { + "showOutputText": false, + "horizontal": false + } + }, + { + "id": 59, + "type": "Reroute", + "pos": [ + 290, + -250 + ], + "size": [ + 75, + 26 + ], + "flags": {}, + "order": 11, + "mode": 0, + "inputs": [ + { + "name": "", + "type": "*", + "link": 165 + } + ], + "outputs": [ + { + "name": "", + "type": "CONDITIONING", + "links": [ + 166 + ], + "slot_index": 0 + } + ], + "properties": { + "showOutputText": false, + "horizontal": false + } + }, + { + "id": 61, + "type": "Reroute", + "pos": [ + 520, + -230 + ], + "size": [ + 75, + 26 + ], + "flags": {}, + "order": 13, + "mode": 0, + "inputs": [ + { + "name": "", + "type": "*", + "link": 168 + } + ], + "outputs": [ + { + "name": "", + "type": "CONDITIONING", + "links": [ + 169 + ], + "slot_index": 0 + } + ], + "properties": { + "showOutputText": false, + "horizontal": false + } + } + ], + "links": [ + [ + 57, + 5, + 0, + 28, + 1, + "CONDITIONING" + ], + [ + 59, + 29, + 0, + 28, + 3, + "LATENT" + ], + [ + 60, + 28, + 0, + 30, + 0, + "LATENT" + ], + [ + 64, + 4, + 0, + 31, + 0, + "*" + ], + [ + 65, + 31, + 0, + 28, + 0, + "MODEL" + ], + [ + 78, + 30, + 0, + 33, + 0, + "IMAGE" + ], + [ + 107, + 17, + 0, + 18, + 0, + "IMAGE" + ], + [ + 141, + 51, + 0, + 7, + 0, + "IMAGE" + ], + [ + 142, + 51, + 1, + 43, + 0, + "IMAGE" + ], + [ + 146, + 51, + 2, + 52, + 0, + "IMAGE" + ], + [ + 148, + 4, + 1, + 5, + 0, + "CLIP" + ], + [ + 149, + 4, + 1, + 6, + 0, + "CLIP" + ], + [ + 150, + 53, + 0, + 51, + 6, + "BBOX_DETECTOR" + ], + [ + 151, + 16, + 0, + 51, + 7, + "SAM_MODEL" + ], + [ + 152, + 30, + 0, + 51, + 0, + "IMAGE" + ], + [ + 153, + 51, + 3, + 17, + 0, + "MASK" + ], + [ + 157, + 4, + 0, + 55, + 0, + "*" + ], + [ + 158, + 55, + 0, + 51, + 1, + "MODEL" + ], + [ + 159, + 4, + 1, + 56, + 0, + "*" + ], + [ + 160, + 56, + 0, + 51, + 2, + "CLIP" + ], + [ + 161, + 4, + 2, + 57, + 0, + "*" + ], + [ + 162, + 57, + 0, + 51, + 3, + "VAE" + ], + [ + 163, + 4, + 2, + 58, + 0, + "*" + ], + [ + 164, + 58, + 0, + 30, + 1, + "VAE" + ], + [ + 165, + 5, + 0, + 59, + 0, + "*" + ], + [ + 166, + 59, + 0, + 51, + 4, + "CONDITIONING" + ], + [ + 167, + 6, + 0, + 60, + 0, + "*" + ], + [ + 168, + 60, + 0, + 61, + 0, + "*" + ], + [ + 169, + 61, + 0, + 51, + 5, + "CONDITIONING" + ], + [ + 170, + 60, + 0, + 28, + 2, + "CONDITIONING" + ] + ], + "groups": [], + "config": {}, + "extra": { + "ds": { + "scale": 1, + "offset": [ + 740, + 430 + ] + }, + "groupNodes": {}, + "controller_panel": { + "controllers": {}, + "hidden": true, + "highlight": true, + "version": 2, + "default_order": [] + }, + "node_versions": { + "comfy-core": "0.3.14", + "comfyui-impact-subpack": "74db20c95eca152a6d686c914edc0ef4e4762cb8", + "comfyui-impact-pack": "1ae7cae2df8cca06027edfa3a24512671239d6c4" + }, + "ue_links": [], + "VHS_latentpreview": false, + "VHS_latentpreviewrate": 0, + "VHS_MetadataImage": true, + "VHS_KeepIntermediate": true + }, + "version": 0.4 +} \ No newline at end of file diff --git a/example_workflows/2-MaskDetailer.jpg b/example_workflows/2-MaskDetailer.jpg new file mode 100644 index 0000000..6615cb4 Binary files /dev/null and b/example_workflows/2-MaskDetailer.jpg differ diff --git a/example_workflows/2-MaskDetailer.json b/example_workflows/2-MaskDetailer.json new file mode 100644 index 0000000..52ba3f0 --- /dev/null +++ b/example_workflows/2-MaskDetailer.json @@ -0,0 +1,596 @@ +{ + "last_node_id": 5, + "last_link_id": 5, + "nodes": [ + { + "id": 1, + "type": "LoadImage", + "pos": [ + 30, + 210 + ], + "size": [ + 390, + 320 + ], + "flags": {}, + "order": 0, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "shape": 3, + "links": [ + 1 + ] + }, + { + "name": "MASK", + "type": "MASK", + "shape": 3, + "links": [ + 2 + ] + } + ], + "properties": { + "Node name for S&R": "LoadImage" + }, + "widgets_values": [ + "clipspace/clipspace-mask-609196.2000000011.png [input]", + "image" + ] + }, + { + "id": 5, + "type": "PreviewImage", + "pos": [ + 1230, + 210 + ], + "size": [ + 210, + 246 + ], + "flags": {}, + "order": 3, + "mode": 0, + "inputs": [ + { + "name": "images", + "type": "IMAGE", + "link": 5 + } + ], + "outputs": [], + "properties": { + "Node name for S&R": "PreviewImage" + }, + "widgets_values": [] + }, + { + "id": 3, + "type": "workflow>Impact::MAKE_BASIC_PIPE", + "pos": [ + 20, + 620 + ], + "size": [ + 400, + 200 + ], + "flags": {}, + "order": 1, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "basic_pipe", + "type": "BASIC_PIPE", + "shape": 3, + "links": [ + 3 + ] + } + ], + "properties": { + "Node name for S&R": "workflow/Impact::MAKE_BASIC_PIPE" + }, + "widgets_values": [ + "SD1.5/realcartoon3d_v13.safetensors", + "(best quality:1.4), fox girl", + "(worst quality:1.4), nsfw" + ] + }, + { + "id": 2, + "type": "MaskDetailerPipe", + "pos": [ + 530, + 210 + ], + "size": [ + 569.4000244140625, + 850 + ], + "flags": {}, + "order": 2, + "mode": 0, + "inputs": [ + { + "name": "image", + "type": "IMAGE", + "link": 1 + }, + { + "name": "mask", + "type": "MASK", + "link": 2 + }, + { + "name": "basic_pipe", + "type": "BASIC_PIPE", + "link": 3, + "slot_index": 2 + }, + { + "name": "refiner_basic_pipe_opt", + "type": "BASIC_PIPE", + "shape": 7, + "link": null + }, + { + "name": "detailer_hook", + "type": "DETAILER_HOOK", + "shape": 7, + "link": null + }, + { + "name": "scheduler_func_opt", + "type": "SCHEDULER_FUNC", + "shape": 7, + "link": null + } + ], + "outputs": [ + { + "name": "image", + "type": "IMAGE", + "shape": 3, + "links": [ + 5 + ], + "slot_index": 0 + }, + { + "name": "cropped_refined", + "type": "IMAGE", + "shape": 6, + "links": null + }, + { + "name": "cropped_enhanced_alpha", + "type": "IMAGE", + "shape": 6, + "links": [ + 4 + ], + "slot_index": 2 + }, + { + "name": "basic_pipe", + "type": "BASIC_PIPE", + "shape": 3, + "links": null + }, + { + "name": "refiner_basic_pipe_opt", + "type": "BASIC_PIPE", + "shape": 3, + "links": null + } + ], + "properties": { + "Node name for S&R": "MaskDetailerPipe" + }, + "widgets_values": [ + 512, + true, + 1024, + true, + 1003, + "fixed", + 20, + 8, + "euler", + "normal", + 0.75, + 5, + 3, + 10, + 0.2, + 1, + 1, + false, + 20, + false, + false + ], + "color": "#322", + "bgcolor": "#533" + }, + { + "id": 4, + "type": "PreviewImage", + "pos": [ + 1230, + 560 + ], + "size": [ + 210, + 246 + ], + "flags": {}, + "order": 4, + "mode": 0, + "inputs": [ + { + "name": "images", + "type": "IMAGE", + "link": 4 + } + ], + "outputs": [], + "properties": { + "Node name for S&R": "PreviewImage" + }, + "widgets_values": [] + } + ], + "links": [ + [ + 1, + 1, + 0, + 2, + 0, + "IMAGE" + ], + [ + 2, + 1, + 1, + 2, + 1, + "MASK" + ], + [ + 3, + 3, + 0, + 2, + 2, + "BASIC_PIPE" + ], + [ + 4, + 2, + 2, + 4, + 0, + "IMAGE" + ], + [ + 5, + 2, + 0, + 5, + 0, + "IMAGE" + ] + ], + "groups": [], + "config": {}, + "extra": { + "ds": { + "scale": 1, + "offset": [ + 80, + -110 + ] + }, + "groupNodes": { + "Impact::MAKE_BASIC_PIPE": { + "author": "Dr.Lt.Data", + "category": "", + "config": { + "1": { + "input": { + "text": { + "name": "Positive prompt" + } + } + }, + "2": { + "input": { + "text": { + "name": "Negative prompt" + } + } + } + }, + "datetime": 1708272471445, + "external": [], + "links": [ + [ + 0, + 1, + 1, + 0, + 1, + "CLIP" + ], + [ + 0, + 1, + 2, + 0, + 1, + "CLIP" + ], + [ + 0, + 0, + 3, + 0, + 1, + "MODEL" + ], + [ + 0, + 1, + 3, + 1, + 1, + "CLIP" + ], + [ + 0, + 2, + 3, + 2, + 1, + "VAE" + ], + [ + 1, + 0, + 3, + 3, + 3, + "CONDITIONING" + ], + [ + 2, + 0, + 3, + 4, + 4, + "CONDITIONING" + ] + ], + "nodes": [ + { + "flags": {}, + "index": 0, + "mode": 0, + "order": 0, + "outputs": [ + { + "links": [], + "name": "MODEL", + "shape": 3, + "slot_index": 0, + "type": "MODEL", + "localized_name": "MODEL" + }, + { + "links": [], + "name": "CLIP", + "shape": 3, + "slot_index": 1, + "type": "CLIP", + "localized_name": "CLIP" + }, + { + "links": [], + "name": "VAE", + "shape": 3, + "slot_index": 2, + "type": "VAE", + "localized_name": "VAE" + } + ], + "pos": [ + 550, + 360 + ], + "properties": { + "Node name for S&R": "CheckpointLoaderSimple" + }, + "size": { + "0": 315, + "1": 98 + }, + "type": "CheckpointLoaderSimple", + "widgets_values": [ + "SDXL/sd_xl_base_1.0_0.9vae.safetensors" + ], + "inputs": [] + }, + { + "flags": {}, + "index": 1, + "inputs": [ + { + "link": null, + "name": "clip", + "type": "CLIP", + "localized_name": "clip" + } + ], + "mode": 0, + "order": 1, + "outputs": [ + { + "links": [], + "name": "CONDITIONING", + "shape": 3, + "slot_index": 0, + "type": "CONDITIONING", + "localized_name": "CONDITIONING" + } + ], + "pos": [ + 940, + 480 + ], + "properties": { + "Node name for S&R": "CLIPTextEncode" + }, + "size": { + "0": 263, + "1": 99 + }, + "title": "Positive", + "type": "CLIPTextEncode", + "widgets_values": [ + "" + ] + }, + { + "flags": {}, + "index": 2, + "inputs": [ + { + "link": null, + "name": "clip", + "type": "CLIP", + "localized_name": "clip" + } + ], + "mode": 0, + "order": 2, + "outputs": [ + { + "links": [], + "name": "CONDITIONING", + "shape": 3, + "slot_index": 0, + "type": "CONDITIONING", + "localized_name": "CONDITIONING" + } + ], + "pos": [ + 940, + 640 + ], + "properties": { + "Node name for S&R": "CLIPTextEncode" + }, + "size": { + "0": 263, + "1": 99 + }, + "title": "Negative", + "type": "CLIPTextEncode", + "widgets_values": [ + "" + ] + }, + { + "flags": {}, + "index": 3, + "inputs": [ + { + "link": null, + "name": "model", + "type": "MODEL", + "localized_name": "model" + }, + { + "link": null, + "name": "clip", + "type": "CLIP", + "localized_name": "clip" + }, + { + "link": null, + "name": "vae", + "type": "VAE", + "localized_name": "vae" + }, + { + "link": null, + "name": "positive", + "type": "CONDITIONING", + "localized_name": "positive" + }, + { + "link": null, + "name": "negative", + "type": "CONDITIONING", + "localized_name": "negative" + } + ], + "mode": 0, + "order": 3, + "outputs": [ + { + "links": null, + "name": "basic_pipe", + "shape": 3, + "slot_index": 0, + "type": "BASIC_PIPE", + "localized_name": "basic_pipe" + } + ], + "pos": [ + 1320, + 360 + ], + "properties": { + "Node name for S&R": "ToBasicPipe" + }, + "size": { + "0": 241.79998779296875, + "1": 106 + }, + "type": "ToBasicPipe" + } + ], + "packname": "Impact", + "version": "1.0" + } + }, + "controller_panel": { + "controllers": {}, + "hidden": true, + "highlight": true, + "version": 2, + "default_order": [] + }, + "node_versions": { + "comfy-core": "0.3.14", + "comfyui-impact-pack": "1ae7cae2df8cca06027edfa3a24512671239d6c4" + }, + "ue_links": [], + "VHS_latentpreview": false, + "VHS_latentpreviewrate": 0, + "VHS_MetadataImage": true, + "VHS_KeepIntermediate": true + }, + "version": 0.4 +} \ No newline at end of file diff --git a/example_workflows/3-SEGSDetailer.jpg b/example_workflows/3-SEGSDetailer.jpg new file mode 100644 index 0000000..6252461 Binary files /dev/null and b/example_workflows/3-SEGSDetailer.jpg differ diff --git a/example_workflows/3-SEGSDetailer.json b/example_workflows/3-SEGSDetailer.json new file mode 100644 index 0000000..08bd26d --- /dev/null +++ b/example_workflows/3-SEGSDetailer.json @@ -0,0 +1,1056 @@ +{ + "last_node_id": 19, + "last_link_id": 30, + "nodes": [ + { + "id": 8, + "type": "SAMLoader", + "pos": [ + 60, + 530 + ], + "size": [ + 315, + 82 + ], + "flags": {}, + "order": 0, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "SAM_MODEL", + "type": "SAM_MODEL", + "shape": 3, + "links": [ + 7 + ] + } + ], + "properties": { + "Node name for S&R": "SAMLoader" + }, + "widgets_values": [ + "sam_vit_b_01ec64.pth", + "AUTO" + ], + "color": "#322", + "bgcolor": "#533" + }, + { + "id": 7, + "type": "UltralyticsDetectorProvider", + "pos": [ + 60, + 390 + ], + "size": [ + 315, + 78 + ], + "flags": {}, + "order": 1, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "BBOX_DETECTOR", + "type": "BBOX_DETECTOR", + "shape": 3, + "links": [ + 6 + ] + }, + { + "name": "SEGM_DETECTOR", + "type": "SEGM_DETECTOR", + "shape": 3, + "links": null + } + ], + "properties": { + "Node name for S&R": "UltralyticsDetectorProvider" + }, + "widgets_values": [ + "bbox/face_yolov8m.pt" + ], + "color": "#322", + "bgcolor": "#533" + }, + { + "id": 14, + "type": "Reroute", + "pos": [ + 570, + 330 + ], + "size": [ + 75, + 26 + ], + "flags": {}, + "order": 5, + "mode": 0, + "inputs": [ + { + "name": "", + "type": "*", + "link": 18 + } + ], + "outputs": [ + { + "name": "", + "type": "IMAGE", + "links": [ + 19 + ], + "slot_index": 0 + } + ], + "properties": { + "showOutputText": false, + "horizontal": false + }, + "color": "#322", + "bgcolor": "#533" + }, + { + "id": 15, + "type": "Reroute", + "pos": [ + 1240, + 330 + ], + "size": [ + 75, + 26 + ], + "flags": {}, + "order": 7, + "mode": 0, + "inputs": [ + { + "name": "", + "type": "*", + "link": 19 + } + ], + "outputs": [ + { + "name": "", + "type": "IMAGE", + "links": [ + 24, + 26 + ], + "slot_index": 0 + } + ], + "properties": { + "showOutputText": false, + "horizontal": false + }, + "color": "#322", + "bgcolor": "#533" + }, + { + "id": 16, + "type": "Reroute", + "pos": [ + 1740, + 330 + ], + "size": [ + 75, + 26 + ], + "flags": {}, + "order": 8, + "mode": 0, + "inputs": [ + { + "name": "", + "type": "*", + "link": 24 + } + ], + "outputs": [ + { + "name": "", + "type": "IMAGE", + "links": [ + 25 + ], + "slot_index": 0 + } + ], + "properties": { + "showOutputText": false, + "horizontal": false + }, + "color": "#322", + "bgcolor": "#533" + }, + { + "id": 17, + "type": "Reroute", + "pos": [ + 1390, + 390 + ], + "size": [ + 75, + 26 + ], + "flags": {}, + "order": 9, + "mode": 0, + "inputs": [ + { + "name": "", + "type": "*", + "pos": [ + 37.5, + 0 + ], + "link": 26 + } + ], + "outputs": [ + { + "name": "", + "type": "IMAGE", + "links": [ + 27, + 28 + ], + "slot_index": 0 + } + ], + "properties": { + "showOutputText": false, + "horizontal": true + }, + "color": "#322", + "bgcolor": "#533" + }, + { + "id": 13, + "type": "SEGSPaste", + "pos": [ + 1860, + 510 + ], + "size": [ + 570, + 122 + ], + "flags": {}, + "order": 10, + "mode": 0, + "inputs": [ + { + "name": "image", + "type": "IMAGE", + "link": 25 + }, + { + "name": "segs", + "type": "SEGS", + "link": 22 + }, + { + "name": "ref_image_opt", + "type": "IMAGE", + "shape": 7, + "link": null + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "shape": 3, + "links": [ + 29 + ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "SEGSPaste" + }, + "widgets_values": [ + 5, + 255 + ], + "color": "#322", + "bgcolor": "#533" + }, + { + "id": 1, + "type": "LoadImage", + "pos": [ + 60, + 680 + ], + "size": [ + 315, + 314 + ], + "flags": {}, + "order": 2, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "shape": 3, + "links": [ + 1, + 8, + 18 + ], + "slot_index": 0 + }, + { + "name": "MASK", + "type": "MASK", + "shape": 3, + "links": null + } + ], + "properties": { + "Node name for S&R": "LoadImage" + }, + "widgets_values": [ + "ComfyUI_temp_xltgv_00001_.png", + "image" + ], + "color": "#322", + "bgcolor": "#533" + }, + { + "id": 19, + "type": "workflow>MAKE_BASIC_PIPE", + "pos": [ + 60, + 70 + ], + "size": [ + 400, + 200 + ], + "flags": {}, + "order": 3, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "basic_pipe", + "type": "BASIC_PIPE", + "shape": 3, + "links": [ + 30 + ] + } + ], + "properties": { + "Node name for S&R": "workflow/MAKE_BASIC_PIPE" + }, + "widgets_values": [ + "SD1.5/V07_v07.safetensors", + "best quality:1.4, detailed, (goth:0.8)", + "low quality:1.4, worst quality:1.4" + ], + "color": "#222", + "bgcolor": "#000" + }, + { + "id": 6, + "type": "SEGSPreview", + "pos": [ + 1460, + 600 + ], + "size": [ + 320, + 314 + ], + "flags": {}, + "order": 11, + "mode": 0, + "inputs": [ + { + "name": "segs", + "type": "SEGS", + "link": 5 + }, + { + "name": "fallback_image_opt", + "type": "IMAGE", + "shape": 7, + "link": 27 + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "shape": 6, + "links": null + } + ], + "properties": { + "Node name for S&R": "SEGSPreview" + }, + "widgets_values": [ + true, + 0.2 + ], + "color": "#322", + "bgcolor": "#533" + }, + { + "id": 4, + "type": "SEGSDetailer", + "pos": [ + 960, + 530 + ], + "size": [ + 440, + 734 + ], + "flags": {}, + "order": 6, + "mode": 0, + "inputs": [ + { + "name": "image", + "type": "IMAGE", + "link": 8 + }, + { + "name": "segs", + "type": "SEGS", + "link": 3 + }, + { + "name": "basic_pipe", + "type": "BASIC_PIPE", + "link": 30, + "slot_index": 2 + }, + { + "name": "refiner_basic_pipe_opt", + "type": "BASIC_PIPE", + "shape": 7, + "link": null + }, + { + "name": "scheduler_func_opt", + "type": "SCHEDULER_FUNC", + "shape": 7, + "link": null + } + ], + "outputs": [ + { + "name": "segs", + "type": "SEGS", + "shape": 3, + "links": [ + 5, + 22 + ], + "slot_index": 0 + }, + { + "name": "cnet_images", + "type": "IMAGE", + "shape": 6, + "links": [], + "slot_index": 1 + } + ], + "properties": { + "Node name for S&R": "SEGSDetailer" + }, + "widgets_values": [ + 256, + true, + 768, + 1021210429641780, + "fixed", + 20, + 8, + "euler", + "normal", + 0.3, + true, + false, + 0.2, + 1, + 1, + false, + 20 + ], + "color": "#322", + "bgcolor": "#533" + }, + { + "id": 5, + "type": "PreviewImage", + "pos": [ + 1460, + 940 + ], + "size": [ + 320, + 310 + ], + "flags": {}, + "order": 12, + "mode": 0, + "inputs": [ + { + "name": "images", + "type": "IMAGE", + "link": 28 + } + ], + "outputs": [], + "properties": { + "Node name for S&R": "PreviewImage" + }, + "widgets_values": [], + "color": "#322", + "bgcolor": "#533" + }, + { + "id": 18, + "type": "PreviewImage", + "pos": [ + 1860, + 690 + ], + "size": [ + 570, + 560 + ], + "flags": {}, + "order": 13, + "mode": 0, + "inputs": [ + { + "name": "images", + "type": "IMAGE", + "link": 29 + } + ], + "outputs": [], + "properties": { + "Node name for S&R": "PreviewImage" + }, + "widgets_values": [], + "color": "#322", + "bgcolor": "#533" + }, + { + "id": 2, + "type": "ImpactSimpleDetectorSEGS", + "pos": [ + 570, + 530 + ], + "size": [ + 315, + 310 + ], + "flags": {}, + "order": 4, + "mode": 0, + "inputs": [ + { + "name": "bbox_detector", + "type": "BBOX_DETECTOR", + "link": 6, + "slot_index": 0 + }, + { + "name": "image", + "type": "IMAGE", + "link": 1 + }, + { + "name": "sam_model_opt", + "type": "SAM_MODEL", + "shape": 7, + "link": 7, + "slot_index": 2 + }, + { + "name": "segm_detector_opt", + "type": "SEGM_DETECTOR", + "shape": 7, + "link": null + } + ], + "outputs": [ + { + "name": "SEGS", + "type": "SEGS", + "shape": 3, + "links": [ + 3 + ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "ImpactSimpleDetectorSEGS" + }, + "widgets_values": [ + 0.5, + 0, + 3, + 10, + 0.5, + 0, + 0, + 0.7, + 0 + ], + "color": "#322", + "bgcolor": "#533" + } + ], + "links": [ + [ + 1, + 1, + 0, + 2, + 1, + "IMAGE" + ], + [ + 3, + 2, + 0, + 4, + 1, + "SEGS" + ], + [ + 5, + 4, + 0, + 6, + 0, + "SEGS" + ], + [ + 6, + 7, + 0, + 2, + 0, + "BBOX_DETECTOR" + ], + [ + 7, + 8, + 0, + 2, + 2, + "SAM_MODEL" + ], + [ + 8, + 1, + 0, + 4, + 0, + "IMAGE" + ], + [ + 18, + 1, + 0, + 14, + 0, + "*" + ], + [ + 19, + 14, + 0, + 15, + 0, + "*" + ], + [ + 22, + 4, + 0, + 13, + 1, + "SEGS" + ], + [ + 24, + 15, + 0, + 16, + 0, + "*" + ], + [ + 25, + 16, + 0, + 13, + 0, + "IMAGE" + ], + [ + 26, + 15, + 0, + 17, + 0, + "*" + ], + [ + 27, + 17, + 0, + 6, + 1, + "IMAGE" + ], + [ + 28, + 17, + 0, + 5, + 0, + "IMAGE" + ], + [ + 29, + 13, + 0, + 18, + 0, + "IMAGE" + ], + [ + 30, + 19, + 0, + 4, + 2, + "BASIC_PIPE" + ] + ], + "groups": [], + "config": {}, + "extra": { + "groupNodes": { + "MAKE_BASIC_PIPE": { + "nodes": [ + { + "type": "CheckpointLoaderSimple", + "pos": [ + 140, + 150 + ], + "size": { + "0": 421.5882568359375, + "1": 98 + }, + "flags": {}, + "order": 3, + "mode": 0, + "outputs": [ + { + "name": "MODEL", + "type": "MODEL", + "links": [], + "shape": 3, + "slot_index": 0, + "localized_name": "MODEL" + }, + { + "name": "CLIP", + "type": "CLIP", + "links": [], + "shape": 3, + "slot_index": 1, + "localized_name": "CLIP" + }, + { + "name": "VAE", + "type": "VAE", + "links": [], + "shape": 3, + "localized_name": "VAE" + } + ], + "properties": { + "Node name for S&R": "CheckpointLoaderSimple" + }, + "widgets_values": [ + "SD1.5/V07_v07.safetensors" + ], + "color": "#222", + "bgcolor": "#000", + "index": 0, + "inputs": [] + }, + { + "type": "CLIPTextEncode", + "pos": [ + 740, + 60 + ], + "size": { + "0": 256.9515686035156, + "1": 76.1346435546875 + }, + "flags": {}, + "order": 6, + "mode": 0, + "inputs": [ + { + "name": "clip", + "type": "CLIP", + "link": null, + "localized_name": "clip" + } + ], + "outputs": [ + { + "name": "CONDITIONING", + "type": "CONDITIONING", + "links": [], + "shape": 3, + "slot_index": 0, + "localized_name": "CONDITIONING" + } + ], + "properties": { + "Node name for S&R": "CLIPTextEncode" + }, + "widgets_values": [ + "best quality:1.4, detailed, (goth:0.8)" + ], + "color": "#222", + "bgcolor": "#000", + "index": 1 + }, + { + "type": "CLIPTextEncode", + "pos": [ + 740, + 270 + ], + "size": { + "0": 258.04248046875, + "1": 79.95282745361328 + }, + "flags": {}, + "order": 7, + "mode": 0, + "inputs": [ + { + "name": "clip", + "type": "CLIP", + "link": null, + "slot_index": 0, + "localized_name": "clip" + } + ], + "outputs": [ + { + "name": "CONDITIONING", + "type": "CONDITIONING", + "links": [], + "shape": 3, + "slot_index": 0, + "localized_name": "CONDITIONING" + } + ], + "properties": { + "Node name for S&R": "CLIPTextEncode" + }, + "widgets_values": [ + "low quality:1.4, worst quality:1.4" + ], + "color": "#222", + "bgcolor": "#000", + "index": 2 + }, + { + "type": "ToBasicPipe", + "pos": [ + 1240, + 150 + ], + "size": { + "0": 241.79998779296875, + "1": 106 + }, + "flags": {}, + "order": 9, + "mode": 0, + "inputs": [ + { + "name": "model", + "type": "MODEL", + "link": null, + "localized_name": "model" + }, + { + "name": "clip", + "type": "CLIP", + "link": null, + "localized_name": "clip" + }, + { + "name": "vae", + "type": "VAE", + "link": null, + "slot_index": 2, + "localized_name": "vae" + }, + { + "name": "positive", + "type": "CONDITIONING", + "link": null, + "localized_name": "positive" + }, + { + "name": "negative", + "type": "CONDITIONING", + "link": null, + "localized_name": "negative" + } + ], + "outputs": [ + { + "name": "basic_pipe", + "type": "BASIC_PIPE", + "links": [], + "shape": 3, + "slot_index": 0, + "localized_name": "basic_pipe" + } + ], + "properties": { + "Node name for S&R": "ToBasicPipe" + }, + "color": "#222", + "bgcolor": "#000", + "index": 3 + } + ], + "links": [ + [ + 0, + 1, + 1, + 0, + 9, + "CLIP" + ], + [ + 0, + 1, + 2, + 0, + 9, + "CLIP" + ], + [ + 0, + 0, + 3, + 0, + 9, + "MODEL" + ], + [ + 0, + 1, + 3, + 1, + 9, + "CLIP" + ], + [ + 0, + 2, + 3, + 2, + 9, + "VAE" + ], + [ + 1, + 0, + 3, + 3, + 10, + "CONDITIONING" + ], + [ + 2, + 0, + 3, + 4, + 11, + "CONDITIONING" + ] + ], + "external": [ + [ + 3, + 0, + "BASIC_PIPE" + ] + ] + } + }, + "controller_panel": { + "controllers": {}, + "hidden": true, + "highlight": true, + "version": 2, + "default_order": [] + }, + "ds": { + "scale": 0.7513148009015777, + "offset": [ + 158.41700000000017, + 158.82600000000025 + ] + }, + "node_versions": { + "comfyui-impact-pack": "1ae7cae2df8cca06027edfa3a24512671239d6c4", + "comfyui-impact-subpack": "74db20c95eca152a6d686c914edc0ef4e4762cb8", + "comfy-core": "0.3.14" + }, + "ue_links": [], + "VHS_latentpreview": false, + "VHS_latentpreviewrate": 0, + "VHS_MetadataImage": true, + "VHS_KeepIntermediate": true + }, + "version": 0.4 +} \ No newline at end of file diff --git a/example_workflows/4-MakeTileSEGS-Upscale.jpg b/example_workflows/4-MakeTileSEGS-Upscale.jpg new file mode 100644 index 0000000..7839c82 Binary files /dev/null and b/example_workflows/4-MakeTileSEGS-Upscale.jpg differ diff --git a/example_workflows/4-MakeTileSEGS-Upscale.json b/example_workflows/4-MakeTileSEGS-Upscale.json new file mode 100644 index 0000000..902e5a7 --- /dev/null +++ b/example_workflows/4-MakeTileSEGS-Upscale.json @@ -0,0 +1,1627 @@ +{ + "last_node_id": 67, + "last_link_id": 115, + "nodes": [ + { + "id": 31, + "type": "Reroute", + "pos": [ + 1170, + 730 + ], + "size": [ + 75, + 26 + ], + "flags": {}, + "order": 15, + "mode": 0, + "inputs": [ + { + "name": "", + "type": "*", + "link": 61 + } + ], + "outputs": [ + { + "name": "", + "type": "IMAGE", + "links": [ + 59, + 60 + ], + "slot_index": 0 + } + ], + "properties": { + "showOutputText": false, + "horizontal": false + } + }, + { + "id": 32, + "type": "SAMLoader", + "pos": [ + -160, + 840 + ], + "size": [ + 315, + 82 + ], + "flags": {}, + "order": 0, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "SAM_MODEL", + "type": "SAM_MODEL", + "shape": 3, + "links": [ + 62 + ] + } + ], + "properties": { + "Node name for S&R": "SAMLoader" + }, + "widgets_values": [ + "sam_vit_b_01ec64.pth", + "AUTO" + ] + }, + { + "id": 24, + "type": "UltralyticsDetectorProvider", + "pos": [ + -160, + 700 + ], + "size": [ + 315, + 78 + ], + "flags": {}, + "order": 1, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "BBOX_DETECTOR", + "type": "BBOX_DETECTOR", + "shape": 3, + "links": [ + 35 + ] + }, + { + "name": "SEGM_DETECTOR", + "type": "SEGM_DETECTOR", + "shape": 3, + "links": [], + "slot_index": 1 + } + ], + "properties": { + "Node name for S&R": "UltralyticsDetectorProvider" + }, + "widgets_values": [ + "segm/person_yolov8m-seg.pt" + ] + }, + { + "id": 9, + "type": "ImageScaleBy", + "pos": [ + 280, + 290 + ], + "size": [ + 315, + 82 + ], + "flags": {}, + "order": 12, + "mode": 0, + "inputs": [ + { + "name": "image", + "type": "IMAGE", + "link": 8, + "slot_index": 0 + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "shape": 3, + "links": [ + 10, + 28 + ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "ImageScaleBy" + }, + "widgets_values": [ + "lanczos", + 2 + ] + }, + { + "id": 52, + "type": "Reroute", + "pos": [ + 1816.5716552734375, + 473.7144470214844 + ], + "size": [ + 75, + 26 + ], + "flags": {}, + "order": 21, + "mode": 0, + "inputs": [ + { + "name": "", + "type": "*", + "link": 106 + } + ], + "outputs": [ + { + "name": "", + "type": "SEGS", + "links": [ + 98 + ], + "slot_index": 0 + } + ], + "properties": { + "showOutputText": false, + "horizontal": false + } + }, + { + "id": 53, + "type": "Reroute", + "pos": [ + 1180, + 1540 + ], + "size": [ + 75, + 26 + ], + "flags": {}, + "order": 19, + "mode": 0, + "inputs": [ + { + "name": "", + "type": "*", + "link": 110 + } + ], + "outputs": [ + { + "name": "", + "type": "SEGS", + "links": [ + 100 + ], + "slot_index": 0 + } + ], + "properties": { + "showOutputText": false, + "horizontal": false + } + }, + { + "id": 19, + "type": "workflow>MAKE_BASIC_PIPE", + "pos": [ + 1440, + 850 + ], + "size": [ + 420, + 170 + ], + "flags": {}, + "order": 2, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "basic_pipe", + "type": "BASIC_PIPE", + "shape": 3, + "links": [ + 76 + ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "workflow/MAKE_BASIC_PIPE" + }, + "widgets_values": [ + "SDXL/MOHAWK_v20BackedVAE.safetensors", + "photograph of a girl, metalic robotic body, sun rising, snow field, hdr, cropped,", + "deformed, blurry, leather, fabric\n" + ] + }, + { + "id": 16, + "type": "PreviewImage", + "pos": [ + 2990, + 730 + ], + "size": [ + 610.069580078125, + 774.6857299804688 + ], + "flags": {}, + "order": 25, + "mode": 0, + "inputs": [ + { + "name": "images", + "type": "IMAGE", + "link": 96 + } + ], + "outputs": [], + "properties": { + "Node name for S&R": "PreviewImage" + }, + "widgets_values": [] + }, + { + "id": 54, + "type": "Reroute", + "pos": [ + 2390, + 1540 + ], + "size": [ + 75, + 26 + ], + "flags": {}, + "order": 22, + "mode": 0, + "inputs": [ + { + "name": "", + "type": "*", + "link": 100 + } + ], + "outputs": [ + { + "name": "", + "type": "SEGS", + "links": [ + 101 + ], + "slot_index": 0 + } + ], + "properties": { + "showOutputText": false, + "horizontal": false + } + }, + { + "id": 51, + "type": "DetailerForEachDebugPipe", + "pos": [ + 2510, + 730 + ], + "size": [ + 410, + 996 + ], + "flags": {}, + "order": 24, + "mode": 0, + "inputs": [ + { + "name": "image", + "type": "IMAGE", + "link": 95, + "slot_index": 0 + }, + { + "name": "segs", + "type": "SEGS", + "link": 101 + }, + { + "name": "basic_pipe", + "type": "BASIC_PIPE", + "link": 94 + }, + { + "name": "detailer_hook", + "type": "DETAILER_HOOK", + "shape": 7, + "link": null + }, + { + "name": "refiner_basic_pipe_opt", + "type": "BASIC_PIPE", + "shape": 7, + "link": null + }, + { + "name": "scheduler_func_opt", + "type": "SCHEDULER_FUNC", + "shape": 7, + "link": null + } + ], + "outputs": [ + { + "name": "image", + "type": "IMAGE", + "shape": 3, + "links": [ + 96 + ], + "slot_index": 0 + }, + { + "name": "segs", + "type": "SEGS", + "shape": 3, + "links": null + }, + { + "name": "basic_pipe", + "type": "BASIC_PIPE", + "shape": 3, + "links": null + }, + { + "name": "cropped", + "type": "IMAGE", + "shape": 6, + "links": null + }, + { + "name": "cropped_refined", + "type": "IMAGE", + "shape": 6, + "links": [], + "slot_index": 4 + }, + { + "name": "cropped_refined_alpha", + "type": "IMAGE", + "shape": 6, + "links": [], + "slot_index": 5 + }, + { + "name": "cnet_images", + "type": "IMAGE", + "shape": 6, + "links": [], + "slot_index": 6 + } + ], + "properties": { + "Node name for S&R": "DetailerForEachDebugPipe" + }, + "widgets_values": [ + 64, + true, + 1024, + 522790177337692, + "fixed", + 20, + 8, + "dpmpp_3m_sde_gpu", + "karras", + 0.4, + 10, + true, + true, + "[CONCAT] red double bun, metalic arm, zoey", + 0.2, + 1, + false, + 50, + false, + false + ] + }, + { + "id": 20, + "type": "Reroute", + "pos": [ + 660, + 730 + ], + "size": [ + 75, + 26 + ], + "flags": {}, + "order": 14, + "mode": 0, + "inputs": [ + { + "name": "", + "type": "*", + "link": 28 + } + ], + "outputs": [ + { + "name": "", + "type": "IMAGE", + "links": [ + 61, + 107, + 111 + ], + "slot_index": 0 + } + ], + "properties": { + "showOutputText": false, + "horizontal": false + } + }, + { + "id": 28, + "type": "SEGSPreview", + "pos": [ + 1279, + 1610 + ], + "size": [ + 315, + 314 + ], + "flags": {}, + "order": 18, + "mode": 0, + "inputs": [ + { + "name": "segs", + "type": "SEGS", + "link": 109, + "slot_index": 0 + }, + { + "name": "fallback_image_opt", + "type": "IMAGE", + "shape": 7, + "link": 59, + "slot_index": 1 + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "shape": 6, + "links": [], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "SEGSPreview" + }, + "widgets_values": [ + true, + 0.1 + ] + }, + { + "id": 56, + "type": "ImpactMakeTileSEGS", + "pos": [ + 780, + 470 + ], + "size": [ + 315, + 218 + ], + "flags": {}, + "order": 17, + "mode": 0, + "inputs": [ + { + "name": "images", + "type": "IMAGE", + "link": 111 + }, + { + "name": "filter_in_segs_opt", + "type": "SEGS", + "shape": 7, + "link": null + }, + { + "name": "filter_out_segs_opt", + "type": "SEGS", + "shape": 7, + "link": 114 + } + ], + "outputs": [ + { + "name": "SEGS", + "type": "SEGS", + "shape": 3, + "links": [ + 105, + 106 + ] + } + ], + "properties": { + "Node name for S&R": "ImpactMakeTileSEGS" + }, + "widgets_values": [ + 768, + 1.5, + 200, + 30, + 0.7000000000000001, + "Reuse fast" + ], + "color": "#322", + "bgcolor": "#533" + }, + { + "id": 6, + "type": "SEGSPreview", + "pos": [ + 1292, + 268 + ], + "size": [ + 430.35296630859375, + 388.4536437988281 + ], + "flags": {}, + "order": 20, + "mode": 0, + "inputs": [ + { + "name": "segs", + "type": "SEGS", + "link": 105, + "slot_index": 0 + }, + { + "name": "fallback_image_opt", + "type": "IMAGE", + "shape": 7, + "link": 10, + "slot_index": 1 + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "shape": 6, + "links": [], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "SEGSPreview" + }, + "widgets_values": [ + true, + 0.1 + ] + }, + { + "id": 60, + "type": "Note", + "pos": [ + -1033, + 292 + ], + "size": [ + 638.3837890625, + 178.84756469726562 + ], + "flags": {}, + "order": 3, + "mode": 0, + "inputs": [], + "outputs": [], + "title": "1.Intro", + "properties": { + "text": "" + }, + "widgets_values": [ + "This video demonstrates how to apply the newly added \"Make Tile SEGS\" in the Impact Pack to upscale using the upscale method.\n\n\"Make Tile SEGS\" node splits the image into tiles and creates SEGS.\n\nBy using this, you can mimic the tile-based upscale function and, if the detected SEGS is too large, you can also split it for detailing." + ], + "color": "#222", + "bgcolor": "#000" + }, + { + "id": 2, + "type": "LoadImage", + "pos": [ + -160, + 290 + ], + "size": [ + 315, + 314 + ], + "flags": {}, + "order": 4, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "shape": 3, + "links": [ + 8, + 34 + ], + "slot_index": 0 + }, + { + "name": "MASK", + "type": "MASK", + "shape": 3, + "links": null + } + ], + "properties": { + "Node name for S&R": "LoadImage" + }, + "widgets_values": [ + "20240107_013.webp", + "image" + ] + }, + { + "id": 62, + "type": "Note", + "pos": [ + 190, + 60 + ], + "size": [ + 396.33758544921875, + 127.46672821044922 + ], + "flags": {}, + "order": 5, + "mode": 0, + "inputs": [], + "outputs": [], + "title": "2. Simple Upscale", + "properties": { + "text": "" + }, + "widgets_values": [ + "First, let's upscale the original 1024x1536 image to double its size.\n\nSimply upscale by 2x using the \"Upscale Image Scale By\". \nThe result will, of course, be blurry.\n" + ], + "color": "#222", + "bgcolor": "#000" + }, + { + "id": 61, + "type": "Note", + "pos": [ + 780, + 35 + ], + "size": [ + 677.756591796875, + 157.3253173828125 + ], + "flags": {}, + "order": 6, + "mode": 0, + "inputs": [], + "outputs": [], + "title": "3. Make Tile SEGS", + "properties": { + "text": "" + }, + "widgets_values": [ + "Let's process this image into SEGS using \"Make Tile SEGS\".\n\nYou can see that SEGS is structured so that every part of the image can be included in the mask area.\n\nUnlike the traditional tile upscaler, this method uses Detailer, so you can improve tile heterogeneity using the 'crop_factor'.\n\nAlso, setting 'mask_irregularity' to 0.7 will make the mask border irregular, improving the heterogeneity of the junctions." + ], + "color": "#222", + "bgcolor": "#000" + }, + { + "id": 63, + "type": "Note", + "pos": [ + -108, + 1056 + ], + "size": [ + 709.2979736328125, + 143.4364013671875 + ], + "flags": {}, + "order": 7, + "mode": 0, + "inputs": [], + "outputs": [], + "title": "4.Human SEGS", + "properties": { + "text": "" + }, + "widgets_values": [ + "Next, let's separate the background and the person to alleviate the noticeable artifacts, especially in the case of humans.\n\nApply the person ultralytics model to the \"Simple Detector\" to create SEGS containing the entire person.\n\nConnect the SEGS to the 'filter_out_segs_opt' in one \"Make Tile SEGS\" node, \nand in the other \"Make Tile SEGS\" node, connect it to the 'filter_in_segs_opt'." + ], + "color": "#222", + "bgcolor": "#000" + }, + { + "id": 65, + "type": "Note", + "pos": [ + 776, + 803 + ], + "size": [ + 620.825927734375, + 163.94039916992188 + ], + "flags": {}, + "order": 8, + "mode": 0, + "inputs": [], + "outputs": [], + "title": "5. filter_out_segs_opt", + "properties": { + "text": "" + }, + "widgets_values": [ + "The node connected to 'filter_out_segs_opt' creates SEGS excluding the mask of the input SEGS, allowing you to detail the background tiles.\n\n'min_overlap' determines how much the masks of each SEGS should overlap, and 'filter_segs_dilation' dilates the mask of the input SEGS.\n\nIncreasing 'filter_segs_dilation' in 'filter_out_segs_opt' generates masks further away from the person." + ], + "color": "#222", + "bgcolor": "#000" + }, + { + "id": 66, + "type": "Note", + "pos": [ + 814, + 2007 + ], + "size": [ + 620.825927734375, + 163.94039916992188 + ], + "flags": {}, + "order": 9, + "mode": 0, + "inputs": [], + "outputs": [], + "title": "6. filter_in_segs_opt", + "properties": { + "text": "" + }, + "widgets_values": [ + "On the other hand, the node connected to 'filter_in_segs_opt' creates SEGS with masks overlapping the input SEGS, allowing you to detail the person.\n\nSince detailing the person requires more attention than the background, increase 'bbox_size' to avoid creating small pieces, and increase 'min_overlap' to reduce junction artifacts and allow overlapping detailing.\n" + ], + "color": "#222", + "bgcolor": "#000" + }, + { + "id": 67, + "type": "Note", + "pos": [ + 1955, + 1805 + ], + "size": [ + 620.825927734375, + 163.94039916992188 + ], + "flags": {}, + "order": 10, + "mode": 0, + "inputs": [], + "outputs": [], + "title": "7. Detailing", + "properties": { + "text": "" + }, + "widgets_values": [ + "Now, using the SEGS created in this way, let's improve the upscaled image using two Detailer nodes.\n\nAlthough you can handle this with \"SEGS Concat\", separating into two Detailer nodes allows for separate options for background and person detailing.\n\nThis way, when modifying the detailing options for a person, you can prevent the recalculation of background detailing.\n" + ], + "color": "#222", + "bgcolor": "#000" + }, + { + "id": 64, + "type": "Note", + "pos": [ + 2994, + 500 + ], + "size": [ + 620.825927734375, + 163.94039916992188 + ], + "flags": {}, + "order": 11, + "mode": 0, + "inputs": [], + "outputs": [], + "title": "8. Result", + "properties": { + "text": "" + }, + "widgets_values": [ + "It seems that the image has upscaled well without significant artifacts in the 2048x3072 size." + ], + "color": "#222", + "bgcolor": "#000" + }, + { + "id": 10, + "type": "DetailerForEachDebugPipe", + "pos": [ + 1960, + 730 + ], + "size": [ + 410, + 996 + ], + "flags": {}, + "order": 23, + "mode": 0, + "inputs": [ + { + "name": "image", + "type": "IMAGE", + "link": 60, + "slot_index": 0 + }, + { + "name": "segs", + "type": "SEGS", + "link": 98 + }, + { + "name": "basic_pipe", + "type": "BASIC_PIPE", + "link": 76 + }, + { + "name": "detailer_hook", + "type": "DETAILER_HOOK", + "shape": 7, + "link": null + }, + { + "name": "refiner_basic_pipe_opt", + "type": "BASIC_PIPE", + "shape": 7, + "link": null + }, + { + "name": "scheduler_func_opt", + "type": "SCHEDULER_FUNC", + "shape": 7, + "link": null + } + ], + "outputs": [ + { + "name": "image", + "type": "IMAGE", + "shape": 3, + "links": [ + 95 + ], + "slot_index": 0 + }, + { + "name": "segs", + "type": "SEGS", + "shape": 3, + "links": null + }, + { + "name": "basic_pipe", + "type": "BASIC_PIPE", + "shape": 3, + "links": [ + 94 + ], + "slot_index": 2 + }, + { + "name": "cropped", + "type": "IMAGE", + "shape": 6, + "links": null + }, + { + "name": "cropped_refined", + "type": "IMAGE", + "shape": 6, + "links": [], + "slot_index": 4 + }, + { + "name": "cropped_refined_alpha", + "type": "IMAGE", + "shape": 6, + "links": [], + "slot_index": 5 + }, + { + "name": "cnet_images", + "type": "IMAGE", + "shape": 6, + "links": [], + "slot_index": 6 + } + ], + "properties": { + "Node name for S&R": "DetailerForEachDebugPipe" + }, + "widgets_values": [ + 64, + true, + 1024, + 522790177337686, + "fixed", + 20, + 8, + "dpmpp_2m_sde_gpu", + "karras", + 0.46, + 10, + true, + true, + "", + 0.2, + 1, + false, + 10, + false, + false + ] + }, + { + "id": 57, + "type": "ImpactMakeTileSEGS", + "pos": [ + 820, + 1610 + ], + "size": [ + 315, + 218 + ], + "flags": {}, + "order": 16, + "mode": 0, + "inputs": [ + { + "name": "images", + "type": "IMAGE", + "link": 107 + }, + { + "name": "filter_in_segs_opt", + "type": "SEGS", + "shape": 7, + "link": 115 + }, + { + "name": "filter_out_segs_opt", + "type": "SEGS", + "shape": 7, + "link": null + } + ], + "outputs": [ + { + "name": "SEGS", + "type": "SEGS", + "shape": 3, + "links": [ + 109, + 110 + ] + } + ], + "properties": { + "Node name for S&R": "ImpactMakeTileSEGS" + }, + "widgets_values": [ + 1200, + 1.4000000000000001, + 200, + 100, + 0.7000000000000001, + "Reuse fast" + ], + "color": "#322", + "bgcolor": "#533" + }, + { + "id": 22, + "type": "ImpactSimpleDetectorSEGS", + "pos": [ + 282, + 699 + ], + "size": [ + 315, + 310 + ], + "flags": {}, + "order": 13, + "mode": 0, + "inputs": [ + { + "name": "bbox_detector", + "type": "BBOX_DETECTOR", + "link": 35, + "slot_index": 0 + }, + { + "name": "image", + "type": "IMAGE", + "link": 34, + "slot_index": 1 + }, + { + "name": "sam_model_opt", + "type": "SAM_MODEL", + "shape": 7, + "link": 62, + "slot_index": 2 + }, + { + "name": "segm_detector_opt", + "type": "SEGM_DETECTOR", + "shape": 7, + "link": null + } + ], + "outputs": [ + { + "name": "SEGS", + "type": "SEGS", + "shape": 3, + "links": [ + 114, + 115 + ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "ImpactSimpleDetectorSEGS" + }, + "widgets_values": [ + 0.5, + 0, + 3, + 10, + 0.5, + 0, + 0, + 0.7000000000000001, + 0 + ] + } + ], + "links": [ + [ + 8, + 2, + 0, + 9, + 0, + "IMAGE" + ], + [ + 10, + 9, + 0, + 6, + 1, + "IMAGE" + ], + [ + 28, + 9, + 0, + 20, + 0, + "*" + ], + [ + 34, + 2, + 0, + 22, + 1, + "IMAGE" + ], + [ + 35, + 24, + 0, + 22, + 0, + "BBOX_DETECTOR" + ], + [ + 59, + 31, + 0, + 28, + 1, + "IMAGE" + ], + [ + 60, + 31, + 0, + 10, + 0, + "IMAGE" + ], + [ + 61, + 20, + 0, + 31, + 0, + "*" + ], + [ + 62, + 32, + 0, + 22, + 2, + "SAM_MODEL" + ], + [ + 76, + 19, + 0, + 10, + 2, + "BASIC_PIPE" + ], + [ + 94, + 10, + 2, + 51, + 2, + "BASIC_PIPE" + ], + [ + 95, + 10, + 0, + 51, + 0, + "IMAGE" + ], + [ + 96, + 51, + 0, + 16, + 0, + "IMAGE" + ], + [ + 98, + 52, + 0, + 10, + 1, + "SEGS" + ], + [ + 100, + 53, + 0, + 54, + 0, + "*" + ], + [ + 101, + 54, + 0, + 51, + 1, + "SEGS" + ], + [ + 105, + 56, + 0, + 6, + 0, + "SEGS" + ], + [ + 106, + 56, + 0, + 52, + 0, + "*" + ], + [ + 107, + 20, + 0, + 57, + 0, + "IMAGE" + ], + [ + 109, + 57, + 0, + 28, + 0, + "SEGS" + ], + [ + 110, + 57, + 0, + 53, + 0, + "*" + ], + [ + 111, + 20, + 0, + 56, + 0, + "IMAGE" + ], + [ + 114, + 22, + 0, + 56, + 2, + "SEGS" + ], + [ + 115, + 22, + 0, + 57, + 1, + "SEGS" + ] + ], + "groups": [], + "config": {}, + "extra": { + "groupNodes": { + "MAKE_BASIC_PIPE": { + "nodes": [ + { + "type": "CheckpointLoaderSimple", + "pos": [ + -80, + 1100 + ], + "size": { + "0": 315, + "1": 98 + }, + "flags": {}, + "order": 0, + "mode": 0, + "outputs": [ + { + "name": "MODEL", + "type": "MODEL", + "links": [], + "shape": 3, + "slot_index": 0, + "localized_name": "MODEL" + }, + { + "name": "CLIP", + "type": "CLIP", + "links": [], + "shape": 3, + "slot_index": 1, + "localized_name": "CLIP" + }, + { + "name": "VAE", + "type": "VAE", + "links": [], + "shape": 3, + "slot_index": 2, + "localized_name": "VAE" + } + ], + "properties": { + "Node name for S&R": "CheckpointLoaderSimple" + }, + "widgets_values": [ + "SD1.5/majicmixRealistic_v7.safetensors" + ], + "index": 0, + "inputs": [] + }, + { + "type": "CLIPTextEncode", + "pos": [ + 455, + 1026 + ], + "size": { + "0": 210, + "1": 104.50106048583984 + }, + "flags": {}, + "order": 2, + "mode": 0, + "inputs": [ + { + "name": "clip", + "type": "CLIP", + "link": null, + "localized_name": "clip" + } + ], + "outputs": [ + { + "name": "CONDITIONING", + "type": "CONDITIONING", + "links": [], + "shape": 3, + "slot_index": 0, + "localized_name": "CONDITIONING" + } + ], + "properties": { + "Node name for S&R": "CLIPTextEncode" + }, + "widgets_values": [ + "photograph, 4k, hdr, cropped, 1girl sit, blur hair, pink bag" + ], + "index": 1 + }, + { + "type": "CLIPTextEncode", + "pos": [ + 456, + 1239 + ], + "size": { + "0": 210, + "1": 104.50106048583984 + }, + "flags": {}, + "order": 3, + "mode": 0, + "inputs": [ + { + "name": "clip", + "type": "CLIP", + "link": null, + "slot_index": 0, + "localized_name": "clip" + } + ], + "outputs": [ + { + "name": "CONDITIONING", + "type": "CONDITIONING", + "links": [], + "shape": 3, + "localized_name": "CONDITIONING" + } + ], + "properties": { + "Node name for S&R": "CLIPTextEncode" + }, + "widgets_values": [ + "deformed, blurry\n" + ], + "index": 2 + }, + { + "type": "ToBasicPipe", + "pos": [ + 800, + 1100 + ], + "size": { + "0": 241.79998779296875, + "1": 106 + }, + "flags": {}, + "order": 5, + "mode": 0, + "inputs": [ + { + "name": "model", + "type": "MODEL", + "link": null, + "localized_name": "model" + }, + { + "name": "clip", + "type": "CLIP", + "link": null, + "slot_index": 1, + "localized_name": "clip" + }, + { + "name": "vae", + "type": "VAE", + "link": null, + "localized_name": "vae" + }, + { + "name": "positive", + "type": "CONDITIONING", + "link": null, + "localized_name": "positive" + }, + { + "name": "negative", + "type": "CONDITIONING", + "link": null, + "slot_index": 4, + "localized_name": "negative" + } + ], + "outputs": [ + { + "name": "basic_pipe", + "type": "BASIC_PIPE", + "links": [], + "shape": 3, + "slot_index": 0, + "localized_name": "basic_pipe" + } + ], + "properties": { + "Node name for S&R": "ToBasicPipe" + }, + "index": 3 + } + ], + "links": [ + [ + 0, + 1, + 1, + 0, + 11, + "CLIP" + ], + [ + 0, + 1, + 2, + 0, + 11, + "CLIP" + ], + [ + 0, + 0, + 3, + 0, + 11, + "MODEL" + ], + [ + 0, + 1, + 3, + 1, + 11, + "CLIP" + ], + [ + 0, + 2, + 3, + 2, + 11, + "VAE" + ], + [ + 1, + 0, + 3, + 3, + 13, + "CONDITIONING" + ], + [ + 2, + 0, + 3, + 4, + 14, + "CONDITIONING" + ] + ], + "external": [ + [ + 3, + 0, + "BASIC_PIPE" + ] + ] + } + }, + "controller_panel": { + "controllers": {}, + "hidden": true, + "highlight": true, + "version": 2, + "default_order": [] + }, + "ds": { + "scale": 1.4641000000000006, + "offset": { + "0": -481.44390869140625, + "1": -92.16561126708984 + } + }, + "node_versions": { + "comfyui-impact-pack": "1ae7cae2df8cca06027edfa3a24512671239d6c4", + "comfyui-impact-subpack": "74db20c95eca152a6d686c914edc0ef4e4762cb8", + "comfy-core": "0.3.14" + }, + "ue_links": [], + "VHS_latentpreview": false, + "VHS_latentpreviewrate": 0, + "VHS_MetadataImage": true, + "VHS_KeepIntermediate": true + }, + "version": 0.4 +} \ No newline at end of file diff --git a/example_workflows/5-PreviewDetailerHookProvider.jpg b/example_workflows/5-PreviewDetailerHookProvider.jpg new file mode 100644 index 0000000..18544ac Binary files /dev/null and b/example_workflows/5-PreviewDetailerHookProvider.jpg differ diff --git a/example_workflows/5-PreviewDetailerHookProvider.json b/example_workflows/5-PreviewDetailerHookProvider.json new file mode 100644 index 0000000..d5c88db --- /dev/null +++ b/example_workflows/5-PreviewDetailerHookProvider.json @@ -0,0 +1,1629 @@ +{ + "last_node_id": 70, + "last_link_id": 125, + "nodes": [ + { + "id": 31, + "type": "Reroute", + "pos": [ + 1170, + 730 + ], + "size": [ + 75, + 26 + ], + "flags": {}, + "order": 12, + "mode": 0, + "inputs": [ + { + "name": "", + "type": "*", + "link": 61 + } + ], + "outputs": [ + { + "name": "", + "type": "IMAGE", + "links": [ + 59, + 60 + ], + "slot_index": 0 + } + ], + "properties": { + "showOutputText": false, + "horizontal": false + } + }, + { + "id": 32, + "type": "SAMLoader", + "pos": [ + -160, + 840 + ], + "size": [ + 315, + 82 + ], + "flags": {}, + "order": 0, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "SAM_MODEL", + "type": "SAM_MODEL", + "shape": 3, + "links": [ + 62 + ] + } + ], + "properties": { + "Node name for S&R": "SAMLoader" + }, + "widgets_values": [ + "sam_vit_b_01ec64.pth", + "AUTO" + ] + }, + { + "id": 24, + "type": "UltralyticsDetectorProvider", + "pos": [ + -160, + 700 + ], + "size": [ + 315, + 78 + ], + "flags": {}, + "order": 1, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "BBOX_DETECTOR", + "type": "BBOX_DETECTOR", + "shape": 3, + "links": [ + 35 + ] + }, + { + "name": "SEGM_DETECTOR", + "type": "SEGM_DETECTOR", + "shape": 3, + "links": [], + "slot_index": 1 + } + ], + "properties": { + "Node name for S&R": "UltralyticsDetectorProvider" + }, + "widgets_values": [ + "segm/person_yolov8m-seg.pt" + ] + }, + { + "id": 53, + "type": "Reroute", + "pos": [ + 1180, + 1540 + ], + "size": [ + 75, + 26 + ], + "flags": {}, + "order": 16, + "mode": 0, + "inputs": [ + { + "name": "", + "type": "*", + "link": 110 + } + ], + "outputs": [ + { + "name": "", + "type": "SEGS", + "links": [ + 100 + ], + "slot_index": 0 + } + ], + "properties": { + "showOutputText": false, + "horizontal": false + } + }, + { + "id": 20, + "type": "Reroute", + "pos": [ + 660, + 730 + ], + "size": [ + 75, + 26 + ], + "flags": {}, + "order": 10, + "mode": 0, + "inputs": [ + { + "name": "", + "type": "*", + "link": 28 + } + ], + "outputs": [ + { + "name": "", + "type": "IMAGE", + "links": [ + 61, + 107, + 111 + ], + "slot_index": 0 + } + ], + "properties": { + "showOutputText": false, + "horizontal": false + } + }, + { + "id": 28, + "type": "SEGSPreview", + "pos": [ + 1279, + 1610 + ], + "size": [ + 315, + 314 + ], + "flags": {}, + "order": 15, + "mode": 0, + "inputs": [ + { + "name": "segs", + "type": "SEGS", + "link": 109, + "slot_index": 0 + }, + { + "name": "fallback_image_opt", + "type": "IMAGE", + "shape": 7, + "link": 59, + "slot_index": 1 + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "shape": 6, + "links": [], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "SEGSPreview" + }, + "widgets_values": [ + true, + 0.1 + ] + }, + { + "id": 6, + "type": "SEGSPreview", + "pos": [ + 1292, + 268 + ], + "size": [ + 430.35296630859375, + 388.4536437988281 + ], + "flags": {}, + "order": 17, + "mode": 0, + "inputs": [ + { + "name": "segs", + "type": "SEGS", + "link": 105, + "slot_index": 0 + }, + { + "name": "fallback_image_opt", + "type": "IMAGE", + "shape": 7, + "link": 10, + "slot_index": 1 + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "shape": 6, + "links": [], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "SEGSPreview" + }, + "widgets_values": [ + true, + 0.1 + ] + }, + { + "id": 57, + "type": "ImpactMakeTileSEGS", + "pos": [ + 820, + 1610 + ], + "size": [ + 315, + 218 + ], + "flags": {}, + "order": 13, + "mode": 0, + "inputs": [ + { + "name": "images", + "type": "IMAGE", + "link": 107 + }, + { + "name": "filter_in_segs_opt", + "type": "SEGS", + "shape": 7, + "link": 115 + }, + { + "name": "filter_out_segs_opt", + "type": "SEGS", + "shape": 7, + "link": null + } + ], + "outputs": [ + { + "name": "SEGS", + "type": "SEGS", + "shape": 3, + "links": [ + 109, + 110 + ] + } + ], + "properties": { + "Node name for S&R": "ImpactMakeTileSEGS" + }, + "widgets_values": [ + 1200, + 1.4000000000000001, + 200, + 100, + 0.7000000000000001, + "Reuse fast" + ], + "color": "#322", + "bgcolor": "#533" + }, + { + "id": 22, + "type": "ImpactSimpleDetectorSEGS", + "pos": [ + 282, + 699 + ], + "size": [ + 315, + 310 + ], + "flags": {}, + "order": 8, + "mode": 0, + "inputs": [ + { + "name": "bbox_detector", + "type": "BBOX_DETECTOR", + "link": 35, + "slot_index": 0 + }, + { + "name": "image", + "type": "IMAGE", + "link": 34, + "slot_index": 1 + }, + { + "name": "sam_model_opt", + "type": "SAM_MODEL", + "shape": 7, + "link": 62, + "slot_index": 2 + }, + { + "name": "segm_detector_opt", + "type": "SEGM_DETECTOR", + "shape": 7, + "link": null, + "slot_index": 3 + } + ], + "outputs": [ + { + "name": "SEGS", + "type": "SEGS", + "shape": 3, + "links": [ + 114, + 115 + ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "ImpactSimpleDetectorSEGS" + }, + "widgets_values": [ + 0.5, + 0, + 3, + 10, + 0.5, + 0, + 0, + 0.7000000000000001, + 0 + ] + }, + { + "id": 2, + "type": "LoadImage", + "pos": [ + -160, + 290 + ], + "size": [ + 315, + 314 + ], + "flags": {}, + "order": 2, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "shape": 3, + "links": [ + 8, + 34 + ], + "slot_index": 0 + }, + { + "name": "MASK", + "type": "MASK", + "shape": 3, + "links": null + } + ], + "properties": { + "Node name for S&R": "LoadImage" + }, + "widgets_values": [ + "combination-2pass-original.png", + "image" + ] + }, + { + "id": 9, + "type": "ImageScaleBy", + "pos": [ + 280, + 290 + ], + "size": [ + 315, + 82 + ], + "flags": {}, + "order": 7, + "mode": 0, + "inputs": [ + { + "name": "image", + "type": "IMAGE", + "link": 8, + "slot_index": 0 + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "shape": 3, + "links": [ + 10, + 28 + ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "ImageScaleBy" + }, + "widgets_values": [ + "lanczos", + 3 + ] + }, + { + "id": 16, + "type": "PreviewImage", + "pos": [ + 2990, + 730 + ], + "size": [ + 610.069580078125, + 774.6857299804688 + ], + "flags": {}, + "order": 22, + "mode": 0, + "inputs": [ + { + "name": "images", + "type": "IMAGE", + "link": 96 + } + ], + "outputs": [], + "properties": { + "Node name for S&R": "PreviewImage" + }, + "widgets_values": [] + }, + { + "id": 68, + "type": "PreviewDetailerHookProvider", + "pos": [ + 943, + -1972 + ], + "size": [ + 1360.0478515625, + 1943.85986328125 + ], + "flags": {}, + "order": 3, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "DETAILER_HOOK", + "type": "DETAILER_HOOK", + "shape": 3, + "links": [ + 120 + ], + "slot_index": 0 + }, + { + "name": "UPSCALER_HOOK", + "type": "UPSCALER_HOOK", + "links": null + } + ], + "title": "PreviewDetailerHookProvider - Live Preview", + "properties": { + "Node name for S&R": "PreviewDetailerHookProvider" + }, + "widgets_values": [ + 95 + ], + "color": "#322", + "bgcolor": "#533" + }, + { + "id": 69, + "type": "Reroute", + "pos": [ + 2360, + -1920 + ], + "size": [ + 75, + 26 + ], + "flags": {}, + "order": 9, + "mode": 0, + "inputs": [ + { + "name": "", + "type": "*", + "pos": [ + 37.5, + 0 + ], + "link": 120 + } + ], + "outputs": [ + { + "name": "", + "type": "DETAILER_HOOK", + "links": [ + 121 + ], + "slot_index": 0 + } + ], + "properties": { + "showOutputText": false, + "horizontal": true + } + }, + { + "id": 19, + "type": "workflow>MAKE_BASIC_PIPE", + "pos": [ + 1440, + 850 + ], + "size": [ + 451.0836486816406, + 279.9571533203125 + ], + "flags": {}, + "order": 4, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "basic_pipe", + "type": "BASIC_PIPE", + "shape": 3, + "links": [ + 76 + ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "workflow/MAKE_BASIC_PIPE" + }, + "widgets_values": [ + "SDXL/MOHAWK_v20BackedVAE.safetensors", + "cinematic photograph of a girl is walking, cinematic lighting, white inddor", + "deformed, blurry, \n" + ] + }, + { + "id": 52, + "type": "Reroute", + "pos": [ + 2330, + 470 + ], + "size": [ + 75, + 26 + ], + "flags": {}, + "order": 18, + "mode": 0, + "inputs": [ + { + "name": "", + "type": "*", + "link": 106 + } + ], + "outputs": [ + { + "name": "", + "type": "SEGS", + "links": [ + 119 + ], + "slot_index": 0 + } + ], + "properties": { + "showOutputText": false, + "horizontal": false + } + }, + { + "id": 54, + "type": "Reroute", + "pos": [ + 1780, + 1540 + ], + "size": [ + 75, + 26 + ], + "flags": {}, + "order": 19, + "mode": 0, + "inputs": [ + { + "name": "", + "type": "*", + "link": 100 + } + ], + "outputs": [ + { + "name": "", + "type": "SEGS", + "links": [ + 118 + ], + "slot_index": 0 + } + ], + "properties": { + "showOutputText": false, + "horizontal": false + } + }, + { + "id": 56, + "type": "ImpactMakeTileSEGS", + "pos": [ + 780, + 470 + ], + "size": [ + 315, + 218 + ], + "flags": {}, + "order": 14, + "mode": 0, + "inputs": [ + { + "name": "images", + "type": "IMAGE", + "link": 111 + }, + { + "name": "filter_in_segs_opt", + "type": "SEGS", + "shape": 7, + "link": null + }, + { + "name": "filter_out_segs_opt", + "type": "SEGS", + "shape": 7, + "link": 114 + } + ], + "outputs": [ + { + "name": "SEGS", + "type": "SEGS", + "shape": 3, + "links": [ + 105, + 106 + ] + } + ], + "properties": { + "Node name for S&R": "ImpactMakeTileSEGS" + }, + "widgets_values": [ + 768, + 1.5, + 200, + 0, + 0.7000000000000001, + "Reuse fast" + ], + "color": "#322", + "bgcolor": "#533" + }, + { + "id": 10, + "type": "DetailerForEachDebugPipe", + "pos": [ + 1960, + 730 + ], + "size": [ + 410, + 996 + ], + "flags": {}, + "order": 20, + "mode": 0, + "inputs": [ + { + "name": "image", + "type": "IMAGE", + "link": 60, + "slot_index": 0 + }, + { + "name": "segs", + "type": "SEGS", + "link": 118 + }, + { + "name": "basic_pipe", + "type": "BASIC_PIPE", + "link": 76 + }, + { + "name": "detailer_hook", + "type": "DETAILER_HOOK", + "shape": 7, + "link": 124, + "slot_index": 3 + }, + { + "name": "refiner_basic_pipe_opt", + "type": "BASIC_PIPE", + "shape": 7, + "link": null + }, + { + "name": "scheduler_func_opt", + "type": "SCHEDULER_FUNC", + "shape": 7, + "link": null + } + ], + "outputs": [ + { + "name": "image", + "type": "IMAGE", + "shape": 3, + "links": [ + 95 + ], + "slot_index": 0 + }, + { + "name": "segs", + "type": "SEGS", + "shape": 3, + "links": null + }, + { + "name": "basic_pipe", + "type": "BASIC_PIPE", + "shape": 3, + "links": [ + 94 + ], + "slot_index": 2 + }, + { + "name": "cropped", + "type": "IMAGE", + "shape": 6, + "links": null + }, + { + "name": "cropped_refined", + "type": "IMAGE", + "shape": 6, + "links": [], + "slot_index": 4 + }, + { + "name": "cropped_refined_alpha", + "type": "IMAGE", + "shape": 6, + "links": [], + "slot_index": 5 + }, + { + "name": "cnet_images", + "type": "IMAGE", + "shape": 6, + "links": [], + "slot_index": 6 + } + ], + "title": "DetailerDebug (SEGS/pipe) - person", + "properties": { + "Node name for S&R": "DetailerForEachDebugPipe" + }, + "widgets_values": [ + 64, + true, + 1024, + 522790177337686, + "fixed", + 20, + 8, + "dpmpp_3m_sde_gpu", + "karras", + 0.45, + 10, + true, + true, + "", + 0.2, + 1, + false, + 10, + false, + false + ] + }, + { + "id": 51, + "type": "DetailerForEachDebugPipe", + "pos": [ + 2510, + 730 + ], + "size": [ + 410, + 996 + ], + "flags": {}, + "order": 21, + "mode": 0, + "inputs": [ + { + "name": "image", + "type": "IMAGE", + "link": 95, + "slot_index": 0 + }, + { + "name": "segs", + "type": "SEGS", + "link": 119 + }, + { + "name": "basic_pipe", + "type": "BASIC_PIPE", + "link": 94 + }, + { + "name": "detailer_hook", + "type": "DETAILER_HOOK", + "shape": 7, + "link": 125 + }, + { + "name": "refiner_basic_pipe_opt", + "type": "BASIC_PIPE", + "shape": 7, + "link": null + }, + { + "name": "scheduler_func_opt", + "type": "SCHEDULER_FUNC", + "shape": 7, + "link": null + } + ], + "outputs": [ + { + "name": "image", + "type": "IMAGE", + "shape": 3, + "links": [ + 96 + ], + "slot_index": 0 + }, + { + "name": "segs", + "type": "SEGS", + "shape": 3, + "links": null + }, + { + "name": "basic_pipe", + "type": "BASIC_PIPE", + "shape": 3, + "links": null + }, + { + "name": "cropped", + "type": "IMAGE", + "shape": 6, + "links": null + }, + { + "name": "cropped_refined", + "type": "IMAGE", + "shape": 6, + "links": [], + "slot_index": 4 + }, + { + "name": "cropped_refined_alpha", + "type": "IMAGE", + "shape": 6, + "links": [], + "slot_index": 5 + }, + { + "name": "cnet_images", + "type": "IMAGE", + "shape": 6, + "links": [], + "slot_index": 6 + } + ], + "title": "DetailerDebug (SEGS/pipe) - background", + "properties": { + "Node name for S&R": "DetailerForEachDebugPipe" + }, + "widgets_values": [ + 64, + true, + 1024, + 522790177337693, + "fixed", + 20, + 8, + "dpmpp_2m_sde_gpu", + "karras", + 0.4, + 10, + true, + true, + "[CONCAT] red double bun, metalic arm, zoey", + 0.2, + 1, + false, + 50, + false, + false + ] + }, + { + "id": 60, + "type": "Note", + "pos": [ + -1033, + 292 + ], + "size": [ + 638.3837890625, + 178.84756469726562 + ], + "flags": {}, + "order": 5, + "mode": 0, + "inputs": [], + "outputs": [], + "title": "1.Intro", + "properties": { + "text": "" + }, + "widgets_values": [ + "Using nodes like Make Tile SEGS for Detailer work will result in processing SEGS within a large number of Detailer nodes.\n\nPreviewDetailerHookProvider is connected to Detailers to monitor intermediate processes.\n" + ], + "color": "#222", + "bgcolor": "#000" + }, + { + "id": 62, + "type": "Note", + "pos": [ + 364, + -1967 + ], + "size": [ + 552.4130859375, + 204.45199584960938 + ], + "flags": {}, + "order": 6, + "mode": 0, + "inputs": [], + "outputs": [], + "title": "2. PreviewDetailerHookProvider", + "properties": { + "text": "" + }, + "widgets_values": [ + "To add PreviewDetailerHookProvider, simply connect it to the detailer_hook input of the Detailer node you want to monitor.\n\nThis node can also be used in the Detailer For AnimateDiff node.\n\nHowever, since this node provides a preview hook for pasting onto the original image, it cannot be used in SEGSDetailer where there is no pasting step.\n\n\n\nNow let's give it a try." + ], + "color": "#222", + "bgcolor": "#000" + }, + { + "id": 70, + "type": "Reroute", + "pos": [ + 2360, + 310 + ], + "size": [ + 75, + 26 + ], + "flags": {}, + "order": 11, + "mode": 0, + "inputs": [ + { + "name": "", + "type": "*", + "pos": [ + 37.5, + 0 + ], + "link": 121 + } + ], + "outputs": [ + { + "name": "", + "type": "DETAILER_HOOK", + "links": [ + 124, + 125 + ], + "slot_index": 0 + } + ], + "properties": { + "showOutputText": false, + "horizontal": true + } + } + ], + "links": [ + [ + 8, + 2, + 0, + 9, + 0, + "IMAGE" + ], + [ + 10, + 9, + 0, + 6, + 1, + "IMAGE" + ], + [ + 28, + 9, + 0, + 20, + 0, + "*" + ], + [ + 34, + 2, + 0, + 22, + 1, + "IMAGE" + ], + [ + 35, + 24, + 0, + 22, + 0, + "BBOX_DETECTOR" + ], + [ + 59, + 31, + 0, + 28, + 1, + "IMAGE" + ], + [ + 60, + 31, + 0, + 10, + 0, + "IMAGE" + ], + [ + 61, + 20, + 0, + 31, + 0, + "*" + ], + [ + 62, + 32, + 0, + 22, + 2, + "SAM_MODEL" + ], + [ + 76, + 19, + 0, + 10, + 2, + "BASIC_PIPE" + ], + [ + 94, + 10, + 2, + 51, + 2, + "BASIC_PIPE" + ], + [ + 95, + 10, + 0, + 51, + 0, + "IMAGE" + ], + [ + 96, + 51, + 0, + 16, + 0, + "IMAGE" + ], + [ + 100, + 53, + 0, + 54, + 0, + "*" + ], + [ + 105, + 56, + 0, + 6, + 0, + "SEGS" + ], + [ + 106, + 56, + 0, + 52, + 0, + "*" + ], + [ + 107, + 20, + 0, + 57, + 0, + "IMAGE" + ], + [ + 109, + 57, + 0, + 28, + 0, + "SEGS" + ], + [ + 110, + 57, + 0, + 53, + 0, + "*" + ], + [ + 111, + 20, + 0, + 56, + 0, + "IMAGE" + ], + [ + 114, + 22, + 0, + 56, + 2, + "SEGS" + ], + [ + 115, + 22, + 0, + 57, + 1, + "SEGS" + ], + [ + 118, + 54, + 0, + 10, + 1, + "SEGS" + ], + [ + 119, + 52, + 0, + 51, + 1, + "SEGS" + ], + [ + 120, + 68, + 0, + 69, + 0, + "*" + ], + [ + 121, + 69, + 0, + 70, + 0, + "*" + ], + [ + 124, + 70, + 0, + 10, + 3, + "DETAILER_HOOK" + ], + [ + 125, + 70, + 0, + 51, + 3, + "DETAILER_HOOK" + ] + ], + "groups": [], + "config": {}, + "extra": { + "groupNodes": { + "MAKE_BASIC_PIPE": { + "nodes": [ + { + "type": "CheckpointLoaderSimple", + "pos": [ + -80, + 1100 + ], + "size": { + "0": 315, + "1": 98 + }, + "flags": {}, + "order": 0, + "mode": 0, + "outputs": [ + { + "name": "MODEL", + "type": "MODEL", + "links": [], + "shape": 3, + "slot_index": 0, + "localized_name": "MODEL" + }, + { + "name": "CLIP", + "type": "CLIP", + "links": [], + "shape": 3, + "slot_index": 1, + "localized_name": "CLIP" + }, + { + "name": "VAE", + "type": "VAE", + "links": [], + "shape": 3, + "slot_index": 2, + "localized_name": "VAE" + } + ], + "properties": { + "Node name for S&R": "CheckpointLoaderSimple" + }, + "widgets_values": [ + "SD1.5/majicmixRealistic_v7.safetensors" + ], + "index": 0, + "inputs": [] + }, + { + "type": "CLIPTextEncode", + "pos": [ + 455, + 1026 + ], + "size": { + "0": 210, + "1": 104.50106048583984 + }, + "flags": {}, + "order": 2, + "mode": 0, + "inputs": [ + { + "name": "clip", + "type": "CLIP", + "link": null, + "localized_name": "clip" + } + ], + "outputs": [ + { + "name": "CONDITIONING", + "type": "CONDITIONING", + "links": [], + "shape": 3, + "slot_index": 0, + "localized_name": "CONDITIONING" + } + ], + "properties": { + "Node name for S&R": "CLIPTextEncode" + }, + "widgets_values": [ + "photograph, 4k, hdr, cropped, 1girl sit, blur hair, pink bag" + ], + "index": 1 + }, + { + "type": "CLIPTextEncode", + "pos": [ + 456, + 1239 + ], + "size": { + "0": 210, + "1": 104.50106048583984 + }, + "flags": {}, + "order": 3, + "mode": 0, + "inputs": [ + { + "name": "clip", + "type": "CLIP", + "link": null, + "slot_index": 0, + "localized_name": "clip" + } + ], + "outputs": [ + { + "name": "CONDITIONING", + "type": "CONDITIONING", + "links": [], + "shape": 3, + "localized_name": "CONDITIONING" + } + ], + "properties": { + "Node name for S&R": "CLIPTextEncode" + }, + "widgets_values": [ + "deformed, blurry\n" + ], + "index": 2 + }, + { + "type": "ToBasicPipe", + "pos": [ + 800, + 1100 + ], + "size": { + "0": 241.79998779296875, + "1": 106 + }, + "flags": {}, + "order": 5, + "mode": 0, + "inputs": [ + { + "name": "model", + "type": "MODEL", + "link": null, + "localized_name": "model" + }, + { + "name": "clip", + "type": "CLIP", + "link": null, + "slot_index": 1, + "localized_name": "clip" + }, + { + "name": "vae", + "type": "VAE", + "link": null, + "localized_name": "vae" + }, + { + "name": "positive", + "type": "CONDITIONING", + "link": null, + "localized_name": "positive" + }, + { + "name": "negative", + "type": "CONDITIONING", + "link": null, + "slot_index": 4, + "localized_name": "negative" + } + ], + "outputs": [ + { + "name": "basic_pipe", + "type": "BASIC_PIPE", + "links": [], + "shape": 3, + "slot_index": 0, + "localized_name": "basic_pipe" + } + ], + "properties": { + "Node name for S&R": "ToBasicPipe" + }, + "index": 3 + } + ], + "links": [ + [ + 0, + 1, + 1, + 0, + 11, + "CLIP" + ], + [ + 0, + 1, + 2, + 0, + 11, + "CLIP" + ], + [ + 0, + 0, + 3, + 0, + 11, + "MODEL" + ], + [ + 0, + 1, + 3, + 1, + 11, + "CLIP" + ], + [ + 0, + 2, + 3, + 2, + 11, + "VAE" + ], + [ + 1, + 0, + 3, + 3, + 13, + "CONDITIONING" + ], + [ + 2, + 0, + 3, + 4, + 14, + "CONDITIONING" + ] + ], + "external": [ + [ + 3, + 0, + "BASIC_PIPE" + ] + ] + } + }, + "controller_panel": { + "controllers": {}, + "hidden": true, + "highlight": true, + "version": 2, + "default_order": [] + }, + "ds": { + "scale": 0.620921323059155, + "offset": [ + 432.38467086326943, + 608.3387630215522 + ] + }, + "node_versions": { + "comfyui-impact-pack": "1ae7cae2df8cca06027edfa3a24512671239d6c4", + "comfyui-impact-subpack": "74db20c95eca152a6d686c914edc0ef4e4762cb8", + "comfy-core": "0.3.14" + }, + "ue_links": [], + "VHS_latentpreview": false, + "VHS_latentpreviewrate": 0, + "VHS_MetadataImage": true, + "VHS_KeepIntermediate": true + }, + "version": 0.4 +} \ No newline at end of file diff --git a/example_workflows/5-prompt-per-tile.jpg b/example_workflows/5-prompt-per-tile.jpg new file mode 100644 index 0000000..b76f453 Binary files /dev/null and b/example_workflows/5-prompt-per-tile.jpg differ diff --git a/example_workflows/5-prompt-per-tile.json b/example_workflows/5-prompt-per-tile.json new file mode 100644 index 0000000..15a6b8d --- /dev/null +++ b/example_workflows/5-prompt-per-tile.json @@ -0,0 +1,1290 @@ +{ + "last_node_id": 30, + "last_link_id": 50, + "nodes": [ + { + "id": 3, + "type": "KSampler", + "pos": [ + -160, + -150 + ], + "size": [ + 315, + 474 + ], + "flags": {}, + "order": 4, + "mode": 0, + "inputs": [ + { + "name": "model", + "type": "MODEL", + "link": 1 + }, + { + "name": "positive", + "type": "CONDITIONING", + "link": 4 + }, + { + "name": "negative", + "type": "CONDITIONING", + "link": 6 + }, + { + "name": "latent_image", + "type": "LATENT", + "link": 2 + } + ], + "outputs": [ + { + "name": "LATENT", + "type": "LATENT", + "links": [ + 7 + ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "KSampler" + }, + "widgets_values": [ + 2, + "fixed", + 20, + 7, + "dpmpp_2m", + "karras", + 1 + ], + "color": "#223", + "bgcolor": "#335" + }, + { + "id": 4, + "type": "CheckpointLoaderSimple", + "pos": [ + -580, + -300 + ], + "size": [ + 315, + 98 + ], + "flags": {}, + "order": 0, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "MODEL", + "type": "MODEL", + "links": [ + 1, + 25 + ], + "slot_index": 0 + }, + { + "name": "CLIP", + "type": "CLIP", + "links": [ + 3, + 5, + 26 + ], + "slot_index": 1 + }, + { + "name": "VAE", + "type": "VAE", + "links": [ + 8, + 27 + ], + "slot_index": 2 + } + ], + "properties": { + "Node name for S&R": "CheckpointLoaderSimple" + }, + "widgets_values": [ + "SD1.5/noosphere_v42.safetensors" + ], + "color": "#223", + "bgcolor": "#335" + }, + { + "id": 5, + "type": "EmptyLatentImage", + "pos": [ + -567, + 312 + ], + "size": [ + 315, + 106 + ], + "flags": {}, + "order": 1, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "LATENT", + "type": "LATENT", + "links": [ + 2 + ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "EmptyLatentImage" + }, + "widgets_values": [ + 512, + 768, + 1 + ], + "color": "#223", + "bgcolor": "#335" + }, + { + "id": 6, + "type": "CLIPTextEncode", + "pos": [ + -610, + -150 + ], + "size": [ + 422.84503173828125, + 164.31304931640625 + ], + "flags": {}, + "order": 2, + "mode": 0, + "inputs": [ + { + "name": "clip", + "type": "CLIP", + "link": 3 + } + ], + "outputs": [ + { + "name": "CONDITIONING", + "type": "CONDITIONING", + "links": [ + 4, + 28 + ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "CLIPTextEncode" + }, + "widgets_values": [ + "photo of a blonde girl and a dark haired man with beard, front view, detailed faces, high details, realistic, nature background, high saturation" + ], + "color": "#232", + "bgcolor": "#353" + }, + { + "id": 7, + "type": "CLIPTextEncode", + "pos": [ + -611, + 66 + ], + "size": [ + 425.27801513671875, + 180.6060791015625 + ], + "flags": {}, + "order": 3, + "mode": 0, + "inputs": [ + { + "name": "clip", + "type": "CLIP", + "link": 5 + } + ], + "outputs": [ + { + "name": "CONDITIONING", + "type": "CONDITIONING", + "links": [ + 6, + 29 + ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "CLIPTextEncode" + }, + "widgets_values": [ + "text, watermark, nsfw" + ], + "color": "#322", + "bgcolor": "#533" + }, + { + "id": 8, + "type": "VAEDecode", + "pos": [ + -115, + -271 + ], + "size": [ + 210, + 46 + ], + "flags": {}, + "order": 5, + "mode": 0, + "inputs": [ + { + "name": "samples", + "type": "LATENT", + "link": 7 + }, + { + "name": "vae", + "type": "VAE", + "link": 8 + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 21, + 22, + 30 + ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "VAEDecode" + }, + "widgets_values": [], + "color": "#223", + "bgcolor": "#335" + }, + { + "id": 10, + "type": "ImpactMakeTileSEGS", + "pos": [ + 840, + -90 + ], + "size": [ + 282.6341552734375, + 218 + ], + "flags": {}, + "order": 10, + "mode": 0, + "inputs": [ + { + "name": "images", + "type": "IMAGE", + "link": 31 + }, + { + "name": "filter_in_segs_opt", + "type": "SEGS", + "shape": 7, + "link": null + }, + { + "name": "filter_out_segs_opt", + "type": "SEGS", + "shape": 7, + "link": null + } + ], + "outputs": [ + { + "name": "SEGS", + "type": "SEGS", + "shape": 3, + "links": [ + 14, + 15 + ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "ImpactMakeTileSEGS" + }, + "widgets_values": [ + 704, + 1.1, + 4, + 0, + 0, + "Reuse fast" + ], + "color": "#2a363b", + "bgcolor": "#3f5159" + }, + { + "id": 11, + "type": "WD14Tagger|pysssss", + "pos": [ + 1901, + -282 + ], + "size": [ + 276.18115234375, + 470 + ], + "flags": { + "collapsed": false + }, + "order": 12, + "mode": 0, + "inputs": [ + { + "name": "image", + "type": "IMAGE", + "link": 10 + } + ], + "outputs": [ + { + "name": "STRING", + "type": "STRING", + "shape": 6, + "links": [ + 39 + ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "WD14Tagger|pysssss" + }, + "widgets_values": [ + "wd-v1-4-moat-tagger-v2", + 0.35000000000000003, + 0.85, + true, + false, + "" + ], + "color": "#332922", + "bgcolor": "#593930" + }, + { + "id": 12, + "type": "DetailerForEach", + "pos": [ + 2881.51708984375, + -286.8627624511719 + ], + "size": [ + 310.9673767089844, + 790 + ], + "flags": {}, + "order": 17, + "mode": 0, + "inputs": [ + { + "name": "image", + "type": "IMAGE", + "link": 32 + }, + { + "name": "segs", + "type": "SEGS", + "link": 12 + }, + { + "name": "model", + "type": "MODEL", + "link": 25 + }, + { + "name": "clip", + "type": "CLIP", + "link": 26 + }, + { + "name": "vae", + "type": "VAE", + "link": 27 + }, + { + "name": "positive", + "type": "CONDITIONING", + "link": 28 + }, + { + "name": "negative", + "type": "CONDITIONING", + "link": 29 + }, + { + "name": "detailer_hook", + "type": "DETAILER_HOOK", + "shape": 7, + "link": null + }, + { + "name": "wildcard", + "type": "STRING", + "widget": { + "name": "wildcard" + }, + "link": 49 + }, + { + "name": "scheduler_func_opt", + "type": "SCHEDULER_FUNC", + "shape": 7, + "link": null + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "shape": 3, + "links": [ + 17 + ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "DetailerForEach" + }, + "widgets_values": [ + 768, + true, + 1024, + 20, + "fixed", + 20, + 3.5, + "dpmpp_2m_sde_gpu", + "karras", + 0.5, + 16, + true, + true, + "", + 1, + false, + 16, + false, + false + ], + "color": "#2a363b", + "bgcolor": "#3f5159" + }, + { + "id": 13, + "type": "WD14Tagger|pysssss", + "pos": [ + 1388, + -240 + ], + "size": [ + 290, + 240 + ], + "flags": { + "collapsed": false + }, + "order": 7, + "mode": 0, + "inputs": [ + { + "name": "image", + "type": "IMAGE", + "link": 22 + } + ], + "outputs": [ + { + "name": "STRING", + "type": "STRING", + "shape": 6, + "links": [ + 34 + ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "WD14Tagger|pysssss" + }, + "widgets_values": [ + "wd-v1-4-moat-tagger-v2", + 0.35000000000000003, + 0.85, + true, + false, + "" + ], + "color": "#332922", + "bgcolor": "#593930" + }, + { + "id": 14, + "type": "SEGSToImageList", + "pos": [ + 830, + 230 + ], + "size": [ + 276.6341552734375, + 46 + ], + "flags": {}, + "order": 11, + "mode": 0, + "inputs": [ + { + "name": "segs", + "type": "SEGS", + "link": 14 + }, + { + "name": "fallback_image_opt", + "type": "IMAGE", + "shape": 7, + "link": 33 + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "shape": 6, + "links": [ + 10, + 18 + ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "SEGSToImageList" + }, + "widgets_values": [], + "color": "#2a363b", + "bgcolor": "#3f5159" + }, + { + "id": 15, + "type": "ImpactSEGSLabelAssign", + "pos": [ + 2409.8916015625, + 36.29731369018555 + ], + "size": [ + 283.6341552734375, + 103.9290771484375 + ], + "flags": {}, + "order": 16, + "mode": 0, + "inputs": [ + { + "name": "segs", + "type": "SEGS", + "link": 15 + }, + { + "name": "labels", + "type": "STRING", + "widget": { + "name": "labels" + }, + "link": 50 + } + ], + "outputs": [ + { + "name": "SEGS", + "type": "SEGS", + "shape": 3, + "links": [ + 12 + ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "ImpactSEGSLabelAssign" + }, + "widgets_values": [ + "" + ], + "color": "#2a363b", + "bgcolor": "#3f5159" + }, + { + "id": 16, + "type": "PreviewImage", + "pos": [ + 3270, + -287 + ], + "size": [ + 842.0664672851562, + 1217.6240234375 + ], + "flags": {}, + "order": 18, + "mode": 0, + "inputs": [ + { + "name": "images", + "type": "IMAGE", + "link": 17 + } + ], + "outputs": [], + "properties": { + "Node name for S&R": "PreviewImage" + }, + "widgets_values": [], + "color": "#2a363b", + "bgcolor": "#3f5159" + }, + { + "id": 17, + "type": "PreviewImage", + "pos": [ + 788, + 339 + ], + "size": [ + 421.1688537597656, + 448.1822509765625 + ], + "flags": {}, + "order": 13, + "mode": 0, + "inputs": [ + { + "name": "images", + "type": "IMAGE", + "link": 18 + } + ], + "outputs": [], + "title": "Preview Tiles", + "properties": { + "Node name for S&R": "PreviewImage" + }, + "widgets_values": [], + "color": "#2a363b", + "bgcolor": "#3f5159" + }, + { + "id": 19, + "type": "PreviewImage", + "pos": [ + 173, + -283 + ], + "size": [ + 475.25579833984375, + 668.4122924804688 + ], + "flags": {}, + "order": 6, + "mode": 0, + "inputs": [ + { + "name": "images", + "type": "IMAGE", + "link": 21 + } + ], + "outputs": [], + "properties": { + "Node name for S&R": "PreviewImage" + }, + "widgets_values": [], + "color": "#223", + "bgcolor": "#335" + }, + { + "id": 21, + "type": "ImageScaleBy", + "pos": [ + 840, + -270 + ], + "size": [ + 315, + 82 + ], + "flags": {}, + "order": 8, + "mode": 0, + "inputs": [ + { + "name": "image", + "type": "IMAGE", + "link": 30 + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "shape": 3, + "links": [ + 31, + 32, + 33 + ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "ImageScaleBy" + }, + "widgets_values": [ + "bicubic", + 2.5 + ], + "color": "#233", + "bgcolor": "#355" + }, + { + "id": 25, + "type": "StringListToString", + "pos": [ + 1375, + 131 + ], + "size": [ + 315, + 82 + ], + "flags": {}, + "order": 9, + "mode": 0, + "inputs": [ + { + "name": "string_list", + "type": "STRING", + "widget": { + "name": "string_list" + }, + "link": 34 + } + ], + "outputs": [ + { + "name": "STRING", + "type": "STRING", + "shape": 3, + "links": [ + 47 + ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "StringListToString" + }, + "widgets_values": [ + "", + "" + ], + "color": "#332922", + "bgcolor": "#593930" + }, + { + "id": 26, + "type": "StringListToString", + "pos": [ + 1913, + 259 + ], + "size": [ + 268.8372497558594, + 58 + ], + "flags": {}, + "order": 14, + "mode": 0, + "inputs": [ + { + "name": "string_list", + "type": "STRING", + "widget": { + "name": "string_list" + }, + "link": 39 + } + ], + "outputs": [ + { + "name": "STRING", + "type": "STRING", + "shape": 3, + "links": [ + 48 + ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "StringListToString" + }, + "widgets_values": [ + "\\n", + "" + ], + "color": "#332922", + "bgcolor": "#593930" + }, + { + "id": 30, + "type": "WildcardPromptFromString", + "pos": [ + 2396.2451171875, + -266.2974548339844 + ], + "size": [ + 315, + 198 + ], + "flags": {}, + "order": 15, + "mode": 0, + "inputs": [ + { + "name": "string", + "type": "STRING", + "widget": { + "name": "string" + }, + "link": 48 + }, + { + "name": "restrict_to_tags", + "type": "STRING", + "widget": { + "name": "restrict_to_tags" + }, + "link": 47 + } + ], + "outputs": [ + { + "name": "wildcard", + "type": "STRING", + "shape": 3, + "links": [ + 49 + ], + "slot_index": 0 + }, + { + "name": "segs_labels", + "type": "STRING", + "shape": 3, + "links": [ + 50 + ], + "slot_index": 1 + } + ], + "properties": { + "Node name for S&R": "WildcardPromptFromString" + }, + "widgets_values": [ + "", + "\\n", + "", + ", realistic, high details, high saturation", + "", + "1girl, 1boy, 2girls, multiple girls, realistic" + ], + "color": "#2a363b", + "bgcolor": "#3f5159" + } + ], + "links": [ + [ + 1, + 4, + 0, + 3, + 0, + "MODEL" + ], + [ + 2, + 5, + 0, + 3, + 3, + "LATENT" + ], + [ + 3, + 4, + 1, + 6, + 0, + "CLIP" + ], + [ + 4, + 6, + 0, + 3, + 1, + "CONDITIONING" + ], + [ + 5, + 4, + 1, + 7, + 0, + "CLIP" + ], + [ + 6, + 7, + 0, + 3, + 2, + "CONDITIONING" + ], + [ + 7, + 3, + 0, + 8, + 0, + "LATENT" + ], + [ + 8, + 4, + 2, + 8, + 1, + "VAE" + ], + [ + 10, + 14, + 0, + 11, + 0, + "IMAGE" + ], + [ + 12, + 15, + 0, + 12, + 1, + "SEGS" + ], + [ + 14, + 10, + 0, + 14, + 0, + "SEGS" + ], + [ + 15, + 10, + 0, + 15, + 0, + "SEGS" + ], + [ + 17, + 12, + 0, + 16, + 0, + "IMAGE" + ], + [ + 18, + 14, + 0, + 17, + 0, + "IMAGE" + ], + [ + 21, + 8, + 0, + 19, + 0, + "IMAGE" + ], + [ + 22, + 8, + 0, + 13, + 0, + "IMAGE" + ], + [ + 25, + 4, + 0, + 12, + 2, + "MODEL" + ], + [ + 26, + 4, + 1, + 12, + 3, + "CLIP" + ], + [ + 27, + 4, + 2, + 12, + 4, + "VAE" + ], + [ + 28, + 6, + 0, + 12, + 5, + "CONDITIONING" + ], + [ + 29, + 7, + 0, + 12, + 6, + "CONDITIONING" + ], + [ + 30, + 8, + 0, + 21, + 0, + "IMAGE" + ], + [ + 31, + 21, + 0, + 10, + 0, + "IMAGE" + ], + [ + 32, + 21, + 0, + 12, + 0, + "IMAGE" + ], + [ + 33, + 21, + 0, + 14, + 1, + "IMAGE" + ], + [ + 34, + 13, + 0, + 25, + 0, + "STRING" + ], + [ + 39, + 11, + 0, + 26, + 0, + "STRING" + ], + [ + 47, + 25, + 0, + 30, + 1, + "STRING" + ], + [ + 48, + 26, + 0, + 30, + 0, + "STRING" + ], + [ + 49, + 30, + 0, + 12, + 8, + "STRING" + ], + [ + 50, + 30, + 1, + 15, + 1, + "STRING" + ] + ], + "groups": [ + { + "id": 1, + "title": "Base Image", + "bounding": [ + -620, + -374, + 1311, + 872 + ], + "color": "#3f789e", + "font_size": 24, + "flags": {} + }, + { + "id": 2, + "title": "Upscale and Create Tiles", + "bounding": [ + 745, + -375, + 515, + 1202 + ], + "color": "#8AA", + "font_size": 24, + "flags": {} + }, + { + "id": 3, + "title": "Tag Base Image", + "bounding": [ + 1311, + -374, + 431, + 668 + ], + "color": "#b06634", + "font_size": 24, + "flags": {} + }, + { + "id": 4, + "title": "Tag Tiles", + "bounding": [ + 1815, + -378, + 460, + 750 + ], + "color": "#b06634", + "font_size": 24, + "flags": {} + }, + { + "id": 5, + "title": "Assign Prompts to Tiles", + "bounding": [ + 2367, + -381, + 380, + 615 + ], + "color": "#8AA", + "font_size": 24, + "flags": {} + }, + { + "id": 6, + "title": "Add Details", + "bounding": [ + 2834, + -382, + 1359, + 1377 + ], + "color": "#3f789e", + "font_size": 24, + "flags": {} + } + ], + "config": {}, + "extra": { + "ds": { + "scale": 1, + "offset": [ + 711, + 400 + ] + }, + "groupNodes": {}, + "controller_panel": { + "controllers": {}, + "hidden": true, + "highlight": true, + "version": 2, + "default_order": [] + }, + "node_versions": { + "comfy-core": "0.3.14", + "comfyui-impact-pack": "1ae7cae2df8cca06027edfa3a24512671239d6c4", + "comfyui-wd14-tagger": "1.0.0" + }, + "ue_links": [], + "VHS_latentpreview": false, + "VHS_latentpreviewrate": 0, + "VHS_MetadataImage": true, + "VHS_KeepIntermediate": true + }, + "version": 0.4 +} \ No newline at end of file diff --git a/example_workflows/6-DetailerWildcard.jpg b/example_workflows/6-DetailerWildcard.jpg new file mode 100644 index 0000000..715fddb Binary files /dev/null and b/example_workflows/6-DetailerWildcard.jpg differ diff --git a/example_workflows/6-DetailerWildcard.json b/example_workflows/6-DetailerWildcard.json new file mode 100644 index 0000000..4dd684a --- /dev/null +++ b/example_workflows/6-DetailerWildcard.json @@ -0,0 +1,1084 @@ +{ + "last_node_id": 57, + "last_link_id": 116, + "nodes": [ + { + "id": 38, + "type": "SAMLoader", + "pos": [ + 870, + 1120 + ], + "size": [ + 315, + 82 + ], + "flags": {}, + "order": 0, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "SAM_MODEL", + "type": "SAM_MODEL", + "links": [ + 81 + ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "SAMLoader" + }, + "widgets_values": [ + "sam_vit_b_01ec64.pth", + "AUTO" + ], + "color": "#223", + "bgcolor": "#335" + }, + { + "id": 50, + "type": "Reroute", + "pos": [ + 1100, + 30 + ], + "size": [ + 75, + 26 + ], + "flags": {}, + "order": 6, + "mode": 0, + "inputs": [ + { + "name": "", + "type": "*", + "link": 110 + } + ], + "outputs": [ + { + "name": "", + "type": "VAE", + "links": [ + 109 + ], + "slot_index": 0 + } + ], + "properties": { + "showOutputText": false, + "horizontal": false + } + }, + { + "id": 48, + "type": "FromBasicPipe", + "pos": [ + 910, + 300 + ], + "size": [ + 221.4781951904297, + 106 + ], + "flags": {}, + "order": 5, + "mode": 0, + "inputs": [ + { + "name": "basic_pipe", + "type": "BASIC_PIPE", + "link": 116 + } + ], + "outputs": [ + { + "name": "model", + "type": "MODEL", + "links": [ + 99 + ], + "slot_index": 0 + }, + { + "name": "clip", + "type": "CLIP", + "links": null + }, + { + "name": "vae", + "type": "VAE", + "links": [ + 110 + ], + "slot_index": 2 + }, + { + "name": "positive", + "type": "CONDITIONING", + "links": [ + 100 + ], + "slot_index": 3 + }, + { + "name": "negative", + "type": "CONDITIONING", + "links": [ + 101 + ], + "slot_index": 4 + } + ], + "properties": { + "Node name for S&R": "FromBasicPipe" + }, + "widgets_values": [] + }, + { + "id": 5, + "type": "EmptyLatentImage", + "pos": [ + 490, + 190 + ], + "size": [ + 315, + 106 + ], + "flags": {}, + "order": 1, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "LATENT", + "type": "LATENT", + "links": [ + 2 + ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "EmptyLatentImage" + }, + "widgets_values": [ + 768, + 512, + 1 + ] + }, + { + "id": 42, + "type": "PreviewImage", + "pos": [ + 2140, + 130 + ], + "size": [ + 793.8984985351562, + 562.4002685546875 + ], + "flags": {}, + "order": 11, + "mode": 0, + "inputs": [ + { + "name": "images", + "type": "IMAGE", + "link": 107 + } + ], + "outputs": [], + "title": "Refined", + "properties": { + "Node name for S&R": "PreviewImage" + }, + "widgets_values": [], + "color": "#223", + "bgcolor": "#335" + }, + { + "id": 52, + "type": "PreviewImage", + "pos": [ + 2140, + 770 + ], + "size": [ + 800, + 580 + ], + "flags": {}, + "order": 12, + "mode": 0, + "inputs": [ + { + "name": "images", + "type": "IMAGE", + "link": 113 + } + ], + "outputs": [], + "title": "Original", + "properties": { + "Node name for S&R": "PreviewImage" + }, + "widgets_values": [], + "color": "#432", + "bgcolor": "#653" + }, + { + "id": 44, + "type": "BasicPipeToDetailerPipe", + "pos": [ + 1230, + 950 + ], + "size": [ + 380, + 240 + ], + "flags": {}, + "order": 4, + "mode": 0, + "inputs": [ + { + "name": "basic_pipe", + "type": "BASIC_PIPE", + "link": 115, + "slot_index": 0 + }, + { + "name": "bbox_detector", + "type": "BBOX_DETECTOR", + "link": 114 + }, + { + "name": "sam_model_opt", + "type": "SAM_MODEL", + "shape": 7, + "link": 81 + }, + { + "name": "segm_detector_opt", + "type": "SEGM_DETECTOR", + "shape": 7, + "link": null + }, + { + "name": "detailer_hook", + "type": "DETAILER_HOOK", + "shape": 7, + "link": null + } + ], + "outputs": [ + { + "name": "detailer_pipe", + "type": "DETAILER_PIPE", + "links": [ + 105 + ], + "slot_index": 0 + } + ], + "title": "BasicPipe -> DetailerPipe (NEW!!)", + "properties": { + "Node name for S&R": "BasicPipeToDetailerPipe" + }, + "widgets_values": [ + "{blue eyes, (angry:1.2)|{green eyes, mouth open|red eyes}| smile}", + "Select the LoRA to add to the text", + "Select the Wildcard to add to the text" + ], + "color": "#223", + "bgcolor": "#335" + }, + { + "id": 51, + "type": "Reroute", + "pos": [ + 2380, + 30 + ], + "size": [ + 82, + 26 + ], + "flags": {}, + "order": 10, + "mode": 2, + "inputs": [ + { + "name": "", + "type": "*", + "link": 111 + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 113 + ], + "slot_index": 0 + } + ], + "properties": { + "showOutputText": true, + "horizontal": false + } + }, + { + "id": 8, + "type": "VAEDecode", + "pos": [ + 1430, + 60 + ], + "size": [ + 140, + 46 + ], + "flags": { + "collapsed": true + }, + "order": 8, + "mode": 0, + "inputs": [ + { + "name": "samples", + "type": "LATENT", + "link": 7 + }, + { + "name": "vae", + "type": "VAE", + "link": 109 + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 106, + 111 + ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "VAEDecode" + }, + "widgets_values": [], + "color": "#432", + "bgcolor": "#653" + }, + { + "id": 3, + "type": "KSampler", + "pos": [ + 1209, + 126 + ], + "size": [ + 400, + 650 + ], + "flags": {}, + "order": 7, + "mode": 0, + "inputs": [ + { + "name": "model", + "type": "MODEL", + "link": 99 + }, + { + "name": "positive", + "type": "CONDITIONING", + "link": 100 + }, + { + "name": "negative", + "type": "CONDITIONING", + "link": 101 + }, + { + "name": "latent_image", + "type": "LATENT", + "link": 2 + } + ], + "outputs": [ + { + "name": "LATENT", + "type": "LATENT", + "links": [ + 7 + ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "KSampler" + }, + "widgets_values": [ + 497844439625000, + "fixed", + 20, + 8, + "euler", + "normal", + 1 + ], + "color": "#432", + "bgcolor": "#653" + }, + { + "id": 56, + "type": "UltralyticsDetectorProvider", + "pos": [ + 870, + 970 + ], + "size": [ + 315, + 78 + ], + "flags": {}, + "order": 2, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "BBOX_DETECTOR", + "type": "BBOX_DETECTOR", + "shape": 3, + "links": [ + 114 + ], + "slot_index": 0 + }, + { + "name": "SEGM_DETECTOR", + "type": "SEGM_DETECTOR", + "shape": 3, + "links": null + } + ], + "properties": { + "Node name for S&R": "UltralyticsDetectorProvider" + }, + "widgets_values": [ + "bbox/face_yolov8m.pt" + ], + "color": "#223", + "bgcolor": "#335" + }, + { + "id": 57, + "type": "workflow>MAKE_BASIC_PIPE", + "pos": [ + 50, + 470 + ], + "size": [ + 410, + 360 + ], + "flags": {}, + "order": 3, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "VAE", + "type": "VAE", + "shape": 3, + "links": null + }, + { + "name": "basic_pipe", + "type": "BASIC_PIPE", + "shape": 3, + "links": [ + 115, + 116 + ] + } + ], + "properties": { + "Node name for S&R": "workflow/MAKE_BASIC_PIPE" + }, + "widgets_values": [ + "vae-ft-mse-840000-ema-pruned.safetensors", + "SD1.5/V07_v07.safetensors", + "RAW photo, delicate, best quality, colorful, 2girls, 8k uhd, film grain, soft lighting, dslr, (Fujifilm XT3), (photorealistic:1.4), (detailed skin), soft lips, (very detailed long ponytail), aged down, studio lighting, from top, colorful sports wear, happy face, spread lips, (walking), (central park, cloud, sunshine), small breast", + "(low quality:1.4), (worst quality:1.4), bad anatomy, (nsfw:1.2), muscle, from back, from front, monochrome, (bikini:1.2)" + ], + "color": "#222", + "bgcolor": "#000" + }, + { + "id": 49, + "type": "FaceDetailerPipe", + "pos": [ + 1630, + 130 + ], + "size": [ + 480, + 1220 + ], + "flags": {}, + "order": 9, + "mode": 0, + "inputs": [ + { + "name": "image", + "type": "IMAGE", + "link": 106 + }, + { + "name": "detailer_pipe", + "type": "DETAILER_PIPE", + "link": 105 + }, + { + "name": "scheduler_func_opt", + "type": "SCHEDULER_FUNC", + "shape": 7, + "link": null + } + ], + "outputs": [ + { + "name": "image", + "type": "IMAGE", + "shape": 3, + "links": [ + 107 + ], + "slot_index": 0 + }, + { + "name": "cropped_refined", + "type": "IMAGE", + "shape": 6, + "links": null + }, + { + "name": "cropped_enhanced_alpha", + "type": "IMAGE", + "shape": 6, + "links": null + }, + { + "name": "mask", + "type": "MASK", + "shape": 3, + "links": null + }, + { + "name": "detailer_pipe", + "type": "DETAILER_PIPE", + "shape": 3, + "links": null + }, + { + "name": "cnet_images", + "type": "IMAGE", + "shape": 6, + "links": null + } + ], + "properties": { + "Node name for S&R": "FaceDetailerPipe" + }, + "widgets_values": [ + 256, + true, + 768, + 307405256705890, + "fixed", + 20, + 8, + "euler", + "normal", + 0.5, + 5, + true, + false, + 0.5, + 10, + 3, + "center-1", + 0, + 0.93, + 0, + 0.7, + "False", + 10, + 0.2, + 1, + false, + 0, + false, + false + ], + "color": "#223", + "bgcolor": "#335" + } + ], + "links": [ + [ + 2, + 5, + 0, + 3, + 3, + "LATENT" + ], + [ + 7, + 3, + 0, + 8, + 0, + "LATENT" + ], + [ + 81, + 38, + 0, + 44, + 2, + "SAM_MODEL" + ], + [ + 99, + 48, + 0, + 3, + 0, + "MODEL" + ], + [ + 100, + 48, + 3, + 3, + 1, + "CONDITIONING" + ], + [ + 101, + 48, + 4, + 3, + 2, + "CONDITIONING" + ], + [ + 105, + 44, + 0, + 49, + 1, + "DETAILER_PIPE" + ], + [ + 106, + 8, + 0, + 49, + 0, + "IMAGE" + ], + [ + 107, + 49, + 0, + 42, + 0, + "IMAGE" + ], + [ + 109, + 50, + 0, + 8, + 1, + "VAE" + ], + [ + 110, + 48, + 2, + 50, + 0, + "*" + ], + [ + 111, + 8, + 0, + 51, + 0, + "*" + ], + [ + 113, + 51, + 0, + 52, + 0, + "IMAGE" + ], + [ + 114, + 56, + 0, + 44, + 1, + "BBOX_DETECTOR" + ], + [ + 115, + 57, + 1, + 44, + 0, + "BASIC_PIPE" + ], + [ + 116, + 57, + 1, + 48, + 0, + "BASIC_PIPE" + ] + ], + "groups": [], + "config": {}, + "extra": { + "groupNodes": { + "MAKE_BASIC_PIPE": { + "nodes": [ + { + "type": "VAELoader", + "pos": [ + -200, + 600 + ], + "size": { + "0": 315, + "1": 58 + }, + "flags": {}, + "order": 1, + "mode": 0, + "outputs": [ + { + "name": "VAE", + "type": "VAE", + "links": [], + "slot_index": 0, + "localized_name": "VAE" + } + ], + "properties": { + "Node name for S&R": "VAELoader" + }, + "widgets_values": [ + "vae-ft-mse-840000-ema-pruned.safetensors" + ], + "index": 0, + "inputs": [] + }, + { + "type": "CheckpointLoaderSimple", + "pos": [ + -660, + 680 + ], + "size": { + "0": 315, + "1": 98 + }, + "flags": {}, + "order": 6, + "mode": 0, + "outputs": [ + { + "name": "MODEL", + "type": "MODEL", + "links": [], + "slot_index": 0, + "localized_name": "MODEL" + }, + { + "name": "CLIP", + "type": "CLIP", + "links": [], + "slot_index": 1, + "localized_name": "CLIP" + }, + { + "name": "VAE", + "type": "VAE", + "links": [], + "slot_index": 2, + "localized_name": "VAE" + } + ], + "properties": { + "Node name for S&R": "CheckpointLoaderSimple" + }, + "widgets_values": [ + "SD1.5/V07_v07.safetensors" + ], + "index": 1, + "inputs": [] + }, + { + "type": "CLIPTextEncode", + "pos": [ + -260, + 750 + ], + "size": { + "0": 411.9563903808594, + "1": 162.07196044921875 + }, + "flags": {}, + "order": 7, + "mode": 0, + "inputs": [ + { + "name": "clip", + "type": "CLIP", + "link": null, + "localized_name": "clip" + } + ], + "outputs": [ + { + "name": "CONDITIONING", + "type": "CONDITIONING", + "links": [], + "slot_index": 0, + "localized_name": "CONDITIONING" + } + ], + "title": "Positive", + "properties": { + "Node name for S&R": "CLIPTextEncode" + }, + "widgets_values": [ + "RAW photo, delicate, best quality, colorful, 2girls, 8k uhd, film grain, soft lighting, dslr, (Fujifilm XT3), (photorealistic:1.4), (detailed skin), soft lips, (very detailed long ponytail), aged down, studio lighting, from top, colorful sports wear, happy face, spread lips, (walking), (central park, cloud, sunshine), small breast" + ], + "index": 2 + }, + { + "type": "CLIPTextEncode", + "pos": [ + -260, + 960 + ], + "size": { + "0": 410, + "1": 130 + }, + "flags": {}, + "order": 8, + "mode": 0, + "inputs": [ + { + "name": "clip", + "type": "CLIP", + "link": null, + "localized_name": "clip" + } + ], + "outputs": [ + { + "name": "CONDITIONING", + "type": "CONDITIONING", + "links": [], + "slot_index": 0, + "localized_name": "CONDITIONING" + } + ], + "title": "Negative", + "properties": { + "Node name for S&R": "CLIPTextEncode" + }, + "widgets_values": [ + "(low quality:1.4), (worst quality:1.4), bad anatomy, (nsfw:1.2), muscle, from back, from front, monochrome, (bikini:1.2)" + ], + "index": 3 + }, + { + "type": "ToBasicPipe", + "pos": [ + 210, + 680 + ], + "size": { + "0": 241.79998779296875, + "1": 106 + }, + "flags": {}, + "order": 9, + "mode": 0, + "inputs": [ + { + "name": "model", + "type": "MODEL", + "link": null, + "localized_name": "model" + }, + { + "name": "clip", + "type": "CLIP", + "link": null, + "localized_name": "clip" + }, + { + "name": "vae", + "type": "VAE", + "link": null, + "localized_name": "vae" + }, + { + "name": "positive", + "type": "CONDITIONING", + "link": null, + "localized_name": "positive" + }, + { + "name": "negative", + "type": "CONDITIONING", + "link": null, + "localized_name": "negative" + } + ], + "outputs": [ + { + "name": "basic_pipe", + "type": "BASIC_PIPE", + "links": [], + "slot_index": 0, + "localized_name": "basic_pipe" + } + ], + "properties": { + "Node name for S&R": "ToBasicPipe" + }, + "index": 4 + } + ], + "links": [ + [ + 1, + 1, + 2, + 0, + 4, + "CLIP" + ], + [ + 1, + 1, + 3, + 0, + 4, + "CLIP" + ], + [ + 1, + 0, + 4, + 0, + 4, + "MODEL" + ], + [ + 1, + 1, + 4, + 1, + 4, + "CLIP" + ], + [ + 0, + 0, + 4, + 2, + 14, + "VAE" + ], + [ + 2, + 0, + 4, + 3, + 6, + "CONDITIONING" + ], + [ + 3, + 0, + 4, + 4, + 7, + "CONDITIONING" + ] + ], + "external": [ + [ + 4, + 0, + "BASIC_PIPE" + ] + ] + } + }, + "controller_panel": { + "controllers": {}, + "hidden": true, + "highlight": true, + "version": 2, + "default_order": [] + }, + "ds": { + "scale": 0.7513148009015777, + "offset": { + "0": 149.68603515625, + "1": 245.33897399902344 + } + }, + "node_versions": { + "comfyui-impact-pack": "1ae7cae2df8cca06027edfa3a24512671239d6c4", + "comfy-core": "0.3.14", + "comfyui-impact-subpack": "74db20c95eca152a6d686c914edc0ef4e4762cb8" + }, + "ue_links": [], + "VHS_latentpreview": false, + "VHS_latentpreviewrate": 0, + "VHS_MetadataImage": true, + "VHS_KeepIntermediate": true + }, + "version": 0.4 +} \ No newline at end of file