{
  "9": {
    "inputs": {
      "filename_prefix": "Flux2_dev",
      "images": [
        "104",
        0
      ]
    },
    "class_type": "SaveImage",
    "_meta": {
      "title": "Save Image"
    }
  },
  "100": {
    "inputs": {
      "guidance": 2,
      "conditioning": [
        "131",
        0
      ]
    },
    "class_type": "FluxGuidance",
    "_meta": {
      "title": "FluxGuidance"
    }
  },
  "102": {
    "inputs": {
      "vae_name": "flux2-vae.safetensors"
    },
    "class_type": "VAELoader",
    "_meta": {
      "title": "Load VAE"
    }
  },
  "104": {
    "inputs": {
      "samples": [
        "156",
        0
      ],
      "vae": [
        "102",
        0
      ]
    },
    "class_type": "VAEDecode",
    "_meta": {
      "title": "VAE Decode"
    }
  },
  "107": {
    "inputs": {
      "text": "face_swap: Use image 1 as the base image, preserving its environment, background, camera perspective, framing, exposure, contrast, and lighting. Remove the face from image 1 and seamlessly replace it with the face from image 2 and image 3.\nMatch the original head size, face-to-body ratio, neck thickness, shoulder alignment, and camera distance so proportions remain natural and unchanged. Match  the hair style and facial expression of image 1 with the face in image 2 and image 3.\n\n\n\nAdapt the inserted head to the lighting of image 1 by matching light direction, intensity, softness, color temperature, shadows, and highlights, with no independent relighting.\nPreserve the identity of image 2 and image 3, eye color, nose structure, facial proportions, and skin details.\nEnsure seamless neck and jaw blending, consistent skin tone, realistic shadow contact, natural skin texture, and uniform sharpness.\nPhotorealistic.\n\nblurry. overexposed, out of focus. \n\n \nfixe eyes to top left. oversized black wig.",
      "clip": [
        "146",
        0
      ]
    },
    "class_type": "CLIPTextEncode",
    "_meta": {
      "title": "CLIP Text Encode (Positive Prompt)"
    }
  },
  "112": {
    "inputs": {
      "conditioning": [
        "107",
        0
      ],
      "latent": [
        "150",
        0
      ]
    },
    "class_type": "ReferenceLatent",
    "_meta": {
      "title": "ReferenceLatent"
    }
  },
  "115": {
    "inputs": {
      "upscale_method": "lanczos",
      "megapixels": [
        "135",
        0
      ],
      "resolution_steps": 1,
      "image": [
        "151",
        0
      ]
    },
    "class_type": "ImageScaleToTotalPixels",
    "_meta": {
      "title": "ImageScaleToTotalPixels"
    }
  },
  "117": {
    "inputs": {
      "rgthree_comparer": {
        "images": [
          {
            "name": "A",
            "selected": true,
            "url": "/api/view?filename=rgthree.compare._temp_ujesh_00119_.png&type=temp&subfolder=&rand=0.42522503732799"
          },
          {
            "name": "B",
            "selected": true,
            "url": "/api/view?filename=rgthree.compare._temp_ujesh_00120_.png&type=temp&subfolder=&rand=0.5381981795217281"
          }
        ]
      },
      "image_a": [
        "149",
        0
      ],
      "image_b": [
        "104",
        0
      ]
    },
    "class_type": "Image Comparer (rgthree)",
    "_meta": {
      "title": "Image Comparer (rgthree)"
    }
  },
  "118": {
    "inputs": {
      "conditioning": [
        "112",
        0
      ],
      "latent": [
        "119",
        0
      ]
    },
    "class_type": "ReferenceLatent",
    "_meta": {
      "title": "ReferenceLatent"
    }
  },
  "119": {
    "inputs": {
      "pixels": [
        "120",
        0
      ],
      "vae": [
        "102",
        0
      ]
    },
    "class_type": "VAEEncode",
    "_meta": {
      "title": "VAE Encode"
    }
  },
  "120": {
    "inputs": {
      "upscale_method": "lanczos",
      "megapixels": [
        "135",
        0
      ],
      "resolution_steps": 1,
      "image": [
        "121",
        0
      ]
    },
    "class_type": "ImageScaleToTotalPixels",
    "_meta": {
      "title": "ImageScaleToTotalPixels"
    }
  },
  "121": {
    "inputs": {
      "image": "ts_seflie.jpg"
    },
    "class_type": "LoadImage",
    "_meta": {
      "title": "Load Image"
    }
  },
  "125": {
    "inputs": {
      "pixels": [
        "115",
        0
      ],
      "vae": [
        "102",
        0
      ]
    },
    "class_type": "VAEEncode",
    "_meta": {
      "title": "VAE Encode"
    }
  },
  "126": {
    "inputs": {
      "unet_name": "flux-2-klein-4b-fp8.safetensors",
      "weight_dtype": "default"
    },
    "class_type": "UNETLoader",
    "_meta": {
      "title": "Load Diffusion Model"
    }
  },
  "128": {
    "inputs": {
      "image": "20250424_143336.jpg"
    },
    "class_type": "LoadImage",
    "_meta": {
      "title": "Load Image"
    }
  },
  "129": {
    "inputs": {
      "upscale_method": "lanczos",
      "megapixels": [
        "135",
        0
      ],
      "resolution_steps": 1,
      "image": [
        "128",
        0
      ]
    },
    "class_type": "ImageScaleToTotalPixels",
    "_meta": {
      "title": "ImageScaleToTotalPixels"
    }
  },
  "130": {
    "inputs": {
      "pixels": [
        "129",
        0
      ],
      "vae": [
        "102",
        0
      ]
    },
    "class_type": "VAEEncode",
    "_meta": {
      "title": "VAE Encode"
    }
  },
  "131": {
    "inputs": {
      "conditioning": [
        "118",
        0
      ],
      "latent": [
        "130",
        0
      ]
    },
    "class_type": "ReferenceLatent",
    "_meta": {
      "title": "ReferenceLatent"
    }
  },
  "135": {
    "inputs": {
      "value": 1
    },
    "class_type": "PrimitiveFloat",
    "_meta": {
      "title": "Float (Set Megapixels)"
    }
  },
  "136": {
    "inputs": {
      "conditioning": [
        "107",
        0
      ]
    },
    "class_type": "ConditioningZeroOut",
    "_meta": {
      "title": "ConditioningZeroOut"
    }
  },
  "146": {
    "inputs": {
      "clip_name": "qwen_3_4b.safetensors",
      "type": "flux2",
      "device": "default"
    },
    "class_type": "CLIPLoader",
    "_meta": {
      "title": "Load CLIP"
    }
  },
  "147": {
    "inputs": {
      "samples": [
        "125",
        0
      ],
      "vae": [
        "102",
        0
      ]
    },
    "class_type": "VAEDecode",
    "_meta": {
      "title": "VAE Decode"
    }
  },
  "148": {
    "inputs": {
      "image": [
        "147",
        0
      ]
    },
    "class_type": "GetImageSize",
    "_meta": {
      "title": "Get Image Size"
    }
  },
  "149": {
    "inputs": {
      "upscale_method": "lanczos",
      "width": [
        "148",
        0
      ],
      "height": [
        "148",
        1
      ],
      "crop": "center",
      "image": [
        "151",
        0
      ]
    },
    "class_type": "ImageScale",
    "_meta": {
      "title": "Upscale Image"
    }
  },
  "150": {
    "inputs": {
      "pixels": [
        "149",
        0
      ],
      "vae": [
        "102",
        0
      ]
    },
    "class_type": "VAEEncode",
    "_meta": {
      "title": "VAE Encode"
    }
  },
  "151": {
    "inputs": {
      "image": "flux2klein_1779656045.png"
    },
    "class_type": "LoadImage",
    "_meta": {
      "title": "Load Image"
    }
  },
  "152": {
    "inputs": {
      "samples": [
        "150",
        0
      ],
      "mask": [
        "153",
        0
      ]
    },
    "class_type": "SetLatentNoiseMask",
    "_meta": {
      "title": "Set Latent Noise Mask"
    }
  },
  "153": {
    "inputs": {
      "resize_type": "scale dimensions",
      "resize_type.width": [
        "148",
        0
      ],
      "resize_type.height": [
        "148",
        1
      ],
      "resize_type.crop": "center",
      "scale_method": "bicubic",
      "input": [
        "151",
        1
      ]
    },
    "class_type": "ResizeImageMaskNode",
    "_meta": {
      "title": "Resize Image/Mask"
    }
  },
  "156": {
    "inputs": {
      "seed": 990842646209233,
      "steps": 10,
      "cfg": 1,
      "sampler_name": "euler",
      "scheduler": "simple",
      "denoise": 1,
      "LanPaint_NumSteps": 2,
      "LanPaint_PromptMode": "Image First",
      "LanPaint_Info": "LanPaint KSampler. For more info, visit https://github.com/scraed/LanPaint. If you find it useful, please give a star ⭐️!",
      "Inpainting_mode": "🖼️ Image Inpainting",
      "More Info, Bug Report, Star on GitHub ⭐": "lanpaint_star_button",
      "model": [
        "126",
        0
      ],
      "positive": [
        "100",
        0
      ],
      "negative": [
        "136",
        0
      ],
      "latent_image": [
        "162",
        0
      ]
    },
    "class_type": "LanPaint_KSampler",
    "_meta": {
      "title": "LanPaint KSampler"
    }
  },
  "160": {
    "inputs": {
      "mask": [
        "153",
        0
      ]
    },
    "class_type": "MaskPreview",
    "_meta": {
      "title": "Preview Mask"
    }
  },
  "162": {
    "inputs": {
      "switch": true,
      "on_false": [
        "152",
        0
      ],
      "on_true": [
        "163",
        0
      ]
    },
    "class_type": "ComfySwitchNode",
    "_meta": {
      "title": "Switch (Disable Inpainting)"
    }
  },
  "163": {
    "inputs": {
      "width": [
        "148",
        0
      ],
      "height": [
        "148",
        1
      ],
      "batch_size": 1
    },
    "class_type": "EmptyFlux2LatentImage",
    "_meta": {
      "title": "Empty Flux 2 Latent"
    }
  }
}