{
 "132": {
  "inputs": {
   "image": "e6bc10130ce0e9dbd3573751650d9f01c2687728383958094ab49d0b35ccfeae.png"
  },
  "class_type": "LoadImage",
  "_meta": {
   "title": "Load Image"
  }
 },
 "196:155": {
  "inputs": {
   "shift": 3.1,
   "sampling": "flow",
   "model": [
    "196:166",
    0
   ]
  },
  "class_type": "ModelSamplingAuraFlow",
  "_meta": {
   "title": "ModelSamplingAuraFlow"
  }
 },
 "196:156": {
  "inputs": {
   "vae_name": "qwen_image_vae.safetensors"
  },
  "class_type": "VAELoader",
  "_meta": {
   "title": "Load VAE"
  }
 },
 "196:161": {
  "inputs": {
   "clip": [
    "196:167",
    0
   ],
   "prompt": [
    "235",
    0
   ],
   "vae": [
    "196:156",
    0
   ],
   "image1": [
    "196:176",
    0
   ]
  },
  "class_type": "TextEncodeQwenImageEditPlus",
  "_meta": {
   "title": "TextEncodeQwenImageEditPlus (Positive)"
  }
 },
 "196:152": {
  "inputs": {
   "strength": 1,
   "pre_cfg": false,
   "model": [
    "196:155",
    0
   ]
  },
  "class_type": "CFGNorm",
  "_meta": {
   "title": "CFGNorm"
  }
 },
 "196:162": {
  "inputs": {
   "lora_name": "Qwen-Image-Edit-2511-Lightning-4steps-V1.0-bf16.safetensors",
   "strength_model": 1,
   "model": [
    "196:152",
    0
   ]
  },
  "class_type": "LoraLoaderModelOnly",
  "_meta": {
   "title": "Load LoRA"
  }
 },
 "196:163": {
  "inputs": {
   "value": 4
  },
  "class_type": "PrimitiveFloat",
  "_meta": {
   "title": "CFG"
  }
 },
 "196:164": {
  "inputs": {
   "value": 1
  },
  "class_type": "PrimitiveFloat",
  "_meta": {
   "title": "CFG"
  }
 },
 "196:165": {
  "inputs": {
   "pixels": [
    "196:176",
    0
   ],
   "vae": [
    "196:156",
    0
   ]
  },
  "class_type": "VAEEncode",
  "_meta": {
   "title": "VAE Encode"
  }
 },
 "196:166": {
  "inputs": {
   "unet_name": "qwen_image_edit_2511_bf16.safetensors",
   "weight_dtype": "default"
  },
  "class_type": "UNETLoader",
  "_meta": {
   "title": "Load Diffusion Model"
  }
 },
 "196:167": {
  "inputs": {
   "clip_name": "qwen_2.5_vl_7b_fp8_scaled.safetensors",
   "type": "qwen_image",
   "device": "default"
  },
  "class_type": "CLIPLoader",
  "_meta": {
   "title": "Load CLIP"
  }
 },
 "196:168": {
  "inputs": {
   "switch": [
    "196:171",
    0
   ],
   "on_false": [
    "196:152",
    0
   ],
   "on_true": [
    "196:162",
    0
   ]
  },
  "class_type": "ComfySwitchNode",
  "_meta": {
   "title": "Switch (Model)"
  }
 },
 "196:169": {
  "inputs": {
   "value": 6
  },
  "class_type": "PrimitiveInt",
  "_meta": {
   "title": "Steps"
  }
 },
 "196:170": {
  "inputs": {
   "value": 30
  },
  "class_type": "PrimitiveInt",
  "_meta": {
   "title": "Steps"
  }
 },
 "196:171": {
  "inputs": {
   "value": true
  },
  "class_type": "PrimitiveBoolean",
  "_meta": {
   "title": "Enable 4steps LoRA?"
  }
 },
 "196:172": {
  "inputs": {
   "switch": [
    "196:171",
    0
   ],
   "on_false": [
    "196:163",
    0
   ],
   "on_true": [
    "196:164",
    0
   ]
  },
  "class_type": "ComfySwitchNode",
  "_meta": {
   "title": "Switch (CFG)"
  }
 },
 "196:173": {
  "inputs": {
   "switch": [
    "196:171",
    0
   ],
   "on_false": [
    "196:170",
    0
   ],
   "on_true": [
    "196:169",
    0
   ]
  },
  "class_type": "ComfySwitchNode",
  "_meta": {
   "title": "Switch (Steps)"
  }
 },
 "196:174": {
  "inputs": {
   "seed": 935848232837487,
   "sampler_name": "euler",
   "scheduler": "simple",
   "denoise": 1,
   "model": [
    "196:168",
    0
   ],
   "steps": [
    "196:173",
    0
   ],
   "cfg": [
    "196:172",
    0
   ],
   "positive": [
    "196:161",
    0
   ],
   "negative": [
    "196:229",
    0
   ],
   "latent_image": [
    "196:165",
    0
   ]
  },
  "class_type": "KSampler",
  "_meta": {
   "title": "KSampler"
  }
 },
 "196:175": {
  "inputs": {
   "samples": [
    "196:174",
    0
   ],
   "vae": [
    "196:156",
    0
   ]
  },
  "class_type": "VAEDecode",
  "_meta": {
   "title": "VAE Decode"
  }
 },
 "196:176": {
  "inputs": {
   "image": [
    "132",
    0
   ]
  },
  "class_type": "FluxKontextImageScale",
  "_meta": {
   "title": "FluxKontextImageScale"
  }
 },
 "196:229": {
  "inputs": {
   "prompt": "",
   "clip": [
    "196:167",
    0
   ],
   "vae": [
    "196:156",
    0
   ],
   "image1": [
    "196:176",
    0
   ]
  },
  "class_type": "TextEncodeQwenImageEditPlus",
  "_meta": {
   "title": "Text Encode Qwen Image Edit Plus"
  }
 },
 "197": {
  "inputs": {
   "filename_prefix": "Qwen_Edit_2511",
   "images": [
    "196:175",
    0
   ]
  },
  "class_type": "SaveImage",
  "_meta": {
   "title": "Save Image"
  }
 },
 "234": {
  "inputs": {
   "string_a": "Keep the exact same facial identity, facial features, expression, pose, clothing, background, lighting, and composition as the original photo. Only change the subject's hair.",
   "delimiter": " ",
   "string_b": [
    "258",
    0
   ]
  },
  "class_type": "StringConcatenate",
  "_meta": {
   "title": "Assemble Prompt"
  }
 },
 "235": {
  "inputs": {
   "source": [
    "234",
    0
   ]
  },
  "class_type": "PreviewAny",
  "_meta": {
   "title": "Preview as Text"
  }
 },
 "252": {
  "inputs": {
   "choice": "Long Waves"
  },
  "class_type": "CustomCombo",
  "_meta": {
   "title": "Hairstyle"
  }
 },
 "253": {
  "inputs": {
   "json_string": "{\n  \"Buzz Cut\": \"Change the subject's hairstyle to a very short, even buzz cut with a clean hairline.\",\n  \"Slicked Back\": \"Change the subject's hairstyle to medium-length hair combed straight back with a polished sheen.\",\n  \"Side Part\": \"Change the subject's hairstyle to a classic neatly combed side part with a crisp parting line.\",\n  \"Textured Quiff\": \"Change the subject's hairstyle to a voluminous textured quiff with short faded sides.\",\n  \"Curly Top\": \"Change the subject's hairstyle to tight natural curls on top with tapered short sides.\",\n  \"Afro\": \"Change the subject's hairstyle to a full, rounded natural afro with soft, even volume.\",\n  \"Long Waves\": \"Change the subject's hairstyle to shoulder-length loose, flowing waves with natural body.\",\n  \"Long Straight\": \"Change the subject's hairstyle to long, sleek, straight hair falling past the shoulders.\",\n  \"Bob Cut\": \"Change the subject's hairstyle to a chin-length blunt bob with a smooth, even edge.\",\n  \"Pixie Cut\": \"Change the subject's hairstyle to a short, cropped pixie cut with soft feathered layers.\",\n  \"Box Braids\": \"Change the subject's hairstyle to neat medium-width box braids falling to the shoulders.\",\n  \"High Ponytail\": \"Change the subject's hairstyle to hair pulled up into a sleek high ponytail.\",\n  \"Top Knot Bun\": \"Change the subject's hairstyle to hair gathered into a neat top-knot bun.\",\n  \"Mohawk\": \"Change the subject's hairstyle to a bold upright mohawk with closely shaved sides.\",\n  \"Bald\": \"Remove the subject's hair entirely, giving them a cleanly shaved bald head with natural scalp texture.\"\n}",
   "key": [
    "252",
    0
   ]
  },
  "class_type": "JsonExtractString",
  "_meta": {
   "title": "Hairstyle Prompt (JSON)"
  }
 },
 "256": {
  "inputs": {
   "delimiter": " ",
   "string_a": [
    "253",
    0
   ],
   "string_b": [
    "263",
    0
   ]
  },
  "class_type": "StringConcatenate",
  "_meta": {
   "title": "Hairstyle + Color"
  }
 },
 "257": {
  "inputs": {
   "value": "Change the subject's hairstyle to shoulder-length loose waves colored copper red. Keep everything else exactly the same."
  },
  "class_type": "PrimitiveStringMultiline",
  "_meta": {
   "title": "Custom Prompt Text"
  }
 },
 "258": {
  "inputs": {
   "switch": false,
   "on_false": [
    "256",
    0
   ],
   "on_true": [
    "257",
    0
   ]
  },
  "class_type": "ComfySwitchNode",
  "_meta": {
   "title": "Custom Prompt?"
  }
 },
 "262": {
  "inputs": {
   "choice": "Platinum White"
  },
  "class_type": "CustomCombo",
  "_meta": {
   "title": "Hair Color"
  }
 },
 "263": {
  "inputs": {
   "json_string": "{\n  \"Keep Original Color\": \"Keep the subject's original hair color.\",\n  \"Blonde\": \"The hair is colored blonde.\",\n  \"Dark Brown\": \"The hair is colored dark brown.\",\n  \"Black\": \"The hair is colored black.\",\n  \"Auburn Red\": \"The hair is colored auburn red.\",\n  \"Platinum White\": \"The hair is colored platinum white.\",\n  \"Silver Gray\": \"The hair is colored silver gray.\"\n}",
   "key": [
    "262",
    0
   ]
  },
  "class_type": "JsonExtractString",
  "_meta": {
   "title": "Hair Color Prompt (JSON)"
  }
 }
}