What is ACE++?

This image is a single image generated with the following prompt:
- Image divided into 2 frames.
- In the first frame, person A is sitting.
- In the second frame, person A is facing here.
As you can see, the people on the left and right look like the same person. This is called the sprite sheet technique, and it is a trick that has been used since the Stable Diffusion 1.5 era when we wanted to create multiple consistent situations.

Taking it one step further, if we provide an image like the one above and inpaint only the right half. Then, a new image is generated on the right side while referencing the image on the left.
This is the fundamental principle of IC-LoRA and ACE++ dealt with here. Until now, it was a technique of "sometimes it works well" level, but with the advent of Flux, reasonably stable generation became possible.
To summarize roughly, ACE++ is one that strengthened this principle with LoRA, and 3 LoRAs are prepared for each purpose.
- ID Transfer / Face Swap
- Subject Transfer
- Instruction-based Image Editing (Local Editing)
Required Custom Nodes
Although it is a custom node that contains many matting and segmentation nodes, we use only the IC LoRA Concat (RMBG) 🖼️ node in this.
There is also an official ACE++ custom node, but we do not adopt it here because the behavior is unstable.
Model Download
- diffusion_models
- loras
📂ComfyUI/
└── 📂models/
├── 📂diffusion_models/
│ └── FLUX.1-Fill-dev_fp8.safetensors
└── 📂loras/
├── comfyui_portrait_lora64.safetensors
├── comfyui_subject_lora16.safetensors
└── comfyui_local_lora16.safetensors
Basic Concept
ACE++ moves while looking at a single image where "reference image" and "image to edit + mask" are side-by-side.
- Left side: Reference image (face, character you want to resemble, etc.)
- Right side: Blank or image to edit (+ mask drawn on it)
The image is to attach these two sideways to make one image, and then inpaint as usual. It is easy to understand if you think that Flux.1 Fill is in charge of "where to redraw" and ACE++ LoRA is in charge of "what kind of appearance to resemble".
ID Transfer
Generates an image resembling the person (face) of the reference image.

{
"id": "18404b37-92b0-4d11-a39c-ae941838eb83",
"revision": 0,
"last_node_id": 60,
"last_link_id": 91,
"nodes": [
{
"id": 33,
"type": "CLIPTextEncode",
"pos": [
449.6776859504133,
378.47933884297515
],
"size": [
307.77605192326325,
100.04636029960699
],
"flags": {
"collapsed": true
},
"order": 6,
"mode": 0,
"inputs": [
{
"name": "clip",
"type": "CLIP",
"link": 60
}
],
"outputs": [
{
"name": "CONDITIONING",
"type": "CONDITIONING",
"slot_index": 0,
"links": [
68
]
}
],
"title": "CLIP Text Encode (Negative Prompt)",
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.39",
"Node name for S&R": "CLIPTextEncode"
},
"widgets_values": [
""
]
},
{
"id": 42,
"type": "DualCLIPLoader",
"pos": [
127.73647806467098,
235.59098740254555
],
"size": [
270,
130
],
"flags": {},
"order": 0,
"mode": 0,
"inputs": [],
"outputs": [
{
"name": "CLIP",
"type": "CLIP",
"links": [
59,
60
]
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.39",
"Node name for S&R": "DualCLIPLoader"
},
"widgets_values": [
"clip_l.safetensors",
"t5xxl_fp8_e4m3fn.safetensors",
"flux",
"default"
]
},
{
"id": 43,
"type": "VAELoader",
"pos": [
510.65253242761105,
443.7682260598112
],
"size": [
240.81669781621986,
58
],
"flags": {},
"order": 1,
"mode": 0,
"inputs": [],
"outputs": [
{
"name": "VAE",
"type": "VAE",
"links": [
62,
69
]
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.39",
"Node name for S&R": "VAELoader"
},
"widgets_values": [
"ae.safetensors"
]
},
{
"id": 55,
"type": "LoraLoaderModelOnly",
"pos": [
1042.7127702359699,
22.813225681838027
],
"size": [
234.83685292236623,
82
],
"flags": {},
"order": 7,
"mode": 0,
"inputs": [
{
"name": "model",
"type": "MODEL",
"link": 80
}
],
"outputs": [
{
"name": "MODEL",
"type": "MODEL",
"links": [
81
]
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.76",
"Node name for S&R": "LoraLoaderModelOnly"
},
"widgets_values": [
"ACE_Plus\\comfyui_portrait_lora64.safetensors",
1
],
"color": "#323",
"bgcolor": "#535"
},
{
"id": 41,
"type": "UNETLoader",
"pos": [
745.3622345020736,
22.813225681838027
],
"size": [
270,
82
],
"flags": {},
"order": 2,
"mode": 0,
"inputs": [],
"outputs": [
{
"name": "MODEL",
"type": "MODEL",
"links": [
80
]
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.39",
"Node name for S&R": "UNETLoader"
},
"widgets_values": [
"Flux.1\\FLUX.1-Fill-dev_fp8.safetensors",
"fp8_e4m3fn"
],
"color": "#323",
"bgcolor": "#535"
},
{
"id": 48,
"type": "InpaintModelConditioning",
"pos": [
1024.783207305155,
209.14883998160443
],
"size": [
262.0525920360633,
138
],
"flags": {},
"order": 12,
"mode": 0,
"inputs": [
{
"name": "positive",
"type": "CONDITIONING",
"link": 74
},
{
"name": "negative",
"type": "CONDITIONING",
"link": 68
},
{
"name": "vae",
"type": "VAE",
"link": 69
},
{
"name": "pixels",
"type": "IMAGE",
"link": 83
},
{
"name": "mask",
"type": "MASK",
"link": 84
}
],
"outputs": [
{
"name": "positive",
"type": "CONDITIONING",
"links": [
75
]
},
{
"name": "negative",
"type": "CONDITIONING",
"links": [
67
]
},
{
"name": "latent",
"type": "LATENT",
"links": [
72
]
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.76",
"Node name for S&R": "InpaintModelConditioning"
},
"widgets_values": [
false
],
"color": "#432",
"bgcolor": "#653"
},
{
"id": 49,
"type": "LoadImage",
"pos": [
153.02538524314295,
564.5303157817599
],
"size": [
261.798828125,
383
],
"flags": {},
"order": 3,
"mode": 0,
"inputs": [],
"outputs": [
{
"name": "IMAGE",
"type": "IMAGE",
"links": [
76
]
},
{
"name": "MASK",
"type": "MASK",
"links": []
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.76",
"Node name for S&R": "LoadImage",
"image": "clipspace/clipspace-painted-masked-1765287192968.png [input]"
},
"widgets_values": [
"pasted/image (86).png",
"image"
]
},
{
"id": 53,
"type": "EmptyImage",
"pos": [
150.30672154344506,
1007.7657382927489
],
"size": [
269.25,
130
],
"flags": {},
"order": 4,
"mode": 0,
"inputs": [],
"outputs": [
{
"name": "IMAGE",
"type": "IMAGE",
"links": [
79
]
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.76",
"Node name for S&R": "EmptyImage"
},
"widgets_values": [
1024,
1024,
1,
8224125
]
},
{
"id": 6,
"type": "CLIPTextEncode",
"pos": [
449.6776859504133,
190.47933884297524
],
"size": [
301.84503173828125,
128.01304626464844
],
"flags": {},
"order": 5,
"mode": 0,
"inputs": [
{
"name": "clip",
"type": "CLIP",
"link": 59
}
],
"outputs": [
{
"name": "CONDITIONING",
"type": "CONDITIONING",
"slot_index": 0,
"links": [
73
]
}
],
"title": "CLIP Text Encode (Positive Prompt)",
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.39",
"Node name for S&R": "CLIPTextEncode"
},
"widgets_values": [
"A photograph of a woman wearing a yellow sweater,smiling"
]
},
{
"id": 31,
"type": "KSampler",
"pos": [
1328.1790861279906,
189.31698654463506
],
"size": [
315,
262
],
"flags": {},
"order": 13,
"mode": 0,
"inputs": [
{
"name": "model",
"type": "MODEL",
"link": 81
},
{
"name": "positive",
"type": "CONDITIONING",
"link": 75
},
{
"name": "negative",
"type": "CONDITIONING",
"link": 67
},
{
"name": "latent_image",
"type": "LATENT",
"link": 72
}
],
"outputs": [
{
"name": "LATENT",
"type": "LATENT",
"slot_index": 0,
"links": [
52
]
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.39",
"Node name for S&R": "KSampler"
},
"widgets_values": [
12345,
"fixed",
20,
1,
"euler",
"normal",
1
]
},
{
"id": 50,
"type": "AILab_ICLoRAConcat",
"pos": [
453.73380338397993,
563.7693263580215
],
"size": [
300,
202
],
"flags": {},
"order": 8,
"mode": 0,
"inputs": [
{
"name": "object_image",
"type": "IMAGE",
"link": 76
},
{
"name": "object_mask",
"shape": 7,
"type": "MASK",
"link": null
},
{
"name": "base_image",
"shape": 7,
"type": "IMAGE",
"link": 79
},
{
"name": "base_mask",
"shape": 7,
"type": "MASK",
"link": null
}
],
"outputs": [
{
"name": "IMAGE",
"type": "IMAGE",
"links": [
77,
83
]
},
{
"name": "OBJECT_MASK",
"type": "MASK",
"links": null
},
{
"name": "BASE_MASK",
"type": "MASK",
"links": [
82,
84
]
},
{
"name": "WIDTH",
"type": "INT",
"links": [
87
]
},
{
"name": "HEIGHT",
"type": "INT",
"links": [
88
]
},
{
"name": "X",
"type": "INT",
"links": [
89
]
},
{
"name": "Y",
"type": "INT",
"links": null
}
],
"properties": {
"cnr_id": "comfyui-rmbg",
"ver": "2.9.4",
"Node name for S&R": "AILab_ICLoRAConcat"
},
"widgets_values": [
"left-right",
0
],
"color": "#232",
"bgcolor": "#353"
},
{
"id": 35,
"type": "FluxGuidance",
"pos": [
779.6668528783277,
190.47933884297524
],
"size": [
211.60000610351562,
58
],
"flags": {},
"order": 9,
"mode": 0,
"inputs": [
{
"name": "conditioning",
"type": "CONDITIONING",
"link": 73
}
],
"outputs": [
{
"name": "CONDITIONING",
"type": "CONDITIONING",
"slot_index": 0,
"links": [
74
]
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.39",
"Node name for S&R": "FluxGuidance"
},
"widgets_values": [
30
]
},
{
"id": 8,
"type": "VAEDecode",
"pos": [
1667.7084821851195,
189.31698654463506
],
"size": [
157,
46
],
"flags": {},
"order": 14,
"mode": 0,
"inputs": [
{
"name": "samples",
"type": "LATENT",
"link": 52
},
{
"name": "vae",
"type": "VAE",
"link": 62
}
],
"outputs": [
{
"name": "IMAGE",
"type": "IMAGE",
"slot_index": 0,
"links": [
85,
86
]
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.39",
"Node name for S&R": "VAEDecode"
},
"widgets_values": []
},
{
"id": 57,
"type": "PreviewImage",
"pos": [
1840.5233305965953,
189.31698654463506
],
"size": [
565.8404755822689,
322.08275807663404
],
"flags": {},
"order": 15,
"mode": 0,
"inputs": [
{
"name": "images",
"type": "IMAGE",
"link": 85
}
],
"outputs": [],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.76",
"Node name for S&R": "PreviewImage"
},
"widgets_values": []
},
{
"id": 58,
"type": "ImageCrop",
"pos": [
1840.5233305965953,
595.8079197386622
],
"size": [
210,
130
],
"flags": {},
"order": 16,
"mode": 0,
"inputs": [
{
"name": "image",
"type": "IMAGE",
"link": 86
},
{
"name": "width",
"type": "INT",
"widget": {
"name": "width"
},
"link": 87
},
{
"name": "height",
"type": "INT",
"widget": {
"name": "height"
},
"link": 88
},
{
"name": "x",
"type": "INT",
"widget": {
"name": "x"
},
"link": 89
}
],
"outputs": [
{
"name": "IMAGE",
"type": "IMAGE",
"links": [
91
]
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.76",
"Node name for S&R": "ImageCrop"
},
"widgets_values": [
512,
512,
0,
0
],
"color": "#223",
"bgcolor": "#335"
},
{
"id": 60,
"type": "SaveImage",
"pos": [
2083.1507984717014,
596.9715286271478
],
"size": [
392.6446280991736,
454.297520661157
],
"flags": {},
"order": 17,
"mode": 0,
"inputs": [
{
"name": "images",
"type": "IMAGE",
"link": 91
}
],
"outputs": [],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.76"
},
"widgets_values": [
"ComfyUI"
]
},
{
"id": 51,
"type": "PreviewImage",
"pos": [
891.3276645987502,
561.8084085648995
],
"size": [
327.3380000000002,
258
],
"flags": {},
"order": 10,
"mode": 0,
"inputs": [
{
"name": "images",
"type": "IMAGE",
"link": 77
}
],
"outputs": [],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.76",
"Node name for S&R": "PreviewImage"
},
"widgets_values": []
},
{
"id": 56,
"type": "MaskPreview",
"pos": [
890.388757091814,
874.5245362083745
],
"size": [
335.6872727272728,
258
],
"flags": {},
"order": 11,
"mode": 0,
"inputs": [
{
"name": "mask",
"type": "MASK",
"link": 82
}
],
"outputs": [],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.76",
"Node name for S&R": "MaskPreview"
},
"widgets_values": []
}
],
"links": [
[
52,
31,
0,
8,
0,
"LATENT"
],
[
59,
42,
0,
6,
0,
"CLIP"
],
[
60,
42,
0,
33,
0,
"CLIP"
],
[
62,
43,
0,
8,
1,
"VAE"
],
[
67,
48,
1,
31,
2,
"CONDITIONING"
],
[
68,
33,
0,
48,
1,
"CONDITIONING"
],
[
69,
43,
0,
48,
2,
"VAE"
],
[
72,
48,
2,
31,
3,
"LATENT"
],
[
73,
6,
0,
35,
0,
"CONDITIONING"
],
[
74,
35,
0,
48,
0,
"CONDITIONING"
],
[
75,
48,
0,
31,
1,
"CONDITIONING"
],
[
76,
49,
0,
50,
0,
"IMAGE"
],
[
77,
50,
0,
51,
0,
"IMAGE"
],
[
79,
53,
0,
50,
2,
"IMAGE"
],
[
80,
41,
0,
55,
0,
"MODEL"
],
[
81,
55,
0,
31,
0,
"MODEL"
],
[
82,
50,
2,
56,
0,
"MASK"
],
[
83,
50,
0,
48,
3,
"IMAGE"
],
[
84,
50,
2,
48,
4,
"MASK"
],
[
85,
8,
0,
57,
0,
"IMAGE"
],
[
86,
8,
0,
58,
0,
"IMAGE"
],
[
87,
50,
3,
58,
1,
"INT"
],
[
88,
50,
4,
58,
2,
"INT"
],
[
89,
50,
5,
58,
3,
"INT"
],
[
91,
58,
0,
60,
0,
"IMAGE"
]
],
"groups": [],
"config": {},
"extra": {
"ds": {
"scale": 0.6830134553650709,
"offset": [
-27.736478064670976,
77.18677431816198
]
},
"frontendVersion": "1.35.0",
"VHS_latentpreview": false,
"VHS_latentpreviewrate": 0,
"VHS_MetadataImage": true,
"VHS_KeepIntermediate": true
},
"version": 0.4
}
- The base is inpainting using Flux.1 Fill.
- 🟪 Load FLUX.1 Fill and
portraitLoRA. - 🟩 Use the
IC LoRA Concat (RMBG) 🖼️node to put "Reference Image" and "Base Image + Mask" side by side.- Left: Reference image (portrait photo, etc.)
- Right: Base image (gray empty image here) + mask
- If nothing is entered in the mask, the entire right side is treated as a mask.
- 🟨 It is the same
InpaintModelConditioningnode used in normal inpainting. - 🟦 The output image will naturally be a landscape pair.
- Since we want to use only the right half, crop only the right side using the position information passed from the
IC LoRA Concat (RMBG) 🖼️node.
- Since we want to use only the right half, crop only the right side using the position information passed from the
Using as Face Swap
The basics are the same as ID transfer, but it works as Face Swap by changing "Base image to put on the right side" and "How to apply mask".

{
"id": "18404b37-92b0-4d11-a39c-ae941838eb83",
"revision": 0,
"last_node_id": 61,
"last_link_id": 93,
"nodes": [
{
"id": 33,
"type": "CLIPTextEncode",
"pos": [
449.6776859504133,
378.47933884297515
],
"size": [
307.77605192326325,
100.04636029960699
],
"flags": {
"collapsed": true
},
"order": 6,
"mode": 0,
"inputs": [
{
"name": "clip",
"type": "CLIP",
"link": 60
}
],
"outputs": [
{
"name": "CONDITIONING",
"type": "CONDITIONING",
"slot_index": 0,
"links": [
68
]
}
],
"title": "CLIP Text Encode (Negative Prompt)",
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.39",
"Node name for S&R": "CLIPTextEncode"
},
"widgets_values": [
""
]
},
{
"id": 42,
"type": "DualCLIPLoader",
"pos": [
127.73647806467098,
235.59098740254555
],
"size": [
270,
130
],
"flags": {},
"order": 0,
"mode": 0,
"inputs": [],
"outputs": [
{
"name": "CLIP",
"type": "CLIP",
"links": [
59,
60
]
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.39",
"Node name for S&R": "DualCLIPLoader"
},
"widgets_values": [
"clip_l.safetensors",
"t5xxl_fp8_e4m3fn.safetensors",
"flux",
"default"
]
},
{
"id": 43,
"type": "VAELoader",
"pos": [
510.65253242761105,
443.7682260598112
],
"size": [
240.81669781621986,
58
],
"flags": {},
"order": 1,
"mode": 0,
"inputs": [],
"outputs": [
{
"name": "VAE",
"type": "VAE",
"links": [
62,
69
]
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.39",
"Node name for S&R": "VAELoader"
},
"widgets_values": [
"ae.safetensors"
]
},
{
"id": 55,
"type": "LoraLoaderModelOnly",
"pos": [
1042.7127702359699,
22.813225681838027
],
"size": [
234.83685292236623,
82
],
"flags": {},
"order": 7,
"mode": 0,
"inputs": [
{
"name": "model",
"type": "MODEL",
"link": 80
}
],
"outputs": [
{
"name": "MODEL",
"type": "MODEL",
"links": [
81
]
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.76",
"Node name for S&R": "LoraLoaderModelOnly"
},
"widgets_values": [
"ACE_Plus\\comfyui_portrait_lora64.safetensors",
1
],
"color": "#323",
"bgcolor": "#535"
},
{
"id": 41,
"type": "UNETLoader",
"pos": [
745.3622345020736,
22.813225681838027
],
"size": [
270,
82
],
"flags": {},
"order": 2,
"mode": 0,
"inputs": [],
"outputs": [
{
"name": "MODEL",
"type": "MODEL",
"links": [
80
]
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.39",
"Node name for S&R": "UNETLoader"
},
"widgets_values": [
"Flux.1\\FLUX.1-Fill-dev_fp8.safetensors",
"fp8_e4m3fn"
],
"color": "#323",
"bgcolor": "#535"
},
{
"id": 48,
"type": "InpaintModelConditioning",
"pos": [
1024.783207305155,
209.14883998160443
],
"size": [
262.0525920360633,
138
],
"flags": {},
"order": 12,
"mode": 0,
"inputs": [
{
"name": "positive",
"type": "CONDITIONING",
"link": 74
},
{
"name": "negative",
"type": "CONDITIONING",
"link": 68
},
{
"name": "vae",
"type": "VAE",
"link": 69
},
{
"name": "pixels",
"type": "IMAGE",
"link": 83
},
{
"name": "mask",
"type": "MASK",
"link": 84
}
],
"outputs": [
{
"name": "positive",
"type": "CONDITIONING",
"links": [
75
]
},
{
"name": "negative",
"type": "CONDITIONING",
"links": [
67
]
},
{
"name": "latent",
"type": "LATENT",
"links": [
72
]
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.76",
"Node name for S&R": "InpaintModelConditioning"
},
"widgets_values": [
false
],
"color": "#432",
"bgcolor": "#653"
},
{
"id": 31,
"type": "KSampler",
"pos": [
1328.1790861279906,
189.31698654463506
],
"size": [
315,
262
],
"flags": {},
"order": 13,
"mode": 0,
"inputs": [
{
"name": "model",
"type": "MODEL",
"link": 81
},
{
"name": "positive",
"type": "CONDITIONING",
"link": 75
},
{
"name": "negative",
"type": "CONDITIONING",
"link": 67
},
{
"name": "latent_image",
"type": "LATENT",
"link": 72
}
],
"outputs": [
{
"name": "LATENT",
"type": "LATENT",
"slot_index": 0,
"links": [
52
]
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.39",
"Node name for S&R": "KSampler"
},
"widgets_values": [
12345,
"fixed",
20,
1,
"euler",
"normal",
1
]
},
{
"id": 50,
"type": "AILab_ICLoRAConcat",
"pos": [
453.73380338397993,
563.7693263580215
],
"size": [
300,
202
],
"flags": {},
"order": 8,
"mode": 0,
"inputs": [
{
"name": "object_image",
"type": "IMAGE",
"link": 76
},
{
"name": "object_mask",
"shape": 7,
"type": "MASK",
"link": null
},
{
"name": "base_image",
"shape": 7,
"type": "IMAGE",
"link": 92
},
{
"name": "base_mask",
"shape": 7,
"type": "MASK",
"link": 93
}
],
"outputs": [
{
"name": "IMAGE",
"type": "IMAGE",
"links": [
77,
83
]
},
{
"name": "OBJECT_MASK",
"type": "MASK",
"links": null
},
{
"name": "BASE_MASK",
"type": "MASK",
"links": [
82,
84
]
},
{
"name": "WIDTH",
"type": "INT",
"links": [
87
]
},
{
"name": "HEIGHT",
"type": "INT",
"links": [
88
]
},
{
"name": "X",
"type": "INT",
"links": [
89
]
},
{
"name": "Y",
"type": "INT",
"links": null
}
],
"properties": {
"cnr_id": "comfyui-rmbg",
"ver": "2.9.4",
"Node name for S&R": "AILab_ICLoRAConcat"
},
"widgets_values": [
"left-right",
0
],
"color": "#232",
"bgcolor": "#353"
},
{
"id": 35,
"type": "FluxGuidance",
"pos": [
779.6668528783277,
190.47933884297524
],
"size": [
211.60000610351562,
58
],
"flags": {},
"order": 9,
"mode": 0,
"inputs": [
{
"name": "conditioning",
"type": "CONDITIONING",
"link": 73
}
],
"outputs": [
{
"name": "CONDITIONING",
"type": "CONDITIONING",
"slot_index": 0,
"links": [
74
]
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.39",
"Node name for S&R": "FluxGuidance"
},
"widgets_values": [
30
]
},
{
"id": 57,
"type": "PreviewImage",
"pos": [
1840.5233305965953,
189.31698654463506
],
"size": [
565.8404755822689,
322.08275807663404
],
"flags": {},
"order": 15,
"mode": 0,
"inputs": [
{
"name": "images",
"type": "IMAGE",
"link": 85
}
],
"outputs": [],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.76",
"Node name for S&R": "PreviewImage"
},
"widgets_values": []
},
{
"id": 58,
"type": "ImageCrop",
"pos": [
1840.5233305965953,
595.8079197386622
],
"size": [
210,
130
],
"flags": {},
"order": 16,
"mode": 0,
"inputs": [
{
"name": "image",
"type": "IMAGE",
"link": 86
},
{
"name": "width",
"type": "INT",
"widget": {
"name": "width"
},
"link": 87
},
{
"name": "height",
"type": "INT",
"widget": {
"name": "height"
},
"link": 88
},
{
"name": "x",
"type": "INT",
"widget": {
"name": "x"
},
"link": 89
}
],
"outputs": [
{
"name": "IMAGE",
"type": "IMAGE",
"links": [
91
]
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.76",
"Node name for S&R": "ImageCrop"
},
"widgets_values": [
512,
512,
0,
0
],
"color": "#223",
"bgcolor": "#335"
},
{
"id": 60,
"type": "SaveImage",
"pos": [
2083.1507984717014,
596.9715286271478
],
"size": [
392.6446280991736,
454.297520661157
],
"flags": {},
"order": 17,
"mode": 0,
"inputs": [
{
"name": "images",
"type": "IMAGE",
"link": 91
}
],
"outputs": [],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.76"
},
"widgets_values": [
"ComfyUI"
]
},
{
"id": 51,
"type": "PreviewImage",
"pos": [
891.3276645987502,
561.8084085648995
],
"size": [
327.3380000000002,
258
],
"flags": {},
"order": 10,
"mode": 0,
"inputs": [
{
"name": "images",
"type": "IMAGE",
"link": 77
}
],
"outputs": [],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.76",
"Node name for S&R": "PreviewImage"
},
"widgets_values": []
},
{
"id": 56,
"type": "MaskPreview",
"pos": [
890.388757091814,
874.5245362083745
],
"size": [
335.6872727272728,
258
],
"flags": {},
"order": 11,
"mode": 0,
"inputs": [
{
"name": "mask",
"type": "MASK",
"link": 82
}
],
"outputs": [],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.76",
"Node name for S&R": "MaskPreview"
},
"widgets_values": []
},
{
"id": 49,
"type": "LoadImage",
"pos": [
153.02538524314295,
564.5303157817599
],
"size": [
261.798828125,
383
],
"flags": {},
"order": 3,
"mode": 0,
"inputs": [],
"outputs": [
{
"name": "IMAGE",
"type": "IMAGE",
"links": [
76
]
},
{
"name": "MASK",
"type": "MASK",
"links": []
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.76",
"Node name for S&R": "LoadImage",
"image": "clipspace/clipspace-painted-masked-1765287192968.png [input]"
},
"widgets_values": [
"pasted/image (87).png",
"image"
]
},
{
"id": 61,
"type": "LoadImage",
"pos": [
154.26919274192008,
1000.1054342156565
],
"size": [
261.798828125,
383
],
"flags": {},
"order": 4,
"mode": 0,
"inputs": [],
"outputs": [
{
"name": "IMAGE",
"type": "IMAGE",
"links": [
92
]
},
{
"name": "MASK",
"type": "MASK",
"links": [
93
]
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.76",
"Node name for S&R": "LoadImage",
"image": "clipspace/clipspace-painted-masked-1765319093841.png [input]"
},
"widgets_values": [
"clipspace/clipspace-painted-masked-1765319093841.png [input]",
"image"
]
},
{
"id": 6,
"type": "CLIPTextEncode",
"pos": [
449.6776859504133,
190.47933884297524
],
"size": [
301.84503173828125,
128.01304626464844
],
"flags": {},
"order": 5,
"mode": 0,
"inputs": [
{
"name": "clip",
"type": "CLIP",
"link": 59
}
],
"outputs": [
{
"name": "CONDITIONING",
"type": "CONDITIONING",
"slot_index": 0,
"links": [
73
]
}
],
"title": "CLIP Text Encode (Positive Prompt)",
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.39",
"Node name for S&R": "CLIPTextEncode"
},
"widgets_values": [
"A photograph of a Street musician playing violin"
]
},
{
"id": 8,
"type": "VAEDecode",
"pos": [
1664.1979192573735,
189.31698654463506
],
"size": [
155.3065782098388,
46
],
"flags": {},
"order": 14,
"mode": 0,
"inputs": [
{
"name": "samples",
"type": "LATENT",
"link": 52
},
{
"name": "vae",
"type": "VAE",
"link": 62
}
],
"outputs": [
{
"name": "IMAGE",
"type": "IMAGE",
"slot_index": 0,
"links": [
85,
86
]
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.39",
"Node name for S&R": "VAEDecode"
},
"widgets_values": []
}
],
"links": [
[
52,
31,
0,
8,
0,
"LATENT"
],
[
59,
42,
0,
6,
0,
"CLIP"
],
[
60,
42,
0,
33,
0,
"CLIP"
],
[
62,
43,
0,
8,
1,
"VAE"
],
[
67,
48,
1,
31,
2,
"CONDITIONING"
],
[
68,
33,
0,
48,
1,
"CONDITIONING"
],
[
69,
43,
0,
48,
2,
"VAE"
],
[
72,
48,
2,
31,
3,
"LATENT"
],
[
73,
6,
0,
35,
0,
"CONDITIONING"
],
[
74,
35,
0,
48,
0,
"CONDITIONING"
],
[
75,
48,
0,
31,
1,
"CONDITIONING"
],
[
76,
49,
0,
50,
0,
"IMAGE"
],
[
77,
50,
0,
51,
0,
"IMAGE"
],
[
80,
41,
0,
55,
0,
"MODEL"
],
[
81,
55,
0,
31,
0,
"MODEL"
],
[
82,
50,
2,
56,
0,
"MASK"
],
[
83,
50,
0,
48,
3,
"IMAGE"
],
[
84,
50,
2,
48,
4,
"MASK"
],
[
85,
8,
0,
57,
0,
"IMAGE"
],
[
86,
8,
0,
58,
0,
"IMAGE"
],
[
87,
50,
3,
58,
1,
"INT"
],
[
88,
50,
4,
58,
2,
"INT"
],
[
89,
50,
5,
58,
3,
"INT"
],
[
91,
58,
0,
60,
0,
"IMAGE"
],
[
92,
61,
0,
50,
2,
"IMAGE"
],
[
93,
61,
1,
50,
3,
"MASK"
]
],
"groups": [],
"config": {},
"extra": {
"ds": {
"scale": 0.620921323059155,
"offset": [
-27.736478064670976,
77.18677431816198
]
},
"frontendVersion": "1.35.0",
"VHS_latentpreview": false,
"VHS_latentpreviewrate": 0,
"VHS_MetadataImage": true,
"VHS_KeepIntermediate": true
},
"version": 0.4
}
- 🟩 Input the image you want to swap faces (base image) on the right side.
- 🟩 If you want to change only the face, mask only around the face.
Although it is called FaceSwap, it is more flexible, so masking the entire head also works well.
Subject Transfer
If you switch to comfyui_subject_lora16.safetensors, you can do Subject transfer.

{
"id": "18404b37-92b0-4d11-a39c-ae941838eb83",
"revision": 0,
"last_node_id": 61,
"last_link_id": 93,
"nodes": [
{
"id": 33,
"type": "CLIPTextEncode",
"pos": [
449.6776859504133,
378.47933884297515
],
"size": [
307.77605192326325,
100.04636029960699
],
"flags": {
"collapsed": true
},
"order": 6,
"mode": 0,
"inputs": [
{
"name": "clip",
"type": "CLIP",
"link": 60
}
],
"outputs": [
{
"name": "CONDITIONING",
"type": "CONDITIONING",
"slot_index": 0,
"links": [
68
]
}
],
"title": "CLIP Text Encode (Negative Prompt)",
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.39",
"Node name for S&R": "CLIPTextEncode"
},
"widgets_values": [
""
]
},
{
"id": 42,
"type": "DualCLIPLoader",
"pos": [
127.73647806467098,
235.59098740254555
],
"size": [
270,
130
],
"flags": {},
"order": 0,
"mode": 0,
"inputs": [],
"outputs": [
{
"name": "CLIP",
"type": "CLIP",
"links": [
59,
60
]
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.39",
"Node name for S&R": "DualCLIPLoader"
},
"widgets_values": [
"clip_l.safetensors",
"t5xxl_fp8_e4m3fn.safetensors",
"flux",
"default"
]
},
{
"id": 43,
"type": "VAELoader",
"pos": [
510.65253242761105,
443.7682260598112
],
"size": [
240.81669781621986,
58
],
"flags": {},
"order": 1,
"mode": 0,
"inputs": [],
"outputs": [
{
"name": "VAE",
"type": "VAE",
"links": [
62,
69
]
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.39",
"Node name for S&R": "VAELoader"
},
"widgets_values": [
"ae.safetensors"
]
},
{
"id": 41,
"type": "UNETLoader",
"pos": [
745.3622345020736,
22.813225681838027
],
"size": [
270,
82
],
"flags": {},
"order": 2,
"mode": 0,
"inputs": [],
"outputs": [
{
"name": "MODEL",
"type": "MODEL",
"links": [
80
]
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.39",
"Node name for S&R": "UNETLoader"
},
"widgets_values": [
"Flux.1\\FLUX.1-Fill-dev_fp8.safetensors",
"fp8_e4m3fn"
],
"color": "#323",
"bgcolor": "#535"
},
{
"id": 48,
"type": "InpaintModelConditioning",
"pos": [
1024.783207305155,
209.14883998160443
],
"size": [
262.0525920360633,
138
],
"flags": {},
"order": 12,
"mode": 0,
"inputs": [
{
"name": "positive",
"type": "CONDITIONING",
"link": 74
},
{
"name": "negative",
"type": "CONDITIONING",
"link": 68
},
{
"name": "vae",
"type": "VAE",
"link": 69
},
{
"name": "pixels",
"type": "IMAGE",
"link": 83
},
{
"name": "mask",
"type": "MASK",
"link": 84
}
],
"outputs": [
{
"name": "positive",
"type": "CONDITIONING",
"links": [
75
]
},
{
"name": "negative",
"type": "CONDITIONING",
"links": [
67
]
},
{
"name": "latent",
"type": "LATENT",
"links": [
72
]
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.76",
"Node name for S&R": "InpaintModelConditioning"
},
"widgets_values": [
false
],
"color": "#432",
"bgcolor": "#653"
},
{
"id": 50,
"type": "AILab_ICLoRAConcat",
"pos": [
453.73380338397993,
563.7693263580215
],
"size": [
300,
202
],
"flags": {},
"order": 8,
"mode": 0,
"inputs": [
{
"name": "object_image",
"type": "IMAGE",
"link": 76
},
{
"name": "object_mask",
"shape": 7,
"type": "MASK",
"link": null
},
{
"name": "base_image",
"shape": 7,
"type": "IMAGE",
"link": 92
},
{
"name": "base_mask",
"shape": 7,
"type": "MASK",
"link": 93
}
],
"outputs": [
{
"name": "IMAGE",
"type": "IMAGE",
"links": [
77,
83
]
},
{
"name": "OBJECT_MASK",
"type": "MASK",
"links": null
},
{
"name": "BASE_MASK",
"type": "MASK",
"links": [
82,
84
]
},
{
"name": "WIDTH",
"type": "INT",
"links": [
87
]
},
{
"name": "HEIGHT",
"type": "INT",
"links": [
88
]
},
{
"name": "X",
"type": "INT",
"links": [
89
]
},
{
"name": "Y",
"type": "INT",
"links": null
}
],
"properties": {
"cnr_id": "comfyui-rmbg",
"ver": "2.9.4",
"Node name for S&R": "AILab_ICLoRAConcat"
},
"widgets_values": [
"left-right",
0
],
"color": "#232",
"bgcolor": "#353"
},
{
"id": 35,
"type": "FluxGuidance",
"pos": [
779.6668528783277,
190.47933884297524
],
"size": [
211.60000610351562,
58
],
"flags": {},
"order": 9,
"mode": 0,
"inputs": [
{
"name": "conditioning",
"type": "CONDITIONING",
"link": 73
}
],
"outputs": [
{
"name": "CONDITIONING",
"type": "CONDITIONING",
"slot_index": 0,
"links": [
74
]
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.39",
"Node name for S&R": "FluxGuidance"
},
"widgets_values": [
30
]
},
{
"id": 57,
"type": "PreviewImage",
"pos": [
1840.5233305965953,
189.31698654463506
],
"size": [
565.8404755822689,
322.08275807663404
],
"flags": {},
"order": 15,
"mode": 0,
"inputs": [
{
"name": "images",
"type": "IMAGE",
"link": 85
}
],
"outputs": [],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.76",
"Node name for S&R": "PreviewImage"
},
"widgets_values": []
},
{
"id": 58,
"type": "ImageCrop",
"pos": [
1840.5233305965953,
595.8079197386622
],
"size": [
210,
130
],
"flags": {},
"order": 16,
"mode": 0,
"inputs": [
{
"name": "image",
"type": "IMAGE",
"link": 86
},
{
"name": "width",
"type": "INT",
"widget": {
"name": "width"
},
"link": 87
},
{
"name": "height",
"type": "INT",
"widget": {
"name": "height"
},
"link": 88
},
{
"name": "x",
"type": "INT",
"widget": {
"name": "x"
},
"link": 89
}
],
"outputs": [
{
"name": "IMAGE",
"type": "IMAGE",
"links": [
91
]
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.76",
"Node name for S&R": "ImageCrop"
},
"widgets_values": [
512,
512,
0,
0
],
"color": "#223",
"bgcolor": "#335"
},
{
"id": 60,
"type": "SaveImage",
"pos": [
2083.1507984717014,
596.9715286271478
],
"size": [
392.6446280991736,
454.297520661157
],
"flags": {},
"order": 17,
"mode": 0,
"inputs": [
{
"name": "images",
"type": "IMAGE",
"link": 91
}
],
"outputs": [],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.76"
},
"widgets_values": [
"ComfyUI"
]
},
{
"id": 51,
"type": "PreviewImage",
"pos": [
891.3276645987502,
561.8084085648995
],
"size": [
327.3380000000002,
258
],
"flags": {},
"order": 10,
"mode": 0,
"inputs": [
{
"name": "images",
"type": "IMAGE",
"link": 77
}
],
"outputs": [],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.76",
"Node name for S&R": "PreviewImage"
},
"widgets_values": []
},
{
"id": 56,
"type": "MaskPreview",
"pos": [
890.388757091814,
874.5245362083745
],
"size": [
335.6872727272728,
258
],
"flags": {},
"order": 11,
"mode": 0,
"inputs": [
{
"name": "mask",
"type": "MASK",
"link": 82
}
],
"outputs": [],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.76",
"Node name for S&R": "MaskPreview"
},
"widgets_values": []
},
{
"id": 8,
"type": "VAEDecode",
"pos": [
1664.1979192573735,
189.31698654463506
],
"size": [
155.3065782098388,
46
],
"flags": {},
"order": 14,
"mode": 0,
"inputs": [
{
"name": "samples",
"type": "LATENT",
"link": 52
},
{
"name": "vae",
"type": "VAE",
"link": 62
}
],
"outputs": [
{
"name": "IMAGE",
"type": "IMAGE",
"slot_index": 0,
"links": [
85,
86
]
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.39",
"Node name for S&R": "VAEDecode"
},
"widgets_values": []
},
{
"id": 49,
"type": "LoadImage",
"pos": [
153.02538524314295,
564.5303157817599
],
"size": [
261.798828125,
383
],
"flags": {},
"order": 3,
"mode": 0,
"inputs": [],
"outputs": [
{
"name": "IMAGE",
"type": "IMAGE",
"links": [
76
]
},
{
"name": "MASK",
"type": "MASK",
"links": []
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.76",
"Node name for S&R": "LoadImage",
"image": "clipspace/clipspace-painted-masked-1765287192968.png [input]"
},
"widgets_values": [
"pasted/image (89).png",
"image"
]
},
{
"id": 55,
"type": "LoraLoaderModelOnly",
"pos": [
1042.7127702359699,
22.813225681838027
],
"size": [
234.83685292236623,
82
],
"flags": {},
"order": 7,
"mode": 0,
"inputs": [
{
"name": "model",
"type": "MODEL",
"link": 80
}
],
"outputs": [
{
"name": "MODEL",
"type": "MODEL",
"links": [
81
]
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.76",
"Node name for S&R": "LoraLoaderModelOnly"
},
"widgets_values": [
"ACE_Plus\\comfyui_subject_lora16.safetensors",
1
],
"color": "#323",
"bgcolor": "#535"
},
{
"id": 61,
"type": "LoadImage",
"pos": [
154.26919274192008,
1000.1054342156565
],
"size": [
261.798828125,
383
],
"flags": {},
"order": 4,
"mode": 0,
"inputs": [],
"outputs": [
{
"name": "IMAGE",
"type": "IMAGE",
"links": [
92
]
},
{
"name": "MASK",
"type": "MASK",
"links": [
93
]
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.76",
"Node name for S&R": "LoadImage",
"image": "clipspace/clipspace-painted-masked-1765319654301.png [input]"
},
"widgets_values": [
"clipspace/clipspace-painted-masked-1765319654301.png [input]",
"image"
]
},
{
"id": 6,
"type": "CLIPTextEncode",
"pos": [
449.6776859504133,
190.47933884297524
],
"size": [
301.84503173828125,
128.01304626464844
],
"flags": {},
"order": 5,
"mode": 0,
"inputs": [
{
"name": "clip",
"type": "CLIP",
"link": 59
}
],
"outputs": [
{
"name": "CONDITIONING",
"type": "CONDITIONING",
"slot_index": 0,
"links": [
73
]
}
],
"title": "CLIP Text Encode (Positive Prompt)",
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.39",
"Node name for S&R": "CLIPTextEncode"
},
"widgets_values": [
"Photo of a woman wearing a white T-shirt with a logo"
]
},
{
"id": 31,
"type": "KSampler",
"pos": [
1328.1790861279906,
189.31698654463506
],
"size": [
315,
262
],
"flags": {},
"order": 13,
"mode": 0,
"inputs": [
{
"name": "model",
"type": "MODEL",
"link": 81
},
{
"name": "positive",
"type": "CONDITIONING",
"link": 75
},
{
"name": "negative",
"type": "CONDITIONING",
"link": 67
},
{
"name": "latent_image",
"type": "LATENT",
"link": 72
}
],
"outputs": [
{
"name": "LATENT",
"type": "LATENT",
"slot_index": 0,
"links": [
52
]
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.39",
"Node name for S&R": "KSampler"
},
"widgets_values": [
1234,
"fixed",
20,
1,
"euler",
"normal",
1
]
}
],
"links": [
[
52,
31,
0,
8,
0,
"LATENT"
],
[
59,
42,
0,
6,
0,
"CLIP"
],
[
60,
42,
0,
33,
0,
"CLIP"
],
[
62,
43,
0,
8,
1,
"VAE"
],
[
67,
48,
1,
31,
2,
"CONDITIONING"
],
[
68,
33,
0,
48,
1,
"CONDITIONING"
],
[
69,
43,
0,
48,
2,
"VAE"
],
[
72,
48,
2,
31,
3,
"LATENT"
],
[
73,
6,
0,
35,
0,
"CONDITIONING"
],
[
74,
35,
0,
48,
0,
"CONDITIONING"
],
[
75,
48,
0,
31,
1,
"CONDITIONING"
],
[
76,
49,
0,
50,
0,
"IMAGE"
],
[
77,
50,
0,
51,
0,
"IMAGE"
],
[
80,
41,
0,
55,
0,
"MODEL"
],
[
81,
55,
0,
31,
0,
"MODEL"
],
[
82,
50,
2,
56,
0,
"MASK"
],
[
83,
50,
0,
48,
3,
"IMAGE"
],
[
84,
50,
2,
48,
4,
"MASK"
],
[
85,
8,
0,
57,
0,
"IMAGE"
],
[
86,
8,
0,
58,
0,
"IMAGE"
],
[
87,
50,
3,
58,
1,
"INT"
],
[
88,
50,
4,
58,
2,
"INT"
],
[
89,
50,
5,
58,
3,
"INT"
],
[
91,
58,
0,
60,
0,
"IMAGE"
],
[
92,
61,
0,
50,
2,
"IMAGE"
],
[
93,
61,
1,
50,
3,
"MASK"
]
],
"groups": [],
"config": {},
"extra": {
"ds": {
"scale": 0.5644739300537773,
"offset": [
-27.736478064670976,
77.18677431816198
]
},
"frontendVersion": "1.35.0",
"VHS_latentpreview": false,
"VHS_latentpreviewrate": 0,
"VHS_MetadataImage": true,
"VHS_KeepIntermediate": true
},
"version": 0.4
}
- It is the same workflow as the previous Face Swap.
- 🟪 Change the LoRA to load to
subject.
You can generate by referring to various things such as logos and items as well as people.
- Transfer only the logo to another package photo
- Make a certain character or mascot stand on a different background
- Transplant only specific accessories (bags, etc.) to another photo
Local Editing
Using comfyui_local_lora16.safetensors allows you to bring it closer to local editing redrawing along instructions only for the masked area.

{
"id": "18404b37-92b0-4d11-a39c-ae941838eb83",
"revision": 0,
"last_node_id": 63,
"last_link_id": 108,
"nodes": [
{
"id": 42,
"type": "DualCLIPLoader",
"pos": [
127.73647806467098,
235.59098740254555
],
"size": [
270,
130
],
"flags": {},
"order": 0,
"mode": 0,
"inputs": [],
"outputs": [
{
"name": "CLIP",
"type": "CLIP",
"links": [
59,
60
]
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.39",
"Node name for S&R": "DualCLIPLoader"
},
"widgets_values": [
"clip_l.safetensors",
"t5xxl_fp8_e4m3fn.safetensors",
"flux",
"default"
]
},
{
"id": 41,
"type": "UNETLoader",
"pos": [
745.3622345020736,
22.813225681838027
],
"size": [
270,
82
],
"flags": {},
"order": 1,
"mode": 0,
"inputs": [],
"outputs": [
{
"name": "MODEL",
"type": "MODEL",
"links": [
80
]
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.39",
"Node name for S&R": "UNETLoader"
},
"widgets_values": [
"Flux.1\\FLUX.1-Fill-dev_fp8.safetensors",
"fp8_e4m3fn"
],
"color": "#323",
"bgcolor": "#535"
},
{
"id": 8,
"type": "VAEDecode",
"pos": [
1664.1979192573735,
189.31698654463506
],
"size": [
155.3065782098388,
46
],
"flags": {},
"order": 11,
"mode": 0,
"inputs": [
{
"name": "samples",
"type": "LATENT",
"link": 52
},
{
"name": "vae",
"type": "VAE",
"link": 62
}
],
"outputs": [
{
"name": "IMAGE",
"type": "IMAGE",
"slot_index": 0,
"links": [
85
]
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.39",
"Node name for S&R": "VAEDecode"
},
"widgets_values": []
},
{
"id": 6,
"type": "CLIPTextEncode",
"pos": [
449.6776859504133,
190.47933884297524
],
"size": [
301.84503173828125,
128.01304626464844
],
"flags": {},
"order": 4,
"mode": 0,
"inputs": [
{
"name": "clip",
"type": "CLIP",
"link": 59
}
],
"outputs": [
{
"name": "CONDITIONING",
"type": "CONDITIONING",
"slot_index": 0,
"links": [
73
]
}
],
"title": "CLIP Text Encode (Positive Prompt)",
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.39",
"Node name for S&R": "CLIPTextEncode"
},
"widgets_values": [
"Change her outfit to a white shirt\n"
]
},
{
"id": 55,
"type": "LoraLoaderModelOnly",
"pos": [
1042.7127702359699,
22.813225681838027
],
"size": [
234.83685292236623,
82
],
"flags": {},
"order": 6,
"mode": 0,
"inputs": [
{
"name": "model",
"type": "MODEL",
"link": 80
}
],
"outputs": [
{
"name": "MODEL",
"type": "MODEL",
"links": [
81
]
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.76",
"Node name for S&R": "LoraLoaderModelOnly"
},
"widgets_values": [
"ACE_Plus\\comfyui_local_lora16.safetensors",
1
],
"color": "#323",
"bgcolor": "#535"
},
{
"id": 43,
"type": "VAELoader",
"pos": [
510.65253242761105,
443.7682260598112
],
"size": [
240.81669781621986,
58
],
"flags": {},
"order": 2,
"mode": 0,
"inputs": [],
"outputs": [
{
"name": "VAE",
"type": "VAE",
"links": [
62,
69
]
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.39",
"Node name for S&R": "VAELoader"
},
"widgets_values": [
"ae.safetensors"
]
},
{
"id": 35,
"type": "FluxGuidance",
"pos": [
779.6668528783277,
190.47933884297524
],
"size": [
211.60000610351562,
58
],
"flags": {},
"order": 8,
"mode": 0,
"inputs": [
{
"name": "conditioning",
"type": "CONDITIONING",
"link": 73
}
],
"outputs": [
{
"name": "CONDITIONING",
"type": "CONDITIONING",
"slot_index": 0,
"links": [
74
]
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.39",
"Node name for S&R": "FluxGuidance"
},
"widgets_values": [
30
]
},
{
"id": 31,
"type": "KSampler",
"pos": [
1328.1790861279906,
189.31698654463506
],
"size": [
315,
262
],
"flags": {},
"order": 10,
"mode": 0,
"inputs": [
{
"name": "model",
"type": "MODEL",
"link": 81
},
{
"name": "positive",
"type": "CONDITIONING",
"link": 104
},
{
"name": "negative",
"type": "CONDITIONING",
"link": 105
},
{
"name": "latent_image",
"type": "LATENT",
"link": 106
}
],
"outputs": [
{
"name": "LATENT",
"type": "LATENT",
"slot_index": 0,
"links": [
52
]
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.39",
"Node name for S&R": "KSampler"
},
"widgets_values": [
12345,
"fixed",
20,
1,
"euler",
"normal",
1
]
},
{
"id": 57,
"type": "PreviewImage",
"pos": [
1840.5233305965953,
189.31698654463506
],
"size": [
368.9404755822693,
470.58275807663404
],
"flags": {},
"order": 12,
"mode": 0,
"inputs": [
{
"name": "images",
"type": "IMAGE",
"link": 85
}
],
"outputs": [],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.76",
"Node name for S&R": "PreviewImage"
},
"widgets_values": []
},
{
"id": 33,
"type": "CLIPTextEncode",
"pos": [
449.6776859504133,
378.47933884297515
],
"size": [
307.77605192326325,
100.04636029960699
],
"flags": {
"collapsed": true
},
"order": 5,
"mode": 0,
"inputs": [
{
"name": "clip",
"type": "CLIP",
"link": 60
}
],
"outputs": [
{
"name": "CONDITIONING",
"type": "CONDITIONING",
"slot_index": 0,
"links": [
68
]
}
],
"title": "CLIP Text Encode (Negative Prompt)",
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.39",
"Node name for S&R": "CLIPTextEncode"
},
"widgets_values": [
""
]
},
{
"id": 49,
"type": "LoadImage",
"pos": [
489.6704021188309,
565.7357703272138
],
"size": [
261.798828125,
383
],
"flags": {},
"order": 3,
"mode": 0,
"inputs": [],
"outputs": [
{
"name": "IMAGE",
"type": "IMAGE",
"links": [
103,
107
]
},
{
"name": "MASK",
"type": "MASK",
"links": [
102
]
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.76",
"Node name for S&R": "LoadImage",
"image": "clipspace/clipspace-painted-masked-1765321282236.png [input]"
},
"widgets_values": [
"clipspace/clipspace-painted-masked-1765321282236.png [input]",
"image"
]
},
{
"id": 63,
"type": "PreviewImage",
"pos": [
777.8363066096327,
684.7497950877462
],
"size": [
210,
258
],
"flags": {},
"order": 7,
"mode": 0,
"inputs": [
{
"name": "images",
"type": "IMAGE",
"link": 107
}
],
"outputs": [],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.76",
"Node name for S&R": "PreviewImage"
},
"widgets_values": []
},
{
"id": 48,
"type": "InpaintModelConditioning",
"pos": [
1024.162285982096,
209.76976130466358
],
"size": [
262.0525920360633,
138
],
"flags": {},
"order": 9,
"mode": 0,
"inputs": [
{
"name": "positive",
"type": "CONDITIONING",
"link": 74
},
{
"name": "negative",
"type": "CONDITIONING",
"link": 68
},
{
"name": "vae",
"type": "VAE",
"link": 69
},
{
"name": "pixels",
"type": "IMAGE",
"link": 103
},
{
"name": "mask",
"type": "MASK",
"link": 102
}
],
"outputs": [
{
"name": "positive",
"type": "CONDITIONING",
"links": [
104
]
},
{
"name": "negative",
"type": "CONDITIONING",
"links": [
105
]
},
{
"name": "latent",
"type": "LATENT",
"links": [
106
]
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.76",
"Node name for S&R": "InpaintModelConditioning"
},
"widgets_values": [
false
],
"color": "#432",
"bgcolor": "#653"
}
],
"links": [
[
52,
31,
0,
8,
0,
"LATENT"
],
[
59,
42,
0,
6,
0,
"CLIP"
],
[
60,
42,
0,
33,
0,
"CLIP"
],
[
62,
43,
0,
8,
1,
"VAE"
],
[
68,
33,
0,
48,
1,
"CONDITIONING"
],
[
69,
43,
0,
48,
2,
"VAE"
],
[
73,
6,
0,
35,
0,
"CONDITIONING"
],
[
74,
35,
0,
48,
0,
"CONDITIONING"
],
[
80,
41,
0,
55,
0,
"MODEL"
],
[
81,
55,
0,
31,
0,
"MODEL"
],
[
85,
8,
0,
57,
0,
"IMAGE"
],
[
102,
49,
1,
48,
4,
"MASK"
],
[
103,
49,
0,
48,
3,
"IMAGE"
],
[
104,
48,
0,
31,
1,
"CONDITIONING"
],
[
105,
48,
1,
31,
2,
"CONDITIONING"
],
[
106,
48,
2,
31,
3,
"LATENT"
],
[
107,
49,
0,
63,
0,
"IMAGE"
]
],
"groups": [],
"config": {},
"extra": {
"ds": {
"scale": 0.9090909090909091,
"offset": [
-27.736478064670976,
77.18677431816198
]
},
"frontendVersion": "1.35.0",
"VHS_latentpreview": false,
"VHS_latentpreviewrate": 0,
"VHS_MetadataImage": true,
"VHS_KeepIntermediate": true
},
"version": 0.4
}
- Use a normal inpainting workflow instead of side-by-side.
- 🟪 Change the LoRA to load to
local. - Write a prompt in the form of instruction like "Change her clothes to a white shirt".