什么是 ACE++?

这是用以下那样的提示词生成的 1 张图像。
- 分为 2 帧的图像。
- 第 1 帧 A 先生坐着。
- 第 2 帧 A 先生面向这边。
如所见那样,映在左右的人物看起来是同一人物呢。 这叫做精灵图表(Sprite sheet)技术,是想制作多张有一致性的情况时,从 Stable Diffusion 1.5 时代开始被使用的秘籍。

从这里更进一步,在给予如上的图像的基础上,试着让其只 inpainting 右半边。
于是,一边参照左边的图像,一边在右侧生成新的图像。
这就是 IC-LoRA,以及这次处理的 ACE++ 的根本原理。 至今为止是“有时也会顺利”程度的技术,但随着 Flux 的登场,变成了某种程度安定的生成。
粗略总结的话,ACE++ 是将这个原理用 LoRA 强化的东西,准备了按用途区分的 3 个 LoRA。
- ID 传送 / Face Swap
- Subject 传送
- 指示基础图像编辑(本地编辑)
必要的自定义节点
虽然是包含很多抠图和分割系节点的自定义节点,但只使用在这之中的 IC LoRA Concat (RMBG) 🖼️ 节点。
虽然也有 ACE++ 官方的自定义节点,但因为举动不安定所以这里不采用。
模型的下载
- 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
基本的思考方法
ACE++,一边看 横向排列了“参照图像”和“想编辑的图像+掩膜”的 1 张图像 一边动作。
- 左侧:参照图像(想靠拢的脸・角色等)
- 右侧:白纸 or 想编辑的图像(+在那上面画的掩膜)
将这 2 个横向贴在一起做成 1 张图像后,像通常那样让其 inpainting 的印象。 如果理解为 Flux.1 Fill 担当“重画哪里”,ACE++ 的 LoRA 担当“靠拢什么样的外观”,我想容易理解。
ID 传送
生成相似于参照图像的人物(脸)的图像。

{
"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
}
- 基础是使用 Flux.1 Fill 的 inpainting。
- 🟪 读取 FLUX.1 Fill 和
portraitLoRA。 - 🟩 在
IC LoRA Concat (RMBG) 🖼️节点,将“参照图像”和“基础图像+掩膜”横向排列。- 左:参照图像(人物照片等)
- 右:基础图像(这里是灰色的空图像)+掩膜
- 如果不在掩膜输入任何东西,右侧整体变为掩膜处理。
- 🟨 是与在通常的 inpainting 使用的东西相同的
InpaintModelConditioning节点。 - 🟦 输出图像当然变为横长的 2 张组。
- 因为只想使用右半边,所以使用从
IC LoRA Concat (RMBG) 🖼️节点传递的位置信息,只裁剪右侧。
- 因为只想使用右半边,所以使用从
作为 Face Swap 使用
基本与 ID 传送 相同,但通过改变“放入右侧的基础图像”和“掩膜的打法”作为 Face Swap 动作。

{
"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
}
- 🟩 在右侧,输入想替换脸的图像(基础图像)。
- 🟩 如果只想变脸,只在脸的周边打掩膜。
虽说是 FaceSwap,但因为更柔软,所以即使掩膜头部整体也很顺利。
Subject 传送
切换为 comfyui_subject_lora16.safetensors 的话,可以进行 Subject 传送。

{
"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
}
- 与刚才的 Face Swap 相同的工作流。
- 🟪 将读取的 LoRA 变更为
subject。
不仅人物,也能参照标志或道具等各种各样的东西进行生成。
- 只将标志转印到别的包装照片
- 让某个角色或吉祥物,站在别的背景
- 只将特定的小物(包等)移植到别的照片
本地编辑
使用 comfyui_local_lora16.safetensors 的话,可以靠拢只将掩膜的领域 沿着提示词重画的本地编辑。

{
"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
}
- 不是横向排列,使用通常的 inpainting 的工作流。
- 🟪 将读取的 LoRA 变更为
local。 - 像“将她的衣服变更为白衬衫”那样,以 指示 的形式写提示词。