{"id":"f9f2e297-3b66-52e5-8e03-fcf78f6a3030","revision":1,"last_node_id":2752148633188744,"last_link_id":3375183110030601,"nodes":[{"id":2,"type":"LoadImage","pos":[543.65,610],"size":[380,420],"flags":{},"order":0,"mode":0,"inputs":[{"localized_name":"image","name":"image","type":"COMBO","widget":{"name":"image"},"link":null},{"localized_name":"choose file to upload","name":"upload","type":"IMAGEUPLOAD","widget":{"name":"upload"},"link":null}],"outputs":[{"localized_name":"IMAGE","name":"IMAGE","type":"IMAGE","slot_index":0,"links":[1,3375183110030599]},{"localized_name":"MASK","name":"MASK","type":"MASK","slot_index":1,"links":[]}],"title":"1.2 Load image - person who will wear it","properties":{"Node name for S&R":"LoadImage"},"widgets_values":["HERO_dressed_anchor.png","image"],"widgets_values_named":{"image":"HERO_dressed_anchor.png","upload":"image"}},{"id":3,"type":"ImageScaleToTotalPixels","pos":[1514.79,969.09],"size":[476.83,160],"flags":{},"order":11,"mode":0,"inputs":[{"localized_name":"image","name":"image","type":"IMAGE","link":1},{"localized_name":"upscale_method","name":"upscale_method","type":"COMBO","widget":{"name":"upscale_method"},"link":null},{"localized_name":"megapixels","name":"megapixels","type":"FLOAT","widget":{"name":"megapixels"},"link":null},{"localized_name":"resolution_steps","name":"resolution_steps","type":"INT","widget":{"name":"resolution_steps"},"link":null}],"outputs":[{"localized_name":"IMAGE","name":"IMAGE","type":"IMAGE","slot_index":0,"links":[4]}],"title":"3.2 Resize - person photo","properties":{"Node name for S&R":"ImageScaleToTotalPixels"},"widgets_values":["lanczos",0.8,16],"widgets_values_named":{"upscale_method":"lanczos","megapixels":0.8,"resolution_steps":16}},{"id":4,"type":"LoadImage","pos":[543.65,90],"size":[380,420],"flags":{},"order":1,"mode":0,"inputs":[{"localized_name":"image","name":"image","type":"COMBO","widget":{"name":"image"},"link":null},{"localized_name":"choose file to upload","name":"upload","type":"IMAGEUPLOAD","widget":{"name":"upload"},"link":null}],"outputs":[{"localized_name":"IMAGE","name":"IMAGE","type":"IMAGE","slot_index":0,"links":[2,3375183110030596]},{"localized_name":"MASK","name":"MASK","type":"MASK","slot_index":1,"links":[]}],"title":"1.1 Load image - outfit to transfer","properties":{"Node name for S&R":"LoadImage"},"widgets_values":["HERO_garment_look.png","image"],"widgets_values_named":{"image":"HERO_garment_look.png","upload":"image"}},{"id":5,"type":"ImageScaleToTotalPixels","pos":[1498.6283345170455,178.98918113014915],"size":[476.83,160],"flags":{},"order":13,"mode":0,"inputs":[{"localized_name":"image","name":"image","type":"IMAGE","link":2},{"localized_name":"upscale_method","name":"upscale_method","type":"COMBO","widget":{"name":"upscale_method"},"link":null},{"localized_name":"megapixels","name":"megapixels","type":"FLOAT","widget":{"name":"megapixels"},"link":null},{"localized_name":"resolution_steps","name":"resolution_steps","type":"INT","widget":{"name":"resolution_steps"},"link":null}],"outputs":[{"localized_name":"IMAGE","name":"IMAGE","type":"IMAGE","slot_index":0,"links":[3]}],"title":"3.1 Resize - outfit photo","properties":{"Node name for S&R":"ImageScaleToTotalPixels"},"widgets_values":["lanczos",0.8,16],"widgets_values_named":{"upscale_method":"lanczos","megapixels":0.8,"resolution_steps":16}},{"id":9,"type":"ImageStitch","pos":[2027.29,635.03],"size":[340,190],"flags":{},"order":18,"mode":0,"showAdvanced":true,"inputs":[{"localized_name":"image1","name":"image1","type":"IMAGE","link":3},{"localized_name":"image2","name":"image2","shape":7,"type":"IMAGE","link":4},{"localized_name":"direction","name":"direction","type":"COMBO","widget":{"name":"direction"},"link":null},{"localized_name":"match_image_size","name":"match_image_size","type":"BOOLEAN","widget":{"name":"match_image_size"},"link":null},{"localized_name":"spacing_width","name":"spacing_width","type":"INT","widget":{"name":"spacing_width"},"link":null},{"localized_name":"spacing_color","name":"spacing_color","type":"COMBO","widget":{"name":"spacing_color"},"link":null}],"outputs":[{"localized_name":"IMAGE","name":"IMAGE","type":"IMAGE","slot_index":0,"links":[5]}],"title":"3.3 Image stitch - outfit left, person right","properties":{"Node name for S&R":"ImageStitch"},"widgets_values":["right",true,0,"white"],"widgets_values_named":{"direction":"right","match_image_size":true,"spacing_width":0,"spacing_color":"white"}},{"id":10,"type":"FluxKontextImageScale","pos":[2412.13,640.66],"size":[340,160],"flags":{},"order":21,"mode":0,"inputs":[{"localized_name":"image","name":"image","type":"IMAGE","link":5}],"outputs":[{"localized_name":"IMAGE","name":"IMAGE","type":"IMAGE","slot_index":0,"links":[6]}],"title":"3.4 Resize - stitched image to a FLUX size","properties":{"Node name for S&R":"FluxKontextImageScale"}},{"id":11,"type":"VAEEncode","pos":[2865.46,899],"size":[420,160],"flags":{},"order":23,"mode":0,"inputs":[{"localized_name":"pixels","name":"pixels","type":"IMAGE","link":6},{"localized_name":"vae","name":"vae","type":"VAE","link":10020}],"outputs":[{"localized_name":"LATENT","name":"LATENT","type":"LATENT","slot_index":0,"links":[11]}],"title":"4.3 VAE encode - stitched reference","properties":{"Node name for S&R":"VAEEncode"}},{"id":12,"type":"CLIPTextEncode","pos":[2865.46,211],"size":[420,328],"flags":{},"order":15,"mode":0,"inputs":[{"localized_name":"clip","name":"clip","type":"CLIP","link":10021},{"localized_name":"text","name":"text","type":"STRING","widget":{"name":"text"},"link":null}],"outputs":[{"localized_name":"CONDITIONING","name":"CONDITIONING","type":"CONDITIONING","slot_index":0,"links":[10]}],"title":"4.1 Positive prompt - describe the outfit transfer","properties":{"Node name for S&R":"CLIPTextEncode"},"widgets_values":["Edit only the person on the right. Dress her in the complete outfit shown on the left: the optic-white cropped funnel-neck zip jacket AND the bias-cut ankle-length ivory silk-satin slip skirt. Replace her polka-dot dress and her sandals entirely with the left outfit's jacket, skirt and tan suede slingback heels. Preserve the right person's facial identity, hair, body proportions, pose, and the gray studio background and lighting. Do not copy the left person's face, body, pose or background. Return one realistic full-length photograph of the right person wearing the complete left outfit, without a split image or collage."],"widgets_values_named":{"text":"Edit only the person on the right. Dress her in the complete outfit shown on the left: the optic-white cropped funnel-neck zip jacket AND the bias-cut ankle-length ivory silk-satin slip skirt. Replace her polka-dot dress and her sandals entirely with the left outfit's jacket, skirt and tan suede slingback heels. Preserve the right person's facial identity, hair, body proportions, pose, and the gray studio background and lighting. Do not copy the left person's face, body, pose or background. Return one realistic full-length photograph of the right person wearing the complete left outfit, without a split image or collage."}},{"id":14,"type":"ReferenceLatent","pos":[3388.79,542],"size":[364.06015625,286],"flags":{},"order":24,"mode":0,"inputs":[{"localized_name":"conditioning","name":"conditioning","type":"CONDITIONING","link":10},{"localized_name":"latent","name":"latent","shape":7,"type":"LATENT","link":11}],"outputs":[{"localized_name":"CONDITIONING","name":"CONDITIONING","type":"CONDITIONING","slot_index":0,"links":[10025]}],"title":"4.4 Reference latent - add the stitched reference","properties":{"Node name for S&R":"ReferenceLatent"}},{"id":15,"type":"CLIPTextEncode","pos":[2865.46,639],"size":[420.0669921875,160],"flags":{},"order":16,"mode":0,"inputs":[{"localized_name":"clip","name":"clip","type":"CLIP","link":10022},{"localized_name":"text","name":"text","type":"STRING","widget":{"name":"text"},"link":null}],"outputs":[{"localized_name":"CONDITIONING","name":"CONDITIONING","type":"CONDITIONING","slot_index":0,"links":[10026]}],"title":"4.2 Negative prompt - what to avoid (ignored at CFG 1.0)","properties":{"Node name for S&R":"CLIPTextEncode"},"widgets_values":[""],"widgets_values_named":{"text":""}},{"id":18,"type":"VAEDecodeTiled","pos":[4833.8,90.24],"size":[346.9498046875,182],"flags":{},"order":27,"mode":0,"inputs":[{"localized_name":"samples","name":"samples","type":"LATENT","link":10032},{"localized_name":"vae","name":"vae","type":"VAE","link":10023},{"localized_name":"tile_size","name":"tile_size","type":"INT","widget":{"name":"tile_size"},"link":null},{"localized_name":"overlap","name":"overlap","type":"INT","widget":{"name":"overlap"},"link":null},{"localized_name":"temporal_size","name":"temporal_size","type":"INT","widget":{"name":"temporal_size"},"link":null},{"localized_name":"temporal_overlap","name":"temporal_overlap","type":"INT","widget":{"name":"temporal_overlap"},"link":null}],"outputs":[{"localized_name":"IMAGE","name":"IMAGE","type":"IMAGE","slot_index":0,"links":[19]}],"title":"6.1 VAE decode - turn the result into an image","properties":{"Node name for S&R":"VAEDecodeTiled"},"widgets_values":[512,64,16,4],"widgets_values_named":{"tile_size":512,"overlap":64,"temporal_size":16,"temporal_overlap":4}},{"id":19,"type":"SaveImage","pos":[5341.14,88.17],"size":[380,420],"flags":{},"order":28,"mode":0,"inputs":[{"localized_name":"images","name":"images","type":"IMAGE","link":19},{"localized_name":"filename_prefix","name":"filename_prefix","type":"STRING","widget":{"name":"filename_prefix"},"link":null}],"outputs":[{"localized_name":"images","name":"images","type":"IMAGE","slot_index":0,"links":[]}],"title":"7.1 Save image - person in the new outfit","properties":{"Node name for S&R":"SaveImage"},"widgets_values":["FLUX2__04_Garment_Try_On"],"widgets_values_named":{"filename_prefix":"FLUX2__04_Garment_Try_On"}},{"id":10026,"type":"UnetLoaderGGUF","pos":[1050.49,90],"size":[340,160],"flags":{},"order":2,"mode":0,"inputs":[{"localized_name":"unet_name","name":"unet_name","type":"COMBO","widget":{"name":"unet_name"},"link":null}],"outputs":[{"localized_name":"MODEL","name":"MODEL","type":"MODEL","slot_index":0,"links":[10024]}],"title":"2.1 Image model - FLUX.2 Klein 9B","properties":{"Node name for S&R":"UnetLoaderGGUF"},"widgets_values":["flux-2-klein-9b-Q5_K_S.gguf"],"widgets_values_named":{"unet_name":"flux-2-klein-9b-Q5_K_S.gguf"}},{"id":10027,"type":"CLIPLoader","pos":[1050.49,359.13],"size":[340,160],"flags":{},"order":3,"mode":0,"inputs":[{"localized_name":"clip_name","name":"clip_name","type":"COMBO","widget":{"name":"clip_name"},"link":null},{"localized_name":"type","name":"type","type":"COMBO","widget":{"name":"type"},"link":null},{"localized_name":"device","name":"device","shape":7,"type":"COMBO","widget":{"name":"device"},"link":null}],"outputs":[{"localized_name":"CLIP","name":"CLIP","type":"CLIP","slot_index":0,"links":[10021,10022]}],"title":"2.2 Text encoder - Qwen3 8B","properties":{"Node name for S&R":"CLIPLoader"},"widgets_values":["qwen_3_8b_fp8mixed.safetensors","flux2","default"],"widgets_values_named":{"clip_name":"qwen_3_8b_fp8mixed.safetensors","type":"flux2","device":"default"}},{"id":10028,"type":"VAELoader","pos":[1050.49,628.27],"size":[340,160],"flags":{},"order":4,"mode":0,"inputs":[{"localized_name":"vae_name","name":"vae_name","type":"COMBO","widget":{"name":"vae_name"},"link":null}],"outputs":[{"localized_name":"VAE","name":"VAE","type":"VAE","slot_index":0,"links":[10020,10023]}],"title":"2.3 VAE - FLUX.2 image encoder / decoder","properties":{"Node name for S&R":"VAELoader"},"widgets_values":["full_encoder_small_decoder.safetensors"],"widgets_values_named":{"vae_name":"full_encoder_small_decoder.safetensors"}},{"id":10029,"type":"EmptyFlux2LatentImage","pos":[3897.97,1185.33],"size":[340,160],"flags":{},"order":5,"mode":0,"inputs":[{"localized_name":"width","name":"width","type":"INT","widget":{"name":"width"},"link":null},{"localized_name":"height","name":"height","type":"INT","widget":{"name":"height"},"link":null},{"localized_name":"batch_size","name":"batch_size","type":"INT","widget":{"name":"batch_size"},"link":null}],"outputs":[{"localized_name":"LATENT","name":"LATENT","type":"LATENT","slot_index":0,"links":[10031]}],"title":"5.5 Empty latent - picture size","properties":{"Node name for S&R":"EmptyFlux2LatentImage"},"widgets_values":[832,1216,1],"widgets_values_named":{"width":832,"height":1216,"batch_size":1}},{"id":10030,"type":"RandomNoise","pos":[3897.97,90],"size":[340,160],"flags":{},"order":6,"mode":0,"inputs":[{"localized_name":"noise_seed","name":"noise_seed","type":"INT","widget":{"name":"noise_seed"},"link":null}],"outputs":[{"localized_name":"NOISE","name":"NOISE","type":"NOISE","slot_index":0,"links":[10027]}],"title":"5.1 Seed - change it for a new variation","properties":{"Node name for S&R":"RandomNoise"},"widgets_values":[424251,"increment"],"widgets_values_named":{"noise_seed":424251,"control_after_generate":"increment"}},{"id":10031,"type":"CFGGuider","pos":[3897.97,363.83],"size":[340,160],"flags":{},"order":25,"mode":0,"inputs":[{"localized_name":"model","name":"model","type":"MODEL","link":10024},{"localized_name":"positive","name":"positive","type":"CONDITIONING","link":10025},{"localized_name":"negative","name":"negative","type":"CONDITIONING","link":10026},{"localized_name":"cfg","name":"cfg","type":"FLOAT","widget":{"name":"cfg"},"link":null}],"outputs":[{"localized_name":"GUIDER","name":"GUIDER","type":"GUIDER","slot_index":0,"links":[10028]}],"title":"5.2 Guidance (CFG) - prompt strength","properties":{"Node name for S&R":"CFGGuider"},"widgets_values":[1],"widgets_values_named":{"cfg":1}},{"id":10032,"type":"Flux2Scheduler","pos":[3897.97,911.5],"size":[340,160],"flags":{},"order":7,"mode":0,"inputs":[{"localized_name":"steps","name":"steps","type":"INT","widget":{"name":"steps"},"link":null},{"localized_name":"width","name":"width","type":"INT","widget":{"name":"width"},"link":null},{"localized_name":"height","name":"height","type":"INT","widget":{"name":"height"},"link":null}],"outputs":[{"localized_name":"SIGMAS","name":"SIGMAS","type":"SIGMAS","slot_index":0,"links":[10030]}],"title":"5.4 Scheduler - number of steps","properties":{"Node name for S&R":"Flux2Scheduler"},"widgets_values":[4,832,1216],"widgets_values_named":{"steps":18,"width":832,"height":1216}},{"id":10033,"type":"KSamplerSelect","pos":[3897.97,637.67],"size":[340,160],"flags":{},"order":8,"mode":0,"inputs":[{"localized_name":"sampler_name","name":"sampler_name","type":"COMBO","widget":{"name":"sampler_name"},"link":null}],"outputs":[{"localized_name":"SAMPLER","name":"SAMPLER","type":"SAMPLER","slot_index":0,"links":[10029]}],"title":"5.3 Sampler - Euler","properties":{"Node name for S&R":"KSamplerSelect"},"widgets_values":["euler"],"widgets_values_named":{"sampler_name":"euler"}},{"id":10034,"type":"SamplerCustomAdvanced","pos":[4327.97,588.27],"size":[344.06,160],"flags":{},"order":26,"mode":0,"inputs":[{"localized_name":"noise","name":"noise","type":"NOISE","link":10027},{"localized_name":"guider","name":"guider","type":"GUIDER","link":10028},{"localized_name":"sampler","name":"sampler","type":"SAMPLER","link":10029},{"localized_name":"sigmas","name":"sigmas","type":"SIGMAS","link":10030},{"localized_name":"latent_image","name":"latent_image","type":"LATENT","link":10031}],"outputs":[{"localized_name":"output","name":"output","type":"LATENT","slot_index":0,"links":[10032]},{"localized_name":"denoised_output","name":"denoised_output","type":"LATENT","slot_index":1,"links":[]}],"title":"5.6 Generate - run the sampler","properties":{"Node name for S&R":"SamplerCustomAdvanced"}},{"id":386265001211192,"type":"PreviewImage","pos":[6052.28,620],"size":[380,420],"flags":{},"order":20,"mode":0,"inputs":[{"localized_name":"images","name":"images","type":"IMAGE","link":3375183110030601}],"outputs":[{"localized_name":"images","name":"images","type":"IMAGE","links":[]}],"title":"8.2 Preview - person input","properties":{"Node name for S&R":"PreviewImage"}},{"id":2752148633188739,"type":"PreviewImage","pos":[6052.28,100],"size":[380,420],"flags":{},"order":22,"mode":0,"inputs":[{"localized_name":"images","name":"images","type":"IMAGE","link":3375183110030598}],"outputs":[{"localized_name":"images","name":"images","type":"IMAGE","links":[]}],"title":"8.1 Preview - outfit input","properties":{"Node name for S&R":"PreviewImage"}},{"id":2752148633188740,"type":"Reroute","pos":[980.2322680029989,-165.57],"size":[75,26],"flags":{},"order":14,"mode":0,"inputs":[{"name":"","type":"*","link":3375183110030596}],"outputs":[{"name":"","type":"IMAGE","links":[3375183110030597]}],"title":"1b.1 Reroute - outfit image to comparison","properties":{"showOutputText":false,"horizontal":false}},{"id":2752148633188741,"type":"Reroute","pos":[5892.28439,-165.57],"size":[75,26],"flags":{},"order":19,"mode":0,"inputs":[{"name":"","type":"*","link":3375183110030597}],"outputs":[{"name":"","type":"IMAGE","links":[3375183110030598]}],"title":"8.3 Reroute - outfit image to preview","properties":{"showOutputText":false,"horizontal":false}},{"id":2752148633188742,"type":"Reroute","pos":[1028.232268002999,-125.57],"size":[75,26],"flags":{},"order":12,"mode":0,"inputs":[{"name":"","type":"*","link":3375183110030599}],"outputs":[{"name":"","type":"IMAGE","links":[3375183110030600]}],"title":"1b.2 Reroute - person image to comparison","properties":{"showOutputText":false,"horizontal":false}},{"id":2752148633188743,"type":"Reroute","pos":[5892.28439,-125.57],"size":[75,26],"flags":{},"order":17,"mode":0,"inputs":[{"name":"","type":"*","link":3375183110030600}],"outputs":[{"name":"","type":"IMAGE","links":[3375183110030601]}],"title":"8.4 Reroute - person image to preview","properties":{"showOutputText":false,"horizontal":false}},{"id":2752148633188744,"type":"MarkdownNote","pos":[-177.08518971510512,44.43001997001102],"size":[640,420],"flags":{"collapsed":false},"order":9,"mode":0,"inputs":[],"outputs":[],"title":"README","properties":{},"widgets_values":["## What this workflow does\nTransfer clothing from an outfit photograph to the person in another photograph.\n\n## How to use it\nLoad the clothing source and target wearer. Describe which pieces to transfer, run, then inspect identity, clothing details and pose.\n\n## Included input examples\n- `HERO_garment_look.png`\n- `HERO_dressed_anchor.png`\n\n## Inspect and save\nFollow the existing saved-output nodes. Change one creative variable at a time so you can understand what changed. Generated views and 3D surfaces are proposals, not proof of real construction."],"widgets_values_named":{"text":"## What this workflow does\nTransfer clothing from an outfit photograph to the person in another photograph.\n\n## How to use it\nLoad the clothing source and target wearer. Describe which pieces to transfer, run, then inspect identity, clothing details and pose.\n\n## Included input examples\n- `HERO_garment_look.png`\n- `HERO_dressed_anchor.png`\n\n## Inspect and save\nFollow the existing saved-output nodes. Change one creative variable at a time so you can understand what changed. Generated views and 3D surfaces are proposals, not proof of real construction."},"color":"#343a3a","bgcolor":"#202626"},{"id":10059,"type":"MarkdownNote","pos":[-177.08518971510512,524.430019970011],"size":[640,940],"flags":{"collapsed":false},"order":10,"mode":0,"inputs":[],"outputs":[],"title":"Model Information","properties":{},"widgets_values":["# Models you need\n\nThis workflow needs 3 model files. Download each one, then move it from your **Downloads** folder into the folder shown.\n\n## Step 1 - Find your ComfyUI `models` folder\n\nEvery file below goes into a sub-folder of `ComfyUI/models/`. Where that folder is depends on how you installed ComfyUI:\n\n- **ComfyUI Desktop app:** click the menu (top-left) > **Desktop Settings** > **Storage**. Under **Shared Models**, click the folder icon next to the directory marked **Primary**. That opens your `models` folder.\n- **Windows portable (zip) version:** `ComfyUI_windows_portable/ComfyUI/models/`\n- **Manual / git install:** the `models` folder inside the `ComfyUI` folder you cloned.\n\nInside `models` you will find sub-folders such as `unet`, `vae`, `checkpoints` and `loras`. If a sub-folder named below does not exist, create it (the name must match exactly).\n\n## Step 2 - Download each file and move it into place\n\n**1. FLUX.2 Klein 9B - the image model**\n- Download: [flux-2-klein-9b-Q5_K_S.gguf](https://huggingface.co/unsloth/FLUX.2-klein-9B-GGUF/blob/main/flux-2-klein-9b-Q5_K_S.gguf)\n- Move it to: `ComfyUI/models/unet/`\n- Tip: This is a GGUF file: it needs the **ComfyUI-GGUF** custom node (install it from the Manager).\n- Licence: FLUX Non-Commercial License v2.1 - non-commercial use only.\n\n**2. Qwen3 8B - the text encoder that reads your prompt**\n- Download: [qwen_3_8b_fp8mixed.safetensors](https://huggingface.co/Comfy-Org/vae-text-encorder-for-flux-klein-9b)\n- Move it to: `ComfyUI/models/text_encoders/`\n- Tip: On the model page open **Files and versions** and download only this file.\n- Licence: Apache-2.0 (used here as part of the non-commercial FLUX setup).\n\n**3. FLUX.2 VAE - turns the result into a viewable picture**\n- Download: [full_encoder_small_decoder.safetensors](https://huggingface.co/black-forest-labs/FLUX.2-small-decoder)\n- Move it to: `ComfyUI/models/vae/`\n- Tip: On the model page open **Files and versions** and download only this file.\n- Licence: Apache-2.0.\n\nWhen you are done, your folders should look like this:\n\n```text\nComfyUI/\n└── models/\n    ├── unet/\n    │   └── flux-2-klein-9b-Q5_K_S.gguf\n    ├── text_encoders/\n    │   └── qwen_3_8b_fp8mixed.safetensors\n    └── vae/\n        └── full_encoder_small_decoder.safetensors\n```\n\n## Step 3 - Let ComfyUI find the files\n\n1. Restart ComfyUI, or click on the empty canvas and press **R** to refresh the model lists.\n2. Check each loader node in the workflow: the file name shown must match the file you downloaded. If a loader shows a red outline or \"value not in list\", click the file name and pick the file from the list.\n3. If a node itself is red or missing, open the **Manager** and click **Install Missing Custom Nodes**, then restart ComfyUI.\n\n**Licences:** each model has its own licence - read it on the model page before you download. Several models here are for non-commercial use only. Model files are not included with these workflows.\n\n## ComfyUI references\n- [ComfyUI update guide](https://docs.comfy.org/installation/update_comfyui)\n- [ComfyUI runtime issues](https://github.com/comfyanonymous/ComfyUI/issues)\n- [ComfyUI frontend issues](https://github.com/Comfy-Org/ComfyUI_frontend/issues)\n- [Workflow template issues](https://github.com/Comfy-Org/workflow_templates/issues)"],"widgets_values_named":{"text":"# Models you need\n\nThis workflow needs 3 model files. Download each one, then move it from your **Downloads** folder into the folder shown.\n\n## Step 1 - Find your ComfyUI `models` folder\n\nEvery file below goes into a sub-folder of `ComfyUI/models/`. Where that folder is depends on how you installed ComfyUI:\n\n- **ComfyUI Desktop app:** click the menu (top-left) > **Desktop Settings** > **Storage**. Under **Shared Models**, click the folder icon next to the directory marked **Primary**. That opens your `models` folder.\n- **Windows portable (zip) version:** `ComfyUI_windows_portable/ComfyUI/models/`\n- **Manual / git install:** the `models` folder inside the `ComfyUI` folder you cloned.\n\nInside `models` you will find sub-folders such as `unet`, `vae`, `checkpoints` and `loras`. If a sub-folder named below does not exist, create it (the name must match exactly).\n\n## Step 2 - Download each file and move it into place\n\n**1. FLUX.2 Klein 9B - the image model**\n- Download: [flux-2-klein-9b-Q5_K_S.gguf](https://huggingface.co/unsloth/FLUX.2-klein-9B-GGUF/blob/main/flux-2-klein-9b-Q5_K_S.gguf)\n- Move it to: `ComfyUI/models/unet/`\n- Tip: This is a GGUF file: it needs the **ComfyUI-GGUF** custom node (install it from the Manager).\n- Licence: FLUX Non-Commercial License v2.1 - non-commercial use only.\n\n**2. Qwen3 8B - the text encoder that reads your prompt**\n- Download: [qwen_3_8b_fp8mixed.safetensors](https://huggingface.co/Comfy-Org/vae-text-encorder-for-flux-klein-9b)\n- Move it to: `ComfyUI/models/text_encoders/`\n- Tip: On the model page open **Files and versions** and download only this file.\n- Licence: Apache-2.0 (used here as part of the non-commercial FLUX setup).\n\n**3. FLUX.2 VAE - turns the result into a viewable picture**\n- Download: [full_encoder_small_decoder.safetensors](https://huggingface.co/black-forest-labs/FLUX.2-small-decoder)\n- Move it to: `ComfyUI/models/vae/`\n- Tip: On the model page open **Files and versions** and download only this file.\n- Licence: Apache-2.0.\n\nWhen you are done, your folders should look like this:\n\n```text\nComfyUI/\n└── models/\n    ├── unet/\n    │   └── flux-2-klein-9b-Q5_K_S.gguf\n    ├── text_encoders/\n    │   └── qwen_3_8b_fp8mixed.safetensors\n    └── vae/\n        └── full_encoder_small_decoder.safetensors\n```\n\n## Step 3 - Let ComfyUI find the files\n\n1. Restart ComfyUI, or click on the empty canvas and press **R** to refresh the model lists.\n2. Check each loader node in the workflow: the file name shown must match the file you downloaded. If a loader shows a red outline or \"value not in list\", click the file name and pick the file from the list.\n3. If a node itself is red or missing, open the **Manager** and click **Install Missing Custom Nodes**, then restart ComfyUI.\n\n**Licences:** each model has its own licence - read it on the model page before you download. Several models here are for non-commercial use only. Model files are not included with these workflows.\n\n## ComfyUI references\n- [ComfyUI update guide](https://docs.comfy.org/installation/update_comfyui)\n- [ComfyUI runtime issues](https://github.com/comfyanonymous/ComfyUI/issues)\n- [ComfyUI frontend issues](https://github.com/Comfy-Org/ComfyUI_frontend/issues)\n- [Workflow template issues](https://github.com/Comfy-Org/workflow_templates/issues)"},"color":"#373044","bgcolor":"#241f30"}],"links":[[1,2,0,3,0,"IMAGE"],[2,4,0,5,0,"IMAGE"],[3,5,0,9,0,"IMAGE"],[4,3,0,9,1,"IMAGE"],[5,9,0,10,0,"IMAGE"],[6,10,0,11,0,"IMAGE"],[10,12,0,14,0,"CONDITIONING"],[11,11,0,14,1,"LATENT"],[19,18,0,19,0,"IMAGE"],[10020,10028,0,11,1,"VAE"],[10021,10027,0,12,0,"CLIP"],[10022,10027,0,15,0,"CLIP"],[10023,10028,0,18,1,"VAE"],[10024,10026,0,10031,0,"MODEL"],[10025,14,0,10031,1,"CONDITIONING"],[10026,15,0,10031,2,"CONDITIONING"],[10027,10030,0,10034,0,"NOISE"],[10028,10031,0,10034,1,"GUIDER"],[10029,10033,0,10034,2,"SAMPLER"],[10030,10032,0,10034,3,"SIGMAS"],[10031,10029,0,10034,4,"LATENT"],[10032,10034,0,18,0,"LATENT"],[3375183110030596,4,0,2752148633188740,0,"IMAGE"],[3375183110030597,2752148633188740,0,2752148633188741,0,"IMAGE"],[3375183110030598,2752148633188741,0,2752148633188739,0,"IMAGE"],[3375183110030599,2,0,2752148633188742,0,"IMAGE"],[3375183110030600,2752148633188742,0,2752148633188743,0,"IMAGE"],[3375183110030601,2752148633188743,0,386265001211192,0,"IMAGE"]],"groups":[{"id":1,"title":"1. Choose Your Images","bounding":[503.65040000000016,0,460,1070],"color":"#456b82","flags":{}},{"id":2,"title":"2. Load the AI Tools","bounding":[998.0145999999996,0,444.94169999999986,829.7311],"color":"#6a5884","flags":{}},{"id":3,"title":"3. Prepare Your Images","bounding":[1470,0,1327.2255017709563,1170],"color":"#4d806d","flags":{}},{"id":4,"title":"4. Describe What You Want","bounding":[2840,0,930,1099],"color":"#8a764c","flags":{}},{"id":5,"title":"5. Create the Image","bounding":[3860,0,850,1385.333],"color":"#7b5362","flags":{}},{"id":6,"title":"6. Reveal the Image","bounding":[4800,0,407.5990730000003,303.38494500000024],"color":"#536f88","flags":{}},{"id":7,"title":"7. View and Save","bounding":[5310,0,442.2843899999998,544.622654],"color":"#63824d","flags":{}},{"id":8,"title":"8. Compare with Your Input Images","bounding":[5852.28439,-235.56998002998898,600,1355.569980029989],"color":"#3f789e","flags":{}},{"id":9,"title":"1b. Send Images to the Comparison","bounding":[960.2322680029989,-235.56998002998898,163.0000000000001,180],"color":"#456b82","flags":{}}],"config":{},"extra":{"ds":{"scale":0.6830134553650705,"offset":[-3063.938767268916,792.4567515786465]},"links_render_mode":2,"fashion_library":{"task":"Teach mask-free, general multi-image clothing transfer with the current official Kontext graph pattern.","variant":"C_Kontext_Mask_Free","status":"quality validation pending","sources":["https://docs.comfy.org/tutorials/flux/flux-1-kontext-dev","https://github.com/Comfy-Org/workflow_templates/blob/main/templates/flux_kontext_dev_basic.json"]}},"version":0.4}