{
    "last_node_id": 45,
    "last_link_id": 78,
    "nodes": [
        {
            "id": 1,
            "type": "LoadImage",
            "pos": [
                50,
                150
            ],
            "size": [
                320,
                280
            ],
            "flags": {},
            "order": 0,
            "mode": 0,
            "outputs": [
                {
                    "name": "IMAGE",
                    "type": "IMAGE",
                    "links": [
                        1,
                        2,
                        3,
                        55,
                        60
                    ],
                    "slot_index": 0
                },
                {
                    "name": "MASK",
                    "type": "MASK",
                    "links": [],
                    "slot_index": 1
                }
            ],
            "properties": {
                "Node name for S&R": "LoadImage"
            },
            "widgets_values": [
                "input_interior.jpg"
            ]
        },
        {
            "id": 2,
            "type": "ImageScale",
            "pos": [
                450,
                150
            ],
            "size": [
                320,
                200
            ],
            "flags": {},
            "order": 1,
            "mode": 0,
            "inputs": [
                {
                    "name": "image",
                    "type": "IMAGE",
                    "link": 1
                }
            ],
            "outputs": [
                {
                    "name": "IMAGE",
                    "type": "IMAGE",
                    "links": [
                        4,
                        5
                    ],
                    "shape": 3,
                    "slot_index": 0
                }
            ],
            "properties": {
                "Node name for S&R": "ImageScale"
            },
            "widgets_values": [
                "lanczos",
                1024,
                1024,
                "center"
            ]
        },
        {
            "id": 3,
            "type": "CannyEdgePreprocessor",
            "pos": [
                850,
                150
            ],
            "size": [
                320,
                150
            ],
            "flags": {},
            "order": 2,
            "mode": 0,
            "inputs": [
                {
                    "name": "image",
                    "type": "IMAGE",
                    "link": 4
                }
            ],
            "outputs": [
                {
                    "name": "IMAGE",
                    "type": "IMAGE",
                    "links": [
                        6
                    ],
                    "shape": 3,
                    "slot_index": 0
                }
            ],
            "properties": {
                "Node name for S&R": "CannyEdgePreprocessor"
            },
            "widgets_values": [
                100,
                200,
                1024
            ]
        },
        {
            "id": 4,
            "type": "GroundingDinoModelLoader (segment anything)",
            "pos": [
                50,
                500
            ],
            "size": [
                320,
                100
            ],
            "flags": {},
            "order": 0,
            "mode": 0,
            "outputs": [
                {
                    "name": "GROUNDING_DINO_MODEL",
                    "type": "GROUNDING_DINO_MODEL",
                    "links": [
                        7
                    ],
                    "shape": 3,
                    "slot_index": 0
                }
            ],
            "properties": {
                "Node name for S&R": "GroundingDinoModelLoader (segment anything)"
            },
            "widgets_values": [
                "GroundingDINO_SwinT_OGC.cfg.py",
                "groundingdino_swint_ogc.pth"
            ]
        },
        {
            "id": 5,
            "type": "SAMModelLoader (segment anything)",
            "pos": [
                50,
                650
            ],
            "size": [
                320,
                100
            ],
            "flags": {},
            "order": 0,
            "mode": 0,
            "outputs": [
                {
                    "name": "SAM_MODEL",
                    "type": "SAM_MODEL",
                    "links": [
                        8
                    ],
                    "shape": 3,
                    "slot_index": 0
                }
            ],
            "properties": {
                "Node name for S&R": "SAMModelLoader (segment anything)"
            },
            "widgets_values": [
                "sam_vit_h_4b8939.pth"
            ]
        },
        {
            "id": 6,
            "type": "GroundingDinoSAMSegment (segment anything)",
            "pos": [
                450,
                500
            ],
            "size": [
                320,
                200
            ],
            "flags": {},
            "order": 3,
            "mode": 0,
            "inputs": [
                {
                    "name": "sam_model",
                    "type": "SAM_MODEL",
                    "link": 8
                },
                {
                    "name": "grounding_dino_model",
                    "type": "GROUNDING_DINO_MODEL",
                    "link": 7
                },
                {
                    "name": "image",
                    "type": "IMAGE",
                    "link": 2
                }
            ],
            "outputs": [
                {
                    "name": "IMAGE",
                    "type": "IMAGE",
                    "links": [],
                    "shape": 3,
                    "slot_index": 0
                },
                {
                    "name": "MASK",
                    "type": "MASK",
                    "links": [
                        9
                    ],
                    "shape": 3,
                    "slot_index": 1
                }
            ],
            "properties": {
                "Node name for S&R": "GroundingDinoSAMSegment (segment anything)"
            },
            "widgets_values": [
                "person",
                0.3
            ]
        },
        {
            "id": 7,
            "type": "GrowMask",
            "pos": [
                850,
                500
            ],
            "size": [
                320,
                100
            ],
            "flags": {},
            "order": 4,
            "mode": 0,
            "inputs": [
                {
                    "name": "mask",
                    "type": "MASK",
                    "link": 9
                }
            ],
            "outputs": [
                {
                    "name": "MASK",
                    "type": "MASK",
                    "links": [
                        10,
                        52
                    ],
                    "shape": 3,
                    "slot_index": 0
                }
            ],
            "properties": {
                "Node name for S&R": "GrowMask"
            },
            "widgets_values": [
                8
            ]
        },
        {
            "id": 8,
            "type": "InvertMask",
            "pos": [
                1250,
                500
            ],
            "size": [
                320,
                100
            ],
            "flags": {},
            "order": 5,
            "mode": 0,
            "inputs": [
                {
                    "name": "mask",
                    "type": "MASK",
                    "link": 10
                }
            ],
            "outputs": [
                {
                    "name": "MASK",
                    "type": "MASK",
                    "links": [
                        11
                    ],
                    "shape": 3,
                    "slot_index": 0
                }
            ],
            "properties": {
                "Node name for S&R": "InvertMask"
            }
        },
        {
            "id": 9,
            "type": "MaskToImage",
            "pos": [
                1650,
                500
            ],
            "size": [
                320,
                100
            ],
            "flags": {},
            "order": 6,
            "mode": 0,
            "inputs": [
                {
                    "name": "mask",
                    "type": "MASK",
                    "link": 11
                }
            ],
            "outputs": [
                {
                    "name": "IMAGE",
                    "type": "IMAGE",
                    "links": [
                        12,
                        70
                    ],
                    "shape": 3,
                    "slot_index": 0
                }
            ],
            "properties": {
                "Node name for S&R": "MaskToImage"
            }
        },
        {
            "id": 10,
            "type": "ControlNetLoader",
            "pos": [
                50,
                850
            ],
            "size": [
                320,
                100
            ],
            "flags": {},
            "order": 0,
            "mode": 0,
            "outputs": [
                {
                    "name": "CONTROL_NET",
                    "type": "CONTROL_NET",
                    "links": [
                        13
                    ],
                    "shape": 3,
                    "slot_index": 0
                }
            ],
            "properties": {
                "Node name for S&R": "ControlNetLoader"
            },
            "widgets_values": [
                "control_v11p_sd15_canny.pth"
            ]
        },
        {
            "id": 11,
            "type": "ControlNetApplyAdvanced",
            "pos": [
                850,
                850
            ],
            "size": [
                320,
                200
            ],
            "flags": {},
            "order": 7,
            "mode": 0,
            "inputs": [
                {
                    "name": "positive",
                    "type": "CONDITIONING",
                    "link": 14
                },
                {
                    "name": "negative",
                    "type": "CONDITIONING",
                    "link": 15
                },
                {
                    "name": "control_net",
                    "type": "CONTROL_NET",
                    "link": 13
                },
                {
                    "name": "image",
                    "type": "IMAGE",
                    "link": 6
                }
            ],
            "outputs": [
                {
                    "name": "positive",
                    "type": "CONDITIONING",
                    "links": [
                        16
                    ],
                    "shape": 3,
                    "slot_index": 0
                },
                {
                    "name": "negative",
                    "type": "CONDITIONING",
                    "links": [],
                    "shape": 3,
                    "slot_index": 1
                }
            ],
            "properties": {
                "Node name for S&R": "ControlNetApplyAdvanced"
            },
            "widgets_values": [
                0.9,
                0,
                1.0
            ]
        },
        {
            "id": 12,
            "type": "CheckpointLoaderSimple",
            "pos": [
                50,
                1050
            ],
            "size": [
                320,
                100
            ],
            "flags": {},
            "order": 0,
            "mode": 0,
            "outputs": [
                {
                    "name": "MODEL",
                    "type": "MODEL",
                    "links": [
                        17,
                        72,
                        73
                    ],
                    "shape": 3,
                    "slot_index": 0
                },
                {
                    "name": "CLIP",
                    "type": "CLIP",
                    "links": [
                        18,
                        19,
                        20,
                        74
                    ],
                    "shape": 3,
                    "slot_index": 1
                },
                {
                    "name": "VAE",
                    "type": "VAE",
                    "links": [
                        40,
                        68
                    ],
                    "shape": 3,
                    "slot_index": 2
                }
            ],
            "properties": {
                "Node name for S&R": "CheckpointLoaderSimple"
            },
            "widgets_values": [
                "realvisxlV50_v50LightningBakedvae.safetensors"
            ]
        },
        {
            "id": 13,
            "type": "CLIPTextEncode",
            "pos": [
                450,
                1100
            ],
            "size": [
                400,
                200
            ],
            "flags": {},
            "order": 4,
            "mode": 0,
            "inputs": [
                {
                    "name": "clip",
                    "type": "CLIP",
                    "link": 18
                }
            ],
            "outputs": [
                {
                    "name": "CONDITIONING",
                    "type": "CONDITIONING",
                    "links": [
                        14,
                        75
                    ],
                    "shape": 3,
                    "slot_index": 0
                }
            ],
            "properties": {
                "Node name for S&R": "CLIPTextEncode"
            },
            "widgets_values": [
                "modern luxury interior design, high-end furniture, elegant lighting, premium materials, marble flooring, designer decor, soft ambient lighting, neutral color palette with gold accents, architectural photography, 8k resolution, photorealistic, global illumination"
            ]
        },
        {
            "id": 14,
            "type": "CLIPTextEncode",
            "pos": [
                450,
                1350
            ],
            "size": [
                400,
                200
            ],
            "flags": {},
            "order": 4,
            "mode": 0,
            "inputs": [
                {
                    "name": "clip",
                    "type": "CLIP",
                    "link": 19
                }
            ],
            "outputs": [
                {
                    "name": "CONDITIONING",
                    "type": "CONDITIONING",
                    "links": [
                        15,
                        21
                    ],
                    "shape": 3,
                    "slot_index": 0
                }
            ],
            "properties": {
                "Node name for S&R": "CLIPTextEncode"
            },
            "widgets_values": [
                "(worst quality, low quality, illustration, 3d, 2d, painting, cartoons, sketch), blurry, distorted, deformed, extra windows, unrealistic lighting, structural changes, wall repositioning, window modification, door relocation, ceiling alteration, geometry changes, alter human, change person, modify face, different clothing"
            ]
        },
        {
            "id": 15,
            "type": "CLIPVisionLoader",
            "pos": [
                50,
                1250
            ],
            "size": [
                320,
                100
            ],
            "flags": {},
            "order": 0,
            "mode": 0,
            "outputs": [
                {
                    "name": "CLIP_VISION",
                    "type": "CLIP_VISION",
                    "links": [
                        22
                    ],
                    "shape": 3,
                    "slot_index": 0
                }
            ],
            "properties": {
                "Node name for S&R": "CLIPVisionLoader"
            },
            "widgets_values": [
                "CLIP-ViT-H-14-laion2B-s32B-b79K.safetensors"
            ]
        },
        {
            "id": 16,
            "type": "IPAdapterModelLoader",
            "pos": [
                50,
                1400
            ],
            "size": [
                320,
                100
            ],
            "flags": {},
            "order": 0,
            "mode": 0,
            "outputs": [
                {
                    "name": "IPADAPTER",
                    "type": "IPADAPTER",
                    "links": [
                        23
                    ],
                    "shape": 3,
                    "slot_index": 0
                }
            ],
            "properties": {
                "Node name for S&R": "IPAdapterModelLoader"
            },
            "widgets_values": [
                "ip-adapter-faceid-plusv2_sdxl.bin"
            ]
        },
        {
            "id": 17,
            "type": "IPAdapterAdvanced",
            "pos": [
                1250,
                1100
            ],
            "size": [
                320,
                300
            ],
            "flags": {},
            "order": 6,
            "mode": 0,
            "inputs": [
                {
                    "name": "model",
                    "type": "MODEL",
                    "link": 72
                },
                {
                    "name": "image",
                    "type": "IMAGE",
                    "link": 55
                },
                {
                    "name": "clip_vision",
                    "type": "CLIP_VISION",
                    "link": 22
                },
                {
                    "name": "ipadapter",
                    "type": "IPADAPTER",
                    "link": 23
                },
                {
                    "name": "mask",
                    "type": "MASK",
                    "link": 52
                }
            ],
            "outputs": [
                {
                    "name": "MODEL",
                    "type": "MODEL",
                    "links": [
                        24
                    ],
                    "shape": 3,
                    "slot_index": 0
                },
                {
                    "name": "image",
                    "type": "IMAGE",
                    "links": [],
                    "shape": 3,
                    "slot_index": 1
                }
            ],
            "properties": {
                "Node name for S&R": "IPAdapterAdvanced"
            },
            "widgets_values": [
                0.9,
                0,
                0,
                1.0,
                "original",
                0,
                1.0
            ]
        },
        {
            "id": 18,
            "type": "EmptyLatentImage",
            "pos": [
                50,
                1550
            ],
            "size": [
                320,
                100
            ],
            "flags": {},
            "order": 0,
            "mode": 0,
            "outputs": [
                {
                    "name": "LATENT",
                    "type": "LATENT",
                    "links": [
                        25
                    ],
                    "shape": 3,
                    "slot_index": 0
                }
            ],
            "properties": {
                "Node name for S&R": "EmptyLatentImage"
            },
            "widgets_values": [
                1024,
                1024,
                1
            ]
        },
        {
            "id": 19,
            "type": "VAEEncodeForInpaint",
            "pos": [
                1650,
                850
            ],
            "size": [
                320,
                150
            ],
            "flags": {},
            "order": 8,
            "mode": 0,
            "inputs": [
                {
                    "name": "pixels",
                    "type": "IMAGE",
                    "link": 5
                },
                {
                    "name": "vae",
                    "type": "VAE",
                    "link": 40
                },
                {
                    "name": "mask",
                    "type": "MASK",
                    "link": 11
                }
            ],
            "outputs": [
                {
                    "name": "LATENT",
                    "type": "LATENT",
                    "links": [
                        26
                    ],
                    "shape": 3,
                    "slot_index": 0
                }
            ],
            "properties": {
                "Node name for S&R": "VAEEncodeForInpaint"
            },
            "widgets_values": [
                0.85
            ]
        },
        {
            "id": 20,
            "type": "KSampler",
            "pos": [
                2050,
                1000
            ],
            "size": [
                320,
                280
            ],
            "flags": {},
            "order": 9,
            "mode": 0,
            "inputs": [
                {
                    "name": "model",
                    "type": "MODEL",
                    "link": 24
                },
                {
                    "name": "positive",
                    "type": "CONDITIONING",
                    "link": 16
                },
                {
                    "name": "negative",
                    "type": "CONDITIONING",
                    "link": 15
                },
                {
                    "name": "latent_image",
                    "type": "LATENT",
                    "link": 26
                }
            ],
            "outputs": [
                {
                    "name": "LATENT",
                    "type": "LATENT",
                    "links": [
                        27
                    ],
                    "shape": 3,
                    "slot_index": 0
                }
            ],
            "properties": {
                "Node name for S&R": "KSampler"
            },
            "widgets_values": [
                42,
                "randomize",
                8,
                1.8,
                "dpmpp_sde",
                "karras",
                1.0
            ]
        },
        {
            "id": 21,
            "type": "VAEDecode",
            "pos": [
                2450,
                1000
            ],
            "size": [
                320,
                100
            ],
            "flags": {},
            "order": 10,
            "mode": 0,
            "inputs": [
                {
                    "name": "samples",
                    "type": "LATENT",
                    "link": 27
                },
                {
                    "name": "vae",
                    "type": "VAE",
                    "link": 68
                }
            ],
            "outputs": [
                {
                    "name": "IMAGE",
                    "type": "IMAGE",
                    "links": [
                        28,
                        29,
                        69
                    ],
                    "shape": 3,
                    "slot_index": 0
                }
            ],
            "properties": {
                "Node name for S&R": "VAEDecode"
            }
        },
        {
            "id": 22,
            "type": "SaveImage",
            "pos": [
                2850,
                900
            ],
            "size": [
                320,
                280
            ],
            "flags": {},
            "order": 11,
            "mode": 0,
            "inputs": [
                {
                    "name": "images",
                    "type": "IMAGE",
                    "link": 28
                }
            ],
            "properties": {
                "Node name for S&R": "SaveImage"
            },
            "widgets_values": [
                "dreamweaver_a100_restyled"
            ]
        },
        {
            "id": 23,
            "type": "SaveImageWithMetadata",
            "pos": [
                2850,
                1250
            ],
            "size": [
                320,
                300
            ],
            "flags": {},
            "order": 11,
            "mode": 0,
            "inputs": [
                {
                    "name": "images",
                    "type": "IMAGE",
                    "link": 29
                }
            ],
            "properties": {
                "Node name for S&R": "SaveImageWithMetadata"
            },
            "widgets_values": [
                "dreamweaver_a100_metadata",
                "PNG",
                "model: RealVisXL V5.0 Lightning, sampler: DPM++ SDE Karras, steps: 8, cfg: 1.8, denoise: 0.85, controlnet: canny, sam: vit-h, preservation: person"
            ]
        },
        {
            "id": 24,
            "type": "PreviewImage",
            "pos": [
                2850,
                1600
            ],
            "size": [
                320,
                280
            ],
            "flags": {},
            "order": 11,
            "mode": 0,
            "inputs": [
                {
                    "name": "images",
                    "type": "IMAGE",
                    "link": 69
                }
            ],
            "properties": {
                "Node name for S&R": "PreviewImage"
            }
        },
        {
            "id": 25,
            "type": "MaskToImage",
            "pos": [
                2050,
                650
            ],
            "size": [
                320,
                100
            ],
            "flags": {},
            "order": 6,
            "mode": 0,
            "inputs": [
                {
                    "name": "mask",
                    "type": "MASK",
                    "link": 52
                }
            ],
            "outputs": [
                {
                    "name": "IMAGE",
                    "type": "IMAGE",
                    "links": [
                        70
                    ],
                    "shape": 3,
                    "slot_index": 0
                }
            ],
            "properties": {
                "Node name for S&R": "MaskToImage"
            }
        },
        {
            "id": 26,
            "type": "PreviewImage",
            "pos": [
                2450,
                650
            ],
            "size": [
                320,
                280
            ],
            "flags": {},
            "order": 7,
            "mode": 0,
            "inputs": [
                {
                    "name": "images",
                    "type": "IMAGE",
                    "link": 70
                }
            ],
            "properties": {
                "Node name for S&R": "PreviewImage"
            }
        },
        {
            "id": 27,
            "type": "ImageCompositeMasked",
            "pos": [
                2050,
                1350
            ],
            "size": [
                320,
                150
            ],
            "flags": {},
            "order": 10,
            "mode": 0,
            "inputs": [
                {
                    "name": "destination",
                    "type": "IMAGE",
                    "link": 60
                },
                {
                    "name": "source",
                    "type": "IMAGE",
                    "link": 69
                },
                {
                    "name": "mask",
                    "type": "MASK",
                    "link": 11
                }
            ],
            "outputs": [
                {
                    "name": "IMAGE",
                    "type": "IMAGE",
                    "links": [
                        71
                    ],
                    "shape": 3,
                    "slot_index": 0
                }
            ],
            "properties": {
                "Node name for S&R": "ImageCompositeMasked"
            },
            "widgets_values": [
                0,
                0,
                false
            ]
        }
    ],
    "links": [
        [
            1,
            1,
            2,
            "IMAGE",
            1
        ],
        [
            2,
            1,
            6,
            "IMAGE",
            2
        ],
        [
            3,
            2,
            3,
            "IMAGE",
            4
        ],
        [
            4,
            2,
            19,
            "IMAGE",
            5
        ],
        [
            5,
            3,
            11,
            "IMAGE",
            6
        ],
        [
            6,
            4,
            6,
            "GROUNDING_DINO_MODEL",
            7
        ],
        [
            7,
            5,
            6,
            "SAM_MODEL",
            8
        ],
        [
            8,
            6,
            7,
            "MASK",
            9
        ],
        [
            9,
            7,
            8,
            "MASK",
            10
        ],
        [
            10,
            8,
            9,
            "MASK",
            11
        ],
        [
            11,
            9,
            19,
            "MASK",
            12
        ],
        [
            12,
            10,
            11,
            "CONTROL_NET",
            13
        ],
        [
            13,
            13,
            11,
            "CONDITIONING",
            14
        ],
        [
            14,
            14,
            11,
            "CONDITIONING",
            15
        ],
        [
            15,
            11,
            20,
            "positive",
            16
        ],
        [
            16,
            12,
            20,
            "MODEL",
            17
        ],
        [
            17,
            12,
            13,
            "CLIP",
            18
        ],
        [
            18,
            12,
            14,
            "CLIP",
            19
        ],
        [
            19,
            12,
            17,
            "CLIP",
            74
        ],
        [
            20,
            15,
            17,
            "CLIP_VISION",
            22
        ],
        [
            21,
            16,
            17,
            "IPADAPTER",
            23
        ],
        [
            22,
            17,
            20,
            "MODEL",
            24
        ],
        [
            23,
            19,
            20,
            "LATENT",
            26
        ],
        [
            24,
            20,
            21,
            "LATENT",
            27
        ],
        [
            25,
            21,
            22,
            "IMAGE",
            28
        ],
        [
            26,
            21,
            23,
            "IMAGE",
            29
        ],
        [
            27,
            21,
            24,
            "IMAGE",
            69
        ],
        [
            28,
            12,
            21,
            "VAE",
            68
        ],
        [
            29,
            12,
            17,
            "MODEL",
            72
        ],
        [
            30,
            1,
            17,
            "IMAGE",
            55
        ],
        [
            31,
            7,
            17,
            "MASK",
            52
        ],
        [
            32,
            7,
            25,
            "MASK",
            52
        ],
        [
            33,
            25,
            26,
            "IMAGE",
            70
        ],
        [
            34,
            1,
            27,
            "IMAGE",
            60
        ],
        [
            35,
            12,
            13,
            "CLIP",
            75
        ]
    ],
    "groups": [
        {
            "title": "Input & Preprocessing",
            "bounding": [
                0,
                100,
                800,
                400
            ],
            "color": "#3f789e"
        },
        {
            "title": "SAM Person Segmentation",
            "bounding": [
                0,
                450,
                1200,
                350
            ],
            "color": "#8f3f7e"
        },
        {
            "title": "ControlNet Structure",
            "bounding": [
                0,
                800,
                800,
                300
            ],
            "color": "#3f7e4a"
        },
        {
            "title": "IPAdapter Face Preservation",
            "bounding": [
                1200,
                1050,
                600,
                400
            ],
            "color": "#7e5e3f"
        },
        {
            "title": "Generation & Inpainting",
            "bounding": [
                1600,
                800,
                1200,
                600
            ],
            "color": "#5e3f7e"
        },
        {
            "title": "Output",
            "bounding": [
                2800,
                800,
                600,
                1200
            ],
            "color": "#7e3f5e"
        }
    ],
    "config": {},
    "extra": {
        "ds": {
            "scale": 0.55,
            "offset": [
                0,
                0
            ]
        },
        "a100_config": {
            "target_hardware": "NVIDIA_A100_40GB",
            "precision": "fp16",
            "batch_size": 20,
            "person_preservation": true,
            "dilation_pixels": 8,
            "controlnet_strength": 0.9,
            "lightning_steps": 8,
            "cfg_scale": 1.8,
            "ipadapter_weight": 0.9,
            "denoise_strength": 0.85
        }
    },
    "version": 0.4
}