aleph65 commited on
Commit
cc2faf6
·
verified ·
1 Parent(s): 9500cdb

Add Krea 2 Identity Edit workflows (instruction-based editing via conradlocke/krea2-identity-edit LoRA + lbouaraba/comfyui-krea2edit nodes)

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