{
    "1": {
        "class_type": "LoadImage",
        "_meta": {"title": "Ground Truth (Architectural/Floorplan)"},
        "inputs": {
            "image": "ground_truth_input.png",
            "upload": "image"
        }
    },
    "2": {
        "class_type": "LoadImage",
        "_meta": {"title": "Style Reference (Google/Pinterest)"},
        "inputs": {
            "image": "style_reference_input.png",
            "upload": "image"
        }
    },
    "3": {
        "class_type": "DiffusersLoader",
        "_meta": {"title": "Qwen-Image-2512 Model Loader"},
        "inputs": {
            "model_path": "/home/ubuntu/models/Qwen-Image-2512"
        }
    },
    "4": {
        "class_type": "ImageScale",
        "_meta": {"title": "Scale Ground Truth"},
        "inputs": {
            "image": ["1", 0],
            "upscale_method": "lanczos",
            "width": 1104,
            "height": 1472,
            "crop": "center"
        }
    },
    "5": {
        "class_type": "CannyEdgePreprocessor",
        "_meta": {"title": "Canny Edge (Spatial Geometry)"},
        "inputs": {
            "image": ["4", 0],
            "low_threshold": 80,
            "high_threshold": 160,
            "resolution": 1024
        }
    },
    "6": {
        "class_type": "ControlNetLoader",
        "_meta": {"title": "ControlNet Canny Loader"},
        "inputs": {
            "control_net_name": "control_v11p_sd15_canny.pth"
        }
    },
    "7": {
        "class_type": "CLIPVisionLoader",
        "_meta": {"title": "CLIP Vision for IP-Adapter"},
        "inputs": {
            "clip_name": "CLIP-ViT-H-14-laion2B-s32B-b79K.safetensors"
        }
    },
    "8": {
        "class_type": "IPAdapterModelLoader",
        "_meta": {"title": "IP-Adapter Model"},
        "inputs": {
            "ipadapter_file": "ip-adapter_sd15.bin"
        }
    },
    "9": {
        "class_type": "CLIPTextEncode",
        "_meta": {"title": "Positive Prompt (Typography + Aesthetic)"},
        "inputs": {
            "text": "A highly realistic, cinematic real estate marketing poster. Interior style: modern luxury, warm ambient lighting, premium materials. The image must prominently feature the exact text 'YOUR DREAM HOME AWAITS' written in elegant, modern, highly legible typography positioned at the lower third of the image, clean sans-serif font, crisp rendering, high contrast text. Professional cinematic lighting, 8k resolution, photorealistic quality, detailed textures, architectural photography, ultra-sharp focus, golden hour warmth, premium real estate aesthetic.",
            "clip": ["3", 1]
        }
    },
    "10": {
        "class_type": "CLIPTextEncode",
        "_meta": {"title": "Negative Prompt"},
        "inputs": {
            "text": "deformed, blurry, bad anatomy, watermark, logo, extra text, distorted text, blurry text, misaligned text, low quality, worst quality, illustration, 3d render, painting, cartoon, sketch, artifacts, noise, oversaturated, unrealistic lighting, structural changes, extra windows, extra doors, warped perspective, low resolution, pixelated",
            "clip": ["3", 1]
        }
    },
    "11": {
        "class_type": "EmptyLatentImage",
        "_meta": {"title": "Poster Canvas (3:4 Portrait)"},
        "inputs": {
            "width": 1104,
            "height": 1472,
            "batch_size": 1
        }
    },
    "12": {
        "class_type": "IPAdapterAdvanced",
        "_meta": {"title": "Style Transfer from Reference"},
        "inputs": {
            "model": ["3", 0],
            "ipadapter": ["8", 0],
            "image": ["2", 0],
            "clip_vision": ["7", 0],
            "weight": 0.55,
            "weight_type": "linear",
            "combine_embeds": "concat",
            "start_at": 0.0,
            "end_at": 0.5,
            "embeds_scaling": "V only",
            "noise": 0.0
        }
    },
    "13": {
        "class_type": "ControlNetApplyAdvanced",
        "_meta": {"title": "ControlNet Apply (Canny Geometry)"},
        "inputs": {
            "positive": ["9", 0],
            "negative": ["10", 0],
            "control_net": ["6", 0],
            "image": ["5", 0],
            "strength": 0.75,
            "start_percent": 0.0,
            "end_percent": 0.65
        }
    },
    "14": {
        "class_type": "KSampler",
        "_meta": {"title": "Qwen Sampler (true_cfg compatible)"},
        "inputs": {
            "model": ["12", 0],
            "positive": ["13", 0],
            "negative": ["13", 1],
            "latent_image": ["11", 0],
            "seed": 42,
            "control_after_generate": "randomize",
            "steps": 50,
            "cfg": 4.0,
            "sampler_name": "euler",
            "scheduler": "normal",
            "denoise": 1.0
        }
    },
    "15": {
        "class_type": "VAEDecode",
        "_meta": {"title": "Decode Latent to Image"},
        "inputs": {
            "samples": ["14", 0],
            "vae": ["3", 2]
        }
    },
    "16": {
        "class_type": "SaveImage",
        "_meta": {"title": "Save Catalyst Poster Output"},
        "inputs": {
            "images": ["15", 0],
            "filename_prefix": "catalyst_poster_qwen"
        }
    }
}
