aleph65 commited on
Commit
b86e1ea
·
verified ·
1 Parent(s): 905aa07

Add new-krea2-faceswap-v12 workflows (benchmark-winning v1.2 face swap recipe: v1_2 LoRA + fit + ref_boost 4)

Browse files
workflows/api/new-krea2-faceswap-v12-raw.json ADDED
@@ -0,0 +1,281 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "1": {
3
+ "_meta": {
4
+ "title": "Load Krea 2 Diffusion Model"
5
+ },
6
+ "class_type": "UNETLoader",
7
+ "inputs": {
8
+ "unet_name": "krea2_raw_bf16.safetensors",
9
+ "weight_dtype": "default"
10
+ }
11
+ },
12
+ "10": {
13
+ "_meta": {
14
+ "title": "Scale person ref"
15
+ },
16
+ "class_type": "ImageScaleToMaxDimension",
17
+ "inputs": {
18
+ "image": [
19
+ "9",
20
+ 0
21
+ ],
22
+ "largest_size": [
23
+ "6",
24
+ 0
25
+ ],
26
+ "upscale_method": "lanczos"
27
+ }
28
+ },
29
+ "11": {
30
+ "_meta": {
31
+ "title": "VAE Encode Person"
32
+ },
33
+ "class_type": "VAEEncode",
34
+ "inputs": {
35
+ "pixels": [
36
+ "10",
37
+ 0
38
+ ],
39
+ "vae": [
40
+ "4",
41
+ 0
42
+ ]
43
+ }
44
+ },
45
+ "12": {
46
+ "_meta": {
47
+ "title": "Krea2 Edit (source patch)"
48
+ },
49
+ "class_type": "Krea2EditModelPatch",
50
+ "inputs": {
51
+ "fit_mode": "fit",
52
+ "model": [
53
+ "2",
54
+ 0
55
+ ],
56
+ "ref_boost": 4.0,
57
+ "ref_boost_a": 1.0,
58
+ "source_image": [
59
+ "7",
60
+ 0
61
+ ],
62
+ "source_image_b": [
63
+ "10",
64
+ 0
65
+ ],
66
+ "source_latent": [
67
+ "8",
68
+ 0
69
+ ],
70
+ "source_latent_b": [
71
+ "11",
72
+ 0
73
+ ],
74
+ "vae": [
75
+ "4",
76
+ 0
77
+ ]
78
+ }
79
+ },
80
+ "13": {
81
+ "_meta": {
82
+ "title": "Edit Instruction (grounded on source)"
83
+ },
84
+ "class_type": "Krea2EditGroundedEncode",
85
+ "inputs": {
86
+ "clip": [
87
+ "3",
88
+ 0
89
+ ],
90
+ "grounding_px": 768,
91
+ "image": [
92
+ "7",
93
+ 0
94
+ ],
95
+ "image_b": [
96
+ "10",
97
+ 0
98
+ ],
99
+ "prompt": "Replace the face of the woman in image 1 with the face of the woman in image 2. Keep the pose, outfit, body, lighting and background exactly the same.",
100
+ "system_prompt": ""
101
+ }
102
+ },
103
+ "14": {
104
+ "_meta": {
105
+ "title": "Negative (grounded \u2014 used at CFG > 1)"
106
+ },
107
+ "class_type": "Krea2EditGroundedEncode",
108
+ "inputs": {
109
+ "clip": [
110
+ "3",
111
+ 0
112
+ ],
113
+ "grounding_px": 768,
114
+ "image": [
115
+ "7",
116
+ 0
117
+ ],
118
+ "image_b": [
119
+ "10",
120
+ 0
121
+ ],
122
+ "prompt": "blurry, low quality, jpeg artifacts, oversaturated, plastic skin, deformed face, extra fingers",
123
+ "system_prompt": ""
124
+ }
125
+ },
126
+ "15": {
127
+ "_meta": {
128
+ "title": "Target Latent"
129
+ },
130
+ "class_type": "EmptySD3LatentImage",
131
+ "inputs": {
132
+ "batch_size": 1,
133
+ "height": 1536,
134
+ "width": 1536
135
+ }
136
+ },
137
+ "16": {
138
+ "class_type": "KSampler",
139
+ "inputs": {
140
+ "cfg": 2.5,
141
+ "denoise": 1.0,
142
+ "latent_image": [
143
+ "15",
144
+ 0
145
+ ],
146
+ "model": [
147
+ "12",
148
+ 0
149
+ ],
150
+ "negative": [
151
+ "14",
152
+ 0
153
+ ],
154
+ "positive": [
155
+ "13",
156
+ 0
157
+ ],
158
+ "sampler_name": "er_sde",
159
+ "scheduler": "simple",
160
+ "seed": 42,
161
+ "steps": 50
162
+ }
163
+ },
164
+ "17": {
165
+ "class_type": "VAEDecode",
166
+ "inputs": {
167
+ "samples": [
168
+ "16",
169
+ 0
170
+ ],
171
+ "vae": [
172
+ "4",
173
+ 0
174
+ ]
175
+ }
176
+ },
177
+ "18": {
178
+ "class_type": "SaveImage",
179
+ "inputs": {
180
+ "filename_prefix": "new-krea2-faceswap-v12-raw",
181
+ "images": [
182
+ "17",
183
+ 0
184
+ ]
185
+ }
186
+ },
187
+ "2": {
188
+ "_meta": {
189
+ "title": "Identity Edit LoRA v1.2 (required)"
190
+ },
191
+ "class_type": "LoraLoaderModelOnly",
192
+ "inputs": {
193
+ "lora_name": "krea2_identity_edit_v1_2.safetensors",
194
+ "model": [
195
+ "1",
196
+ 0
197
+ ],
198
+ "strength_model": 1.0
199
+ }
200
+ },
201
+ "3": {
202
+ "_meta": {
203
+ "title": "Load Text Encoder"
204
+ },
205
+ "class_type": "CLIPLoader",
206
+ "inputs": {
207
+ "clip_name": "qwen3vl_4b_bf16.safetensors",
208
+ "device": "default",
209
+ "type": "krea2"
210
+ }
211
+ },
212
+ "4": {
213
+ "_meta": {
214
+ "title": "Load VAE"
215
+ },
216
+ "class_type": "VAELoader",
217
+ "inputs": {
218
+ "vae_name": "qwen_image_vae.safetensors"
219
+ }
220
+ },
221
+ "5": {
222
+ "_meta": {
223
+ "title": "Body / Scene Image (image 1)"
224
+ },
225
+ "class_type": "LoadImage",
226
+ "inputs": {
227
+ "image": "body.jpg"
228
+ }
229
+ },
230
+ "6": {
231
+ "_meta": {
232
+ "title": "Input max size (longest edge)"
233
+ },
234
+ "class_type": "PrimitiveInt",
235
+ "inputs": {
236
+ "value": 1536
237
+ }
238
+ },
239
+ "7": {
240
+ "_meta": {
241
+ "title": "Scale source (longest edge = max size)"
242
+ },
243
+ "class_type": "ImageScaleToMaxDimension",
244
+ "inputs": {
245
+ "image": [
246
+ "5",
247
+ 0
248
+ ],
249
+ "largest_size": [
250
+ "6",
251
+ 0
252
+ ],
253
+ "upscale_method": "lanczos"
254
+ }
255
+ },
256
+ "8": {
257
+ "_meta": {
258
+ "title": "VAE Encode Source"
259
+ },
260
+ "class_type": "VAEEncode",
261
+ "inputs": {
262
+ "pixels": [
263
+ "7",
264
+ 0
265
+ ],
266
+ "vae": [
267
+ "4",
268
+ 0
269
+ ]
270
+ }
271
+ },
272
+ "9": {
273
+ "_meta": {
274
+ "title": "Face Reference (image 2)"
275
+ },
276
+ "class_type": "LoadImage",
277
+ "inputs": {
278
+ "image": "face.jpg"
279
+ }
280
+ }
281
+ }
workflows/api/new-krea2-faceswap-v12-turbo.json ADDED
@@ -0,0 +1,281 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "1": {
3
+ "_meta": {
4
+ "title": "Load Krea 2 Diffusion Model"
5
+ },
6
+ "class_type": "UNETLoader",
7
+ "inputs": {
8
+ "unet_name": "krea2_turbo_mxfp8.safetensors",
9
+ "weight_dtype": "default"
10
+ }
11
+ },
12
+ "10": {
13
+ "_meta": {
14
+ "title": "Scale person ref"
15
+ },
16
+ "class_type": "ImageScaleToMaxDimension",
17
+ "inputs": {
18
+ "image": [
19
+ "9",
20
+ 0
21
+ ],
22
+ "largest_size": [
23
+ "6",
24
+ 0
25
+ ],
26
+ "upscale_method": "lanczos"
27
+ }
28
+ },
29
+ "11": {
30
+ "_meta": {
31
+ "title": "VAE Encode Person"
32
+ },
33
+ "class_type": "VAEEncode",
34
+ "inputs": {
35
+ "pixels": [
36
+ "10",
37
+ 0
38
+ ],
39
+ "vae": [
40
+ "4",
41
+ 0
42
+ ]
43
+ }
44
+ },
45
+ "12": {
46
+ "_meta": {
47
+ "title": "Krea2 Edit (source patch)"
48
+ },
49
+ "class_type": "Krea2EditModelPatch",
50
+ "inputs": {
51
+ "fit_mode": "fit",
52
+ "model": [
53
+ "2",
54
+ 0
55
+ ],
56
+ "ref_boost": 4.0,
57
+ "ref_boost_a": 1.0,
58
+ "source_image": [
59
+ "7",
60
+ 0
61
+ ],
62
+ "source_image_b": [
63
+ "10",
64
+ 0
65
+ ],
66
+ "source_latent": [
67
+ "8",
68
+ 0
69
+ ],
70
+ "source_latent_b": [
71
+ "11",
72
+ 0
73
+ ],
74
+ "vae": [
75
+ "4",
76
+ 0
77
+ ]
78
+ }
79
+ },
80
+ "13": {
81
+ "_meta": {
82
+ "title": "Edit Instruction (grounded on source)"
83
+ },
84
+ "class_type": "Krea2EditGroundedEncode",
85
+ "inputs": {
86
+ "clip": [
87
+ "3",
88
+ 0
89
+ ],
90
+ "grounding_px": 768,
91
+ "image": [
92
+ "7",
93
+ 0
94
+ ],
95
+ "image_b": [
96
+ "10",
97
+ 0
98
+ ],
99
+ "prompt": "Replace the face of the woman in image 1 with the face of the woman in image 2. Keep the pose, outfit, body, lighting and background exactly the same.",
100
+ "system_prompt": ""
101
+ }
102
+ },
103
+ "14": {
104
+ "_meta": {
105
+ "title": "Negative (grounded \u2014 used at CFG > 1)"
106
+ },
107
+ "class_type": "Krea2EditGroundedEncode",
108
+ "inputs": {
109
+ "clip": [
110
+ "3",
111
+ 0
112
+ ],
113
+ "grounding_px": 768,
114
+ "image": [
115
+ "7",
116
+ 0
117
+ ],
118
+ "image_b": [
119
+ "10",
120
+ 0
121
+ ],
122
+ "prompt": "",
123
+ "system_prompt": ""
124
+ }
125
+ },
126
+ "15": {
127
+ "_meta": {
128
+ "title": "Target Latent"
129
+ },
130
+ "class_type": "EmptySD3LatentImage",
131
+ "inputs": {
132
+ "batch_size": 1,
133
+ "height": 1536,
134
+ "width": 1536
135
+ }
136
+ },
137
+ "16": {
138
+ "class_type": "KSampler",
139
+ "inputs": {
140
+ "cfg": 1.0,
141
+ "denoise": 1.0,
142
+ "latent_image": [
143
+ "15",
144
+ 0
145
+ ],
146
+ "model": [
147
+ "12",
148
+ 0
149
+ ],
150
+ "negative": [
151
+ "14",
152
+ 0
153
+ ],
154
+ "positive": [
155
+ "13",
156
+ 0
157
+ ],
158
+ "sampler_name": "er_sde",
159
+ "scheduler": "simple",
160
+ "seed": 42,
161
+ "steps": 8
162
+ }
163
+ },
164
+ "17": {
165
+ "class_type": "VAEDecode",
166
+ "inputs": {
167
+ "samples": [
168
+ "16",
169
+ 0
170
+ ],
171
+ "vae": [
172
+ "4",
173
+ 0
174
+ ]
175
+ }
176
+ },
177
+ "18": {
178
+ "class_type": "SaveImage",
179
+ "inputs": {
180
+ "filename_prefix": "new-krea2-faceswap-v12-turbo",
181
+ "images": [
182
+ "17",
183
+ 0
184
+ ]
185
+ }
186
+ },
187
+ "2": {
188
+ "_meta": {
189
+ "title": "Identity Edit LoRA v1.2 (required)"
190
+ },
191
+ "class_type": "LoraLoaderModelOnly",
192
+ "inputs": {
193
+ "lora_name": "krea2_identity_edit_v1_2.safetensors",
194
+ "model": [
195
+ "1",
196
+ 0
197
+ ],
198
+ "strength_model": 1.0
199
+ }
200
+ },
201
+ "3": {
202
+ "_meta": {
203
+ "title": "Load Text Encoder"
204
+ },
205
+ "class_type": "CLIPLoader",
206
+ "inputs": {
207
+ "clip_name": "qwen3vl_4b_fp8_scaled.safetensors",
208
+ "device": "default",
209
+ "type": "krea2"
210
+ }
211
+ },
212
+ "4": {
213
+ "_meta": {
214
+ "title": "Load VAE"
215
+ },
216
+ "class_type": "VAELoader",
217
+ "inputs": {
218
+ "vae_name": "qwen_image_vae.safetensors"
219
+ }
220
+ },
221
+ "5": {
222
+ "_meta": {
223
+ "title": "Body / Scene Image (image 1)"
224
+ },
225
+ "class_type": "LoadImage",
226
+ "inputs": {
227
+ "image": "body.jpg"
228
+ }
229
+ },
230
+ "6": {
231
+ "_meta": {
232
+ "title": "Input max size (longest edge)"
233
+ },
234
+ "class_type": "PrimitiveInt",
235
+ "inputs": {
236
+ "value": 1536
237
+ }
238
+ },
239
+ "7": {
240
+ "_meta": {
241
+ "title": "Scale source (longest edge = max size)"
242
+ },
243
+ "class_type": "ImageScaleToMaxDimension",
244
+ "inputs": {
245
+ "image": [
246
+ "5",
247
+ 0
248
+ ],
249
+ "largest_size": [
250
+ "6",
251
+ 0
252
+ ],
253
+ "upscale_method": "lanczos"
254
+ }
255
+ },
256
+ "8": {
257
+ "_meta": {
258
+ "title": "VAE Encode Source"
259
+ },
260
+ "class_type": "VAEEncode",
261
+ "inputs": {
262
+ "pixels": [
263
+ "7",
264
+ 0
265
+ ],
266
+ "vae": [
267
+ "4",
268
+ 0
269
+ ]
270
+ }
271
+ },
272
+ "9": {
273
+ "_meta": {
274
+ "title": "Face Reference (image 2)"
275
+ },
276
+ "class_type": "LoadImage",
277
+ "inputs": {
278
+ "image": "face.jpg"
279
+ }
280
+ }
281
+ }
workflows/new-krea2-faceswap-v12-raw.json ADDED
@@ -0,0 +1,1047 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "last_node_id": 19,
3
+ "last_link_id": 28,
4
+ "nodes": [
5
+ {
6
+ "id": 1,
7
+ "type": "UNETLoader",
8
+ "pos": [
9
+ 40,
10
+ 60
11
+ ],
12
+ "size": [
13
+ 340,
14
+ 82
15
+ ],
16
+ "flags": {},
17
+ "order": 0,
18
+ "mode": 0,
19
+ "inputs": [],
20
+ "outputs": [
21
+ {
22
+ "name": "MODEL",
23
+ "type": "MODEL",
24
+ "links": [
25
+ 1
26
+ ],
27
+ "slot_index": 0
28
+ }
29
+ ],
30
+ "properties": {
31
+ "Node name for S&R": "UNETLoader"
32
+ },
33
+ "widgets_values": [
34
+ "krea2_raw_bf16.safetensors",
35
+ "default"
36
+ ],
37
+ "title": "Load Krea 2 Diffusion Model"
38
+ },
39
+ {
40
+ "id": 2,
41
+ "type": "LoraLoaderModelOnly",
42
+ "pos": [
43
+ 40,
44
+ 200
45
+ ],
46
+ "size": [
47
+ 340,
48
+ 82
49
+ ],
50
+ "flags": {},
51
+ "order": 1,
52
+ "mode": 0,
53
+ "inputs": [
54
+ {
55
+ "name": "model",
56
+ "type": "MODEL",
57
+ "link": 1
58
+ }
59
+ ],
60
+ "outputs": [
61
+ {
62
+ "name": "MODEL",
63
+ "type": "MODEL",
64
+ "links": [
65
+ 10
66
+ ],
67
+ "slot_index": 0
68
+ }
69
+ ],
70
+ "properties": {
71
+ "Node name for S&R": "LoraLoaderModelOnly"
72
+ },
73
+ "widgets_values": [
74
+ "krea2_identity_edit_v1_2.safetensors",
75
+ 1.0
76
+ ],
77
+ "title": "Identity Edit LoRA v1.2 (required)"
78
+ },
79
+ {
80
+ "id": 3,
81
+ "type": "CLIPLoader",
82
+ "pos": [
83
+ 40,
84
+ 340
85
+ ],
86
+ "size": [
87
+ 340,
88
+ 106
89
+ ],
90
+ "flags": {},
91
+ "order": 2,
92
+ "mode": 0,
93
+ "inputs": [],
94
+ "outputs": [
95
+ {
96
+ "name": "CLIP",
97
+ "type": "CLIP",
98
+ "links": [
99
+ 16,
100
+ 18
101
+ ],
102
+ "slot_index": 0
103
+ }
104
+ ],
105
+ "properties": {
106
+ "Node name for S&R": "CLIPLoader"
107
+ },
108
+ "widgets_values": [
109
+ "qwen3vl_4b_bf16.safetensors",
110
+ "krea2",
111
+ "default"
112
+ ],
113
+ "title": "Load Text Encoder"
114
+ },
115
+ {
116
+ "id": 4,
117
+ "type": "VAELoader",
118
+ "pos": [
119
+ 40,
120
+ 500
121
+ ],
122
+ "size": [
123
+ 340,
124
+ 58
125
+ ],
126
+ "flags": {},
127
+ "order": 3,
128
+ "mode": 0,
129
+ "inputs": [],
130
+ "outputs": [
131
+ {
132
+ "name": "VAE",
133
+ "type": "VAE",
134
+ "links": [
135
+ 5,
136
+ 9,
137
+ 12,
138
+ 27
139
+ ],
140
+ "slot_index": 0
141
+ }
142
+ ],
143
+ "properties": {
144
+ "Node name for S&R": "VAELoader"
145
+ },
146
+ "widgets_values": [
147
+ "qwen_image_vae.safetensors"
148
+ ],
149
+ "title": "Load VAE"
150
+ },
151
+ {
152
+ "id": 5,
153
+ "type": "LoadImage",
154
+ "pos": [
155
+ 40,
156
+ 620
157
+ ],
158
+ "size": [
159
+ 340,
160
+ 314
161
+ ],
162
+ "flags": {},
163
+ "order": 4,
164
+ "mode": 0,
165
+ "inputs": [],
166
+ "outputs": [
167
+ {
168
+ "name": "IMAGE",
169
+ "type": "IMAGE",
170
+ "links": [
171
+ 2
172
+ ],
173
+ "slot_index": 0
174
+ },
175
+ {
176
+ "name": "MASK",
177
+ "type": "MASK",
178
+ "links": [],
179
+ "slot_index": 1
180
+ }
181
+ ],
182
+ "properties": {
183
+ "Node name for S&R": "LoadImage"
184
+ },
185
+ "widgets_values": [
186
+ "body.jpg",
187
+ "image"
188
+ ],
189
+ "title": "Body / Scene Image (image 1)"
190
+ },
191
+ {
192
+ "id": 6,
193
+ "type": "PrimitiveInt",
194
+ "pos": [
195
+ 760,
196
+ 300
197
+ ],
198
+ "size": [
199
+ 300,
200
+ 82
201
+ ],
202
+ "flags": {},
203
+ "order": 5,
204
+ "mode": 0,
205
+ "inputs": [],
206
+ "outputs": [
207
+ {
208
+ "name": "INT",
209
+ "type": "INT",
210
+ "links": [
211
+ 3,
212
+ 7
213
+ ],
214
+ "slot_index": 0
215
+ }
216
+ ],
217
+ "properties": {
218
+ "Node name for S&R": "PrimitiveInt"
219
+ },
220
+ "widgets_values": [
221
+ 1536,
222
+ "fixed"
223
+ ],
224
+ "title": "Input max size (longest edge)"
225
+ },
226
+ {
227
+ "id": 7,
228
+ "type": "ImageScaleToMaxDimension",
229
+ "pos": [
230
+ 440,
231
+ 620
232
+ ],
233
+ "size": [
234
+ 300,
235
+ 106
236
+ ],
237
+ "flags": {},
238
+ "order": 6,
239
+ "mode": 0,
240
+ "inputs": [
241
+ {
242
+ "name": "image",
243
+ "type": "IMAGE",
244
+ "link": 2
245
+ },
246
+ {
247
+ "name": "largest_size",
248
+ "type": "INT",
249
+ "link": 3,
250
+ "widget": {
251
+ "name": "largest_size"
252
+ }
253
+ }
254
+ ],
255
+ "outputs": [
256
+ {
257
+ "name": "IMAGE",
258
+ "type": "IMAGE",
259
+ "links": [
260
+ 4,
261
+ 13,
262
+ 17,
263
+ 19
264
+ ],
265
+ "slot_index": 0
266
+ }
267
+ ],
268
+ "properties": {
269
+ "Node name for S&R": "ImageScaleToMaxDimension"
270
+ },
271
+ "widgets_values": [
272
+ "lanczos",
273
+ 1536
274
+ ],
275
+ "title": "Scale source (longest edge = max size)"
276
+ },
277
+ {
278
+ "id": 8,
279
+ "type": "VAEEncode",
280
+ "pos": [
281
+ 440,
282
+ 920
283
+ ],
284
+ "size": [
285
+ 300,
286
+ 46
287
+ ],
288
+ "flags": {},
289
+ "order": 7,
290
+ "mode": 0,
291
+ "inputs": [
292
+ {
293
+ "name": "pixels",
294
+ "type": "IMAGE",
295
+ "link": 4
296
+ },
297
+ {
298
+ "name": "vae",
299
+ "type": "VAE",
300
+ "link": 5
301
+ }
302
+ ],
303
+ "outputs": [
304
+ {
305
+ "name": "LATENT",
306
+ "type": "LATENT",
307
+ "links": [
308
+ 11
309
+ ],
310
+ "slot_index": 0
311
+ }
312
+ ],
313
+ "properties": {
314
+ "Node name for S&R": "VAEEncode"
315
+ },
316
+ "title": "VAE Encode Source"
317
+ },
318
+ {
319
+ "id": 9,
320
+ "type": "LoadImage",
321
+ "pos": [
322
+ 40,
323
+ 990
324
+ ],
325
+ "size": [
326
+ 340,
327
+ 314
328
+ ],
329
+ "flags": {},
330
+ "order": 8,
331
+ "mode": 0,
332
+ "inputs": [],
333
+ "outputs": [
334
+ {
335
+ "name": "IMAGE",
336
+ "type": "IMAGE",
337
+ "links": [
338
+ 6
339
+ ],
340
+ "slot_index": 0
341
+ },
342
+ {
343
+ "name": "MASK",
344
+ "type": "MASK",
345
+ "links": [],
346
+ "slot_index": 1
347
+ }
348
+ ],
349
+ "properties": {
350
+ "Node name for S&R": "LoadImage"
351
+ },
352
+ "widgets_values": [
353
+ "face.jpg",
354
+ "image"
355
+ ],
356
+ "title": "Face Reference (image 2)"
357
+ },
358
+ {
359
+ "id": 10,
360
+ "type": "ImageScaleToMaxDimension",
361
+ "pos": [
362
+ 440,
363
+ 990
364
+ ],
365
+ "size": [
366
+ 300,
367
+ 106
368
+ ],
369
+ "flags": {},
370
+ "order": 9,
371
+ "mode": 0,
372
+ "inputs": [
373
+ {
374
+ "name": "image",
375
+ "type": "IMAGE",
376
+ "link": 6
377
+ },
378
+ {
379
+ "name": "largest_size",
380
+ "type": "INT",
381
+ "link": 7,
382
+ "widget": {
383
+ "name": "largest_size"
384
+ }
385
+ }
386
+ ],
387
+ "outputs": [
388
+ {
389
+ "name": "IMAGE",
390
+ "type": "IMAGE",
391
+ "links": [
392
+ 8,
393
+ 15,
394
+ 20,
395
+ 21
396
+ ],
397
+ "slot_index": 0
398
+ }
399
+ ],
400
+ "properties": {
401
+ "Node name for S&R": "ImageScaleToMaxDimension"
402
+ },
403
+ "widgets_values": [
404
+ "lanczos",
405
+ 1536
406
+ ],
407
+ "title": "Scale person ref"
408
+ },
409
+ {
410
+ "id": 11,
411
+ "type": "VAEEncode",
412
+ "pos": [
413
+ 440,
414
+ 1130
415
+ ],
416
+ "size": [
417
+ 300,
418
+ 46
419
+ ],
420
+ "flags": {},
421
+ "order": 10,
422
+ "mode": 0,
423
+ "inputs": [
424
+ {
425
+ "name": "pixels",
426
+ "type": "IMAGE",
427
+ "link": 8
428
+ },
429
+ {
430
+ "name": "vae",
431
+ "type": "VAE",
432
+ "link": 9
433
+ }
434
+ ],
435
+ "outputs": [
436
+ {
437
+ "name": "LATENT",
438
+ "type": "LATENT",
439
+ "links": [
440
+ 14
441
+ ],
442
+ "slot_index": 0
443
+ }
444
+ ],
445
+ "properties": {
446
+ "Node name for S&R": "VAEEncode"
447
+ },
448
+ "title": "VAE Encode Person"
449
+ },
450
+ {
451
+ "id": 12,
452
+ "type": "Krea2EditModelPatch",
453
+ "pos": [
454
+ 760,
455
+ 440
456
+ ],
457
+ "size": [
458
+ 300,
459
+ 190
460
+ ],
461
+ "flags": {},
462
+ "order": 11,
463
+ "mode": 0,
464
+ "inputs": [
465
+ {
466
+ "name": "model",
467
+ "type": "MODEL",
468
+ "link": 10
469
+ },
470
+ {
471
+ "name": "source_latent",
472
+ "type": "LATENT",
473
+ "link": 11
474
+ },
475
+ {
476
+ "name": "source_latent_b",
477
+ "type": "LATENT",
478
+ "link": 14
479
+ },
480
+ {
481
+ "name": "ref_boost_mask",
482
+ "type": "MASK",
483
+ "link": null
484
+ },
485
+ {
486
+ "name": "vae",
487
+ "type": "VAE",
488
+ "link": 12
489
+ },
490
+ {
491
+ "name": "source_image",
492
+ "type": "IMAGE",
493
+ "link": 13
494
+ },
495
+ {
496
+ "name": "source_image_b",
497
+ "type": "IMAGE",
498
+ "link": 15
499
+ }
500
+ ],
501
+ "outputs": [
502
+ {
503
+ "name": "MODEL",
504
+ "type": "MODEL",
505
+ "links": [
506
+ 22
507
+ ],
508
+ "slot_index": 0
509
+ }
510
+ ],
511
+ "properties": {
512
+ "Node name for S&R": "Krea2EditModelPatch",
513
+ "aux_id": "lbouaraba/comfyui-krea2edit",
514
+ "ver": "207c52d52b25f5ed23cd9bc5c2d88c6cf3026686"
515
+ },
516
+ "widgets_values": [
517
+ 4.0,
518
+ 1.0,
519
+ "fit"
520
+ ],
521
+ "title": "Krea2 Edit (source patch)"
522
+ },
523
+ {
524
+ "id": 13,
525
+ "type": "Krea2EditGroundedEncode",
526
+ "pos": [
527
+ 440,
528
+ 60
529
+ ],
530
+ "size": [
531
+ 420,
532
+ 190
533
+ ],
534
+ "flags": {},
535
+ "order": 12,
536
+ "mode": 0,
537
+ "inputs": [
538
+ {
539
+ "name": "clip",
540
+ "type": "CLIP",
541
+ "link": 16
542
+ },
543
+ {
544
+ "name": "image",
545
+ "type": "IMAGE",
546
+ "link": 17
547
+ },
548
+ {
549
+ "name": "image_b",
550
+ "type": "IMAGE",
551
+ "link": 20
552
+ }
553
+ ],
554
+ "outputs": [
555
+ {
556
+ "name": "CONDITIONING",
557
+ "type": "CONDITIONING",
558
+ "links": [
559
+ 23
560
+ ],
561
+ "slot_index": 0
562
+ }
563
+ ],
564
+ "properties": {
565
+ "Node name for S&R": "Krea2EditGroundedEncode",
566
+ "aux_id": "lbouaraba/comfyui-krea2edit",
567
+ "ver": "207c52d52b25f5ed23cd9bc5c2d88c6cf3026686"
568
+ },
569
+ "widgets_values": [
570
+ "Replace the face of the woman in image 1 with the face of the woman in image 2. Keep the pose, outfit, body, lighting and background exactly the same.",
571
+ 768,
572
+ ""
573
+ ],
574
+ "title": "Edit Instruction (grounded on source)"
575
+ },
576
+ {
577
+ "id": 14,
578
+ "type": "Krea2EditGroundedEncode",
579
+ "pos": [
580
+ 440,
581
+ 300
582
+ ],
583
+ "size": [
584
+ 420,
585
+ 130
586
+ ],
587
+ "flags": {},
588
+ "order": 13,
589
+ "mode": 0,
590
+ "inputs": [
591
+ {
592
+ "name": "clip",
593
+ "type": "CLIP",
594
+ "link": 18
595
+ },
596
+ {
597
+ "name": "image",
598
+ "type": "IMAGE",
599
+ "link": 19
600
+ },
601
+ {
602
+ "name": "image_b",
603
+ "type": "IMAGE",
604
+ "link": 21
605
+ }
606
+ ],
607
+ "outputs": [
608
+ {
609
+ "name": "CONDITIONING",
610
+ "type": "CONDITIONING",
611
+ "links": [
612
+ 24
613
+ ],
614
+ "slot_index": 0
615
+ }
616
+ ],
617
+ "properties": {
618
+ "Node name for S&R": "Krea2EditGroundedEncode",
619
+ "aux_id": "lbouaraba/comfyui-krea2edit",
620
+ "ver": "207c52d52b25f5ed23cd9bc5c2d88c6cf3026686"
621
+ },
622
+ "widgets_values": [
623
+ "blurry, low quality, jpeg artifacts, oversaturated, plastic skin, deformed face, extra fingers",
624
+ 768,
625
+ ""
626
+ ],
627
+ "title": "Negative (grounded \u2014 used at CFG > 1)"
628
+ },
629
+ {
630
+ "id": 15,
631
+ "type": "EmptySD3LatentImage",
632
+ "pos": [
633
+ 760,
634
+ 620
635
+ ],
636
+ "size": [
637
+ 300,
638
+ 106
639
+ ],
640
+ "flags": {},
641
+ "order": 14,
642
+ "mode": 0,
643
+ "inputs": [],
644
+ "outputs": [
645
+ {
646
+ "name": "LATENT",
647
+ "type": "LATENT",
648
+ "links": [
649
+ 25
650
+ ],
651
+ "slot_index": 0
652
+ }
653
+ ],
654
+ "properties": {
655
+ "Node name for S&R": "EmptySD3LatentImage"
656
+ },
657
+ "widgets_values": [
658
+ 1536,
659
+ 1536,
660
+ 1
661
+ ],
662
+ "title": "Target Latent"
663
+ },
664
+ {
665
+ "id": 16,
666
+ "type": "KSampler",
667
+ "pos": [
668
+ 1120,
669
+ 60
670
+ ],
671
+ "size": [
672
+ 315,
673
+ 262
674
+ ],
675
+ "flags": {},
676
+ "order": 15,
677
+ "mode": 0,
678
+ "inputs": [
679
+ {
680
+ "name": "model",
681
+ "type": "MODEL",
682
+ "link": 22
683
+ },
684
+ {
685
+ "name": "positive",
686
+ "type": "CONDITIONING",
687
+ "link": 23
688
+ },
689
+ {
690
+ "name": "negative",
691
+ "type": "CONDITIONING",
692
+ "link": 24
693
+ },
694
+ {
695
+ "name": "latent_image",
696
+ "type": "LATENT",
697
+ "link": 25
698
+ }
699
+ ],
700
+ "outputs": [
701
+ {
702
+ "name": "LATENT",
703
+ "type": "LATENT",
704
+ "links": [
705
+ 26
706
+ ],
707
+ "slot_index": 0
708
+ }
709
+ ],
710
+ "properties": {
711
+ "Node name for S&R": "KSampler"
712
+ },
713
+ "widgets_values": [
714
+ 42,
715
+ "randomize",
716
+ 50,
717
+ 2.5,
718
+ "er_sde",
719
+ "simple",
720
+ 1.0
721
+ ]
722
+ },
723
+ {
724
+ "id": 17,
725
+ "type": "VAEDecode",
726
+ "pos": [
727
+ 1120,
728
+ 380
729
+ ],
730
+ "size": [
731
+ 210,
732
+ 46
733
+ ],
734
+ "flags": {},
735
+ "order": 16,
736
+ "mode": 0,
737
+ "inputs": [
738
+ {
739
+ "name": "samples",
740
+ "type": "LATENT",
741
+ "link": 26
742
+ },
743
+ {
744
+ "name": "vae",
745
+ "type": "VAE",
746
+ "link": 27
747
+ }
748
+ ],
749
+ "outputs": [
750
+ {
751
+ "name": "IMAGE",
752
+ "type": "IMAGE",
753
+ "links": [
754
+ 28
755
+ ],
756
+ "slot_index": 0
757
+ }
758
+ ],
759
+ "properties": {
760
+ "Node name for S&R": "VAEDecode"
761
+ }
762
+ },
763
+ {
764
+ "id": 18,
765
+ "type": "SaveImage",
766
+ "pos": [
767
+ 1120,
768
+ 480
769
+ ],
770
+ "size": [
771
+ 360,
772
+ 270
773
+ ],
774
+ "flags": {},
775
+ "order": 17,
776
+ "mode": 0,
777
+ "inputs": [
778
+ {
779
+ "name": "images",
780
+ "type": "IMAGE",
781
+ "link": 28
782
+ }
783
+ ],
784
+ "outputs": [],
785
+ "properties": {
786
+ "Node name for S&R": "SaveImage"
787
+ },
788
+ "widgets_values": [
789
+ "new-krea2-faceswap-v12-raw"
790
+ ]
791
+ },
792
+ {
793
+ "id": 19,
794
+ "type": "MarkdownNote",
795
+ "pos": [
796
+ 1500,
797
+ 60
798
+ ],
799
+ "size": [
800
+ 520,
801
+ 460
802
+ ],
803
+ "flags": {},
804
+ "order": 18,
805
+ "mode": 0,
806
+ "inputs": [],
807
+ "outputs": [],
808
+ "properties": {
809
+ "Node name for S&R": "MarkdownNote"
810
+ },
811
+ "widgets_values": [
812
+ "## Krea 2 FACE SWAP \u2014 v1.2, RAW bf16 + bf16 TE (max quality, ~5min)\n\n**FACE SWAP (v1.2 recipe \u2014 benchmark winner):** this is the exact configuration that won our identity benchmarks. Body/scene = image 1, face reference = image 2. Baked-in winning settings: `krea2_identity_edit_v1_2` LoRA @1.0, `fit_mode: fit` (handles mismatched aspect ratios), `ref_boost: 4` (strong likeness pull toward the face reference \u2014 the v1.2 dial; >10 breaks removals). Face/head swap is a trained skill of the v1.2 weights (stablellama's change_eye_face_head_person dataset).\n\nFrom [The AI Blueprint's Krea 2 Identity LoRA tutorial](https://www.youtube.com/watch?v=44E8s0ejj4g).\n\n**Required:** `krea2_identity_edit_v1_1.safetensors` ([conradlocke/krea2-identity-edit](https://huggingface.co/conradlocke/krea2-identity-edit)) at strength 1.0 plus the [comfyui-krea2edit](https://github.com/lbouaraba/comfyui-krea2edit) node pack. Both **Krea2 Edit (source patch)** and both **grounded encode** nodes are mandatory \u2014 do not bypass them. `fit_mode` is set to `crop (legacy)` because these are the v1.1 weights; if you switch to the `v1_2` LoRA, set it to `fit` and try `ref_boost` 4 for stronger likeness.\n\n**grounding_px** (768 default): lower = stronger edit adherence, higher = stronger identity. v1.1 trained range 384\u2013768.\n\nRaw bf16 with the bf16 text encoder, 50 steps / CFG 2.5 / `er_sde` (H100-class VRAM). Produced benchmark output `faceswap-raw-v12`."
813
+ ],
814
+ "title": "About this workflow"
815
+ }
816
+ ],
817
+ "links": [
818
+ [
819
+ 1,
820
+ 1,
821
+ 0,
822
+ 2,
823
+ 0,
824
+ "MODEL"
825
+ ],
826
+ [
827
+ 2,
828
+ 5,
829
+ 0,
830
+ 7,
831
+ 0,
832
+ "IMAGE"
833
+ ],
834
+ [
835
+ 3,
836
+ 6,
837
+ 0,
838
+ 7,
839
+ 1,
840
+ "INT"
841
+ ],
842
+ [
843
+ 4,
844
+ 7,
845
+ 0,
846
+ 8,
847
+ 0,
848
+ "IMAGE"
849
+ ],
850
+ [
851
+ 5,
852
+ 4,
853
+ 0,
854
+ 8,
855
+ 1,
856
+ "VAE"
857
+ ],
858
+ [
859
+ 6,
860
+ 9,
861
+ 0,
862
+ 10,
863
+ 0,
864
+ "IMAGE"
865
+ ],
866
+ [
867
+ 7,
868
+ 6,
869
+ 0,
870
+ 10,
871
+ 1,
872
+ "INT"
873
+ ],
874
+ [
875
+ 8,
876
+ 10,
877
+ 0,
878
+ 11,
879
+ 0,
880
+ "IMAGE"
881
+ ],
882
+ [
883
+ 9,
884
+ 4,
885
+ 0,
886
+ 11,
887
+ 1,
888
+ "VAE"
889
+ ],
890
+ [
891
+ 10,
892
+ 2,
893
+ 0,
894
+ 12,
895
+ 0,
896
+ "MODEL"
897
+ ],
898
+ [
899
+ 11,
900
+ 8,
901
+ 0,
902
+ 12,
903
+ 1,
904
+ "LATENT"
905
+ ],
906
+ [
907
+ 12,
908
+ 4,
909
+ 0,
910
+ 12,
911
+ 4,
912
+ "VAE"
913
+ ],
914
+ [
915
+ 13,
916
+ 7,
917
+ 0,
918
+ 12,
919
+ 5,
920
+ "IMAGE"
921
+ ],
922
+ [
923
+ 14,
924
+ 11,
925
+ 0,
926
+ 12,
927
+ 2,
928
+ "LATENT"
929
+ ],
930
+ [
931
+ 15,
932
+ 10,
933
+ 0,
934
+ 12,
935
+ 6,
936
+ "IMAGE"
937
+ ],
938
+ [
939
+ 16,
940
+ 3,
941
+ 0,
942
+ 13,
943
+ 0,
944
+ "CLIP"
945
+ ],
946
+ [
947
+ 17,
948
+ 7,
949
+ 0,
950
+ 13,
951
+ 1,
952
+ "IMAGE"
953
+ ],
954
+ [
955
+ 18,
956
+ 3,
957
+ 0,
958
+ 14,
959
+ 0,
960
+ "CLIP"
961
+ ],
962
+ [
963
+ 19,
964
+ 7,
965
+ 0,
966
+ 14,
967
+ 1,
968
+ "IMAGE"
969
+ ],
970
+ [
971
+ 20,
972
+ 10,
973
+ 0,
974
+ 13,
975
+ 2,
976
+ "IMAGE"
977
+ ],
978
+ [
979
+ 21,
980
+ 10,
981
+ 0,
982
+ 14,
983
+ 2,
984
+ "IMAGE"
985
+ ],
986
+ [
987
+ 22,
988
+ 12,
989
+ 0,
990
+ 16,
991
+ 0,
992
+ "MODEL"
993
+ ],
994
+ [
995
+ 23,
996
+ 13,
997
+ 0,
998
+ 16,
999
+ 1,
1000
+ "CONDITIONING"
1001
+ ],
1002
+ [
1003
+ 24,
1004
+ 14,
1005
+ 0,
1006
+ 16,
1007
+ 2,
1008
+ "CONDITIONING"
1009
+ ],
1010
+ [
1011
+ 25,
1012
+ 15,
1013
+ 0,
1014
+ 16,
1015
+ 3,
1016
+ "LATENT"
1017
+ ],
1018
+ [
1019
+ 26,
1020
+ 16,
1021
+ 0,
1022
+ 17,
1023
+ 0,
1024
+ "LATENT"
1025
+ ],
1026
+ [
1027
+ 27,
1028
+ 4,
1029
+ 0,
1030
+ 17,
1031
+ 1,
1032
+ "VAE"
1033
+ ],
1034
+ [
1035
+ 28,
1036
+ 17,
1037
+ 0,
1038
+ 18,
1039
+ 0,
1040
+ "IMAGE"
1041
+ ]
1042
+ ],
1043
+ "groups": [],
1044
+ "config": {},
1045
+ "extra": {},
1046
+ "version": 0.4
1047
+ }
workflows/new-krea2-faceswap-v12-turbo.json ADDED
@@ -0,0 +1,1047 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "last_node_id": 19,
3
+ "last_link_id": 28,
4
+ "nodes": [
5
+ {
6
+ "id": 1,
7
+ "type": "UNETLoader",
8
+ "pos": [
9
+ 40,
10
+ 60
11
+ ],
12
+ "size": [
13
+ 340,
14
+ 82
15
+ ],
16
+ "flags": {},
17
+ "order": 0,
18
+ "mode": 0,
19
+ "inputs": [],
20
+ "outputs": [
21
+ {
22
+ "name": "MODEL",
23
+ "type": "MODEL",
24
+ "links": [
25
+ 1
26
+ ],
27
+ "slot_index": 0
28
+ }
29
+ ],
30
+ "properties": {
31
+ "Node name for S&R": "UNETLoader"
32
+ },
33
+ "widgets_values": [
34
+ "krea2_turbo_mxfp8.safetensors",
35
+ "default"
36
+ ],
37
+ "title": "Load Krea 2 Diffusion Model"
38
+ },
39
+ {
40
+ "id": 2,
41
+ "type": "LoraLoaderModelOnly",
42
+ "pos": [
43
+ 40,
44
+ 200
45
+ ],
46
+ "size": [
47
+ 340,
48
+ 82
49
+ ],
50
+ "flags": {},
51
+ "order": 1,
52
+ "mode": 0,
53
+ "inputs": [
54
+ {
55
+ "name": "model",
56
+ "type": "MODEL",
57
+ "link": 1
58
+ }
59
+ ],
60
+ "outputs": [
61
+ {
62
+ "name": "MODEL",
63
+ "type": "MODEL",
64
+ "links": [
65
+ 10
66
+ ],
67
+ "slot_index": 0
68
+ }
69
+ ],
70
+ "properties": {
71
+ "Node name for S&R": "LoraLoaderModelOnly"
72
+ },
73
+ "widgets_values": [
74
+ "krea2_identity_edit_v1_2.safetensors",
75
+ 1.0
76
+ ],
77
+ "title": "Identity Edit LoRA v1.2 (required)"
78
+ },
79
+ {
80
+ "id": 3,
81
+ "type": "CLIPLoader",
82
+ "pos": [
83
+ 40,
84
+ 340
85
+ ],
86
+ "size": [
87
+ 340,
88
+ 106
89
+ ],
90
+ "flags": {},
91
+ "order": 2,
92
+ "mode": 0,
93
+ "inputs": [],
94
+ "outputs": [
95
+ {
96
+ "name": "CLIP",
97
+ "type": "CLIP",
98
+ "links": [
99
+ 16,
100
+ 18
101
+ ],
102
+ "slot_index": 0
103
+ }
104
+ ],
105
+ "properties": {
106
+ "Node name for S&R": "CLIPLoader"
107
+ },
108
+ "widgets_values": [
109
+ "qwen3vl_4b_fp8_scaled.safetensors",
110
+ "krea2",
111
+ "default"
112
+ ],
113
+ "title": "Load Text Encoder"
114
+ },
115
+ {
116
+ "id": 4,
117
+ "type": "VAELoader",
118
+ "pos": [
119
+ 40,
120
+ 500
121
+ ],
122
+ "size": [
123
+ 340,
124
+ 58
125
+ ],
126
+ "flags": {},
127
+ "order": 3,
128
+ "mode": 0,
129
+ "inputs": [],
130
+ "outputs": [
131
+ {
132
+ "name": "VAE",
133
+ "type": "VAE",
134
+ "links": [
135
+ 5,
136
+ 9,
137
+ 12,
138
+ 27
139
+ ],
140
+ "slot_index": 0
141
+ }
142
+ ],
143
+ "properties": {
144
+ "Node name for S&R": "VAELoader"
145
+ },
146
+ "widgets_values": [
147
+ "qwen_image_vae.safetensors"
148
+ ],
149
+ "title": "Load VAE"
150
+ },
151
+ {
152
+ "id": 5,
153
+ "type": "LoadImage",
154
+ "pos": [
155
+ 40,
156
+ 620
157
+ ],
158
+ "size": [
159
+ 340,
160
+ 314
161
+ ],
162
+ "flags": {},
163
+ "order": 4,
164
+ "mode": 0,
165
+ "inputs": [],
166
+ "outputs": [
167
+ {
168
+ "name": "IMAGE",
169
+ "type": "IMAGE",
170
+ "links": [
171
+ 2
172
+ ],
173
+ "slot_index": 0
174
+ },
175
+ {
176
+ "name": "MASK",
177
+ "type": "MASK",
178
+ "links": [],
179
+ "slot_index": 1
180
+ }
181
+ ],
182
+ "properties": {
183
+ "Node name for S&R": "LoadImage"
184
+ },
185
+ "widgets_values": [
186
+ "body.jpg",
187
+ "image"
188
+ ],
189
+ "title": "Body / Scene Image (image 1)"
190
+ },
191
+ {
192
+ "id": 6,
193
+ "type": "PrimitiveInt",
194
+ "pos": [
195
+ 760,
196
+ 300
197
+ ],
198
+ "size": [
199
+ 300,
200
+ 82
201
+ ],
202
+ "flags": {},
203
+ "order": 5,
204
+ "mode": 0,
205
+ "inputs": [],
206
+ "outputs": [
207
+ {
208
+ "name": "INT",
209
+ "type": "INT",
210
+ "links": [
211
+ 3,
212
+ 7
213
+ ],
214
+ "slot_index": 0
215
+ }
216
+ ],
217
+ "properties": {
218
+ "Node name for S&R": "PrimitiveInt"
219
+ },
220
+ "widgets_values": [
221
+ 1536,
222
+ "fixed"
223
+ ],
224
+ "title": "Input max size (longest edge)"
225
+ },
226
+ {
227
+ "id": 7,
228
+ "type": "ImageScaleToMaxDimension",
229
+ "pos": [
230
+ 440,
231
+ 620
232
+ ],
233
+ "size": [
234
+ 300,
235
+ 106
236
+ ],
237
+ "flags": {},
238
+ "order": 6,
239
+ "mode": 0,
240
+ "inputs": [
241
+ {
242
+ "name": "image",
243
+ "type": "IMAGE",
244
+ "link": 2
245
+ },
246
+ {
247
+ "name": "largest_size",
248
+ "type": "INT",
249
+ "link": 3,
250
+ "widget": {
251
+ "name": "largest_size"
252
+ }
253
+ }
254
+ ],
255
+ "outputs": [
256
+ {
257
+ "name": "IMAGE",
258
+ "type": "IMAGE",
259
+ "links": [
260
+ 4,
261
+ 13,
262
+ 17,
263
+ 19
264
+ ],
265
+ "slot_index": 0
266
+ }
267
+ ],
268
+ "properties": {
269
+ "Node name for S&R": "ImageScaleToMaxDimension"
270
+ },
271
+ "widgets_values": [
272
+ "lanczos",
273
+ 1536
274
+ ],
275
+ "title": "Scale source (longest edge = max size)"
276
+ },
277
+ {
278
+ "id": 8,
279
+ "type": "VAEEncode",
280
+ "pos": [
281
+ 440,
282
+ 920
283
+ ],
284
+ "size": [
285
+ 300,
286
+ 46
287
+ ],
288
+ "flags": {},
289
+ "order": 7,
290
+ "mode": 0,
291
+ "inputs": [
292
+ {
293
+ "name": "pixels",
294
+ "type": "IMAGE",
295
+ "link": 4
296
+ },
297
+ {
298
+ "name": "vae",
299
+ "type": "VAE",
300
+ "link": 5
301
+ }
302
+ ],
303
+ "outputs": [
304
+ {
305
+ "name": "LATENT",
306
+ "type": "LATENT",
307
+ "links": [
308
+ 11
309
+ ],
310
+ "slot_index": 0
311
+ }
312
+ ],
313
+ "properties": {
314
+ "Node name for S&R": "VAEEncode"
315
+ },
316
+ "title": "VAE Encode Source"
317
+ },
318
+ {
319
+ "id": 9,
320
+ "type": "LoadImage",
321
+ "pos": [
322
+ 40,
323
+ 990
324
+ ],
325
+ "size": [
326
+ 340,
327
+ 314
328
+ ],
329
+ "flags": {},
330
+ "order": 8,
331
+ "mode": 0,
332
+ "inputs": [],
333
+ "outputs": [
334
+ {
335
+ "name": "IMAGE",
336
+ "type": "IMAGE",
337
+ "links": [
338
+ 6
339
+ ],
340
+ "slot_index": 0
341
+ },
342
+ {
343
+ "name": "MASK",
344
+ "type": "MASK",
345
+ "links": [],
346
+ "slot_index": 1
347
+ }
348
+ ],
349
+ "properties": {
350
+ "Node name for S&R": "LoadImage"
351
+ },
352
+ "widgets_values": [
353
+ "face.jpg",
354
+ "image"
355
+ ],
356
+ "title": "Face Reference (image 2)"
357
+ },
358
+ {
359
+ "id": 10,
360
+ "type": "ImageScaleToMaxDimension",
361
+ "pos": [
362
+ 440,
363
+ 990
364
+ ],
365
+ "size": [
366
+ 300,
367
+ 106
368
+ ],
369
+ "flags": {},
370
+ "order": 9,
371
+ "mode": 0,
372
+ "inputs": [
373
+ {
374
+ "name": "image",
375
+ "type": "IMAGE",
376
+ "link": 6
377
+ },
378
+ {
379
+ "name": "largest_size",
380
+ "type": "INT",
381
+ "link": 7,
382
+ "widget": {
383
+ "name": "largest_size"
384
+ }
385
+ }
386
+ ],
387
+ "outputs": [
388
+ {
389
+ "name": "IMAGE",
390
+ "type": "IMAGE",
391
+ "links": [
392
+ 8,
393
+ 15,
394
+ 20,
395
+ 21
396
+ ],
397
+ "slot_index": 0
398
+ }
399
+ ],
400
+ "properties": {
401
+ "Node name for S&R": "ImageScaleToMaxDimension"
402
+ },
403
+ "widgets_values": [
404
+ "lanczos",
405
+ 1536
406
+ ],
407
+ "title": "Scale person ref"
408
+ },
409
+ {
410
+ "id": 11,
411
+ "type": "VAEEncode",
412
+ "pos": [
413
+ 440,
414
+ 1130
415
+ ],
416
+ "size": [
417
+ 300,
418
+ 46
419
+ ],
420
+ "flags": {},
421
+ "order": 10,
422
+ "mode": 0,
423
+ "inputs": [
424
+ {
425
+ "name": "pixels",
426
+ "type": "IMAGE",
427
+ "link": 8
428
+ },
429
+ {
430
+ "name": "vae",
431
+ "type": "VAE",
432
+ "link": 9
433
+ }
434
+ ],
435
+ "outputs": [
436
+ {
437
+ "name": "LATENT",
438
+ "type": "LATENT",
439
+ "links": [
440
+ 14
441
+ ],
442
+ "slot_index": 0
443
+ }
444
+ ],
445
+ "properties": {
446
+ "Node name for S&R": "VAEEncode"
447
+ },
448
+ "title": "VAE Encode Person"
449
+ },
450
+ {
451
+ "id": 12,
452
+ "type": "Krea2EditModelPatch",
453
+ "pos": [
454
+ 760,
455
+ 440
456
+ ],
457
+ "size": [
458
+ 300,
459
+ 190
460
+ ],
461
+ "flags": {},
462
+ "order": 11,
463
+ "mode": 0,
464
+ "inputs": [
465
+ {
466
+ "name": "model",
467
+ "type": "MODEL",
468
+ "link": 10
469
+ },
470
+ {
471
+ "name": "source_latent",
472
+ "type": "LATENT",
473
+ "link": 11
474
+ },
475
+ {
476
+ "name": "source_latent_b",
477
+ "type": "LATENT",
478
+ "link": 14
479
+ },
480
+ {
481
+ "name": "ref_boost_mask",
482
+ "type": "MASK",
483
+ "link": null
484
+ },
485
+ {
486
+ "name": "vae",
487
+ "type": "VAE",
488
+ "link": 12
489
+ },
490
+ {
491
+ "name": "source_image",
492
+ "type": "IMAGE",
493
+ "link": 13
494
+ },
495
+ {
496
+ "name": "source_image_b",
497
+ "type": "IMAGE",
498
+ "link": 15
499
+ }
500
+ ],
501
+ "outputs": [
502
+ {
503
+ "name": "MODEL",
504
+ "type": "MODEL",
505
+ "links": [
506
+ 22
507
+ ],
508
+ "slot_index": 0
509
+ }
510
+ ],
511
+ "properties": {
512
+ "Node name for S&R": "Krea2EditModelPatch",
513
+ "aux_id": "lbouaraba/comfyui-krea2edit",
514
+ "ver": "207c52d52b25f5ed23cd9bc5c2d88c6cf3026686"
515
+ },
516
+ "widgets_values": [
517
+ 4.0,
518
+ 1.0,
519
+ "fit"
520
+ ],
521
+ "title": "Krea2 Edit (source patch)"
522
+ },
523
+ {
524
+ "id": 13,
525
+ "type": "Krea2EditGroundedEncode",
526
+ "pos": [
527
+ 440,
528
+ 60
529
+ ],
530
+ "size": [
531
+ 420,
532
+ 190
533
+ ],
534
+ "flags": {},
535
+ "order": 12,
536
+ "mode": 0,
537
+ "inputs": [
538
+ {
539
+ "name": "clip",
540
+ "type": "CLIP",
541
+ "link": 16
542
+ },
543
+ {
544
+ "name": "image",
545
+ "type": "IMAGE",
546
+ "link": 17
547
+ },
548
+ {
549
+ "name": "image_b",
550
+ "type": "IMAGE",
551
+ "link": 20
552
+ }
553
+ ],
554
+ "outputs": [
555
+ {
556
+ "name": "CONDITIONING",
557
+ "type": "CONDITIONING",
558
+ "links": [
559
+ 23
560
+ ],
561
+ "slot_index": 0
562
+ }
563
+ ],
564
+ "properties": {
565
+ "Node name for S&R": "Krea2EditGroundedEncode",
566
+ "aux_id": "lbouaraba/comfyui-krea2edit",
567
+ "ver": "207c52d52b25f5ed23cd9bc5c2d88c6cf3026686"
568
+ },
569
+ "widgets_values": [
570
+ "Replace the face of the woman in image 1 with the face of the woman in image 2. Keep the pose, outfit, body, lighting and background exactly the same.",
571
+ 768,
572
+ ""
573
+ ],
574
+ "title": "Edit Instruction (grounded on source)"
575
+ },
576
+ {
577
+ "id": 14,
578
+ "type": "Krea2EditGroundedEncode",
579
+ "pos": [
580
+ 440,
581
+ 300
582
+ ],
583
+ "size": [
584
+ 420,
585
+ 130
586
+ ],
587
+ "flags": {},
588
+ "order": 13,
589
+ "mode": 0,
590
+ "inputs": [
591
+ {
592
+ "name": "clip",
593
+ "type": "CLIP",
594
+ "link": 18
595
+ },
596
+ {
597
+ "name": "image",
598
+ "type": "IMAGE",
599
+ "link": 19
600
+ },
601
+ {
602
+ "name": "image_b",
603
+ "type": "IMAGE",
604
+ "link": 21
605
+ }
606
+ ],
607
+ "outputs": [
608
+ {
609
+ "name": "CONDITIONING",
610
+ "type": "CONDITIONING",
611
+ "links": [
612
+ 24
613
+ ],
614
+ "slot_index": 0
615
+ }
616
+ ],
617
+ "properties": {
618
+ "Node name for S&R": "Krea2EditGroundedEncode",
619
+ "aux_id": "lbouaraba/comfyui-krea2edit",
620
+ "ver": "207c52d52b25f5ed23cd9bc5c2d88c6cf3026686"
621
+ },
622
+ "widgets_values": [
623
+ "",
624
+ 768,
625
+ ""
626
+ ],
627
+ "title": "Negative (grounded \u2014 used at CFG > 1)"
628
+ },
629
+ {
630
+ "id": 15,
631
+ "type": "EmptySD3LatentImage",
632
+ "pos": [
633
+ 760,
634
+ 620
635
+ ],
636
+ "size": [
637
+ 300,
638
+ 106
639
+ ],
640
+ "flags": {},
641
+ "order": 14,
642
+ "mode": 0,
643
+ "inputs": [],
644
+ "outputs": [
645
+ {
646
+ "name": "LATENT",
647
+ "type": "LATENT",
648
+ "links": [
649
+ 25
650
+ ],
651
+ "slot_index": 0
652
+ }
653
+ ],
654
+ "properties": {
655
+ "Node name for S&R": "EmptySD3LatentImage"
656
+ },
657
+ "widgets_values": [
658
+ 1536,
659
+ 1536,
660
+ 1
661
+ ],
662
+ "title": "Target Latent"
663
+ },
664
+ {
665
+ "id": 16,
666
+ "type": "KSampler",
667
+ "pos": [
668
+ 1120,
669
+ 60
670
+ ],
671
+ "size": [
672
+ 315,
673
+ 262
674
+ ],
675
+ "flags": {},
676
+ "order": 15,
677
+ "mode": 0,
678
+ "inputs": [
679
+ {
680
+ "name": "model",
681
+ "type": "MODEL",
682
+ "link": 22
683
+ },
684
+ {
685
+ "name": "positive",
686
+ "type": "CONDITIONING",
687
+ "link": 23
688
+ },
689
+ {
690
+ "name": "negative",
691
+ "type": "CONDITIONING",
692
+ "link": 24
693
+ },
694
+ {
695
+ "name": "latent_image",
696
+ "type": "LATENT",
697
+ "link": 25
698
+ }
699
+ ],
700
+ "outputs": [
701
+ {
702
+ "name": "LATENT",
703
+ "type": "LATENT",
704
+ "links": [
705
+ 26
706
+ ],
707
+ "slot_index": 0
708
+ }
709
+ ],
710
+ "properties": {
711
+ "Node name for S&R": "KSampler"
712
+ },
713
+ "widgets_values": [
714
+ 42,
715
+ "randomize",
716
+ 8,
717
+ 1.0,
718
+ "er_sde",
719
+ "simple",
720
+ 1.0
721
+ ]
722
+ },
723
+ {
724
+ "id": 17,
725
+ "type": "VAEDecode",
726
+ "pos": [
727
+ 1120,
728
+ 380
729
+ ],
730
+ "size": [
731
+ 210,
732
+ 46
733
+ ],
734
+ "flags": {},
735
+ "order": 16,
736
+ "mode": 0,
737
+ "inputs": [
738
+ {
739
+ "name": "samples",
740
+ "type": "LATENT",
741
+ "link": 26
742
+ },
743
+ {
744
+ "name": "vae",
745
+ "type": "VAE",
746
+ "link": 27
747
+ }
748
+ ],
749
+ "outputs": [
750
+ {
751
+ "name": "IMAGE",
752
+ "type": "IMAGE",
753
+ "links": [
754
+ 28
755
+ ],
756
+ "slot_index": 0
757
+ }
758
+ ],
759
+ "properties": {
760
+ "Node name for S&R": "VAEDecode"
761
+ }
762
+ },
763
+ {
764
+ "id": 18,
765
+ "type": "SaveImage",
766
+ "pos": [
767
+ 1120,
768
+ 480
769
+ ],
770
+ "size": [
771
+ 360,
772
+ 270
773
+ ],
774
+ "flags": {},
775
+ "order": 17,
776
+ "mode": 0,
777
+ "inputs": [
778
+ {
779
+ "name": "images",
780
+ "type": "IMAGE",
781
+ "link": 28
782
+ }
783
+ ],
784
+ "outputs": [],
785
+ "properties": {
786
+ "Node name for S&R": "SaveImage"
787
+ },
788
+ "widgets_values": [
789
+ "new-krea2-faceswap-v12-turbo"
790
+ ]
791
+ },
792
+ {
793
+ "id": 19,
794
+ "type": "MarkdownNote",
795
+ "pos": [
796
+ 1500,
797
+ 60
798
+ ],
799
+ "size": [
800
+ 520,
801
+ 460
802
+ ],
803
+ "flags": {},
804
+ "order": 18,
805
+ "mode": 0,
806
+ "inputs": [],
807
+ "outputs": [],
808
+ "properties": {
809
+ "Node name for S&R": "MarkdownNote"
810
+ },
811
+ "widgets_values": [
812
+ "## Krea 2 FACE SWAP \u2014 v1.2, Turbo MXFP8 (fast, ~30s)\n\n**FACE SWAP (v1.2 recipe \u2014 benchmark winner):** this is the exact configuration that won our identity benchmarks. Body/scene = image 1, face reference = image 2. Baked-in winning settings: `krea2_identity_edit_v1_2` LoRA @1.0, `fit_mode: fit` (handles mismatched aspect ratios), `ref_boost: 4` (strong likeness pull toward the face reference \u2014 the v1.2 dial; >10 breaks removals). Face/head swap is a trained skill of the v1.2 weights (stablellama's change_eye_face_head_person dataset).\n\nFrom [The AI Blueprint's Krea 2 Identity LoRA tutorial](https://www.youtube.com/watch?v=44E8s0ejj4g).\n\n**Required:** `krea2_identity_edit_v1_1.safetensors` ([conradlocke/krea2-identity-edit](https://huggingface.co/conradlocke/krea2-identity-edit)) at strength 1.0 plus the [comfyui-krea2edit](https://github.com/lbouaraba/comfyui-krea2edit) node pack. Both **Krea2 Edit (source patch)** and both **grounded encode** nodes are mandatory \u2014 do not bypass them. `fit_mode` is set to `crop (legacy)` because these are the v1.1 weights; if you switch to the `v1_2` LoRA, set it to `fit` and try `ref_boost` 4 for stronger likeness.\n\n**grounding_px** (768 default): lower = stronger edit adherence, higher = stronger identity. v1.1 trained range 384\u2013768.\n\nTurbo MXFP8, 8 steps / CFG 1.0 / `er_sde`. Produced benchmark output `faceswap-turbo-v12`."
813
+ ],
814
+ "title": "About this workflow"
815
+ }
816
+ ],
817
+ "links": [
818
+ [
819
+ 1,
820
+ 1,
821
+ 0,
822
+ 2,
823
+ 0,
824
+ "MODEL"
825
+ ],
826
+ [
827
+ 2,
828
+ 5,
829
+ 0,
830
+ 7,
831
+ 0,
832
+ "IMAGE"
833
+ ],
834
+ [
835
+ 3,
836
+ 6,
837
+ 0,
838
+ 7,
839
+ 1,
840
+ "INT"
841
+ ],
842
+ [
843
+ 4,
844
+ 7,
845
+ 0,
846
+ 8,
847
+ 0,
848
+ "IMAGE"
849
+ ],
850
+ [
851
+ 5,
852
+ 4,
853
+ 0,
854
+ 8,
855
+ 1,
856
+ "VAE"
857
+ ],
858
+ [
859
+ 6,
860
+ 9,
861
+ 0,
862
+ 10,
863
+ 0,
864
+ "IMAGE"
865
+ ],
866
+ [
867
+ 7,
868
+ 6,
869
+ 0,
870
+ 10,
871
+ 1,
872
+ "INT"
873
+ ],
874
+ [
875
+ 8,
876
+ 10,
877
+ 0,
878
+ 11,
879
+ 0,
880
+ "IMAGE"
881
+ ],
882
+ [
883
+ 9,
884
+ 4,
885
+ 0,
886
+ 11,
887
+ 1,
888
+ "VAE"
889
+ ],
890
+ [
891
+ 10,
892
+ 2,
893
+ 0,
894
+ 12,
895
+ 0,
896
+ "MODEL"
897
+ ],
898
+ [
899
+ 11,
900
+ 8,
901
+ 0,
902
+ 12,
903
+ 1,
904
+ "LATENT"
905
+ ],
906
+ [
907
+ 12,
908
+ 4,
909
+ 0,
910
+ 12,
911
+ 4,
912
+ "VAE"
913
+ ],
914
+ [
915
+ 13,
916
+ 7,
917
+ 0,
918
+ 12,
919
+ 5,
920
+ "IMAGE"
921
+ ],
922
+ [
923
+ 14,
924
+ 11,
925
+ 0,
926
+ 12,
927
+ 2,
928
+ "LATENT"
929
+ ],
930
+ [
931
+ 15,
932
+ 10,
933
+ 0,
934
+ 12,
935
+ 6,
936
+ "IMAGE"
937
+ ],
938
+ [
939
+ 16,
940
+ 3,
941
+ 0,
942
+ 13,
943
+ 0,
944
+ "CLIP"
945
+ ],
946
+ [
947
+ 17,
948
+ 7,
949
+ 0,
950
+ 13,
951
+ 1,
952
+ "IMAGE"
953
+ ],
954
+ [
955
+ 18,
956
+ 3,
957
+ 0,
958
+ 14,
959
+ 0,
960
+ "CLIP"
961
+ ],
962
+ [
963
+ 19,
964
+ 7,
965
+ 0,
966
+ 14,
967
+ 1,
968
+ "IMAGE"
969
+ ],
970
+ [
971
+ 20,
972
+ 10,
973
+ 0,
974
+ 13,
975
+ 2,
976
+ "IMAGE"
977
+ ],
978
+ [
979
+ 21,
980
+ 10,
981
+ 0,
982
+ 14,
983
+ 2,
984
+ "IMAGE"
985
+ ],
986
+ [
987
+ 22,
988
+ 12,
989
+ 0,
990
+ 16,
991
+ 0,
992
+ "MODEL"
993
+ ],
994
+ [
995
+ 23,
996
+ 13,
997
+ 0,
998
+ 16,
999
+ 1,
1000
+ "CONDITIONING"
1001
+ ],
1002
+ [
1003
+ 24,
1004
+ 14,
1005
+ 0,
1006
+ 16,
1007
+ 2,
1008
+ "CONDITIONING"
1009
+ ],
1010
+ [
1011
+ 25,
1012
+ 15,
1013
+ 0,
1014
+ 16,
1015
+ 3,
1016
+ "LATENT"
1017
+ ],
1018
+ [
1019
+ 26,
1020
+ 16,
1021
+ 0,
1022
+ 17,
1023
+ 0,
1024
+ "LATENT"
1025
+ ],
1026
+ [
1027
+ 27,
1028
+ 4,
1029
+ 0,
1030
+ 17,
1031
+ 1,
1032
+ "VAE"
1033
+ ],
1034
+ [
1035
+ 28,
1036
+ 17,
1037
+ 0,
1038
+ 18,
1039
+ 0,
1040
+ "IMAGE"
1041
+ ]
1042
+ ],
1043
+ "groups": [],
1044
+ "config": {},
1045
+ "extra": {},
1046
+ "version": 0.4
1047
+ }