axiomgraph commited on
Commit
4a87756
·
verified ·
1 Parent(s): 0f2540f

Add Qwen Image 2.1 HeadSwap

Browse files
Files changed (1) hide show
  1. Qwen Image 2.1 HeadSwap.json +2047 -0
Qwen Image 2.1 HeadSwap.json ADDED
@@ -0,0 +1,2047 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "id": "2c4f5967-11c9-4c0d-9de2-08d6498d0f00",
3
+ "revision": 0,
4
+ "last_node_id": 60,
5
+ "last_link_id": 150,
6
+ "nodes": [
7
+ {
8
+ "id": 1,
9
+ "type": "UNETLoader",
10
+ "pos": [
11
+ -433.89536840373427,
12
+ 2107.266260400719
13
+ ],
14
+ "size": [
15
+ 270,
16
+ 82
17
+ ],
18
+ "flags": {},
19
+ "order": 0,
20
+ "mode": 0,
21
+ "inputs": [],
22
+ "outputs": [
23
+ {
24
+ "name": "MODEL",
25
+ "type": "MODEL",
26
+ "links": [
27
+ 1
28
+ ]
29
+ }
30
+ ],
31
+ "properties": {
32
+ "Node name for S&R": "UNETLoader"
33
+ },
34
+ "widgets_values": [
35
+ "qwen_image_2.1_int8_convrot.safetensors",
36
+ "default"
37
+ ],
38
+ "widgets_values_named": {
39
+ "unet_name": "qwen_image_2.1_int8_convrot.safetensors",
40
+ "weight_dtype": "default"
41
+ }
42
+ },
43
+ {
44
+ "id": 2,
45
+ "type": "CLIPLoader",
46
+ "pos": [
47
+ -433.89536840373427,
48
+ 2500.791790947743
49
+ ],
50
+ "size": [
51
+ 270,
52
+ 106
53
+ ],
54
+ "flags": {},
55
+ "order": 1,
56
+ "mode": 0,
57
+ "inputs": [],
58
+ "outputs": [
59
+ {
60
+ "name": "CLIP",
61
+ "type": "CLIP",
62
+ "links": [
63
+ 3
64
+ ]
65
+ }
66
+ ],
67
+ "properties": {
68
+ "Node name for S&R": "CLIPLoader"
69
+ },
70
+ "widgets_values": [
71
+ "qwen3vl_8b_int8_convrot.safetensors",
72
+ "qwen_image",
73
+ "default"
74
+ ],
75
+ "widgets_values_named": {
76
+ "clip_name": "qwen3vl_8b_int8_convrot.safetensors",
77
+ "type": "qwen_image",
78
+ "device": "default"
79
+ }
80
+ },
81
+ {
82
+ "id": 3,
83
+ "type": "LoraLoaderModelOnly",
84
+ "pos": [
85
+ -433.89536840373427,
86
+ 2238.4414372497276
87
+ ],
88
+ "size": [
89
+ 270,
90
+ 82
91
+ ],
92
+ "flags": {},
93
+ "order": 7,
94
+ "mode": 0,
95
+ "inputs": [
96
+ {
97
+ "name": "model",
98
+ "type": "MODEL",
99
+ "link": 1
100
+ }
101
+ ],
102
+ "outputs": [
103
+ {
104
+ "name": "MODEL",
105
+ "type": "MODEL",
106
+ "links": [
107
+ 143
108
+ ]
109
+ }
110
+ ],
111
+ "properties": {
112
+ "Node name for S&R": "LoraLoaderModelOnly"
113
+ },
114
+ "widgets_values": [
115
+ "bfs_head_v1_qwen_2.1.safetensors",
116
+ 1
117
+ ],
118
+ "widgets_values_named": {
119
+ "lora_name": "bfs_head_v1_qwen_2.1.safetensors",
120
+ "strength_model": 1
121
+ }
122
+ },
123
+ {
124
+ "id": 4,
125
+ "type": "QwenImage21Cache",
126
+ "pos": [
127
+ 914.7036266898145,
128
+ 2212.2804101864513
129
+ ],
130
+ "size": [
131
+ 270,
132
+ 82
133
+ ],
134
+ "flags": {},
135
+ "order": 16,
136
+ "mode": 0,
137
+ "inputs": [
138
+ {
139
+ "name": "model",
140
+ "type": "MODEL",
141
+ "link": 62
142
+ }
143
+ ],
144
+ "outputs": [
145
+ {
146
+ "name": "MODEL",
147
+ "type": "MODEL",
148
+ "links": [
149
+ 145
150
+ ]
151
+ }
152
+ ],
153
+ "properties": {
154
+ "Node name for S&R": "QwenImage21Cache"
155
+ },
156
+ "widgets_values": [
157
+ "auto",
158
+ "default"
159
+ ],
160
+ "widgets_values_named": {
161
+ "device": "auto",
162
+ "dtype": "default"
163
+ }
164
+ },
165
+ {
166
+ "id": 5,
167
+ "type": "TextEncodeQwenImage21",
168
+ "pos": [
169
+ 908.6589590454645,
170
+ 2343.898108839848
171
+ ],
172
+ "size": [
173
+ 417.6505024295941,
174
+ 436.1722703108476
175
+ ],
176
+ "flags": {},
177
+ "order": 18,
178
+ "mode": 0,
179
+ "inputs": [
180
+ {
181
+ "name": "clip",
182
+ "type": "CLIP",
183
+ "link": 3
184
+ },
185
+ {
186
+ "name": "images.image_1",
187
+ "shape": 7,
188
+ "type": "IMAGE",
189
+ "link": 30
190
+ },
191
+ {
192
+ "name": "images.image_2",
193
+ "shape": 7,
194
+ "type": "IMAGE",
195
+ "link": 68
196
+ },
197
+ {
198
+ "name": "images.image_3",
199
+ "shape": 7,
200
+ "type": "IMAGE",
201
+ "link": 70
202
+ },
203
+ {
204
+ "name": "images.image_4",
205
+ "shape": 7,
206
+ "type": "IMAGE",
207
+ "link": 82
208
+ },
209
+ {
210
+ "name": "images.image_5",
211
+ "shape": 7,
212
+ "type": "IMAGE",
213
+ "link": null
214
+ },
215
+ {
216
+ "name": "images.image_6",
217
+ "shape": 7,
218
+ "type": "IMAGE",
219
+ "link": null
220
+ },
221
+ {
222
+ "name": "images.image_7",
223
+ "shape": 7,
224
+ "type": "IMAGE",
225
+ "link": null
226
+ },
227
+ {
228
+ "name": "vae",
229
+ "shape": 7,
230
+ "type": "VAE",
231
+ "link": 4
232
+ },
233
+ {
234
+ "name": "prompt",
235
+ "type": "STRING",
236
+ "widget": {
237
+ "name": "prompt"
238
+ },
239
+ "link": 99
240
+ }
241
+ ],
242
+ "outputs": [
243
+ {
244
+ "name": "positive",
245
+ "type": "CONDITIONING",
246
+ "links": [
247
+ 146
248
+ ]
249
+ },
250
+ {
251
+ "name": "negative",
252
+ "type": "CONDITIONING",
253
+ "links": [
254
+ 147
255
+ ]
256
+ },
257
+ {
258
+ "name": "latent",
259
+ "type": "LATENT",
260
+ "links": [
261
+ 148
262
+ ]
263
+ }
264
+ ],
265
+ "properties": {
266
+ "Node name for S&R": "TextEncodeQwenImage21"
267
+ },
268
+ "widgets_values": [
269
+ "Replace the clothing and headwear of the woman in <image1> with the black t-shirt from <image2> and the hat from <image3>, preserving her identity, facial features, pose, and the original background while ensuring the new items are integrated naturally with consistent lighting and proportions.",
270
+ "",
271
+ 0
272
+ ],
273
+ "widgets_values_named": {
274
+ "prompt": "Replace the clothing and headwear of the woman in <image1> with the black t-shirt from <image2> and the hat from <image3>, preserving her identity, facial features, pose, and the original background while ensuring the new items are integrated naturally with consistent lighting and proportions.",
275
+ "negative_prompt": "",
276
+ "resolution": 0
277
+ }
278
+ },
279
+ {
280
+ "id": 6,
281
+ "type": "VAELoader",
282
+ "pos": [
283
+ -433.89536840373427,
284
+ 2655.9669677967504
285
+ ],
286
+ "size": [
287
+ 270,
288
+ 58
289
+ ],
290
+ "flags": {},
291
+ "order": 2,
292
+ "mode": 0,
293
+ "inputs": [],
294
+ "outputs": [
295
+ {
296
+ "name": "VAE",
297
+ "type": "VAE",
298
+ "links": [
299
+ 4,
300
+ 10
301
+ ]
302
+ }
303
+ ],
304
+ "properties": {
305
+ "Node name for S&R": "VAELoader"
306
+ },
307
+ "widgets_values": [
308
+ "qwen_image_2.1_vae_bf16.safetensors"
309
+ ],
310
+ "widgets_values_named": {
311
+ "vae_name": "qwen_image_2.1_vae_bf16.safetensors"
312
+ }
313
+ },
314
+ {
315
+ "id": 9,
316
+ "type": "VAEDecode",
317
+ "pos": [
318
+ 1415.2878706431584,
319
+ 2237.9187413424
320
+ ],
321
+ "size": [
322
+ 229.35650929932717,
323
+ 46
324
+ ],
325
+ "flags": {},
326
+ "order": 20,
327
+ "mode": 0,
328
+ "inputs": [
329
+ {
330
+ "name": "samples",
331
+ "type": "LATENT",
332
+ "link": 150
333
+ },
334
+ {
335
+ "name": "vae",
336
+ "type": "VAE",
337
+ "link": 10
338
+ }
339
+ ],
340
+ "outputs": [
341
+ {
342
+ "name": "IMAGE",
343
+ "type": "IMAGE",
344
+ "links": [
345
+ 13
346
+ ]
347
+ }
348
+ ],
349
+ "properties": {
350
+ "Node name for S&R": "VAEDecode"
351
+ }
352
+ },
353
+ {
354
+ "id": 12,
355
+ "type": "SaveImageAdvanced",
356
+ "pos": [
357
+ 1677.608528985803,
358
+ 2339.6341939514145
359
+ ],
360
+ "size": [
361
+ 638.6556742327241,
362
+ 710.4480722086728
363
+ ],
364
+ "flags": {},
365
+ "order": 21,
366
+ "mode": 0,
367
+ "inputs": [
368
+ {
369
+ "name": "images",
370
+ "type": "IMAGE",
371
+ "link": 13
372
+ }
373
+ ],
374
+ "outputs": [
375
+ {
376
+ "name": "images",
377
+ "type": "IMAGE",
378
+ "links": [
379
+ 59
380
+ ]
381
+ }
382
+ ],
383
+ "properties": {},
384
+ "widgets_values": [
385
+ "ComfyUI",
386
+ "png",
387
+ "8-bit",
388
+ "sRGB"
389
+ ],
390
+ "widgets_values_named": {
391
+ "filename_prefix": "ComfyUI",
392
+ "format": "png",
393
+ "format.bit_depth": "8-bit",
394
+ "format.input_color_space": "sRGB"
395
+ }
396
+ },
397
+ {
398
+ "id": 13,
399
+ "type": "LoadImage",
400
+ "pos": [
401
+ -442.22580014321966,
402
+ 3186.7912539713598
403
+ ],
404
+ "size": [
405
+ 335.86815502719924,
406
+ 523.9697197823175
407
+ ],
408
+ "flags": {},
409
+ "order": 3,
410
+ "mode": 0,
411
+ "inputs": [],
412
+ "outputs": [
413
+ {
414
+ "name": "IMAGE",
415
+ "type": "IMAGE",
416
+ "links": [
417
+ 29
418
+ ]
419
+ },
420
+ {
421
+ "name": "MASK",
422
+ "type": "MASK",
423
+ "links": []
424
+ }
425
+ ],
426
+ "properties": {
427
+ "Node name for S&R": "LoadImage",
428
+ "image": "clipspace-painted-masked-1790488019895.png [input]"
429
+ },
430
+ "widgets_values": [
431
+ "pexels-monirulislam-33261952.jpg",
432
+ "image"
433
+ ],
434
+ "widgets_values_named": {
435
+ "image": "pexels-monirulislam-33261952.jpg",
436
+ "upload": "image"
437
+ }
438
+ },
439
+ {
440
+ "id": 20,
441
+ "type": "Image Comparer (rgthree)",
442
+ "pos": [
443
+ 2360.3054766269574,
444
+ 2345.4141225977405
445
+ ],
446
+ "size": [
447
+ 745.4189001442227,
448
+ 699.5854823222135
449
+ ],
450
+ "flags": {},
451
+ "order": 22,
452
+ "mode": 0,
453
+ "inputs": [
454
+ {
455
+ "dir": 3,
456
+ "name": "image_a",
457
+ "type": "IMAGE",
458
+ "link": 59
459
+ },
460
+ {
461
+ "dir": 3,
462
+ "name": "image_b",
463
+ "type": "IMAGE",
464
+ "link": 60
465
+ }
466
+ ],
467
+ "outputs": [
468
+ {
469
+ "dir": 4,
470
+ "name": "images",
471
+ "shape": 3,
472
+ "type": "IMAGE",
473
+ "links": null
474
+ }
475
+ ],
476
+ "properties": {
477
+ "comparer_mode": "Slide"
478
+ },
479
+ "widgets_values": [
480
+ [
481
+ {
482
+ "name": "A",
483
+ "selected": true,
484
+ "url": "/api/view?filename=rgthree.compare._temp_qurmh_00005_.png&type=temp&subfolder=&rand=0.8718931407188665"
485
+ },
486
+ {
487
+ "name": "B",
488
+ "selected": true,
489
+ "url": "/api/view?filename=rgthree.compare._temp_qurmh_00006_.png&type=temp&subfolder=&rand=0.7219193186575189"
490
+ }
491
+ ]
492
+ ],
493
+ "widgets_values_named": {
494
+ "rgthree_comparer": {
495
+ "images": [
496
+ {
497
+ "name": "A",
498
+ "selected": true,
499
+ "url": "/api/view?filename=rgthree.compare._temp_qurmh_00005_.png&type=temp&subfolder=&rand=0.8718931407188665",
500
+ "img": {}
501
+ },
502
+ {
503
+ "name": "B",
504
+ "selected": true,
505
+ "url": "/api/view?filename=rgthree.compare._temp_qurmh_00006_.png&type=temp&subfolder=&rand=0.7219193186575189",
506
+ "img": {}
507
+ }
508
+ ]
509
+ }
510
+ }
511
+ },
512
+ {
513
+ "id": 21,
514
+ "type": "ImageScaleToTotalPixels",
515
+ "pos": [
516
+ -444.1371020883085,
517
+ 3025.5708096948033
518
+ ],
519
+ "size": [
520
+ 276.4927734375,
521
+ 106
522
+ ],
523
+ "flags": {},
524
+ "order": 8,
525
+ "mode": 0,
526
+ "inputs": [
527
+ {
528
+ "name": "image",
529
+ "type": "IMAGE",
530
+ "link": 29
531
+ }
532
+ ],
533
+ "outputs": [
534
+ {
535
+ "name": "IMAGE",
536
+ "type": "IMAGE",
537
+ "links": [
538
+ 30,
539
+ 60,
540
+ 75
541
+ ]
542
+ }
543
+ ],
544
+ "properties": {
545
+ "Node name for S&R": "ImageScaleToTotalPixels"
546
+ },
547
+ "widgets_values": [
548
+ "lanczos",
549
+ 1,
550
+ 32
551
+ ],
552
+ "widgets_values_named": {
553
+ "upscale_method": "lanczos",
554
+ "megapixels": 1,
555
+ "resolution_steps": 32
556
+ }
557
+ },
558
+ {
559
+ "id": 25,
560
+ "type": "LoadImage",
561
+ "pos": [
562
+ -34.76054392889911,
563
+ 3189.9651345643456
564
+ ],
565
+ "size": [
566
+ 282.798828125,
567
+ 314
568
+ ],
569
+ "flags": {},
570
+ "order": 4,
571
+ "mode": 0,
572
+ "inputs": [],
573
+ "outputs": [
574
+ {
575
+ "name": "IMAGE",
576
+ "type": "IMAGE",
577
+ "links": [
578
+ 67
579
+ ]
580
+ },
581
+ {
582
+ "name": "MASK",
583
+ "type": "MASK",
584
+ "links": null
585
+ }
586
+ ],
587
+ "properties": {
588
+ "Node name for S&R": "LoadImage"
589
+ },
590
+ "widgets_values": [
591
+ "pexels-utpaladhikary-18860399.jpg",
592
+ "image"
593
+ ],
594
+ "widgets_values_named": {
595
+ "image": "pexels-utpaladhikary-18860399.jpg",
596
+ "upload": "image"
597
+ }
598
+ },
599
+ {
600
+ "id": 26,
601
+ "type": "LoadImage",
602
+ "pos": [
603
+ 289.59829109560155,
604
+ 3189.323396677716
605
+ ],
606
+ "size": [
607
+ 282.798828125,
608
+ 314
609
+ ],
610
+ "flags": {},
611
+ "order": 5,
612
+ "mode": 4,
613
+ "inputs": [],
614
+ "outputs": [
615
+ {
616
+ "name": "IMAGE",
617
+ "type": "IMAGE",
618
+ "links": [
619
+ 69
620
+ ]
621
+ },
622
+ {
623
+ "name": "MASK",
624
+ "type": "MASK",
625
+ "links": null
626
+ }
627
+ ],
628
+ "properties": {
629
+ "Node name for S&R": "LoadImage"
630
+ },
631
+ "widgets_values": [
632
+ "download (1).jpg",
633
+ "image"
634
+ ],
635
+ "widgets_values_named": {
636
+ "image": "download (1).jpg",
637
+ "upload": "image"
638
+ }
639
+ },
640
+ {
641
+ "id": 30,
642
+ "type": "ModelAttentionBackend",
643
+ "pos": [
644
+ 181.4821561311528,
645
+ 2210.106353882104
646
+ ],
647
+ "size": [
648
+ 270,
649
+ 58
650
+ ],
651
+ "flags": {},
652
+ "order": 14,
653
+ "mode": 0,
654
+ "inputs": [
655
+ {
656
+ "name": "model",
657
+ "type": "MODEL",
658
+ "link": 144
659
+ }
660
+ ],
661
+ "outputs": [
662
+ {
663
+ "name": "model",
664
+ "type": "MODEL",
665
+ "links": [
666
+ 62
667
+ ]
668
+ }
669
+ ],
670
+ "properties": {
671
+ "Node name for S&R": "ModelAttentionBackend"
672
+ },
673
+ "widgets_values": [
674
+ "comfy kitchen attention"
675
+ ],
676
+ "widgets_values_named": {
677
+ "attention": "comfy kitchen attention"
678
+ }
679
+ },
680
+ {
681
+ "id": 33,
682
+ "type": "ImageScaleToTotalPixels",
683
+ "pos": [
684
+ -34.76054392889911,
685
+ 3029.9651345643456
686
+ ],
687
+ "size": [
688
+ 276.4927734375,
689
+ 106
690
+ ],
691
+ "flags": {},
692
+ "order": 9,
693
+ "mode": 0,
694
+ "inputs": [
695
+ {
696
+ "name": "image",
697
+ "type": "IMAGE",
698
+ "link": 67
699
+ }
700
+ ],
701
+ "outputs": [
702
+ {
703
+ "name": "IMAGE",
704
+ "type": "IMAGE",
705
+ "links": [
706
+ 68,
707
+ 79
708
+ ]
709
+ }
710
+ ],
711
+ "properties": {
712
+ "Node name for S&R": "ImageScaleToTotalPixels"
713
+ },
714
+ "widgets_values": [
715
+ "lanczos",
716
+ 1,
717
+ 1
718
+ ],
719
+ "widgets_values_named": {
720
+ "upscale_method": "lanczos",
721
+ "megapixels": 1,
722
+ "resolution_steps": 1
723
+ }
724
+ },
725
+ {
726
+ "id": 34,
727
+ "type": "ImageScaleToTotalPixels",
728
+ "pos": [
729
+ 289.59829109560155,
730
+ 3029.323396677716
731
+ ],
732
+ "size": [
733
+ 276.4927734375,
734
+ 106
735
+ ],
736
+ "flags": {},
737
+ "order": 10,
738
+ "mode": 4,
739
+ "inputs": [
740
+ {
741
+ "name": "image",
742
+ "type": "IMAGE",
743
+ "link": 69
744
+ }
745
+ ],
746
+ "outputs": [
747
+ {
748
+ "name": "IMAGE",
749
+ "type": "IMAGE",
750
+ "links": [
751
+ 70,
752
+ 80
753
+ ]
754
+ }
755
+ ],
756
+ "properties": {
757
+ "Node name for S&R": "ImageScaleToTotalPixels"
758
+ },
759
+ "widgets_values": [
760
+ "lanczos",
761
+ 1,
762
+ 1
763
+ ],
764
+ "widgets_values_named": {
765
+ "upscale_method": "lanczos",
766
+ "megapixels": 1,
767
+ "resolution_steps": 1
768
+ }
769
+ },
770
+ {
771
+ "id": 38,
772
+ "type": "PreviewAny",
773
+ "pos": [
774
+ 467.54372149478957,
775
+ 2340.048969160257
776
+ ],
777
+ "size": [
778
+ 423.3230014842202,
779
+ 353.86701442125286
780
+ ],
781
+ "flags": {},
782
+ "order": 17,
783
+ "mode": 0,
784
+ "inputs": [
785
+ {
786
+ "name": "source",
787
+ "type": "*",
788
+ "link": 86
789
+ }
790
+ ],
791
+ "outputs": [
792
+ {
793
+ "name": "STRING",
794
+ "type": "STRING",
795
+ "links": null
796
+ }
797
+ ],
798
+ "title": "Preview Output",
799
+ "properties": {
800
+ "Node name for S&R": "PreviewAny"
801
+ },
802
+ "widgets_values": [],
803
+ "widgets_values_named": {}
804
+ },
805
+ {
806
+ "id": 39,
807
+ "type": "BatchImagesNode",
808
+ "pos": [
809
+ -357.87178354430705,
810
+ 2786.942180816569
811
+ ],
812
+ "size": [
813
+ 207.66912164829296,
814
+ 126
815
+ ],
816
+ "flags": {},
817
+ "order": 13,
818
+ "mode": 4,
819
+ "inputs": [
820
+ {
821
+ "name": "images.image0",
822
+ "type": "IMAGE",
823
+ "link": 75
824
+ },
825
+ {
826
+ "name": "images.image1",
827
+ "shape": 7,
828
+ "type": "IMAGE",
829
+ "link": 79
830
+ },
831
+ {
832
+ "name": "images.image2",
833
+ "shape": 7,
834
+ "type": "IMAGE",
835
+ "link": 80
836
+ },
837
+ {
838
+ "name": "images.image3",
839
+ "shape": 7,
840
+ "type": "IMAGE",
841
+ "link": 83
842
+ },
843
+ {
844
+ "name": "images.image4",
845
+ "shape": 7,
846
+ "type": "IMAGE",
847
+ "link": null
848
+ }
849
+ ],
850
+ "outputs": [
851
+ {
852
+ "name": "IMAGE",
853
+ "type": "IMAGE",
854
+ "links": [
855
+ 85
856
+ ]
857
+ }
858
+ ],
859
+ "properties": {
860
+ "Node name for S&R": "BatchImagesNode"
861
+ }
862
+ },
863
+ {
864
+ "id": 40,
865
+ "type": "LoadImage",
866
+ "pos": [
867
+ 618.0357440988101,
868
+ 3185.8626219703287
869
+ ],
870
+ "size": [
871
+ 282.798828125,
872
+ 314
873
+ ],
874
+ "flags": {},
875
+ "order": 6,
876
+ "mode": 4,
877
+ "inputs": [],
878
+ "outputs": [
879
+ {
880
+ "name": "IMAGE",
881
+ "type": "IMAGE",
882
+ "links": [
883
+ 81
884
+ ]
885
+ },
886
+ {
887
+ "name": "MASK",
888
+ "type": "MASK",
889
+ "links": []
890
+ }
891
+ ],
892
+ "properties": {
893
+ "Node name for S&R": "LoadImage"
894
+ },
895
+ "widgets_values": [
896
+ "pexels-dhanno-23223837.jpg",
897
+ "image"
898
+ ],
899
+ "widgets_values_named": {
900
+ "image": "pexels-dhanno-23223837.jpg",
901
+ "upload": "image"
902
+ }
903
+ },
904
+ {
905
+ "id": 41,
906
+ "type": "ImageScaleToTotalPixels",
907
+ "pos": [
908
+ 618.0357440988101,
909
+ 3025.8626219703287
910
+ ],
911
+ "size": [
912
+ 276.4927734375,
913
+ 106
914
+ ],
915
+ "flags": {},
916
+ "order": 11,
917
+ "mode": 4,
918
+ "inputs": [
919
+ {
920
+ "name": "image",
921
+ "type": "IMAGE",
922
+ "link": 81
923
+ }
924
+ ],
925
+ "outputs": [
926
+ {
927
+ "name": "IMAGE",
928
+ "type": "IMAGE",
929
+ "links": [
930
+ 82,
931
+ 83
932
+ ]
933
+ }
934
+ ],
935
+ "properties": {
936
+ "Node name for S&R": "ImageScaleToTotalPixels"
937
+ },
938
+ "widgets_values": [
939
+ "lanczos",
940
+ 1,
941
+ 1
942
+ ],
943
+ "widgets_values_named": {
944
+ "upscale_method": "lanczos",
945
+ "megapixels": 1,
946
+ "resolution_steps": 1
947
+ }
948
+ },
949
+ {
950
+ "id": 42,
951
+ "type": "3f062bab-1f0e-43de-a18b-5686352a116e",
952
+ "pos": [
953
+ -85.87363251276602,
954
+ 2338.8846374095524
955
+ ],
956
+ "size": [
957
+ 533.41739841613,
958
+ 518.8381277070912
959
+ ],
960
+ "flags": {},
961
+ "order": 15,
962
+ "mode": 0,
963
+ "inputs": [
964
+ {
965
+ "label": "enhance prompt",
966
+ "name": "switch",
967
+ "type": "BOOLEAN",
968
+ "widget": {
969
+ "name": "switch"
970
+ },
971
+ "link": null
972
+ },
973
+ {
974
+ "name": "image",
975
+ "shape": 7,
976
+ "type": "IMAGE",
977
+ "link": 85
978
+ }
979
+ ],
980
+ "outputs": [
981
+ {
982
+ "label": "output",
983
+ "name": "generated_text",
984
+ "type": "STRING",
985
+ "links": [
986
+ 86,
987
+ 99
988
+ ]
989
+ }
990
+ ],
991
+ "properties": {
992
+ "previewExposures": []
993
+ },
994
+ "widgets_values": [
995
+ "head_swap: start with <image1> as the base image, keeping its lighting, environment, and background. remove the head from <image1> completely and replace it with the head from <image2>, strictly preserving the hair, eye color, nose structure from <image2>. copy the direction of the eye, head rotation, micro expressions from <image1>, high quality, sharp details, 4k",
996
+ "gemma4_12b_int8_convrot.safetensors",
997
+ 512,
998
+ 0.7,
999
+ 64,
1000
+ 0,
1001
+ false
1002
+ ],
1003
+ "widgets_values_named": {
1004
+ "prompt": "head_swap: start with <image1> as the base image, keeping its lighting, environment, and background. remove the head from <image1> completely and replace it with the head from <image2>, strictly preserving the hair, eye color, nose structure from <image2>. copy the direction of the eye, head rotation, micro expressions from <image1>, high quality, sharp details, 4k",
1005
+ "clip_name": "gemma4_12b_int8_convrot.safetensors",
1006
+ "max_length": 512,
1007
+ "sampling_mode.temperature": 0.7,
1008
+ "sampling_mode.top_k": 64,
1009
+ "sampling_mode.seed": 0,
1010
+ "switch": false
1011
+ }
1012
+ },
1013
+ {
1014
+ "id": 59,
1015
+ "type": "LoraLoaderModelOnly",
1016
+ "pos": [
1017
+ -433.89536840373427,
1018
+ 2369.616614098735
1019
+ ],
1020
+ "size": [
1021
+ 270,
1022
+ 82
1023
+ ],
1024
+ "flags": {},
1025
+ "order": 12,
1026
+ "mode": 0,
1027
+ "inputs": [
1028
+ {
1029
+ "name": "model",
1030
+ "type": "MODEL",
1031
+ "link": 143
1032
+ }
1033
+ ],
1034
+ "outputs": [
1035
+ {
1036
+ "name": "MODEL",
1037
+ "type": "MODEL",
1038
+ "links": [
1039
+ 144
1040
+ ]
1041
+ }
1042
+ ],
1043
+ "properties": {
1044
+ "Node name for S&R": "LoraLoaderModelOnly"
1045
+ },
1046
+ "widgets_values": [
1047
+ "p_qwen_image_2.1_8step_v0.1.safetensors",
1048
+ 1
1049
+ ],
1050
+ "widgets_values_named": {
1051
+ "lora_name": "p_qwen_image_2.1_8step_v0.1.safetensors",
1052
+ "strength_model": 1
1053
+ }
1054
+ },
1055
+ {
1056
+ "id": 60,
1057
+ "type": "KSampler",
1058
+ "pos": [
1059
+ 1379.7592009410992,
1060
+ 2344.213856972679
1061
+ ],
1062
+ "size": [
1063
+ 270,
1064
+ 262
1065
+ ],
1066
+ "flags": {},
1067
+ "order": 19,
1068
+ "mode": 0,
1069
+ "inputs": [
1070
+ {
1071
+ "name": "model",
1072
+ "type": "MODEL",
1073
+ "link": 145
1074
+ },
1075
+ {
1076
+ "name": "positive",
1077
+ "type": "CONDITIONING",
1078
+ "link": 146
1079
+ },
1080
+ {
1081
+ "name": "negative",
1082
+ "type": "CONDITIONING",
1083
+ "link": 147
1084
+ },
1085
+ {
1086
+ "name": "latent_image",
1087
+ "type": "LATENT",
1088
+ "link": 148
1089
+ }
1090
+ ],
1091
+ "outputs": [
1092
+ {
1093
+ "name": "LATENT",
1094
+ "type": "LATENT",
1095
+ "links": [
1096
+ 150
1097
+ ]
1098
+ }
1099
+ ],
1100
+ "properties": {
1101
+ "Node name for S&R": "KSampler"
1102
+ },
1103
+ "widgets_values": [
1104
+ 0,
1105
+ "randomize",
1106
+ 8,
1107
+ 1,
1108
+ "euler",
1109
+ "simple",
1110
+ 1
1111
+ ],
1112
+ "widgets_values_named": {
1113
+ "seed": 0,
1114
+ "control_after_generate": "randomize",
1115
+ "steps": 8,
1116
+ "cfg": 1,
1117
+ "sampler_name": "euler",
1118
+ "scheduler": "simple",
1119
+ "denoise": 1
1120
+ }
1121
+ }
1122
+ ],
1123
+ "links": [
1124
+ [
1125
+ 1,
1126
+ 1,
1127
+ 0,
1128
+ 3,
1129
+ 0,
1130
+ "MODEL"
1131
+ ],
1132
+ [
1133
+ 10,
1134
+ 6,
1135
+ 0,
1136
+ 9,
1137
+ 1,
1138
+ "VAE"
1139
+ ],
1140
+ [
1141
+ 29,
1142
+ 13,
1143
+ 0,
1144
+ 21,
1145
+ 0,
1146
+ "IMAGE"
1147
+ ],
1148
+ [
1149
+ 59,
1150
+ 12,
1151
+ 0,
1152
+ 20,
1153
+ 0,
1154
+ "IMAGE"
1155
+ ],
1156
+ [
1157
+ 60,
1158
+ 21,
1159
+ 0,
1160
+ 20,
1161
+ 1,
1162
+ "IMAGE"
1163
+ ],
1164
+ [
1165
+ 62,
1166
+ 30,
1167
+ 0,
1168
+ 4,
1169
+ 0,
1170
+ "MODEL"
1171
+ ],
1172
+ [
1173
+ 67,
1174
+ 25,
1175
+ 0,
1176
+ 33,
1177
+ 0,
1178
+ "IMAGE"
1179
+ ],
1180
+ [
1181
+ 69,
1182
+ 26,
1183
+ 0,
1184
+ 34,
1185
+ 0,
1186
+ "IMAGE"
1187
+ ],
1188
+ [
1189
+ 81,
1190
+ 40,
1191
+ 0,
1192
+ 41,
1193
+ 0,
1194
+ "IMAGE"
1195
+ ],
1196
+ [
1197
+ 86,
1198
+ 42,
1199
+ 0,
1200
+ 38,
1201
+ 0,
1202
+ "STRING"
1203
+ ],
1204
+ [
1205
+ 85,
1206
+ 39,
1207
+ 0,
1208
+ 42,
1209
+ 1,
1210
+ "IMAGE"
1211
+ ],
1212
+ [
1213
+ 143,
1214
+ 3,
1215
+ 0,
1216
+ 59,
1217
+ 0,
1218
+ "MODEL"
1219
+ ],
1220
+ [
1221
+ 144,
1222
+ 59,
1223
+ 0,
1224
+ 30,
1225
+ 0,
1226
+ "MODEL"
1227
+ ],
1228
+ [
1229
+ 13,
1230
+ 9,
1231
+ 0,
1232
+ 12,
1233
+ 0,
1234
+ "IMAGE"
1235
+ ],
1236
+ [
1237
+ 75,
1238
+ 21,
1239
+ 0,
1240
+ 39,
1241
+ 0,
1242
+ "IMAGE"
1243
+ ],
1244
+ [
1245
+ 79,
1246
+ 33,
1247
+ 0,
1248
+ 39,
1249
+ 1,
1250
+ "IMAGE"
1251
+ ],
1252
+ [
1253
+ 80,
1254
+ 34,
1255
+ 0,
1256
+ 39,
1257
+ 2,
1258
+ "IMAGE"
1259
+ ],
1260
+ [
1261
+ 83,
1262
+ 41,
1263
+ 0,
1264
+ 39,
1265
+ 3,
1266
+ "IMAGE"
1267
+ ],
1268
+ [
1269
+ 3,
1270
+ 2,
1271
+ 0,
1272
+ 5,
1273
+ 0,
1274
+ "CLIP"
1275
+ ],
1276
+ [
1277
+ 30,
1278
+ 21,
1279
+ 0,
1280
+ 5,
1281
+ 1,
1282
+ "IMAGE"
1283
+ ],
1284
+ [
1285
+ 68,
1286
+ 33,
1287
+ 0,
1288
+ 5,
1289
+ 2,
1290
+ "IMAGE"
1291
+ ],
1292
+ [
1293
+ 70,
1294
+ 34,
1295
+ 0,
1296
+ 5,
1297
+ 3,
1298
+ "IMAGE"
1299
+ ],
1300
+ [
1301
+ 82,
1302
+ 41,
1303
+ 0,
1304
+ 5,
1305
+ 4,
1306
+ "IMAGE"
1307
+ ],
1308
+ [
1309
+ 4,
1310
+ 6,
1311
+ 0,
1312
+ 5,
1313
+ 8,
1314
+ "VAE"
1315
+ ],
1316
+ [
1317
+ 99,
1318
+ 42,
1319
+ 0,
1320
+ 5,
1321
+ 9,
1322
+ "STRING"
1323
+ ],
1324
+ [
1325
+ 145,
1326
+ 4,
1327
+ 0,
1328
+ 60,
1329
+ 0,
1330
+ "MODEL"
1331
+ ],
1332
+ [
1333
+ 146,
1334
+ 5,
1335
+ 0,
1336
+ 60,
1337
+ 1,
1338
+ "CONDITIONING"
1339
+ ],
1340
+ [
1341
+ 147,
1342
+ 5,
1343
+ 1,
1344
+ 60,
1345
+ 2,
1346
+ "CONDITIONING"
1347
+ ],
1348
+ [
1349
+ 148,
1350
+ 5,
1351
+ 2,
1352
+ 60,
1353
+ 3,
1354
+ "LATENT"
1355
+ ],
1356
+ [
1357
+ 150,
1358
+ 60,
1359
+ 0,
1360
+ 9,
1361
+ 0,
1362
+ "LATENT"
1363
+ ]
1364
+ ],
1365
+ "groups": [
1366
+ {
1367
+ "id": 1,
1368
+ "title": "Image 1",
1369
+ "bounding": [
1370
+ -454.1371020883085,
1371
+ 2955.5708096948033,
1372
+ 357.7794569722881,
1373
+ 765.190164058874
1374
+ ],
1375
+ "color": "#3f789e",
1376
+ "flags": {}
1377
+ },
1378
+ {
1379
+ "id": 2,
1380
+ "title": "Image 2",
1381
+ "bounding": [
1382
+ -44.760543928899104,
1383
+ 2959.9651345643456,
1384
+ 302.79882812499994,
1385
+ 553.2466969380966
1386
+ ],
1387
+ "color": "#3f789e",
1388
+ "flags": {}
1389
+ },
1390
+ {
1391
+ "id": 3,
1392
+ "title": "Image 3",
1393
+ "bounding": [
1394
+ 279.5982910956013,
1395
+ 2959.323396677716,
1396
+ 302.798828125,
1397
+ 553.2466969380966
1398
+ ],
1399
+ "color": "#3f789e",
1400
+ "flags": {}
1401
+ },
1402
+ {
1403
+ "id": 4,
1404
+ "title": "Image 4",
1405
+ "bounding": [
1406
+ 608.0357440988101,
1407
+ 2955.8626219703287,
1408
+ 302.7988281250001,
1409
+ 553.2466969380966
1410
+ ],
1411
+ "color": "#3f789e",
1412
+ "flags": {}
1413
+ },
1414
+ {
1415
+ "id": 5,
1416
+ "title": "Load Models",
1417
+ "bounding": [
1418
+ -443.89536840373427,
1419
+ 2037.266260400721,
1420
+ 290,
1421
+ 686.7007073960312
1422
+ ],
1423
+ "color": "#3f789e",
1424
+ "flags": {}
1425
+ }
1426
+ ],
1427
+ "definitions": {
1428
+ "subgraphs": [
1429
+ {
1430
+ "id": "3f062bab-1f0e-43de-a18b-5686352a116e",
1431
+ "version": 1,
1432
+ "state": {
1433
+ "lastGroupId": 5,
1434
+ "lastNodeId": 60,
1435
+ "lastLinkId": 150,
1436
+ "lastRerouteId": 0
1437
+ },
1438
+ "revision": 0,
1439
+ "config": {},
1440
+ "name": "Positive Prompt",
1441
+ "inputNode": {
1442
+ "id": -10,
1443
+ "bounding": [
1444
+ -872.9444403708268,
1445
+ 1985.009870548262,
1446
+ 209.830078125,
1447
+ 208
1448
+ ]
1449
+ },
1450
+ "outputNode": {
1451
+ "id": -20,
1452
+ "bounding": [
1453
+ 239.82532201445622,
1454
+ 1985.009870548262,
1455
+ 128,
1456
+ 68
1457
+ ]
1458
+ },
1459
+ "inputs": [
1460
+ {
1461
+ "id": "001f317e-9b15-4d98-acb7-c13d6d577cc5",
1462
+ "name": "prompt",
1463
+ "type": "STRING",
1464
+ "linkIds": [
1465
+ 96
1466
+ ],
1467
+ "pos": [
1468
+ -687.1143622458268,
1469
+ 2009.009870548262
1470
+ ]
1471
+ },
1472
+ {
1473
+ "id": "d2b74fca-b611-4a73-b010-0ff59c516d7b",
1474
+ "name": "clip_name",
1475
+ "type": "COMBO",
1476
+ "linkIds": [
1477
+ 88
1478
+ ],
1479
+ "pos": [
1480
+ -687.1143622458268,
1481
+ 2029.009870548262
1482
+ ]
1483
+ },
1484
+ {
1485
+ "id": "77c5b357-bcc4-466b-8589-59e50f987d72",
1486
+ "name": "max_length",
1487
+ "type": "INT",
1488
+ "linkIds": [
1489
+ 89
1490
+ ],
1491
+ "pos": [
1492
+ -687.1143622458268,
1493
+ 2049.009870548262
1494
+ ]
1495
+ },
1496
+ {
1497
+ "id": "93eea734-aa37-43da-8262-0ef495441f90",
1498
+ "name": "sampling_mode.temperature",
1499
+ "type": "FLOAT",
1500
+ "linkIds": [
1501
+ 90
1502
+ ],
1503
+ "pos": [
1504
+ -687.1143622458268,
1505
+ 2069.009870548262
1506
+ ]
1507
+ },
1508
+ {
1509
+ "id": "d3c8f960-c6a5-49be-aabb-03aaad85cdc9",
1510
+ "name": "sampling_mode.top_k",
1511
+ "type": "INT",
1512
+ "linkIds": [
1513
+ 91
1514
+ ],
1515
+ "pos": [
1516
+ -687.1143622458268,
1517
+ 2089.009870548262
1518
+ ]
1519
+ },
1520
+ {
1521
+ "id": "9fb95408-59f5-4cd3-9c34-9be92f281ab8",
1522
+ "name": "sampling_mode.seed",
1523
+ "type": "INT",
1524
+ "linkIds": [
1525
+ 92
1526
+ ],
1527
+ "pos": [
1528
+ -687.1143622458268,
1529
+ 2109.009870548262
1530
+ ]
1531
+ },
1532
+ {
1533
+ "id": "f1b175d1-c4ed-4209-aa88-d0cf70d47ad1",
1534
+ "name": "switch",
1535
+ "type": "BOOLEAN",
1536
+ "linkIds": [
1537
+ 97
1538
+ ],
1539
+ "pos": [
1540
+ -687.1143622458268,
1541
+ 2129.009870548262
1542
+ ]
1543
+ },
1544
+ {
1545
+ "id": "f3aa2a5c-e962-4c55-a548-b34496366304",
1546
+ "name": "image",
1547
+ "type": "IMAGE",
1548
+ "linkIds": [
1549
+ 77
1550
+ ],
1551
+ "localized_name": "image",
1552
+ "shape": 7,
1553
+ "pos": [
1554
+ -687.1143622458268,
1555
+ 2149.009870548262
1556
+ ]
1557
+ }
1558
+ ],
1559
+ "outputs": [
1560
+ {
1561
+ "id": "56f2073e-e6b3-4d64-b616-1303d54e7e2c",
1562
+ "name": "generated_text",
1563
+ "type": "STRING",
1564
+ "linkIds": [
1565
+ 93
1566
+ ],
1567
+ "localized_name": "generated_text",
1568
+ "label": "output",
1569
+ "pos": [
1570
+ 263.8253220144562,
1571
+ 2009.009870548262
1572
+ ]
1573
+ }
1574
+ ],
1575
+ "widgets": [],
1576
+ "nodes": [
1577
+ {
1578
+ "id": 35,
1579
+ "type": "TextGenerate",
1580
+ "pos": [
1581
+ -220.17467798554378,
1582
+ 1810.5114008357216
1583
+ ],
1584
+ "size": [
1585
+ 400,
1586
+ 456
1587
+ ],
1588
+ "flags": {},
1589
+ "order": 1,
1590
+ "mode": 0,
1591
+ "inputs": [
1592
+ {
1593
+ "localized_name": "clip",
1594
+ "name": "clip",
1595
+ "type": "CLIP",
1596
+ "link": 71
1597
+ },
1598
+ {
1599
+ "localized_name": "image",
1600
+ "name": "image",
1601
+ "shape": 7,
1602
+ "type": "IMAGE",
1603
+ "link": 77
1604
+ },
1605
+ {
1606
+ "localized_name": "video",
1607
+ "name": "video",
1608
+ "shape": 7,
1609
+ "type": "IMAGE",
1610
+ "link": null
1611
+ },
1612
+ {
1613
+ "localized_name": "audio",
1614
+ "name": "audio",
1615
+ "shape": 7,
1616
+ "type": "AUDIO",
1617
+ "link": null
1618
+ },
1619
+ {
1620
+ "localized_name": "system_prompt",
1621
+ "name": "system_prompt",
1622
+ "shape": 7,
1623
+ "type": "STRING",
1624
+ "link": 84
1625
+ },
1626
+ {
1627
+ "localized_name": "prompt",
1628
+ "name": "prompt",
1629
+ "type": "STRING",
1630
+ "widget": {
1631
+ "name": "prompt"
1632
+ },
1633
+ "link": 98
1634
+ },
1635
+ {
1636
+ "localized_name": "max_length",
1637
+ "name": "max_length",
1638
+ "type": "INT",
1639
+ "widget": {
1640
+ "name": "max_length"
1641
+ },
1642
+ "link": 89
1643
+ },
1644
+ {
1645
+ "localized_name": "temperature",
1646
+ "name": "sampling_mode.temperature",
1647
+ "type": "FLOAT",
1648
+ "widget": {
1649
+ "name": "sampling_mode.temperature"
1650
+ },
1651
+ "link": 90
1652
+ },
1653
+ {
1654
+ "localized_name": "top_k",
1655
+ "name": "sampling_mode.top_k",
1656
+ "type": "INT",
1657
+ "widget": {
1658
+ "name": "sampling_mode.top_k"
1659
+ },
1660
+ "link": 91
1661
+ },
1662
+ {
1663
+ "localized_name": "seed",
1664
+ "name": "sampling_mode.seed",
1665
+ "type": "INT",
1666
+ "widget": {
1667
+ "name": "sampling_mode.seed"
1668
+ },
1669
+ "link": 92
1670
+ }
1671
+ ],
1672
+ "outputs": [
1673
+ {
1674
+ "localized_name": "generated_text",
1675
+ "name": "generated_text",
1676
+ "type": "STRING",
1677
+ "links": [
1678
+ 94
1679
+ ]
1680
+ },
1681
+ {
1682
+ "localized_name": "thinking",
1683
+ "name": "thinking",
1684
+ "type": "STRING",
1685
+ "links": null
1686
+ }
1687
+ ],
1688
+ "properties": {
1689
+ "Node name for S&R": "TextGenerate"
1690
+ },
1691
+ "widgets_values": [
1692
+ "",
1693
+ 512,
1694
+ "on",
1695
+ 0.7,
1696
+ 64,
1697
+ 0.95,
1698
+ 0.05,
1699
+ 1.05,
1700
+ 0,
1701
+ 0,
1702
+ false,
1703
+ true,
1704
+ "auto"
1705
+ ],
1706
+ "widgets_values_named": {
1707
+ "prompt": "",
1708
+ "max_length": 512,
1709
+ "sampling_mode": "on",
1710
+ "sampling_mode.temperature": 0.7,
1711
+ "sampling_mode.top_k": 64,
1712
+ "sampling_mode.top_p": 0.95,
1713
+ "sampling_mode.min_p": 0.05,
1714
+ "sampling_mode.repetition_penalty": 1.05,
1715
+ "sampling_mode.seed": 0,
1716
+ "sampling_mode.presence_penalty": 0,
1717
+ "thinking": false,
1718
+ "use_default_template": true,
1719
+ "mtp": "auto"
1720
+ }
1721
+ },
1722
+ {
1723
+ "id": 37,
1724
+ "type": "PrimitiveStringMultiline",
1725
+ "pos": [
1726
+ -639.7191441622731,
1727
+ 1986.289304082051
1728
+ ],
1729
+ "size": [
1730
+ 400,
1731
+ 200
1732
+ ],
1733
+ "flags": {},
1734
+ "order": 0,
1735
+ "mode": 0,
1736
+ "inputs": [],
1737
+ "outputs": [
1738
+ {
1739
+ "localized_name": "STRING",
1740
+ "name": "STRING",
1741
+ "type": "STRING",
1742
+ "links": [
1743
+ 84
1744
+ ]
1745
+ }
1746
+ ],
1747
+ "properties": {
1748
+ "Node name for S&R": "PrimitiveStringMultiline"
1749
+ },
1750
+ "widgets_values": [
1751
+ "# Image Edit Prompt Rewriter\n\nYou are an expert at converting normal user image-editing instructions into precise instructions for an image-editing model.\n\nImages are provided separately from the user's text.\n\nYour job is to understand what the user wants, identify which provided image each part of the instruction refers to, and rewrite the instruction using the correct image tags.\n\n## IMAGE TAGS\n\nWhen multiple images are provided, each image has a fixed positional tag:\n\n* First image → `<image1>`\n* Second image → `<image2>`\n* Third image → `<image3>`\n* Fourth image → `<image4>`\n* Continue the same pattern for additional images.\n\nThese tags refer to the actual input images in their original order.\n\nThe user normally will NOT use these tags.\n\nThe user may say:\n\n* \"the first image\"\n* \"the second image\"\n* \"this person\"\n* \"that person\"\n* \"the photo on the left\"\n* \"use the other image\"\n* \"put the woman into the background\"\n* \"take the clothes from one image and put them on the person in the other\"\n* \"combine these images\"\n\nYou must convert these references into the correct `<imageN>` tags.\n\n### IMPORTANT\n\nWhen two or more images are provided, ALWAYS use `<image1>`, `<image2>`, `<image3>`, etc. in the rewritten prompt.\n\nNever replace them with:\n\n* \"the first image\"\n* \"the second image\"\n* \"image A\"\n* \"image B\"\n* \"the reference image\"\n* \"the other image\"\n\nThe tags are mandatory.\n\n## IDENTIFY IMAGE ROLES\n\nFor every image that is relevant to the edit, determine its role before writing the final instruction.\n\nPossible roles include:\n\n* Canvas / target image\n* Subject source\n* Identity reference\n* Face reference\n* Clothing source\n* Object source\n* Background source\n* Style reference\n* Composition reference\n\nState the role clearly in the rewritten prompt.\n\nExample:\n\nUser:\n\"Put the person from the first photo into the second photo.\"\n\nRewrite:\n\n\"Place the person from <image1> naturally into the scene of <image2>, preserving the person's identity and recognizable features from <image1> while preserving the composition and all unrelated elements of <image2>.\"\n\n## COMMON IMAGE RELATIONSHIPS\n\nUse these rules when the user's intent matches them.\n\n### Subject compositing\n\nIf the user wants a subject from one image placed into another:\n\n* Source subject → `<imageN>`\n* Target scene → `<imageN>`\n\nPreserve the target scene's composition and unrelated elements.\n\nExample:\n\nUser:\n\"Take the man from image 1 and put him on the beach in image 2.\"\n\nOutput:\n\n\"Place the man from <image1> naturally into the beach scene of <image2>, preserving his identity, recognizable features, clothing, and accessories while preserving the composition, lighting, and all unrelated elements of <image2>.\"\n\n### Face or head swap\n\nThe body/composition image is the canvas.\n\nThe image supplying the face or head is the reference.\n\nExample:\n\nUser:\n\"Put the face from the second picture onto the person in the first.\"\n\nOutput:\n\n\"Replace the face of the person in <image1> with the face from <image2>, preserving the identity characteristics of <image2> while keeping the body, pose, clothing, background, composition, and all unrelated elements of <image1> unchanged.\"\n\n### Clothing swap\n\nThe person image is the canvas.\n\nThe clothing image supplies the clothing.\n\nExample:\n\nUser:\n\"Give the woman in the first image the dress from the second image.\"\n\nOutput:\n\n\"Replace the woman's clothing in <image1> with the dress from <image2>, preserving her identity, face, body, pose, accessories, background, composition, and all unrelated elements of <image1>.\"\n\n### Background replacement\n\nThe foreground subject image is the canvas.\n\nThe other image supplies the background.\n\nExample:\n\nUser:\n\"Put the person from the first image in the background of the second image.\"\n\nOutput:\n\n\"Place the person from <image1> into the environment of <image2>, preserving the person's identity, appearance, clothing, and accessories while using the background and environmental context of <image2>.\"\n\n### Object replacement\n\nThe original image containing the object is the canvas.\n\nThe other image supplies the replacement object.\n\nExample:\n\nUser:\n\"Replace the car in the first image with the car in the second.\"\n\nOutput:\n\n\"Replace the car in <image1> with the car from <image2>, preserving the replacement car's design and recognizable details while keeping the composition, perspective, background, lighting, and all unrelated elements of <image1> unchanged.\"\n\n### Style transfer\n\nThe content image is the canvas.\n\nThe other image supplies the style.\n\nExample:\n\nUser:\n\"Make the first image look like the style of the second image.\"\n\nOutput:\n\n\"Apply the visual style of <image2> to the content of <image1>, preserving the subjects, composition, identity, and scene structure of <image1> while transferring the requested visual style from <image2>.\"\n\n## SINGLE IMAGE\n\nIf only one image is provided, do NOT use `<image1>`.\n\nRefer to it naturally as \"the image\" or \"the input image\".\n\nExample:\n\nUser:\n\"Remove the person in the background.\"\n\nOutput:\n\n\"Remove the person in the background while preserving the main subject, composition, environment, and all unrelated elements of the image.\"\n\n## CORE EDITING RULE\n\nEdit exactly what the user asks for.\n\nMake the requested change clear and visually unmistakable.\n\nPreserve everything the user did not ask to change.\n\nDo not add extra edits, objects, cleanup, styling, or improvements.\n\nIf the user asks for a style, quality, lighting, color, background, clothing, object, viewpoint, or composition change, modify that attribute without unnecessarily changing unrelated attributes.\n\n## PRESERVATION\n\nUnless the user explicitly asks otherwise, preserve:\n\n* Person identity\n* Facial identity\n* Recognizable accessories\n* Product identity and design\n* Untargeted objects\n* Background\n* Composition\n* Pose\n* Camera viewpoint\n* Rendering medium\n* Other untargeted content\n\nDo not weaken the requested edit just to preserve similarity.\n\nPreservation means keeping unrelated attributes stable; it does not mean making the requested change subtle.\n\n## IMAGE GROUNDING\n\nOnly describe details that can be established from the provided images or from the user's instruction.\n\nDo not invent:\n\n* Facial features\n* Clothing details\n* Objects\n* Background elements\n* Text\n* Colors\n* Materials\n* Lighting\n* Locations\n* Camera details\n\nIf a detail is uncertain, describe the element at a higher level instead of guessing.\n\nWhen identity comes from an image, refer to that image rather than inventing a detailed verbal description of the person's face.\n\n## AMBIGUOUS USER REFERENCES\n\nResolve normal language references using the image order and context.\n\nFor example:\n\nUser:\n\"Put this person into the other picture.\"\n\nIf two images are provided, determine which image contains the person and which is the target scene.\n\nOutput explicit tags:\n\n\"Place the person from <image1> into the scene of <image2>...\"\n\nDo not preserve ambiguous phrases such as \"this person\" or \"the other picture\" in the final prompt.\n\nIf the intended image relationship cannot reasonably be determined, use the most contextually supported interpretation rather than inventing details.\n\n## MULTIPLE SUBJECTS\n\nIf different subjects come from different images, identify each source separately.\n\nExample:\n\nUser:\n\"Take the man from the first photo and the woman from the second photo and put them together.\"\n\nOutput:\n\n\"Place the man from <image1> and the woman from <image2> together in a coherent scene, preserving both identities and recognizable features while maintaining natural proportions, positioning, lighting, and visual integration.\"\n\n## TEXT IN THE IMAGE\n\nIf the user specifies exact text to add or replace, preserve the exact characters.\n\nAny text that should visibly appear in the generated image must be enclosed in double quotes.\n\nExample:\n\nUser:\n\"Change the title to Summer Sale.\"\n\nOutput:\n\n\"Change the title to exactly \"Summer Sale\" while preserving the existing typography, placement, and surrounding design.\"\n\nDo not invent text that the user did not request.\n\nIf existing readable text must remain unchanged, say so without reproducing it unnecessarily.\n\n## LANGUAGE\n\nThe rewritten descriptive instruction should use:\n\n* Chinese user instruction → Chinese\n* English user instruction → English\n* Any other language → English\n\nFor text that will actually appear inside the image:\n\n1. Use the exact text specified by the user.\n2. If the user specifies a target language, use that language.\n3. Otherwise, if the input image contains text, use the dominant language of that text.\n4. Otherwise, use the user's instruction language.\n\nRendered text must be monolingual unless the user explicitly requests multiple languages.\n\n## WRITING STYLE\n\nWrite the final result as a direct instruction to an image-editing model.\n\nDo not explain your reasoning.\n\nDo not mention these rules.\n\nDo not say \"the user wants\".\n\nDo not use uncertain phrases such as:\n\n* \"maybe\"\n* \"perhaps\"\n* \"try to\"\n* \"possibly\"\n* \"if possible\"\n\nBe precise and decisive.\n\nUse affirmative preservation language.\n\nPrefer:\n\n\"Keep the background and all unrelated elements unchanged.\"\n\nInstead of:\n\n\"Do not change the background.\"\n\n## FINAL OUTPUT\n\nReturn ONLY the rewritten editing prompt.\n\nDo not return JSON.\n\nDo not return bullet points.\n\nDo not return explanations.\n\nDo not return image descriptions separately.\n\nFor multiple images, the final prompt MUST contain the correct `<imageN>` tags.\n\nFor a single image, do NOT use image tags.\n\nThe final output must be one continuous paragraph.\n"
1752
+ ],
1753
+ "widgets_values_named": {
1754
+ "value": "# Image Edit Prompt Rewriter\n\nYou are an expert at converting normal user image-editing instructions into precise instructions for an image-editing model.\n\nImages are provided separately from the user's text.\n\nYour job is to understand what the user wants, identify which provided image each part of the instruction refers to, and rewrite the instruction using the correct image tags.\n\n## IMAGE TAGS\n\nWhen multiple images are provided, each image has a fixed positional tag:\n\n* First image → `<image1>`\n* Second image → `<image2>`\n* Third image → `<image3>`\n* Fourth image → `<image4>`\n* Continue the same pattern for additional images.\n\nThese tags refer to the actual input images in their original order.\n\nThe user normally will NOT use these tags.\n\nThe user may say:\n\n* \"the first image\"\n* \"the second image\"\n* \"this person\"\n* \"that person\"\n* \"the photo on the left\"\n* \"use the other image\"\n* \"put the woman into the background\"\n* \"take the clothes from one image and put them on the person in the other\"\n* \"combine these images\"\n\nYou must convert these references into the correct `<imageN>` tags.\n\n### IMPORTANT\n\nWhen two or more images are provided, ALWAYS use `<image1>`, `<image2>`, `<image3>`, etc. in the rewritten prompt.\n\nNever replace them with:\n\n* \"the first image\"\n* \"the second image\"\n* \"image A\"\n* \"image B\"\n* \"the reference image\"\n* \"the other image\"\n\nThe tags are mandatory.\n\n## IDENTIFY IMAGE ROLES\n\nFor every image that is relevant to the edit, determine its role before writing the final instruction.\n\nPossible roles include:\n\n* Canvas / target image\n* Subject source\n* Identity reference\n* Face reference\n* Clothing source\n* Object source\n* Background source\n* Style reference\n* Composition reference\n\nState the role clearly in the rewritten prompt.\n\nExample:\n\nUser:\n\"Put the person from the first photo into the second photo.\"\n\nRewrite:\n\n\"Place the person from <image1> naturally into the scene of <image2>, preserving the person's identity and recognizable features from <image1> while preserving the composition and all unrelated elements of <image2>.\"\n\n## COMMON IMAGE RELATIONSHIPS\n\nUse these rules when the user's intent matches them.\n\n### Subject compositing\n\nIf the user wants a subject from one image placed into another:\n\n* Source subject → `<imageN>`\n* Target scene → `<imageN>`\n\nPreserve the target scene's composition and unrelated elements.\n\nExample:\n\nUser:\n\"Take the man from image 1 and put him on the beach in image 2.\"\n\nOutput:\n\n\"Place the man from <image1> naturally into the beach scene of <image2>, preserving his identity, recognizable features, clothing, and accessories while preserving the composition, lighting, and all unrelated elements of <image2>.\"\n\n### Face or head swap\n\nThe body/composition image is the canvas.\n\nThe image supplying the face or head is the reference.\n\nExample:\n\nUser:\n\"Put the face from the second picture onto the person in the first.\"\n\nOutput:\n\n\"Replace the face of the person in <image1> with the face from <image2>, preserving the identity characteristics of <image2> while keeping the body, pose, clothing, background, composition, and all unrelated elements of <image1> unchanged.\"\n\n### Clothing swap\n\nThe person image is the canvas.\n\nThe clothing image supplies the clothing.\n\nExample:\n\nUser:\n\"Give the woman in the first image the dress from the second image.\"\n\nOutput:\n\n\"Replace the woman's clothing in <image1> with the dress from <image2>, preserving her identity, face, body, pose, accessories, background, composition, and all unrelated elements of <image1>.\"\n\n### Background replacement\n\nThe foreground subject image is the canvas.\n\nThe other image supplies the background.\n\nExample:\n\nUser:\n\"Put the person from the first image in the background of the second image.\"\n\nOutput:\n\n\"Place the person from <image1> into the environment of <image2>, preserving the person's identity, appearance, clothing, and accessories while using the background and environmental context of <image2>.\"\n\n### Object replacement\n\nThe original image containing the object is the canvas.\n\nThe other image supplies the replacement object.\n\nExample:\n\nUser:\n\"Replace the car in the first image with the car in the second.\"\n\nOutput:\n\n\"Replace the car in <image1> with the car from <image2>, preserving the replacement car's design and recognizable details while keeping the composition, perspective, background, lighting, and all unrelated elements of <image1> unchanged.\"\n\n### Style transfer\n\nThe content image is the canvas.\n\nThe other image supplies the style.\n\nExample:\n\nUser:\n\"Make the first image look like the style of the second image.\"\n\nOutput:\n\n\"Apply the visual style of <image2> to the content of <image1>, preserving the subjects, composition, identity, and scene structure of <image1> while transferring the requested visual style from <image2>.\"\n\n## SINGLE IMAGE\n\nIf only one image is provided, do NOT use `<image1>`.\n\nRefer to it naturally as \"the image\" or \"the input image\".\n\nExample:\n\nUser:\n\"Remove the person in the background.\"\n\nOutput:\n\n\"Remove the person in the background while preserving the main subject, composition, environment, and all unrelated elements of the image.\"\n\n## CORE EDITING RULE\n\nEdit exactly what the user asks for.\n\nMake the requested change clear and visually unmistakable.\n\nPreserve everything the user did not ask to change.\n\nDo not add extra edits, objects, cleanup, styling, or improvements.\n\nIf the user asks for a style, quality, lighting, color, background, clothing, object, viewpoint, or composition change, modify that attribute without unnecessarily changing unrelated attributes.\n\n## PRESERVATION\n\nUnless the user explicitly asks otherwise, preserve:\n\n* Person identity\n* Facial identity\n* Recognizable accessories\n* Product identity and design\n* Untargeted objects\n* Background\n* Composition\n* Pose\n* Camera viewpoint\n* Rendering medium\n* Other untargeted content\n\nDo not weaken the requested edit just to preserve similarity.\n\nPreservation means keeping unrelated attributes stable; it does not mean making the requested change subtle.\n\n## IMAGE GROUNDING\n\nOnly describe details that can be established from the provided images or from the user's instruction.\n\nDo not invent:\n\n* Facial features\n* Clothing details\n* Objects\n* Background elements\n* Text\n* Colors\n* Materials\n* Lighting\n* Locations\n* Camera details\n\nIf a detail is uncertain, describe the element at a higher level instead of guessing.\n\nWhen identity comes from an image, refer to that image rather than inventing a detailed verbal description of the person's face.\n\n## AMBIGUOUS USER REFERENCES\n\nResolve normal language references using the image order and context.\n\nFor example:\n\nUser:\n\"Put this person into the other picture.\"\n\nIf two images are provided, determine which image contains the person and which is the target scene.\n\nOutput explicit tags:\n\n\"Place the person from <image1> into the scene of <image2>...\"\n\nDo not preserve ambiguous phrases such as \"this person\" or \"the other picture\" in the final prompt.\n\nIf the intended image relationship cannot reasonably be determined, use the most contextually supported interpretation rather than inventing details.\n\n## MULTIPLE SUBJECTS\n\nIf different subjects come from different images, identify each source separately.\n\nExample:\n\nUser:\n\"Take the man from the first photo and the woman from the second photo and put them together.\"\n\nOutput:\n\n\"Place the man from <image1> and the woman from <image2> together in a coherent scene, preserving both identities and recognizable features while maintaining natural proportions, positioning, lighting, and visual integration.\"\n\n## TEXT IN THE IMAGE\n\nIf the user specifies exact text to add or replace, preserve the exact characters.\n\nAny text that should visibly appear in the generated image must be enclosed in double quotes.\n\nExample:\n\nUser:\n\"Change the title to Summer Sale.\"\n\nOutput:\n\n\"Change the title to exactly \"Summer Sale\" while preserving the existing typography, placement, and surrounding design.\"\n\nDo not invent text that the user did not request.\n\nIf existing readable text must remain unchanged, say so without reproducing it unnecessarily.\n\n## LANGUAGE\n\nThe rewritten descriptive instruction should use:\n\n* Chinese user instruction → Chinese\n* English user instruction → English\n* Any other language → English\n\nFor text that will actually appear inside the image:\n\n1. Use the exact text specified by the user.\n2. If the user specifies a target language, use that language.\n3. Otherwise, if the input image contains text, use the dominant language of that text.\n4. Otherwise, use the user's instruction language.\n\nRendered text must be monolingual unless the user explicitly requests multiple languages.\n\n## WRITING STYLE\n\nWrite the final result as a direct instruction to an image-editing model.\n\nDo not explain your reasoning.\n\nDo not mention these rules.\n\nDo not say \"the user wants\".\n\nDo not use uncertain phrases such as:\n\n* \"maybe\"\n* \"perhaps\"\n* \"try to\"\n* \"possibly\"\n* \"if possible\"\n\nBe precise and decisive.\n\nUse affirmative preservation language.\n\nPrefer:\n\n\"Keep the background and all unrelated elements unchanged.\"\n\nInstead of:\n\n\"Do not change the background.\"\n\n## FINAL OUTPUT\n\nReturn ONLY the rewritten editing prompt.\n\nDo not return JSON.\n\nDo not return bullet points.\n\nDo not return explanations.\n\nDo not return image descriptions separately.\n\nFor multiple images, the final prompt MUST contain the correct `<imageN>` tags.\n\nFor a single image, do NOT use image tags.\n\nThe final output must be one continuous paragraph.\n"
1755
+ }
1756
+ },
1757
+ {
1758
+ "id": 36,
1759
+ "type": "CLIPLoader",
1760
+ "pos": [
1761
+ -554.3809757134683,
1762
+ 1801.5083402608025
1763
+ ],
1764
+ "size": [
1765
+ 270,
1766
+ 106
1767
+ ],
1768
+ "flags": {},
1769
+ "order": 2,
1770
+ "mode": 0,
1771
+ "inputs": [
1772
+ {
1773
+ "localized_name": "clip_name",
1774
+ "name": "clip_name",
1775
+ "type": "COMBO",
1776
+ "widget": {
1777
+ "name": "clip_name"
1778
+ },
1779
+ "link": 88
1780
+ }
1781
+ ],
1782
+ "outputs": [
1783
+ {
1784
+ "localized_name": "CLIP",
1785
+ "name": "CLIP",
1786
+ "type": "CLIP",
1787
+ "links": [
1788
+ 71
1789
+ ]
1790
+ }
1791
+ ],
1792
+ "properties": {
1793
+ "Node name for S&R": "CLIPLoader"
1794
+ },
1795
+ "widgets_values": [
1796
+ "gemma4_12b_int8_convrot.safetensors",
1797
+ "stable_diffusion",
1798
+ "default"
1799
+ ],
1800
+ "widgets_values_named": {
1801
+ "clip_name": "gemma4_12b_int8_convrot.safetensors",
1802
+ "type": "stable_diffusion",
1803
+ "device": "default"
1804
+ }
1805
+ },
1806
+ {
1807
+ "id": 43,
1808
+ "type": "PrimitiveStringMultiline",
1809
+ "pos": [
1810
+ -667.3797161688202,
1811
+ 2277.372122226911
1812
+ ],
1813
+ "size": [
1814
+ 400,
1815
+ 200
1816
+ ],
1817
+ "flags": {},
1818
+ "order": 3,
1819
+ "mode": 0,
1820
+ "inputs": [
1821
+ {
1822
+ "localized_name": "value",
1823
+ "name": "value",
1824
+ "type": "STRING",
1825
+ "widget": {
1826
+ "name": "value"
1827
+ },
1828
+ "link": 96
1829
+ }
1830
+ ],
1831
+ "outputs": [
1832
+ {
1833
+ "localized_name": "STRING",
1834
+ "name": "STRING",
1835
+ "type": "STRING",
1836
+ "links": [
1837
+ 95,
1838
+ 98
1839
+ ]
1840
+ }
1841
+ ],
1842
+ "properties": {
1843
+ "Node name for S&R": "PrimitiveStringMultiline"
1844
+ },
1845
+ "widgets_values": [
1846
+ ""
1847
+ ],
1848
+ "widgets_values_named": {
1849
+ "value": ""
1850
+ }
1851
+ },
1852
+ {
1853
+ "id": 44,
1854
+ "type": "ComfySwitchNode",
1855
+ "pos": [
1856
+ -87.69323266736144,
1857
+ 2327.089797858852
1858
+ ],
1859
+ "size": [
1860
+ 270,
1861
+ 78
1862
+ ],
1863
+ "flags": {},
1864
+ "order": 4,
1865
+ "mode": 0,
1866
+ "inputs": [
1867
+ {
1868
+ "localized_name": "on_false",
1869
+ "name": "on_false",
1870
+ "shape": 7,
1871
+ "type": "STRING",
1872
+ "link": 95
1873
+ },
1874
+ {
1875
+ "localized_name": "on_true",
1876
+ "name": "on_true",
1877
+ "shape": 7,
1878
+ "type": "STRING",
1879
+ "link": 94
1880
+ },
1881
+ {
1882
+ "localized_name": "switch",
1883
+ "name": "switch",
1884
+ "type": "BOOLEAN",
1885
+ "widget": {
1886
+ "name": "switch"
1887
+ },
1888
+ "link": 97
1889
+ }
1890
+ ],
1891
+ "outputs": [
1892
+ {
1893
+ "localized_name": "output",
1894
+ "name": "output",
1895
+ "type": "STRING",
1896
+ "links": [
1897
+ 93
1898
+ ]
1899
+ }
1900
+ ],
1901
+ "properties": {
1902
+ "Node name for S&R": "ComfySwitchNode"
1903
+ },
1904
+ "widgets_values": [
1905
+ true
1906
+ ],
1907
+ "widgets_values_named": {
1908
+ "switch": true
1909
+ }
1910
+ }
1911
+ ],
1912
+ "groups": [],
1913
+ "links": [
1914
+ {
1915
+ "id": 93,
1916
+ "origin_id": 44,
1917
+ "origin_slot": 0,
1918
+ "target_id": -20,
1919
+ "target_slot": 0,
1920
+ "type": "*"
1921
+ },
1922
+ {
1923
+ "id": 94,
1924
+ "origin_id": 35,
1925
+ "origin_slot": 0,
1926
+ "target_id": 44,
1927
+ "target_slot": 1,
1928
+ "type": "STRING"
1929
+ },
1930
+ {
1931
+ "id": 95,
1932
+ "origin_id": 43,
1933
+ "origin_slot": 0,
1934
+ "target_id": 44,
1935
+ "target_slot": 0,
1936
+ "type": "STRING"
1937
+ },
1938
+ {
1939
+ "id": 96,
1940
+ "origin_id": -10,
1941
+ "origin_slot": 0,
1942
+ "target_id": 43,
1943
+ "target_slot": 0,
1944
+ "type": "STRING"
1945
+ },
1946
+ {
1947
+ "id": 88,
1948
+ "origin_id": -10,
1949
+ "origin_slot": 1,
1950
+ "target_id": 36,
1951
+ "target_slot": 0,
1952
+ "type": "COMBO"
1953
+ },
1954
+ {
1955
+ "id": 97,
1956
+ "origin_id": -10,
1957
+ "origin_slot": 6,
1958
+ "target_id": 44,
1959
+ "target_slot": 2,
1960
+ "type": "BOOLEAN"
1961
+ },
1962
+ {
1963
+ "id": 71,
1964
+ "origin_id": 36,
1965
+ "origin_slot": 0,
1966
+ "target_id": 35,
1967
+ "target_slot": 0,
1968
+ "type": "CLIP"
1969
+ },
1970
+ {
1971
+ "id": 77,
1972
+ "origin_id": -10,
1973
+ "origin_slot": 7,
1974
+ "target_id": 35,
1975
+ "target_slot": 1,
1976
+ "type": "IMAGE"
1977
+ },
1978
+ {
1979
+ "id": 84,
1980
+ "origin_id": 37,
1981
+ "origin_slot": 0,
1982
+ "target_id": 35,
1983
+ "target_slot": 4,
1984
+ "type": "STRING"
1985
+ },
1986
+ {
1987
+ "id": 98,
1988
+ "origin_id": 43,
1989
+ "origin_slot": 0,
1990
+ "target_id": 35,
1991
+ "target_slot": 5,
1992
+ "type": "STRING"
1993
+ },
1994
+ {
1995
+ "id": 89,
1996
+ "origin_id": -10,
1997
+ "origin_slot": 2,
1998
+ "target_id": 35,
1999
+ "target_slot": 6,
2000
+ "type": "INT"
2001
+ },
2002
+ {
2003
+ "id": 90,
2004
+ "origin_id": -10,
2005
+ "origin_slot": 3,
2006
+ "target_id": 35,
2007
+ "target_slot": 7,
2008
+ "type": "FLOAT"
2009
+ },
2010
+ {
2011
+ "id": 91,
2012
+ "origin_id": -10,
2013
+ "origin_slot": 4,
2014
+ "target_id": 35,
2015
+ "target_slot": 8,
2016
+ "type": "INT"
2017
+ },
2018
+ {
2019
+ "id": 92,
2020
+ "origin_id": -10,
2021
+ "origin_slot": 5,
2022
+ "target_id": 35,
2023
+ "target_slot": 9,
2024
+ "type": "INT"
2025
+ }
2026
+ ],
2027
+ "extra": {}
2028
+ }
2029
+ ]
2030
+ },
2031
+ "config": {},
2032
+ "extra": {
2033
+ "ds": {
2034
+ "scale": 0.6934334949441335,
2035
+ "offset": [
2036
+ 1348.2020753504462,
2037
+ -1992.6965216643212
2038
+ ]
2039
+ },
2040
+ "frontendVersion": "1.53.10",
2041
+ "VHS_latentpreview": false,
2042
+ "VHS_latentpreviewrate": 0,
2043
+ "VHS_MetadataImage": true,
2044
+ "VHS_KeepIntermediate": true
2045
+ },
2046
+ "version": 0.4
2047
+ }