axiomgraph commited on
Commit
d54eb57
·
verified ·
1 Parent(s): d06f0d4

Upload 3 files

Browse files
Qwen Image 2.1 Edit Image_Turbo.json ADDED
@@ -0,0 +1,1998 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "id": "ce457384-a6bd-442b-b2c1-cf6563498f37",
3
+ "revision": 0,
4
+ "last_node_id": 66,
5
+ "last_link_id": 159,
6
+ "nodes": [
7
+ {
8
+ "id": 1,
9
+ "type": "UNETLoader",
10
+ "pos": [
11
+ -424.360906529309,
12
+ 2380.3008501741074
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
+ -424.360906529309,
48
+ 2508.3008501741074
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
+ -81.68485621790893,
86
+ 2210.0360633328223
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
+ 159
108
+ ]
109
+ }
110
+ ],
111
+ "properties": {
112
+ "Node name for S&R": "LoraLoaderModelOnly"
113
+ },
114
+ "widgets_values": [
115
+ "qwen_image_2.1_turbo_lora_avg_rank_178_bf16.safetensors",
116
+ 0.8
117
+ ],
118
+ "widgets_values_named": {
119
+ "lora_name": "qwen_image_2.1_turbo_lora_avg_rank_178_bf16.safetensors",
120
+ "strength_model": 0.8
121
+ }
122
+ },
123
+ {
124
+ "id": 4,
125
+ "type": "QwenImage21Cache",
126
+ "pos": [
127
+ 908.0816479335749,
128
+ 2210.0360633328223
129
+ ],
130
+ "size": [
131
+ 270,
132
+ 82
133
+ ],
134
+ "flags": {},
135
+ "order": 14,
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
+ 110
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
+ 907.301129199018,
170
+ 2342.5402789934014
171
+ ],
172
+ "size": [
173
+ 417.6505024295941,
174
+ 436.1722703108476
175
+ ],
176
+ "flags": {},
177
+ "order": 17,
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": 151
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
+ 111
248
+ ]
249
+ },
250
+ {
251
+ "name": "negative",
252
+ "type": "CONDITIONING",
253
+ "links": [
254
+ 112
255
+ ]
256
+ },
257
+ {
258
+ "name": "latent",
259
+ "type": "LATENT",
260
+ "links": [
261
+ 121
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
+ -424.360906529309,
284
+ 2660.3008501741074
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
+ 1490.975160044912,
319
+ 2244.753235092111
320
+ ],
321
+ "size": [
322
+ 140,
323
+ 46
324
+ ],
325
+ "flags": {},
326
+ "order": 19,
327
+ "mode": 0,
328
+ "inputs": [
329
+ {
330
+ "name": "samples",
331
+ "type": "LATENT",
332
+ "link": 120
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
+ 1678.437343665217,
358
+ 2359.336613561588
359
+ ],
360
+ "size": [
361
+ 370.09390910476736,
362
+ 602.8080730194638
363
+ ],
364
+ "flags": {},
365
+ "order": 20,
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
+ -107.85618746512253,
402
+ 3170.067041327857
403
+ ],
404
+ "size": [
405
+ 282.798828125,
406
+ 314
407
+ ],
408
+ "flags": {},
409
+ "order": 3,
410
+ "mode": 0,
411
+ "inputs": [],
412
+ "outputs": [
413
+ {
414
+ "name": "IMAGE",
415
+ "type": "IMAGE",
416
+ "links": [
417
+ 158
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-1790564123378.png [input]"
429
+ },
430
+ "widgets_values": [
431
+ "donald-teel-rTIsxUpHixI-unsplash.jpg",
432
+ "image"
433
+ ],
434
+ "widgets_values_named": {
435
+ "image": "donald-teel-rTIsxUpHixI-unsplash.jpg",
436
+ "upload": "image"
437
+ }
438
+ },
439
+ {
440
+ "id": 20,
441
+ "type": "Image Comparer (rgthree)",
442
+ "pos": [
443
+ 2088.87765638282,
444
+ 2358.0098679190737
445
+ ],
446
+ "size": [
447
+ 657.7999227371905,
448
+ 603.0862049820716
449
+ ],
450
+ "flags": {},
451
+ "order": 21,
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": 155
465
+ }
466
+ ],
467
+ "outputs": [
468
+ {
469
+ "dir": 4,
470
+ "name": "images",
471
+ "shape": 3,
472
+ "type": "IMAGE",
473
+ "links": null
474
+ }
475
+ ],
476
+ "title": "Consistency Lora Vs Original",
477
+ "properties": {
478
+ "comparer_mode": "Slide"
479
+ },
480
+ "widgets_values": [
481
+ [
482
+ {
483
+ "name": "A",
484
+ "selected": true,
485
+ "url": "/api/view?filename=rgthree.compare._temp_jmmps_00063_.png&type=temp&subfolder=&rand=0.5158730745456576"
486
+ },
487
+ {
488
+ "name": "B",
489
+ "selected": true,
490
+ "url": "/api/view?filename=rgthree.compare._temp_jmmps_00064_.png&type=temp&subfolder=&rand=0.606440787287831"
491
+ }
492
+ ]
493
+ ],
494
+ "widgets_values_named": {
495
+ "rgthree_comparer": {
496
+ "images": [
497
+ {
498
+ "name": "A",
499
+ "selected": true,
500
+ "url": "/api/view?filename=rgthree.compare._temp_jmmps_00063_.png&type=temp&subfolder=&rand=0.5158730745456576",
501
+ "img": {}
502
+ },
503
+ {
504
+ "name": "B",
505
+ "selected": true,
506
+ "url": "/api/view?filename=rgthree.compare._temp_jmmps_00064_.png&type=temp&subfolder=&rand=0.606440787287831",
507
+ "img": {}
508
+ }
509
+ ]
510
+ }
511
+ }
512
+ },
513
+ {
514
+ "id": 25,
515
+ "type": "LoadImage",
516
+ "pos": [
517
+ 227.5681468567755,
518
+ 3167.618662942076
519
+ ],
520
+ "size": [
521
+ 282.798828125,
522
+ 314
523
+ ],
524
+ "flags": {},
525
+ "order": 4,
526
+ "mode": 0,
527
+ "inputs": [],
528
+ "outputs": [
529
+ {
530
+ "name": "IMAGE",
531
+ "type": "IMAGE",
532
+ "links": [
533
+ 67
534
+ ]
535
+ },
536
+ {
537
+ "name": "MASK",
538
+ "type": "MASK",
539
+ "links": null
540
+ }
541
+ ],
542
+ "properties": {
543
+ "Node name for S&R": "LoadImage"
544
+ },
545
+ "widgets_values": [
546
+ "Men’s Beige Plaid Casual Shirt – Minimal Everyday Style 🤍✨.jpg",
547
+ "image"
548
+ ],
549
+ "widgets_values_named": {
550
+ "image": "Men’s Beige Plaid Casual Shirt – Minimal Everyday Style 🤍✨.jpg",
551
+ "upload": "image"
552
+ }
553
+ },
554
+ {
555
+ "id": 26,
556
+ "type": "LoadImage",
557
+ "pos": [
558
+ 550.6157896859913,
559
+ 3167.618662942076
560
+ ],
561
+ "size": [
562
+ 282.798828125,
563
+ 314
564
+ ],
565
+ "flags": {},
566
+ "order": 5,
567
+ "mode": 0,
568
+ "inputs": [],
569
+ "outputs": [
570
+ {
571
+ "name": "IMAGE",
572
+ "type": "IMAGE",
573
+ "links": [
574
+ 69
575
+ ]
576
+ },
577
+ {
578
+ "name": "MASK",
579
+ "type": "MASK",
580
+ "links": null
581
+ }
582
+ ],
583
+ "properties": {
584
+ "Node name for S&R": "LoadImage"
585
+ },
586
+ "widgets_values": [
587
+ "mediamodifier-t8HiP3e5abg-unsplash.jpg",
588
+ "image"
589
+ ],
590
+ "widgets_values_named": {
591
+ "image": "mediamodifier-t8HiP3e5abg-unsplash.jpg",
592
+ "upload": "image"
593
+ }
594
+ },
595
+ {
596
+ "id": 30,
597
+ "type": "ModelAttentionBackend",
598
+ "pos": [
599
+ 579.3938706525771,
600
+ 2208.8016725633256
601
+ ],
602
+ "size": [
603
+ 270,
604
+ 58
605
+ ],
606
+ "flags": {},
607
+ "order": 12,
608
+ "mode": 0,
609
+ "inputs": [
610
+ {
611
+ "name": "model",
612
+ "type": "MODEL",
613
+ "link": 159
614
+ }
615
+ ],
616
+ "outputs": [
617
+ {
618
+ "name": "model",
619
+ "type": "MODEL",
620
+ "links": [
621
+ 62
622
+ ]
623
+ }
624
+ ],
625
+ "properties": {
626
+ "Node name for S&R": "ModelAttentionBackend"
627
+ },
628
+ "widgets_values": [
629
+ "comfy kitchen attention"
630
+ ],
631
+ "widgets_values_named": {
632
+ "attention": "comfy kitchen attention"
633
+ }
634
+ },
635
+ {
636
+ "id": 33,
637
+ "type": "ImageScaleToTotalPixels",
638
+ "pos": [
639
+ 227.5681468567755,
640
+ 3017.9507848457692
641
+ ],
642
+ "size": [
643
+ 276.4927734375,
644
+ 106
645
+ ],
646
+ "flags": {},
647
+ "order": 9,
648
+ "mode": 0,
649
+ "inputs": [
650
+ {
651
+ "name": "image",
652
+ "type": "IMAGE",
653
+ "link": 67
654
+ }
655
+ ],
656
+ "outputs": [
657
+ {
658
+ "name": "IMAGE",
659
+ "type": "IMAGE",
660
+ "links": [
661
+ 68,
662
+ 79
663
+ ]
664
+ }
665
+ ],
666
+ "properties": {
667
+ "Node name for S&R": "ImageScaleToTotalPixels"
668
+ },
669
+ "widgets_values": [
670
+ "lanczos",
671
+ 1,
672
+ 32
673
+ ],
674
+ "widgets_values_named": {
675
+ "upscale_method": "lanczos",
676
+ "megapixels": 1,
677
+ "resolution_steps": 32
678
+ }
679
+ },
680
+ {
681
+ "id": 34,
682
+ "type": "ImageScaleToTotalPixels",
683
+ "pos": [
684
+ 550.6157896859913,
685
+ 3018.5572622378522
686
+ ],
687
+ "size": [
688
+ 276.4927734375,
689
+ 106
690
+ ],
691
+ "flags": {},
692
+ "order": 10,
693
+ "mode": 0,
694
+ "inputs": [
695
+ {
696
+ "name": "image",
697
+ "type": "IMAGE",
698
+ "link": 69
699
+ }
700
+ ],
701
+ "outputs": [
702
+ {
703
+ "name": "IMAGE",
704
+ "type": "IMAGE",
705
+ "links": [
706
+ 70,
707
+ 80
708
+ ]
709
+ }
710
+ ],
711
+ "properties": {
712
+ "Node name for S&R": "ImageScaleToTotalPixels"
713
+ },
714
+ "widgets_values": [
715
+ "lanczos",
716
+ 1,
717
+ 32
718
+ ],
719
+ "widgets_values_named": {
720
+ "upscale_method": "lanczos",
721
+ "megapixels": 1,
722
+ "resolution_steps": 32
723
+ }
724
+ },
725
+ {
726
+ "id": 38,
727
+ "type": "PreviewAny",
728
+ "pos": [
729
+ 467.54372149478957,
730
+ 2340.048969160257
731
+ ],
732
+ "size": [
733
+ 423.3230014842202,
734
+ 353.86701442125286
735
+ ],
736
+ "flags": {},
737
+ "order": 16,
738
+ "mode": 0,
739
+ "inputs": [
740
+ {
741
+ "name": "source",
742
+ "type": "*",
743
+ "link": 86
744
+ }
745
+ ],
746
+ "outputs": [
747
+ {
748
+ "name": "STRING",
749
+ "type": "STRING",
750
+ "links": null
751
+ }
752
+ ],
753
+ "title": "Preview Output",
754
+ "properties": {
755
+ "Node name for S&R": "PreviewAny"
756
+ },
757
+ "widgets_values": [],
758
+ "widgets_values_named": {}
759
+ },
760
+ {
761
+ "id": 39,
762
+ "type": "BatchImagesNode",
763
+ "pos": [
764
+ -357.87178354430705,
765
+ 2787.789514764721
766
+ ],
767
+ "size": [
768
+ 207.66912164829296,
769
+ 126
770
+ ],
771
+ "flags": {},
772
+ "order": 13,
773
+ "mode": 0,
774
+ "inputs": [
775
+ {
776
+ "name": "images.image0",
777
+ "type": "IMAGE",
778
+ "link": 150
779
+ },
780
+ {
781
+ "name": "images.image1",
782
+ "shape": 7,
783
+ "type": "IMAGE",
784
+ "link": 79
785
+ },
786
+ {
787
+ "name": "images.image2",
788
+ "shape": 7,
789
+ "type": "IMAGE",
790
+ "link": 80
791
+ },
792
+ {
793
+ "name": "images.image3",
794
+ "shape": 7,
795
+ "type": "IMAGE",
796
+ "link": 83
797
+ },
798
+ {
799
+ "name": "images.image4",
800
+ "shape": 7,
801
+ "type": "IMAGE",
802
+ "link": null
803
+ }
804
+ ],
805
+ "outputs": [
806
+ {
807
+ "name": "IMAGE",
808
+ "type": "IMAGE",
809
+ "links": [
810
+ 85
811
+ ]
812
+ }
813
+ ],
814
+ "properties": {
815
+ "Node name for S&R": "BatchImagesNode"
816
+ }
817
+ },
818
+ {
819
+ "id": 40,
820
+ "type": "LoadImage",
821
+ "pos": [
822
+ 878.9271128185434,
823
+ 3164.2521426616304
824
+ ],
825
+ "size": [
826
+ 282.798828125,
827
+ 314
828
+ ],
829
+ "flags": {},
830
+ "order": 6,
831
+ "mode": 4,
832
+ "inputs": [],
833
+ "outputs": [
834
+ {
835
+ "name": "IMAGE",
836
+ "type": "IMAGE",
837
+ "links": [
838
+ 81
839
+ ]
840
+ },
841
+ {
842
+ "name": "MASK",
843
+ "type": "MASK",
844
+ "links": []
845
+ }
846
+ ],
847
+ "properties": {
848
+ "Node name for S&R": "LoadImage"
849
+ },
850
+ "widgets_values": [
851
+ "pexels-dhanno-23223837.jpg",
852
+ "image"
853
+ ],
854
+ "widgets_values_named": {
855
+ "image": "pexels-dhanno-23223837.jpg",
856
+ "upload": "image"
857
+ }
858
+ },
859
+ {
860
+ "id": 41,
861
+ "type": "ImageScaleToTotalPixels",
862
+ "pos": [
863
+ 878.9271128185434,
864
+ 3017.4038113006695
865
+ ],
866
+ "size": [
867
+ 276.4927734375,
868
+ 106
869
+ ],
870
+ "flags": {},
871
+ "order": 11,
872
+ "mode": 4,
873
+ "inputs": [
874
+ {
875
+ "name": "image",
876
+ "type": "IMAGE",
877
+ "link": 81
878
+ }
879
+ ],
880
+ "outputs": [
881
+ {
882
+ "name": "IMAGE",
883
+ "type": "IMAGE",
884
+ "links": [
885
+ 82,
886
+ 83
887
+ ]
888
+ }
889
+ ],
890
+ "properties": {
891
+ "Node name for S&R": "ImageScaleToTotalPixels"
892
+ },
893
+ "widgets_values": [
894
+ "lanczos",
895
+ 1,
896
+ 32
897
+ ],
898
+ "widgets_values_named": {
899
+ "upscale_method": "lanczos",
900
+ "megapixels": 1,
901
+ "resolution_steps": 32
902
+ }
903
+ },
904
+ {
905
+ "id": 42,
906
+ "type": "3f062bab-1f0e-43de-a18b-5686352a116e",
907
+ "pos": [
908
+ -85.87363251276602,
909
+ 2338.8846374095524
910
+ ],
911
+ "size": [
912
+ 533.41739841613,
913
+ 518.8381277070912
914
+ ],
915
+ "flags": {},
916
+ "order": 15,
917
+ "mode": 0,
918
+ "inputs": [
919
+ {
920
+ "label": "enhance prompt",
921
+ "name": "switch",
922
+ "type": "BOOLEAN",
923
+ "widget": {
924
+ "name": "switch"
925
+ },
926
+ "link": null
927
+ },
928
+ {
929
+ "name": "image",
930
+ "shape": 7,
931
+ "type": "IMAGE",
932
+ "link": 85
933
+ }
934
+ ],
935
+ "outputs": [
936
+ {
937
+ "label": "output",
938
+ "name": "generated_text",
939
+ "type": "STRING",
940
+ "links": [
941
+ 86,
942
+ 99
943
+ ]
944
+ }
945
+ ],
946
+ "properties": {
947
+ "previewExposures": []
948
+ },
949
+ "widgets_values": [
950
+ "the man in the picture 1 wearing the shirt from picture 2 and the hat from picture 3",
951
+ "gemma4_12b_int8_convrot.safetensors",
952
+ 512,
953
+ 0.7,
954
+ 64,
955
+ 0,
956
+ true
957
+ ],
958
+ "widgets_values_named": {
959
+ "prompt": "the man in the picture 1 wearing the shirt from picture 2 and the hat from picture 3",
960
+ "clip_name": "gemma4_12b_int8_convrot.safetensors",
961
+ "max_length": 512,
962
+ "sampling_mode.temperature": 0.7,
963
+ "sampling_mode.top_k": 64,
964
+ "sampling_mode.seed": 0,
965
+ "switch": true
966
+ }
967
+ },
968
+ {
969
+ "id": 47,
970
+ "type": "KSampler",
971
+ "pos": [
972
+ 1365.222727816653,
973
+ 2332.404886137962
974
+ ],
975
+ "size": [
976
+ 270,
977
+ 262
978
+ ],
979
+ "flags": {},
980
+ "order": 18,
981
+ "mode": 0,
982
+ "inputs": [
983
+ {
984
+ "name": "model",
985
+ "type": "MODEL",
986
+ "link": 110
987
+ },
988
+ {
989
+ "name": "positive",
990
+ "type": "CONDITIONING",
991
+ "link": 111
992
+ },
993
+ {
994
+ "name": "negative",
995
+ "type": "CONDITIONING",
996
+ "link": 112
997
+ },
998
+ {
999
+ "name": "latent_image",
1000
+ "type": "LATENT",
1001
+ "link": 121
1002
+ }
1003
+ ],
1004
+ "outputs": [
1005
+ {
1006
+ "name": "LATENT",
1007
+ "type": "LATENT",
1008
+ "links": [
1009
+ 120
1010
+ ]
1011
+ }
1012
+ ],
1013
+ "properties": {
1014
+ "Node name for S&R": "KSampler"
1015
+ },
1016
+ "widgets_values": [
1017
+ 147584728797649,
1018
+ "randomize",
1019
+ 10,
1020
+ 1,
1021
+ "euler",
1022
+ "simple",
1023
+ 1
1024
+ ],
1025
+ "widgets_values_named": {
1026
+ "seed": 147584728797649,
1027
+ "control_after_generate": "randomize",
1028
+ "steps": 10,
1029
+ "cfg": 1,
1030
+ "sampler_name": "euler",
1031
+ "scheduler": "simple",
1032
+ "denoise": 1
1033
+ }
1034
+ },
1035
+ {
1036
+ "id": 62,
1037
+ "type": "ImageScaleToTotalPixels",
1038
+ "pos": [
1039
+ -106.0462496899639,
1040
+ 3016.842705650653
1041
+ ],
1042
+ "size": [
1043
+ 276.4927734375,
1044
+ 106
1045
+ ],
1046
+ "flags": {},
1047
+ "order": 8,
1048
+ "mode": 0,
1049
+ "inputs": [
1050
+ {
1051
+ "name": "image",
1052
+ "type": "IMAGE",
1053
+ "link": 158
1054
+ }
1055
+ ],
1056
+ "outputs": [
1057
+ {
1058
+ "name": "IMAGE",
1059
+ "type": "IMAGE",
1060
+ "links": [
1061
+ 150,
1062
+ 151,
1063
+ 155
1064
+ ]
1065
+ }
1066
+ ],
1067
+ "properties": {
1068
+ "Node name for S&R": "ImageScaleToTotalPixels"
1069
+ },
1070
+ "widgets_values": [
1071
+ "lanczos",
1072
+ 1,
1073
+ 32
1074
+ ],
1075
+ "widgets_values_named": {
1076
+ "upscale_method": "lanczos",
1077
+ "megapixels": 1,
1078
+ "resolution_steps": 32
1079
+ }
1080
+ }
1081
+ ],
1082
+ "links": [
1083
+ [
1084
+ 1,
1085
+ 1,
1086
+ 0,
1087
+ 3,
1088
+ 0,
1089
+ "MODEL"
1090
+ ],
1091
+ [
1092
+ 10,
1093
+ 6,
1094
+ 0,
1095
+ 9,
1096
+ 1,
1097
+ "VAE"
1098
+ ],
1099
+ [
1100
+ 59,
1101
+ 12,
1102
+ 0,
1103
+ 20,
1104
+ 0,
1105
+ "IMAGE"
1106
+ ],
1107
+ [
1108
+ 62,
1109
+ 30,
1110
+ 0,
1111
+ 4,
1112
+ 0,
1113
+ "MODEL"
1114
+ ],
1115
+ [
1116
+ 67,
1117
+ 25,
1118
+ 0,
1119
+ 33,
1120
+ 0,
1121
+ "IMAGE"
1122
+ ],
1123
+ [
1124
+ 69,
1125
+ 26,
1126
+ 0,
1127
+ 34,
1128
+ 0,
1129
+ "IMAGE"
1130
+ ],
1131
+ [
1132
+ 81,
1133
+ 40,
1134
+ 0,
1135
+ 41,
1136
+ 0,
1137
+ "IMAGE"
1138
+ ],
1139
+ [
1140
+ 86,
1141
+ 42,
1142
+ 0,
1143
+ 38,
1144
+ 0,
1145
+ "STRING"
1146
+ ],
1147
+ [
1148
+ 110,
1149
+ 4,
1150
+ 0,
1151
+ 47,
1152
+ 0,
1153
+ "MODEL"
1154
+ ],
1155
+ [
1156
+ 111,
1157
+ 5,
1158
+ 0,
1159
+ 47,
1160
+ 1,
1161
+ "CONDITIONING"
1162
+ ],
1163
+ [
1164
+ 112,
1165
+ 5,
1166
+ 1,
1167
+ 47,
1168
+ 2,
1169
+ "CONDITIONING"
1170
+ ],
1171
+ [
1172
+ 120,
1173
+ 47,
1174
+ 0,
1175
+ 9,
1176
+ 0,
1177
+ "LATENT"
1178
+ ],
1179
+ [
1180
+ 121,
1181
+ 5,
1182
+ 2,
1183
+ 47,
1184
+ 3,
1185
+ "LATENT"
1186
+ ],
1187
+ [
1188
+ 155,
1189
+ 62,
1190
+ 0,
1191
+ 20,
1192
+ 1,
1193
+ "IMAGE"
1194
+ ],
1195
+ [
1196
+ 85,
1197
+ 39,
1198
+ 0,
1199
+ 42,
1200
+ 1,
1201
+ "IMAGE"
1202
+ ],
1203
+ [
1204
+ 158,
1205
+ 13,
1206
+ 0,
1207
+ 62,
1208
+ 0,
1209
+ "IMAGE"
1210
+ ],
1211
+ [
1212
+ 159,
1213
+ 3,
1214
+ 0,
1215
+ 30,
1216
+ 0,
1217
+ "MODEL"
1218
+ ],
1219
+ [
1220
+ 13,
1221
+ 9,
1222
+ 0,
1223
+ 12,
1224
+ 0,
1225
+ "IMAGE"
1226
+ ],
1227
+ [
1228
+ 150,
1229
+ 62,
1230
+ 0,
1231
+ 39,
1232
+ 0,
1233
+ "IMAGE"
1234
+ ],
1235
+ [
1236
+ 79,
1237
+ 33,
1238
+ 0,
1239
+ 39,
1240
+ 1,
1241
+ "IMAGE"
1242
+ ],
1243
+ [
1244
+ 80,
1245
+ 34,
1246
+ 0,
1247
+ 39,
1248
+ 2,
1249
+ "IMAGE"
1250
+ ],
1251
+ [
1252
+ 83,
1253
+ 41,
1254
+ 0,
1255
+ 39,
1256
+ 3,
1257
+ "IMAGE"
1258
+ ],
1259
+ [
1260
+ 3,
1261
+ 2,
1262
+ 0,
1263
+ 5,
1264
+ 0,
1265
+ "CLIP"
1266
+ ],
1267
+ [
1268
+ 151,
1269
+ 62,
1270
+ 0,
1271
+ 5,
1272
+ 1,
1273
+ "IMAGE"
1274
+ ],
1275
+ [
1276
+ 68,
1277
+ 33,
1278
+ 0,
1279
+ 5,
1280
+ 2,
1281
+ "IMAGE"
1282
+ ],
1283
+ [
1284
+ 70,
1285
+ 34,
1286
+ 0,
1287
+ 5,
1288
+ 3,
1289
+ "IMAGE"
1290
+ ],
1291
+ [
1292
+ 82,
1293
+ 41,
1294
+ 0,
1295
+ 5,
1296
+ 4,
1297
+ "IMAGE"
1298
+ ],
1299
+ [
1300
+ 4,
1301
+ 6,
1302
+ 0,
1303
+ 5,
1304
+ 8,
1305
+ "VAE"
1306
+ ],
1307
+ [
1308
+ 99,
1309
+ 42,
1310
+ 0,
1311
+ 5,
1312
+ 9,
1313
+ "STRING"
1314
+ ]
1315
+ ],
1316
+ "groups": [
1317
+ {
1318
+ "id": 1,
1319
+ "title": "Image 1",
1320
+ "bounding": [
1321
+ -117.85618746512253,
1322
+ 2946.842705650653,
1323
+ 302.798828125,
1324
+ 548.4912951163124
1325
+ ],
1326
+ "color": "#3f789e",
1327
+ "flags": {}
1328
+ },
1329
+ {
1330
+ "id": 2,
1331
+ "title": "Image 2",
1332
+ "bounding": [
1333
+ 217.56814685677546,
1334
+ 2947.9507848457692,
1335
+ 302.798828125,
1336
+ 543.6678780963066
1337
+ ],
1338
+ "color": "#3f789e",
1339
+ "flags": {}
1340
+ },
1341
+ {
1342
+ "id": 3,
1343
+ "title": "Image 3",
1344
+ "bounding": [
1345
+ 540.6157896859912,
1346
+ 2948.5572622378522,
1347
+ 302.798828125,
1348
+ 543.0614007042236
1349
+ ],
1350
+ "color": "#3f789e",
1351
+ "flags": {}
1352
+ },
1353
+ {
1354
+ "id": 4,
1355
+ "title": "Image 4",
1356
+ "bounding": [
1357
+ 868.9271128185434,
1358
+ 2947.4038113006695,
1359
+ 302.798828125,
1360
+ 540.8483313609609
1361
+ ],
1362
+ "color": "#3f789e",
1363
+ "flags": {}
1364
+ },
1365
+ {
1366
+ "id": 5,
1367
+ "title": "Load Models",
1368
+ "bounding": [
1369
+ -434.360906529309,
1370
+ 2310.3008501741074,
1371
+ 290,
1372
+ 418
1373
+ ],
1374
+ "color": "#3f789e",
1375
+ "flags": {}
1376
+ }
1377
+ ],
1378
+ "definitions": {
1379
+ "subgraphs": [
1380
+ {
1381
+ "id": "3f062bab-1f0e-43de-a18b-5686352a116e",
1382
+ "version": 1,
1383
+ "state": {
1384
+ "lastGroupId": 5,
1385
+ "lastNodeId": 66,
1386
+ "lastLinkId": 159,
1387
+ "lastRerouteId": 0
1388
+ },
1389
+ "revision": 0,
1390
+ "config": {},
1391
+ "name": "Positive Prompt",
1392
+ "inputNode": {
1393
+ "id": -10,
1394
+ "bounding": [
1395
+ -872.9444403708268,
1396
+ 1985.009870548262,
1397
+ 209.830078125,
1398
+ 208
1399
+ ]
1400
+ },
1401
+ "outputNode": {
1402
+ "id": -20,
1403
+ "bounding": [
1404
+ 239.82532201445622,
1405
+ 1985.009870548262,
1406
+ 128,
1407
+ 68
1408
+ ]
1409
+ },
1410
+ "inputs": [
1411
+ {
1412
+ "id": "001f317e-9b15-4d98-acb7-c13d6d577cc5",
1413
+ "name": "prompt",
1414
+ "type": "STRING",
1415
+ "linkIds": [
1416
+ 96
1417
+ ],
1418
+ "pos": [
1419
+ -687.1143622458268,
1420
+ 2009.009870548262
1421
+ ]
1422
+ },
1423
+ {
1424
+ "id": "d2b74fca-b611-4a73-b010-0ff59c516d7b",
1425
+ "name": "clip_name",
1426
+ "type": "COMBO",
1427
+ "linkIds": [
1428
+ 88
1429
+ ],
1430
+ "pos": [
1431
+ -687.1143622458268,
1432
+ 2029.009870548262
1433
+ ]
1434
+ },
1435
+ {
1436
+ "id": "77c5b357-bcc4-466b-8589-59e50f987d72",
1437
+ "name": "max_length",
1438
+ "type": "INT",
1439
+ "linkIds": [
1440
+ 89
1441
+ ],
1442
+ "pos": [
1443
+ -687.1143622458268,
1444
+ 2049.009870548262
1445
+ ]
1446
+ },
1447
+ {
1448
+ "id": "93eea734-aa37-43da-8262-0ef495441f90",
1449
+ "name": "sampling_mode.temperature",
1450
+ "type": "FLOAT",
1451
+ "linkIds": [
1452
+ 90
1453
+ ],
1454
+ "pos": [
1455
+ -687.1143622458268,
1456
+ 2069.009870548262
1457
+ ]
1458
+ },
1459
+ {
1460
+ "id": "d3c8f960-c6a5-49be-aabb-03aaad85cdc9",
1461
+ "name": "sampling_mode.top_k",
1462
+ "type": "INT",
1463
+ "linkIds": [
1464
+ 91
1465
+ ],
1466
+ "pos": [
1467
+ -687.1143622458268,
1468
+ 2089.009870548262
1469
+ ]
1470
+ },
1471
+ {
1472
+ "id": "9fb95408-59f5-4cd3-9c34-9be92f281ab8",
1473
+ "name": "sampling_mode.seed",
1474
+ "type": "INT",
1475
+ "linkIds": [
1476
+ 92
1477
+ ],
1478
+ "pos": [
1479
+ -687.1143622458268,
1480
+ 2109.009870548262
1481
+ ]
1482
+ },
1483
+ {
1484
+ "id": "f1b175d1-c4ed-4209-aa88-d0cf70d47ad1",
1485
+ "name": "switch",
1486
+ "type": "BOOLEAN",
1487
+ "linkIds": [
1488
+ 97
1489
+ ],
1490
+ "pos": [
1491
+ -687.1143622458268,
1492
+ 2129.009870548262
1493
+ ]
1494
+ },
1495
+ {
1496
+ "id": "f3aa2a5c-e962-4c55-a548-b34496366304",
1497
+ "name": "image",
1498
+ "type": "IMAGE",
1499
+ "linkIds": [
1500
+ 77
1501
+ ],
1502
+ "localized_name": "image",
1503
+ "shape": 7,
1504
+ "pos": [
1505
+ -687.1143622458268,
1506
+ 2149.009870548262
1507
+ ]
1508
+ }
1509
+ ],
1510
+ "outputs": [
1511
+ {
1512
+ "id": "56f2073e-e6b3-4d64-b616-1303d54e7e2c",
1513
+ "name": "generated_text",
1514
+ "type": "STRING",
1515
+ "linkIds": [
1516
+ 93
1517
+ ],
1518
+ "localized_name": "generated_text",
1519
+ "label": "output",
1520
+ "pos": [
1521
+ 263.8253220144562,
1522
+ 2009.009870548262
1523
+ ]
1524
+ }
1525
+ ],
1526
+ "widgets": [],
1527
+ "nodes": [
1528
+ {
1529
+ "id": 35,
1530
+ "type": "TextGenerate",
1531
+ "pos": [
1532
+ -220.17467798554378,
1533
+ 1810.5114008357216
1534
+ ],
1535
+ "size": [
1536
+ 400,
1537
+ 456
1538
+ ],
1539
+ "flags": {},
1540
+ "order": 1,
1541
+ "mode": 0,
1542
+ "inputs": [
1543
+ {
1544
+ "localized_name": "clip",
1545
+ "name": "clip",
1546
+ "type": "CLIP",
1547
+ "link": 71
1548
+ },
1549
+ {
1550
+ "localized_name": "image",
1551
+ "name": "image",
1552
+ "shape": 7,
1553
+ "type": "IMAGE",
1554
+ "link": 77
1555
+ },
1556
+ {
1557
+ "localized_name": "video",
1558
+ "name": "video",
1559
+ "shape": 7,
1560
+ "type": "IMAGE",
1561
+ "link": null
1562
+ },
1563
+ {
1564
+ "localized_name": "audio",
1565
+ "name": "audio",
1566
+ "shape": 7,
1567
+ "type": "AUDIO",
1568
+ "link": null
1569
+ },
1570
+ {
1571
+ "localized_name": "system_prompt",
1572
+ "name": "system_prompt",
1573
+ "shape": 7,
1574
+ "type": "STRING",
1575
+ "link": 84
1576
+ },
1577
+ {
1578
+ "localized_name": "prompt",
1579
+ "name": "prompt",
1580
+ "type": "STRING",
1581
+ "widget": {
1582
+ "name": "prompt"
1583
+ },
1584
+ "link": 98
1585
+ },
1586
+ {
1587
+ "localized_name": "max_length",
1588
+ "name": "max_length",
1589
+ "type": "INT",
1590
+ "widget": {
1591
+ "name": "max_length"
1592
+ },
1593
+ "link": 89
1594
+ },
1595
+ {
1596
+ "localized_name": "temperature",
1597
+ "name": "sampling_mode.temperature",
1598
+ "type": "FLOAT",
1599
+ "widget": {
1600
+ "name": "sampling_mode.temperature"
1601
+ },
1602
+ "link": 90
1603
+ },
1604
+ {
1605
+ "localized_name": "top_k",
1606
+ "name": "sampling_mode.top_k",
1607
+ "type": "INT",
1608
+ "widget": {
1609
+ "name": "sampling_mode.top_k"
1610
+ },
1611
+ "link": 91
1612
+ },
1613
+ {
1614
+ "localized_name": "seed",
1615
+ "name": "sampling_mode.seed",
1616
+ "type": "INT",
1617
+ "widget": {
1618
+ "name": "sampling_mode.seed"
1619
+ },
1620
+ "link": 92
1621
+ }
1622
+ ],
1623
+ "outputs": [
1624
+ {
1625
+ "localized_name": "generated_text",
1626
+ "name": "generated_text",
1627
+ "type": "STRING",
1628
+ "links": [
1629
+ 94
1630
+ ]
1631
+ },
1632
+ {
1633
+ "localized_name": "thinking",
1634
+ "name": "thinking",
1635
+ "type": "STRING",
1636
+ "links": null
1637
+ }
1638
+ ],
1639
+ "properties": {
1640
+ "Node name for S&R": "TextGenerate"
1641
+ },
1642
+ "widgets_values": [
1643
+ "",
1644
+ 512,
1645
+ "on",
1646
+ 0.7,
1647
+ 64,
1648
+ 0.95,
1649
+ 0.05,
1650
+ 1.05,
1651
+ 0,
1652
+ 0,
1653
+ false,
1654
+ true,
1655
+ "auto"
1656
+ ],
1657
+ "widgets_values_named": {
1658
+ "prompt": "",
1659
+ "max_length": 512,
1660
+ "sampling_mode": "on",
1661
+ "sampling_mode.temperature": 0.7,
1662
+ "sampling_mode.top_k": 64,
1663
+ "sampling_mode.top_p": 0.95,
1664
+ "sampling_mode.min_p": 0.05,
1665
+ "sampling_mode.repetition_penalty": 1.05,
1666
+ "sampling_mode.seed": 0,
1667
+ "sampling_mode.presence_penalty": 0,
1668
+ "thinking": false,
1669
+ "use_default_template": true,
1670
+ "mtp": "auto"
1671
+ }
1672
+ },
1673
+ {
1674
+ "id": 37,
1675
+ "type": "PrimitiveStringMultiline",
1676
+ "pos": [
1677
+ -639.7191441622731,
1678
+ 1986.289304082051
1679
+ ],
1680
+ "size": [
1681
+ 400,
1682
+ 200
1683
+ ],
1684
+ "flags": {},
1685
+ "order": 0,
1686
+ "mode": 0,
1687
+ "inputs": [],
1688
+ "outputs": [
1689
+ {
1690
+ "localized_name": "STRING",
1691
+ "name": "STRING",
1692
+ "type": "STRING",
1693
+ "links": [
1694
+ 84
1695
+ ]
1696
+ }
1697
+ ],
1698
+ "properties": {
1699
+ "Node name for S&R": "PrimitiveStringMultiline"
1700
+ },
1701
+ "widgets_values": [
1702
+ "# 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"
1703
+ ],
1704
+ "widgets_values_named": {
1705
+ "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"
1706
+ }
1707
+ },
1708
+ {
1709
+ "id": 36,
1710
+ "type": "CLIPLoader",
1711
+ "pos": [
1712
+ -554.3809757134683,
1713
+ 1801.5083402608025
1714
+ ],
1715
+ "size": [
1716
+ 270,
1717
+ 106
1718
+ ],
1719
+ "flags": {},
1720
+ "order": 2,
1721
+ "mode": 0,
1722
+ "inputs": [
1723
+ {
1724
+ "localized_name": "clip_name",
1725
+ "name": "clip_name",
1726
+ "type": "COMBO",
1727
+ "widget": {
1728
+ "name": "clip_name"
1729
+ },
1730
+ "link": 88
1731
+ }
1732
+ ],
1733
+ "outputs": [
1734
+ {
1735
+ "localized_name": "CLIP",
1736
+ "name": "CLIP",
1737
+ "type": "CLIP",
1738
+ "links": [
1739
+ 71
1740
+ ]
1741
+ }
1742
+ ],
1743
+ "properties": {
1744
+ "Node name for S&R": "CLIPLoader"
1745
+ },
1746
+ "widgets_values": [
1747
+ "gemma4_12b_int8_convrot.safetensors",
1748
+ "stable_diffusion",
1749
+ "default"
1750
+ ],
1751
+ "widgets_values_named": {
1752
+ "clip_name": "gemma4_12b_int8_convrot.safetensors",
1753
+ "type": "stable_diffusion",
1754
+ "device": "default"
1755
+ }
1756
+ },
1757
+ {
1758
+ "id": 43,
1759
+ "type": "PrimitiveStringMultiline",
1760
+ "pos": [
1761
+ -667.3797161688202,
1762
+ 2277.372122226911
1763
+ ],
1764
+ "size": [
1765
+ 400,
1766
+ 200
1767
+ ],
1768
+ "flags": {},
1769
+ "order": 3,
1770
+ "mode": 0,
1771
+ "inputs": [
1772
+ {
1773
+ "localized_name": "value",
1774
+ "name": "value",
1775
+ "type": "STRING",
1776
+ "widget": {
1777
+ "name": "value"
1778
+ },
1779
+ "link": 96
1780
+ }
1781
+ ],
1782
+ "outputs": [
1783
+ {
1784
+ "localized_name": "STRING",
1785
+ "name": "STRING",
1786
+ "type": "STRING",
1787
+ "links": [
1788
+ 95,
1789
+ 98
1790
+ ]
1791
+ }
1792
+ ],
1793
+ "properties": {
1794
+ "Node name for S&R": "PrimitiveStringMultiline"
1795
+ },
1796
+ "widgets_values": [
1797
+ ""
1798
+ ],
1799
+ "widgets_values_named": {
1800
+ "value": ""
1801
+ }
1802
+ },
1803
+ {
1804
+ "id": 44,
1805
+ "type": "ComfySwitchNode",
1806
+ "pos": [
1807
+ -87.69323266736144,
1808
+ 2327.089797858852
1809
+ ],
1810
+ "size": [
1811
+ 270,
1812
+ 78
1813
+ ],
1814
+ "flags": {},
1815
+ "order": 4,
1816
+ "mode": 0,
1817
+ "inputs": [
1818
+ {
1819
+ "localized_name": "on_false",
1820
+ "name": "on_false",
1821
+ "shape": 7,
1822
+ "type": "STRING",
1823
+ "link": 95
1824
+ },
1825
+ {
1826
+ "localized_name": "on_true",
1827
+ "name": "on_true",
1828
+ "shape": 7,
1829
+ "type": "STRING",
1830
+ "link": 94
1831
+ },
1832
+ {
1833
+ "localized_name": "switch",
1834
+ "name": "switch",
1835
+ "type": "BOOLEAN",
1836
+ "widget": {
1837
+ "name": "switch"
1838
+ },
1839
+ "link": 97
1840
+ }
1841
+ ],
1842
+ "outputs": [
1843
+ {
1844
+ "localized_name": "output",
1845
+ "name": "output",
1846
+ "type": "STRING",
1847
+ "links": [
1848
+ 93
1849
+ ]
1850
+ }
1851
+ ],
1852
+ "properties": {
1853
+ "Node name for S&R": "ComfySwitchNode"
1854
+ },
1855
+ "widgets_values": [
1856
+ true
1857
+ ],
1858
+ "widgets_values_named": {
1859
+ "switch": true
1860
+ }
1861
+ }
1862
+ ],
1863
+ "groups": [],
1864
+ "links": [
1865
+ {
1866
+ "id": 93,
1867
+ "origin_id": 44,
1868
+ "origin_slot": 0,
1869
+ "target_id": -20,
1870
+ "target_slot": 0,
1871
+ "type": "*"
1872
+ },
1873
+ {
1874
+ "id": 94,
1875
+ "origin_id": 35,
1876
+ "origin_slot": 0,
1877
+ "target_id": 44,
1878
+ "target_slot": 1,
1879
+ "type": "STRING"
1880
+ },
1881
+ {
1882
+ "id": 95,
1883
+ "origin_id": 43,
1884
+ "origin_slot": 0,
1885
+ "target_id": 44,
1886
+ "target_slot": 0,
1887
+ "type": "STRING"
1888
+ },
1889
+ {
1890
+ "id": 96,
1891
+ "origin_id": -10,
1892
+ "origin_slot": 0,
1893
+ "target_id": 43,
1894
+ "target_slot": 0,
1895
+ "type": "STRING"
1896
+ },
1897
+ {
1898
+ "id": 88,
1899
+ "origin_id": -10,
1900
+ "origin_slot": 1,
1901
+ "target_id": 36,
1902
+ "target_slot": 0,
1903
+ "type": "COMBO"
1904
+ },
1905
+ {
1906
+ "id": 97,
1907
+ "origin_id": -10,
1908
+ "origin_slot": 6,
1909
+ "target_id": 44,
1910
+ "target_slot": 2,
1911
+ "type": "BOOLEAN"
1912
+ },
1913
+ {
1914
+ "id": 71,
1915
+ "origin_id": 36,
1916
+ "origin_slot": 0,
1917
+ "target_id": 35,
1918
+ "target_slot": 0,
1919
+ "type": "CLIP"
1920
+ },
1921
+ {
1922
+ "id": 77,
1923
+ "origin_id": -10,
1924
+ "origin_slot": 7,
1925
+ "target_id": 35,
1926
+ "target_slot": 1,
1927
+ "type": "IMAGE"
1928
+ },
1929
+ {
1930
+ "id": 84,
1931
+ "origin_id": 37,
1932
+ "origin_slot": 0,
1933
+ "target_id": 35,
1934
+ "target_slot": 4,
1935
+ "type": "STRING"
1936
+ },
1937
+ {
1938
+ "id": 98,
1939
+ "origin_id": 43,
1940
+ "origin_slot": 0,
1941
+ "target_id": 35,
1942
+ "target_slot": 5,
1943
+ "type": "STRING"
1944
+ },
1945
+ {
1946
+ "id": 89,
1947
+ "origin_id": -10,
1948
+ "origin_slot": 2,
1949
+ "target_id": 35,
1950
+ "target_slot": 6,
1951
+ "type": "INT"
1952
+ },
1953
+ {
1954
+ "id": 90,
1955
+ "origin_id": -10,
1956
+ "origin_slot": 3,
1957
+ "target_id": 35,
1958
+ "target_slot": 7,
1959
+ "type": "FLOAT"
1960
+ },
1961
+ {
1962
+ "id": 91,
1963
+ "origin_id": -10,
1964
+ "origin_slot": 4,
1965
+ "target_id": 35,
1966
+ "target_slot": 8,
1967
+ "type": "INT"
1968
+ },
1969
+ {
1970
+ "id": 92,
1971
+ "origin_id": -10,
1972
+ "origin_slot": 5,
1973
+ "target_id": 35,
1974
+ "target_slot": 9,
1975
+ "type": "INT"
1976
+ }
1977
+ ],
1978
+ "extra": {}
1979
+ }
1980
+ ]
1981
+ },
1982
+ "config": {},
1983
+ "extra": {
1984
+ "ds": {
1985
+ "scale": 0.8911278560908071,
1986
+ "offset": [
1987
+ 509.47191789764844,
1988
+ -2094.95680978276
1989
+ ]
1990
+ },
1991
+ "frontendVersion": "1.55.14",
1992
+ "VHS_latentpreview": false,
1993
+ "VHS_latentpreviewrate": 0,
1994
+ "VHS_MetadataImage": true,
1995
+ "VHS_KeepIntermediate": true
1996
+ },
1997
+ "version": 0.4
1998
+ }
Qwen Image 2.1_Turbo_8_Steps.json ADDED
@@ -0,0 +1,1925 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "id": "54bb395d-3e60-4c94-b525-85523901575b",
3
+ "revision": 0,
4
+ "last_node_id": 484,
5
+ "last_link_id": 716,
6
+ "nodes": [
7
+ {
8
+ "id": 13,
9
+ "type": "ResolutionSelector",
10
+ "pos": [
11
+ 498.2336311178705,
12
+ 3033.1731123265354
13
+ ],
14
+ "size": [
15
+ 300,
16
+ 190
17
+ ],
18
+ "flags": {},
19
+ "order": 0,
20
+ "mode": 0,
21
+ "showAdvanced": false,
22
+ "inputs": [],
23
+ "outputs": [
24
+ {
25
+ "name": "width",
26
+ "type": "INT",
27
+ "links": [
28
+ 670
29
+ ]
30
+ },
31
+ {
32
+ "name": "height",
33
+ "type": "INT",
34
+ "links": [
35
+ 671
36
+ ]
37
+ }
38
+ ],
39
+ "properties": {
40
+ "Node name for S&R": "ResolutionSelector"
41
+ },
42
+ "widgets_values": [
43
+ "16:9 (Widescreen)",
44
+ 4,
45
+ 8
46
+ ],
47
+ "widgets_values_named": {
48
+ "aspect_ratio": "16:9 (Widescreen)",
49
+ "megapixels": 4,
50
+ "multiple": 8
51
+ }
52
+ },
53
+ {
54
+ "id": 459,
55
+ "type": "c291ceec-b98f-4751-9d0b-7bc288f27b30",
56
+ "pos": [
57
+ 920,
58
+ 2470.8166021060833
59
+ ],
60
+ "size": [
61
+ 450.5116304827966,
62
+ 829.3556577361182
63
+ ],
64
+ "flags": {},
65
+ "order": 3,
66
+ "mode": 0,
67
+ "inputs": [
68
+ {
69
+ "label": "positive_prompt",
70
+ "name": "prompt",
71
+ "type": "STRING",
72
+ "widget": {
73
+ "name": "prompt"
74
+ },
75
+ "link": null
76
+ },
77
+ {
78
+ "label": "refine_prompt",
79
+ "name": "switch",
80
+ "type": "BOOLEAN",
81
+ "widget": {
82
+ "name": "switch"
83
+ },
84
+ "link": null
85
+ },
86
+ {
87
+ "label": "thinking_mode",
88
+ "name": "thinking",
89
+ "shape": 7,
90
+ "type": "BOOLEAN",
91
+ "widget": {
92
+ "name": "thinking"
93
+ },
94
+ "link": null
95
+ },
96
+ {
97
+ "label": "steps",
98
+ "name": "steps",
99
+ "type": "INT",
100
+ "widget": {
101
+ "name": "steps"
102
+ },
103
+ "link": null
104
+ },
105
+ {
106
+ "name": "width",
107
+ "type": "INT",
108
+ "widget": {
109
+ "name": "width"
110
+ },
111
+ "link": 670
112
+ },
113
+ {
114
+ "name": "height",
115
+ "type": "INT",
116
+ "widget": {
117
+ "name": "height"
118
+ },
119
+ "link": 671
120
+ },
121
+ {
122
+ "label": "sampler",
123
+ "name": "scheduler",
124
+ "type": "COMBO",
125
+ "widget": {
126
+ "name": "scheduler"
127
+ },
128
+ "link": null
129
+ },
130
+ {
131
+ "label": "scheduler",
132
+ "name": "scheduler_1",
133
+ "type": "COMBO",
134
+ "widget": {
135
+ "name": "scheduler_1"
136
+ },
137
+ "link": null
138
+ },
139
+ {
140
+ "label": "PE_model",
141
+ "name": "clip_name_1",
142
+ "type": "COMBO",
143
+ "widget": {
144
+ "name": "clip_name_1"
145
+ },
146
+ "link": null
147
+ },
148
+ {
149
+ "label": "cache_device",
150
+ "name": "device",
151
+ "type": "COMBO",
152
+ "widget": {
153
+ "name": "device"
154
+ },
155
+ "link": null
156
+ },
157
+ {
158
+ "label": "dtype",
159
+ "name": "dtype_1",
160
+ "type": "COMBO",
161
+ "widget": {
162
+ "name": "dtype_1"
163
+ },
164
+ "link": null
165
+ }
166
+ ],
167
+ "outputs": [
168
+ {
169
+ "name": "IMAGE",
170
+ "type": "IMAGE",
171
+ "links": [
172
+ 672
173
+ ]
174
+ }
175
+ ],
176
+ "properties": {
177
+ "previewExposures": []
178
+ },
179
+ "widgets_values": [
180
+ "A gigantic translucent glass whale floats silently above an empty desert at sunset. Its transparent body refracts the orange sky and reveals delicate internal glass structures resembling the skeleton of a real whale. A lone traveler stands on a sand dune below, looking up at the creature. The whale casts a faint, believable shadow across the dunes. Fine sand textures, realistic optical refraction, atmospheric perspective, cinematic wide-angle photography, surreal but visually coherent.",
181
+ false,
182
+ false,
183
+ 4096,
184
+ "",
185
+ 1,
186
+ 10,
187
+ 1024,
188
+ 1024,
189
+ "euler",
190
+ "simple",
191
+ 447606998181262,
192
+ "qwen_image_2.1_int8_convrot.safetensors",
193
+ "qwen3vl_8b_int8_convrot.safetensors",
194
+ "qwen_image_2.1_vae_bf16.safetensors",
195
+ "gemma4_12b_int8_convrot.safetensors",
196
+ "auto",
197
+ "default",
198
+ 0.8
199
+ ],
200
+ "widgets_values_named": {
201
+ "prompt": "A gigantic translucent glass whale floats silently above an empty desert at sunset. Its transparent body refracts the orange sky and reveals delicate internal glass structures resembling the skeleton of a real whale. A lone traveler stands on a sand dune below, looking up at the creature. The whale casts a faint, believable shadow across the dunes. Fine sand textures, realistic optical refraction, atmospheric perspective, cinematic wide-angle photography, surreal but visually coherent.",
202
+ "switch": false,
203
+ "thinking": false,
204
+ "max_length": 4096,
205
+ "negative_prompt": "",
206
+ "cfg": 1,
207
+ "steps": 10,
208
+ "width": 1024,
209
+ "height": 1024,
210
+ "scheduler": "euler",
211
+ "scheduler_1": "simple",
212
+ "seed": 447606998181262,
213
+ "unet_name": "qwen_image_2.1_int8_convrot.safetensors",
214
+ "clip_name": "qwen3vl_8b_int8_convrot.safetensors",
215
+ "vae_name": "qwen_image_2.1_vae_bf16.safetensors",
216
+ "clip_name_1": "gemma4_12b_int8_convrot.safetensors",
217
+ "device": "auto",
218
+ "dtype_1": "default",
219
+ "strength_model": 0.8
220
+ }
221
+ },
222
+ {
223
+ "id": 461,
224
+ "type": "SaveImageAdvanced",
225
+ "pos": [
226
+ 1470.0195800611637,
227
+ 2470.4841633887
228
+ ],
229
+ "size": [
230
+ 850,
231
+ 610
232
+ ],
233
+ "flags": {},
234
+ "order": 4,
235
+ "mode": 0,
236
+ "inputs": [
237
+ {
238
+ "name": "images",
239
+ "type": "IMAGE",
240
+ "link": 672
241
+ }
242
+ ],
243
+ "outputs": [
244
+ {
245
+ "name": "images",
246
+ "type": "IMAGE",
247
+ "links": []
248
+ }
249
+ ],
250
+ "properties": {},
251
+ "widgets_values": [
252
+ "Qwen_image_2.1",
253
+ "png",
254
+ "8-bit",
255
+ "sRGB"
256
+ ],
257
+ "widgets_values_named": {
258
+ "filename_prefix": "Qwen_image_2.1",
259
+ "format": "png",
260
+ "format.bit_depth": "8-bit",
261
+ "format.input_color_space": "sRGB"
262
+ }
263
+ },
264
+ {
265
+ "id": 463,
266
+ "type": "MarkdownNote",
267
+ "pos": [
268
+ -350,
269
+ 2470
270
+ ],
271
+ "size": [
272
+ 420,
273
+ 620
274
+ ],
275
+ "flags": {},
276
+ "order": 1,
277
+ "mode": 0,
278
+ "inputs": [],
279
+ "outputs": [],
280
+ "title": "Note: Model links",
281
+ "properties": {},
282
+ "widgets_values": [
283
+ "Guide: [Subgraph](https://docs.comfy.org/interface/features/subgraph)\n\n## Model Links\n\n- [Hugging Face:Comfy-Org/Qwen-Image-2.1](https://huggingface.co/Comfy-Org/Qwen-Image-2.1)\n- [ModelScope:Comfy-Org/Qwen-Image-2.1](https://modelscope.cn/models/Comfy-Org/Qwen-Image-2.1)\n\n**diffusion_models**\n\n- [qwen_image_2.1_int8_convrot.safetensors](https://huggingface.co/Comfy-Org/Qwen-Image-2.1/resolve/main/diffusion_models/qwen_image_2.1_int8_convrot.safetensors) (6.76 GB)\n\n**text_encoders**\n\n- [qwen3vl_8b_int8_convrot.safetensors](https://huggingface.co/Comfy-Org/Qwen-Image-2.1/resolve/main/text_encoders/qwen3vl_8b_int8_convrot.safetensors) (8.71 GB)\n- [qwen3.5_9b_qwen_image_2.1_pe_t2i.int8_convrot.safetensors](https://huggingface.co/Comfy-Org/Qwen-Image-2.1/resolve/main/text_encoders/qwen3.5_9b_qwen_image_2.1_pe_t2i.int8_convrot.safetensors) (8.82 GB)\n\n**vae**\n\n- [qwen_image_2.1_vae_bf16.safetensors](https://huggingface.co/Comfy-Org/Qwen-Image-2.1/resolve/main/vae/qwen_image_2.1_vae_bf16.safetensors) (644.2 MB)\n\n\n## Model Storage Location\n\n```\n📂 ComfyUI/\n├── 📂 models/\n│ ├── 📂 diffusion_models/\n│ │ └── qwen_image_2.1_int8_convrot.safetensors\n│ ├── 📂 text_encoders/\n│ │ ├── qwen3vl_8b_int8_convrot.safetensors\n│ │ └── qwen3.5_9b_qwen_image_2.1_pe_t2i.int8_convrot.safetensors\n│ └── 📂 vae/\n│ └── qwen_image_2.1_vae_bf16.safetensors\n```\n\n## Report Issue\n\nNote: Please update ComfyUI first ([guide](https://docs.comfy.org/installation/update_comfyui)) and prepare required models. Desktop/Cloud updates follow stable releases, so some nightly-supported models may not be available yet.\n\n- Cannot run / runtime errors: [ComfyUI/issues](https://github.com/comfyanonymous/ComfyUI/issues)\n- UI / frontend issues: [ComfyUI_frontend/issues](https://github.com/Comfy-Org/ComfyUI_frontend/issues)\n- Workflow issues: [workflow_templates/issues](https://github.com/Comfy-Org/workflow_templates/issues)\n"
284
+ ],
285
+ "widgets_values_named": {
286
+ "text": "Guide: [Subgraph](https://docs.comfy.org/interface/features/subgraph)\n\n## Model Links\n\n- [Hugging Face:Comfy-Org/Qwen-Image-2.1](https://huggingface.co/Comfy-Org/Qwen-Image-2.1)\n- [ModelScope:Comfy-Org/Qwen-Image-2.1](https://modelscope.cn/models/Comfy-Org/Qwen-Image-2.1)\n\n**diffusion_models**\n\n- [qwen_image_2.1_int8_convrot.safetensors](https://huggingface.co/Comfy-Org/Qwen-Image-2.1/resolve/main/diffusion_models/qwen_image_2.1_int8_convrot.safetensors) (6.76 GB)\n\n**text_encoders**\n\n- [qwen3vl_8b_int8_convrot.safetensors](https://huggingface.co/Comfy-Org/Qwen-Image-2.1/resolve/main/text_encoders/qwen3vl_8b_int8_convrot.safetensors) (8.71 GB)\n- [qwen3.5_9b_qwen_image_2.1_pe_t2i.int8_convrot.safetensors](https://huggingface.co/Comfy-Org/Qwen-Image-2.1/resolve/main/text_encoders/qwen3.5_9b_qwen_image_2.1_pe_t2i.int8_convrot.safetensors) (8.82 GB)\n\n**vae**\n\n- [qwen_image_2.1_vae_bf16.safetensors](https://huggingface.co/Comfy-Org/Qwen-Image-2.1/resolve/main/vae/qwen_image_2.1_vae_bf16.safetensors) (644.2 MB)\n\n\n## Model Storage Location\n\n```\n📂 ComfyUI/\n├── 📂 models/\n│ ├── 📂 diffusion_models/\n│ │ └── qwen_image_2.1_int8_convrot.safetensors\n│ ├── 📂 text_encoders/\n│ │ ├── qwen3vl_8b_int8_convrot.safetensors\n│ │ └── qwen3.5_9b_qwen_image_2.1_pe_t2i.int8_convrot.safetensors\n│ └── 📂 vae/\n│ └── qwen_image_2.1_vae_bf16.safetensors\n```\n\n## Report Issue\n\nNote: Please update ComfyUI first ([guide](https://docs.comfy.org/installation/update_comfyui)) and prepare required models. Desktop/Cloud updates follow stable releases, so some nightly-supported models may not be available yet.\n\n- Cannot run / runtime errors: [ComfyUI/issues](https://github.com/comfyanonymous/ComfyUI/issues)\n- UI / frontend issues: [ComfyUI_frontend/issues](https://github.com/Comfy-Org/ComfyUI_frontend/issues)\n- Workflow issues: [workflow_templates/issues](https://github.com/Comfy-Org/workflow_templates/issues)\n"
287
+ },
288
+ "color": "#222",
289
+ "bgcolor": "#000"
290
+ },
291
+ {
292
+ "id": 468,
293
+ "type": "MarkdownNote",
294
+ "pos": [
295
+ 100,
296
+ 2470
297
+ ],
298
+ "size": [
299
+ 420,
300
+ 220
301
+ ],
302
+ "flags": {},
303
+ "order": 2,
304
+ "mode": 0,
305
+ "inputs": [],
306
+ "outputs": [],
307
+ "title": "Note: Usage",
308
+ "properties": {},
309
+ "widgets_values": [
310
+ "## Size\nQwen Image 2.1 has native 2K (2048*2048) support for direct output.\n\nOutput size comes from ResolutionSelector (width/height). Default is 1 megapixel (1024*1024). For native 2K, set 1:1 and 4 megapixels (2048*2048). Prefer multiples of 32.\n\n## Transparent Image\n\nTo generate a transparent image, wrap the prompt like this and replace the middle with the subject:\n\n---\nThis is an RGBA format image with transparency. `[your description]`. The image has an alpha channel and a transparent background.\n\n---\nSave as PNG to keep the alpha channel.\n\n## Parameters\n\n- prompt: what to generate. For RGBA, see Note: transparent.\n- negative_prompt: unused while cfg is 1.\n- cfg: keep 1 for the Qwen Image 2.1 official path. Raise it only if you use a negative prompt.\n- steps: Qwen Image 2.1 official pipeline uses about 40-50 with euler. This template starts at 25. More advanced samplers need fewer steps.\n"
311
+ ],
312
+ "widgets_values_named": {
313
+ "text": "## Size\nQwen Image 2.1 has native 2K (2048*2048) support for direct output.\n\nOutput size comes from ResolutionSelector (width/height). Default is 1 megapixel (1024*1024). For native 2K, set 1:1 and 4 megapixels (2048*2048). Prefer multiples of 32.\n\n## Transparent Image\n\nTo generate a transparent image, wrap the prompt like this and replace the middle with the subject:\n\n---\nThis is an RGBA format image with transparency. `[your description]`. The image has an alpha channel and a transparent background.\n\n---\nSave as PNG to keep the alpha channel.\n\n## Parameters\n\n- prompt: what to generate. For RGBA, see Note: transparent.\n- negative_prompt: unused while cfg is 1.\n- cfg: keep 1 for the Qwen Image 2.1 official path. Raise it only if you use a negative prompt.\n- steps: Qwen Image 2.1 official pipeline uses about 40-50 with euler. This template starts at 25. More advanced samplers need fewer steps.\n"
314
+ },
315
+ "color": "#222",
316
+ "bgcolor": "#000"
317
+ }
318
+ ],
319
+ "links": [
320
+ [
321
+ 672,
322
+ 459,
323
+ 0,
324
+ 461,
325
+ 0,
326
+ "IMAGE"
327
+ ],
328
+ [
329
+ 670,
330
+ 13,
331
+ 0,
332
+ 459,
333
+ 4,
334
+ "INT"
335
+ ],
336
+ [
337
+ 671,
338
+ 13,
339
+ 1,
340
+ 459,
341
+ 5,
342
+ "INT"
343
+ ]
344
+ ],
345
+ "groups": [],
346
+ "definitions": {
347
+ "subgraphs": [
348
+ {
349
+ "id": "c291ceec-b98f-4751-9d0b-7bc288f27b30",
350
+ "version": 1,
351
+ "state": {
352
+ "lastGroupId": 38,
353
+ "lastNodeId": 484,
354
+ "lastLinkId": 716,
355
+ "lastRerouteId": 9
356
+ },
357
+ "revision": 0,
358
+ "config": {},
359
+ "name": "Text to Image (Qwen Image 2.1)",
360
+ "inputNode": {
361
+ "id": -10,
362
+ "bounding": [
363
+ -660,
364
+ 610,
365
+ 143.044921875,
366
+ 428
367
+ ]
368
+ },
369
+ "outputNode": {
370
+ "id": -20,
371
+ "bounding": [
372
+ 1960,
373
+ 640,
374
+ 128,
375
+ 68
376
+ ]
377
+ },
378
+ "inputs": [
379
+ {
380
+ "id": "6a73de3b-f4cd-43a4-9076-76648c6902f0",
381
+ "name": "prompt",
382
+ "type": "STRING",
383
+ "linkIds": [
384
+ 684,
385
+ 711
386
+ ],
387
+ "localized_name": "prompt",
388
+ "label": "positive_prompt",
389
+ "pos": [
390
+ -540.955078125,
391
+ 634
392
+ ]
393
+ },
394
+ {
395
+ "id": "140602e4-2e82-49b4-b1d6-afa99d79a475",
396
+ "name": "switch",
397
+ "type": "BOOLEAN",
398
+ "linkIds": [
399
+ 688
400
+ ],
401
+ "label": "refine_prompt",
402
+ "pos": [
403
+ -540.955078125,
404
+ 654
405
+ ]
406
+ },
407
+ {
408
+ "id": "e80f9a8b-0a83-40c8-ac0f-cc0bc633ed26",
409
+ "name": "thinking",
410
+ "type": "BOOLEAN",
411
+ "linkIds": [
412
+ 695
413
+ ],
414
+ "label": "thinking_mode",
415
+ "pos": [
416
+ -540.955078125,
417
+ 674
418
+ ]
419
+ },
420
+ {
421
+ "id": "728d8016-b3b6-4b71-abe0-3fb23e5e96fa",
422
+ "name": "max_length",
423
+ "type": "INT",
424
+ "linkIds": [
425
+ 713
426
+ ],
427
+ "pos": [
428
+ -540.955078125,
429
+ 694
430
+ ]
431
+ },
432
+ {
433
+ "id": "d4c1377f-7fbc-4519-b83c-9a3b9c2de104",
434
+ "name": "negative_prompt",
435
+ "type": "STRING",
436
+ "linkIds": [
437
+ 657
438
+ ],
439
+ "pos": [
440
+ -540.955078125,
441
+ 714
442
+ ]
443
+ },
444
+ {
445
+ "id": "420ee896-17c3-4e07-95fc-0ff309a6b836",
446
+ "name": "cfg",
447
+ "type": "FLOAT",
448
+ "linkIds": [
449
+ 658
450
+ ],
451
+ "pos": [
452
+ -540.955078125,
453
+ 734
454
+ ]
455
+ },
456
+ {
457
+ "id": "349c3f72-ba7a-4277-84ff-8029faa16019",
458
+ "name": "steps",
459
+ "type": "INT",
460
+ "linkIds": [
461
+ 659
462
+ ],
463
+ "label": "steps",
464
+ "pos": [
465
+ -540.955078125,
466
+ 754
467
+ ]
468
+ },
469
+ {
470
+ "id": "91c96cf8-057b-4da2-b71e-305541a3527e",
471
+ "name": "width",
472
+ "type": "INT",
473
+ "linkIds": [
474
+ 660
475
+ ],
476
+ "localized_name": "width",
477
+ "pos": [
478
+ -540.955078125,
479
+ 774
480
+ ]
481
+ },
482
+ {
483
+ "id": "661cc520-6bd0-4925-90ec-cecaa188b57d",
484
+ "name": "height",
485
+ "type": "INT",
486
+ "linkIds": [
487
+ 661
488
+ ],
489
+ "localized_name": "height",
490
+ "pos": [
491
+ -540.955078125,
492
+ 794
493
+ ]
494
+ },
495
+ {
496
+ "id": "9f0e91b8-5a4a-4f5a-a2a4-4ddc180df0fd",
497
+ "name": "scheduler",
498
+ "type": "COMBO",
499
+ "linkIds": [
500
+ 662
501
+ ],
502
+ "label": "sampler",
503
+ "pos": [
504
+ -540.955078125,
505
+ 814
506
+ ]
507
+ },
508
+ {
509
+ "id": "4710583f-3cb0-4091-87ab-dadd8a2e657c",
510
+ "name": "scheduler_1",
511
+ "type": "COMBO",
512
+ "linkIds": [
513
+ 668
514
+ ],
515
+ "label": "scheduler",
516
+ "pos": [
517
+ -540.955078125,
518
+ 834
519
+ ]
520
+ },
521
+ {
522
+ "id": "977ce57d-3764-491c-8d2d-543754cfbaf1",
523
+ "name": "seed",
524
+ "type": "INT",
525
+ "linkIds": [
526
+ 667,
527
+ 697
528
+ ],
529
+ "pos": [
530
+ -540.955078125,
531
+ 854
532
+ ]
533
+ },
534
+ {
535
+ "id": "143494fb-a40e-423f-be3b-ecc808b408b0",
536
+ "name": "unet_name",
537
+ "type": "COMBO",
538
+ "linkIds": [
539
+ 663
540
+ ],
541
+ "pos": [
542
+ -540.955078125,
543
+ 874
544
+ ]
545
+ },
546
+ {
547
+ "id": "d8528289-e121-45ed-9c31-e6370ce4ba5e",
548
+ "name": "clip_name",
549
+ "type": "COMBO",
550
+ "linkIds": [
551
+ 664
552
+ ],
553
+ "pos": [
554
+ -540.955078125,
555
+ 894
556
+ ]
557
+ },
558
+ {
559
+ "id": "f03d1fb0-d592-4997-b55e-e7a2549c36e5",
560
+ "name": "vae_name",
561
+ "type": "COMBO",
562
+ "linkIds": [
563
+ 665
564
+ ],
565
+ "pos": [
566
+ -540.955078125,
567
+ 914
568
+ ]
569
+ },
570
+ {
571
+ "id": "e12b2532-5fcd-4f34-9ddd-71df7e5021c5",
572
+ "name": "clip_name_1",
573
+ "type": "COMBO",
574
+ "linkIds": [
575
+ 696
576
+ ],
577
+ "label": "PE_model",
578
+ "pos": [
579
+ -540.955078125,
580
+ 934
581
+ ]
582
+ },
583
+ {
584
+ "id": "d2597afa-78fa-49f2-96cb-5fda1a3b9eee",
585
+ "name": "device",
586
+ "type": "COMBO",
587
+ "linkIds": [
588
+ 703
589
+ ],
590
+ "label": "cache_device",
591
+ "pos": [
592
+ -540.955078125,
593
+ 954
594
+ ]
595
+ },
596
+ {
597
+ "id": "ef25ddbe-1463-4c53-9065-93aa867e77ab",
598
+ "name": "dtype_1",
599
+ "type": "COMBO",
600
+ "linkIds": [
601
+ 704
602
+ ],
603
+ "label": "dtype",
604
+ "pos": [
605
+ -540.955078125,
606
+ 974
607
+ ]
608
+ },
609
+ {
610
+ "id": "d21f97c8-28fe-49af-9713-c21911b3ace1",
611
+ "name": "strength_model",
612
+ "type": "FLOAT",
613
+ "linkIds": [
614
+ 716
615
+ ],
616
+ "pos": [
617
+ -540.955078125,
618
+ 994
619
+ ]
620
+ }
621
+ ],
622
+ "outputs": [
623
+ {
624
+ "id": "f6f3effc-0961-4c17-b52c-a77c16ca6aa4",
625
+ "name": "IMAGE",
626
+ "type": "IMAGE",
627
+ "linkIds": [
628
+ 650
629
+ ],
630
+ "localized_name": "IMAGE",
631
+ "pos": [
632
+ 1984,
633
+ 664
634
+ ]
635
+ }
636
+ ],
637
+ "widgets": [],
638
+ "nodes": [
639
+ {
640
+ "id": 451,
641
+ "type": "UNETLoader",
642
+ "pos": [
643
+ -190,
644
+ 410
645
+ ],
646
+ "size": [
647
+ 510,
648
+ 90
649
+ ],
650
+ "flags": {},
651
+ "order": 2,
652
+ "mode": 0,
653
+ "inputs": [
654
+ {
655
+ "localized_name": "unet_name",
656
+ "name": "unet_name",
657
+ "type": "COMBO",
658
+ "widget": {
659
+ "name": "unet_name"
660
+ },
661
+ "link": 663
662
+ }
663
+ ],
664
+ "outputs": [
665
+ {
666
+ "localized_name": "MODEL",
667
+ "name": "MODEL",
668
+ "type": "MODEL",
669
+ "links": [
670
+ 714
671
+ ]
672
+ }
673
+ ],
674
+ "properties": {
675
+ "Node name for S&R": "UNETLoader",
676
+ "models": [
677
+ {
678
+ "name": "qwen_image_2.1_int8_convrot.safetensors",
679
+ "url": "https://huggingface.co/Comfy-Org/Qwen-Image-2.1/resolve/main/diffusion_models/qwen_image_2.1_int8_convrot.safetensors",
680
+ "directory": "diffusion_models"
681
+ }
682
+ ]
683
+ },
684
+ "widgets_values": [
685
+ "qwen_image_2.1_int8_convrot.safetensors",
686
+ "default"
687
+ ],
688
+ "widgets_values_named": {
689
+ "unet_name": "qwen_image_2.1_int8_convrot.safetensors",
690
+ "weight_dtype": "default"
691
+ }
692
+ },
693
+ {
694
+ "id": 452,
695
+ "type": "TextEncodeQwenImage21",
696
+ "pos": [
697
+ 440,
698
+ 410
699
+ ],
700
+ "size": [
701
+ 530,
702
+ 680
703
+ ],
704
+ "flags": {},
705
+ "order": 3,
706
+ "mode": 0,
707
+ "inputs": [
708
+ {
709
+ "localized_name": "clip",
710
+ "name": "clip",
711
+ "type": "CLIP",
712
+ "link": 647
713
+ },
714
+ {
715
+ "localized_name": "image_1",
716
+ "name": "images.image_1",
717
+ "shape": 7,
718
+ "type": "IMAGE",
719
+ "link": null
720
+ },
721
+ {
722
+ "localized_name": "vae",
723
+ "name": "vae",
724
+ "shape": 7,
725
+ "type": "VAE",
726
+ "link": null
727
+ },
728
+ {
729
+ "localized_name": "prompt",
730
+ "name": "prompt",
731
+ "type": "STRING",
732
+ "widget": {
733
+ "name": "prompt"
734
+ },
735
+ "link": 687
736
+ },
737
+ {
738
+ "localized_name": "negative_prompt",
739
+ "name": "negative_prompt",
740
+ "type": "STRING",
741
+ "widget": {
742
+ "name": "negative_prompt"
743
+ },
744
+ "link": 657
745
+ }
746
+ ],
747
+ "outputs": [
748
+ {
749
+ "localized_name": "positive",
750
+ "name": "positive",
751
+ "type": "CONDITIONING",
752
+ "links": [
753
+ 653
754
+ ]
755
+ },
756
+ {
757
+ "localized_name": "negative",
758
+ "name": "negative",
759
+ "type": "CONDITIONING",
760
+ "links": [
761
+ 655
762
+ ]
763
+ },
764
+ {
765
+ "localized_name": "latent",
766
+ "name": "latent",
767
+ "type": "LATENT",
768
+ "links": null
769
+ }
770
+ ],
771
+ "properties": {
772
+ "Node name for S&R": "TextEncodeQwenImage21"
773
+ },
774
+ "widgets_values": [
775
+ "",
776
+ "",
777
+ 1024
778
+ ],
779
+ "widgets_values_named": {
780
+ "prompt": "",
781
+ "negative_prompt": "",
782
+ "resolution": 1024
783
+ }
784
+ },
785
+ {
786
+ "id": 453,
787
+ "type": "CLIPLoader",
788
+ "pos": [
789
+ -190,
790
+ 570
791
+ ],
792
+ "size": [
793
+ 510,
794
+ 120
795
+ ],
796
+ "flags": {},
797
+ "order": 4,
798
+ "mode": 0,
799
+ "inputs": [
800
+ {
801
+ "localized_name": "clip_name",
802
+ "name": "clip_name",
803
+ "type": "COMBO",
804
+ "widget": {
805
+ "name": "clip_name"
806
+ },
807
+ "link": 664
808
+ }
809
+ ],
810
+ "outputs": [
811
+ {
812
+ "localized_name": "CLIP",
813
+ "name": "CLIP",
814
+ "type": "CLIP",
815
+ "links": [
816
+ 647
817
+ ]
818
+ }
819
+ ],
820
+ "properties": {
821
+ "Node name for S&R": "CLIPLoader",
822
+ "models": [
823
+ {
824
+ "name": "qwen3vl_8b_int8_convrot.safetensors",
825
+ "url": "https://huggingface.co/Comfy-Org/Qwen-Image-2.1/resolve/main/text_encoders/qwen3vl_8b_int8_convrot.safetensors",
826
+ "directory": "text_encoders"
827
+ }
828
+ ]
829
+ },
830
+ "widgets_values": [
831
+ "qwen3vl_8b_int8_convrot.safetensors",
832
+ "qwen_image",
833
+ "default"
834
+ ],
835
+ "widgets_values_named": {
836
+ "clip_name": "qwen3vl_8b_int8_convrot.safetensors",
837
+ "type": "qwen_image",
838
+ "device": "default"
839
+ }
840
+ },
841
+ {
842
+ "id": 454,
843
+ "type": "VAELoader",
844
+ "pos": [
845
+ -190,
846
+ 770
847
+ ],
848
+ "size": [
849
+ 510,
850
+ 70
851
+ ],
852
+ "flags": {},
853
+ "order": 5,
854
+ "mode": 0,
855
+ "inputs": [
856
+ {
857
+ "localized_name": "vae_name",
858
+ "name": "vae_name",
859
+ "type": "COMBO",
860
+ "widget": {
861
+ "name": "vae_name"
862
+ },
863
+ "link": 665
864
+ }
865
+ ],
866
+ "outputs": [
867
+ {
868
+ "localized_name": "VAE",
869
+ "name": "VAE",
870
+ "type": "VAE",
871
+ "links": [
872
+ 649
873
+ ]
874
+ }
875
+ ],
876
+ "properties": {
877
+ "Node name for S&R": "VAELoader",
878
+ "models": [
879
+ {
880
+ "name": "qwen_image_2.1_vae_bf16.safetensors",
881
+ "url": "https://huggingface.co/Comfy-Org/Qwen-Image-2.1/resolve/main/vae/qwen_image_2.1_vae_bf16.safetensors",
882
+ "directory": "vae"
883
+ }
884
+ ]
885
+ },
886
+ "widgets_values": [
887
+ "qwen_image_2.1_vae_bf16.safetensors"
888
+ ],
889
+ "widgets_values_named": {
890
+ "vae_name": "qwen_image_2.1_vae_bf16.safetensors"
891
+ }
892
+ },
893
+ {
894
+ "id": 456,
895
+ "type": "EmptyLatentImage",
896
+ "pos": [
897
+ -70,
898
+ 1010
899
+ ],
900
+ "size": [
901
+ 300,
902
+ 120
903
+ ],
904
+ "flags": {},
905
+ "order": 6,
906
+ "mode": 0,
907
+ "inputs": [
908
+ {
909
+ "localized_name": "width",
910
+ "name": "width",
911
+ "type": "INT",
912
+ "widget": {
913
+ "name": "width"
914
+ },
915
+ "link": 660
916
+ },
917
+ {
918
+ "localized_name": "height",
919
+ "name": "height",
920
+ "type": "INT",
921
+ "widget": {
922
+ "name": "height"
923
+ },
924
+ "link": 661
925
+ }
926
+ ],
927
+ "outputs": [
928
+ {
929
+ "localized_name": "LATENT",
930
+ "name": "LATENT",
931
+ "type": "LATENT",
932
+ "links": [
933
+ 654
934
+ ]
935
+ }
936
+ ],
937
+ "properties": {
938
+ "Node name for S&R": "EmptyLatentImage"
939
+ },
940
+ "widgets_values": [
941
+ 1024,
942
+ 1024,
943
+ 1
944
+ ],
945
+ "widgets_values_named": {
946
+ "width": 1024,
947
+ "height": 1024,
948
+ "batch_size": 1
949
+ }
950
+ },
951
+ {
952
+ "id": 457,
953
+ "type": "VAEDecode",
954
+ "pos": [
955
+ 1620,
956
+ 660
957
+ ],
958
+ "size": [
959
+ 230,
960
+ 60
961
+ ],
962
+ "flags": {},
963
+ "order": 7,
964
+ "mode": 0,
965
+ "inputs": [
966
+ {
967
+ "localized_name": "samples",
968
+ "name": "samples",
969
+ "type": "LATENT",
970
+ "link": 651
971
+ },
972
+ {
973
+ "localized_name": "vae",
974
+ "name": "vae",
975
+ "type": "VAE",
976
+ "link": 649
977
+ }
978
+ ],
979
+ "outputs": [
980
+ {
981
+ "localized_name": "IMAGE",
982
+ "name": "IMAGE",
983
+ "type": "IMAGE",
984
+ "links": [
985
+ 650
986
+ ]
987
+ }
988
+ ],
989
+ "properties": {
990
+ "Node name for S&R": "VAEDecode"
991
+ }
992
+ },
993
+ {
994
+ "id": 458,
995
+ "type": "KSampler",
996
+ "pos": [
997
+ 1180,
998
+ 640
999
+ ],
1000
+ "size": [
1001
+ 270,
1002
+ 270
1003
+ ],
1004
+ "flags": {},
1005
+ "order": 8,
1006
+ "mode": 0,
1007
+ "inputs": [
1008
+ {
1009
+ "localized_name": "model",
1010
+ "name": "model",
1011
+ "type": "MODEL",
1012
+ "link": 700
1013
+ },
1014
+ {
1015
+ "localized_name": "positive",
1016
+ "name": "positive",
1017
+ "type": "CONDITIONING",
1018
+ "link": 653
1019
+ },
1020
+ {
1021
+ "localized_name": "negative",
1022
+ "name": "negative",
1023
+ "type": "CONDITIONING",
1024
+ "link": 655
1025
+ },
1026
+ {
1027
+ "localized_name": "latent_image",
1028
+ "name": "latent_image",
1029
+ "type": "LATENT",
1030
+ "link": 654
1031
+ },
1032
+ {
1033
+ "localized_name": "seed",
1034
+ "name": "seed",
1035
+ "type": "INT",
1036
+ "widget": {
1037
+ "name": "seed"
1038
+ },
1039
+ "link": 667
1040
+ },
1041
+ {
1042
+ "localized_name": "steps",
1043
+ "name": "steps",
1044
+ "type": "INT",
1045
+ "widget": {
1046
+ "name": "steps"
1047
+ },
1048
+ "link": 659
1049
+ },
1050
+ {
1051
+ "localized_name": "cfg",
1052
+ "name": "cfg",
1053
+ "type": "FLOAT",
1054
+ "widget": {
1055
+ "name": "cfg"
1056
+ },
1057
+ "link": 658
1058
+ },
1059
+ {
1060
+ "localized_name": "sampler_name",
1061
+ "name": "sampler_name",
1062
+ "type": "COMBO",
1063
+ "widget": {
1064
+ "name": "sampler_name"
1065
+ },
1066
+ "link": 662
1067
+ },
1068
+ {
1069
+ "localized_name": "scheduler",
1070
+ "name": "scheduler",
1071
+ "type": "COMBO",
1072
+ "widget": {
1073
+ "name": "scheduler"
1074
+ },
1075
+ "link": 668
1076
+ }
1077
+ ],
1078
+ "outputs": [
1079
+ {
1080
+ "localized_name": "LATENT",
1081
+ "name": "LATENT",
1082
+ "type": "LATENT",
1083
+ "links": [
1084
+ 651
1085
+ ]
1086
+ }
1087
+ ],
1088
+ "properties": {
1089
+ "Node name for S&R": "KSampler"
1090
+ },
1091
+ "widgets_values": [
1092
+ 0,
1093
+ "fixed",
1094
+ 25,
1095
+ 1,
1096
+ "euler",
1097
+ "simple",
1098
+ 1
1099
+ ],
1100
+ "widgets_values_named": {
1101
+ "seed": 0,
1102
+ "control_after_generate": "fixed",
1103
+ "steps": 25,
1104
+ "cfg": 1,
1105
+ "sampler_name": "euler",
1106
+ "scheduler": "simple",
1107
+ "denoise": 1
1108
+ }
1109
+ },
1110
+ {
1111
+ "id": 471,
1112
+ "type": "TextGenerate",
1113
+ "pos": [
1114
+ 470,
1115
+ -420
1116
+ ],
1117
+ "size": [
1118
+ 400,
1119
+ 460
1120
+ ],
1121
+ "flags": {},
1122
+ "order": 9,
1123
+ "mode": 0,
1124
+ "showAdvanced": true,
1125
+ "inputs": [
1126
+ {
1127
+ "localized_name": "clip",
1128
+ "name": "clip",
1129
+ "type": "CLIP",
1130
+ "link": 681
1131
+ },
1132
+ {
1133
+ "localized_name": "image",
1134
+ "name": "image",
1135
+ "shape": 7,
1136
+ "type": "IMAGE",
1137
+ "link": null
1138
+ },
1139
+ {
1140
+ "localized_name": "video",
1141
+ "name": "video",
1142
+ "shape": 7,
1143
+ "type": "IMAGE",
1144
+ "link": null
1145
+ },
1146
+ {
1147
+ "localized_name": "audio",
1148
+ "name": "audio",
1149
+ "shape": 7,
1150
+ "type": "AUDIO",
1151
+ "link": null
1152
+ },
1153
+ {
1154
+ "localized_name": "system_prompt",
1155
+ "name": "system_prompt",
1156
+ "shape": 7,
1157
+ "type": "STRING",
1158
+ "link": 709
1159
+ },
1160
+ {
1161
+ "localized_name": "prompt",
1162
+ "name": "prompt",
1163
+ "type": "STRING",
1164
+ "widget": {
1165
+ "name": "prompt"
1166
+ },
1167
+ "link": 711
1168
+ },
1169
+ {
1170
+ "localized_name": "max_length",
1171
+ "name": "max_length",
1172
+ "type": "INT",
1173
+ "widget": {
1174
+ "name": "max_length"
1175
+ },
1176
+ "link": 713
1177
+ },
1178
+ {
1179
+ "localized_name": "seed",
1180
+ "name": "sampling_mode.seed",
1181
+ "type": "INT",
1182
+ "widget": {
1183
+ "name": "sampling_mode.seed"
1184
+ },
1185
+ "link": 697
1186
+ },
1187
+ {
1188
+ "localized_name": "thinking",
1189
+ "name": "thinking",
1190
+ "shape": 7,
1191
+ "type": "BOOLEAN",
1192
+ "widget": {
1193
+ "name": "thinking"
1194
+ },
1195
+ "link": 695
1196
+ }
1197
+ ],
1198
+ "outputs": [
1199
+ {
1200
+ "localized_name": "generated_text",
1201
+ "name": "generated_text",
1202
+ "type": "STRING",
1203
+ "links": [
1204
+ 712
1205
+ ]
1206
+ },
1207
+ {
1208
+ "localized_name": "thinking",
1209
+ "name": "thinking",
1210
+ "type": "STRING",
1211
+ "links": null
1212
+ }
1213
+ ],
1214
+ "properties": {
1215
+ "Node name for S&R": "TextGenerate"
1216
+ },
1217
+ "widgets_values": [
1218
+ "",
1219
+ 4096,
1220
+ "on",
1221
+ 1,
1222
+ 20,
1223
+ 0.95,
1224
+ 0,
1225
+ 1,
1226
+ 0,
1227
+ 1.5,
1228
+ true,
1229
+ true,
1230
+ "auto"
1231
+ ],
1232
+ "widgets_values_named": {
1233
+ "prompt": "",
1234
+ "max_length": 4096,
1235
+ "sampling_mode": "on",
1236
+ "sampling_mode.temperature": 1,
1237
+ "sampling_mode.top_k": 20,
1238
+ "sampling_mode.top_p": 0.95,
1239
+ "sampling_mode.min_p": 0,
1240
+ "sampling_mode.repetition_penalty": 1,
1241
+ "sampling_mode.seed": 0,
1242
+ "sampling_mode.presence_penalty": 1.5,
1243
+ "thinking": true,
1244
+ "use_default_template": true,
1245
+ "mtp": "auto"
1246
+ }
1247
+ },
1248
+ {
1249
+ "id": 472,
1250
+ "type": "PreviewAny",
1251
+ "pos": [
1252
+ 990,
1253
+ -250
1254
+ ],
1255
+ "size": [
1256
+ 470,
1257
+ 430
1258
+ ],
1259
+ "flags": {},
1260
+ "order": 10,
1261
+ "mode": 0,
1262
+ "inputs": [
1263
+ {
1264
+ "localized_name": "source",
1265
+ "name": "source",
1266
+ "type": "*",
1267
+ "link": 686
1268
+ }
1269
+ ],
1270
+ "outputs": [
1271
+ {
1272
+ "localized_name": "STRING",
1273
+ "name": "STRING",
1274
+ "type": "STRING",
1275
+ "links": [
1276
+ 687
1277
+ ]
1278
+ }
1279
+ ],
1280
+ "properties": {
1281
+ "Node name for S&R": "PreviewAny"
1282
+ },
1283
+ "widgets_values": [],
1284
+ "widgets_values_named": {}
1285
+ },
1286
+ {
1287
+ "id": 473,
1288
+ "type": "CLIPLoader",
1289
+ "pos": [
1290
+ -180,
1291
+ -420
1292
+ ],
1293
+ "size": [
1294
+ 530,
1295
+ 120
1296
+ ],
1297
+ "flags": {},
1298
+ "order": 11,
1299
+ "mode": 0,
1300
+ "inputs": [
1301
+ {
1302
+ "localized_name": "clip_name",
1303
+ "name": "clip_name",
1304
+ "type": "COMBO",
1305
+ "widget": {
1306
+ "name": "clip_name"
1307
+ },
1308
+ "link": 696
1309
+ }
1310
+ ],
1311
+ "outputs": [
1312
+ {
1313
+ "localized_name": "CLIP",
1314
+ "name": "CLIP",
1315
+ "type": "CLIP",
1316
+ "links": [
1317
+ 681
1318
+ ]
1319
+ }
1320
+ ],
1321
+ "properties": {
1322
+ "Node name for S&R": "CLIPLoader",
1323
+ "models": [
1324
+ {
1325
+ "name": "qwen3.5_9b_qwen_image_2.1_pe_t2i.int8_convrot.safetensors",
1326
+ "url": "https://huggingface.co/Comfy-Org/Qwen-Image-2.1/resolve/main/text_encoders/qwen3.5_9b_qwen_image_2.1_pe_t2i.int8_convrot.safetensors",
1327
+ "directory": "text_encoders"
1328
+ }
1329
+ ]
1330
+ },
1331
+ "widgets_values": [
1332
+ "qwen3.5_9b_qwen_image_2.1_pe_t2i.int8_convrot.safetensors",
1333
+ "stable_diffusion",
1334
+ "default"
1335
+ ],
1336
+ "widgets_values_named": {
1337
+ "clip_name": "qwen3.5_9b_qwen_image_2.1_pe_t2i.int8_convrot.safetensors",
1338
+ "type": "stable_diffusion",
1339
+ "device": "default"
1340
+ }
1341
+ },
1342
+ {
1343
+ "id": 474,
1344
+ "type": "ComfySwitchNode",
1345
+ "pos": [
1346
+ 990,
1347
+ -420
1348
+ ],
1349
+ "size": [
1350
+ 270,
1351
+ 80
1352
+ ],
1353
+ "flags": {},
1354
+ "order": 12,
1355
+ "mode": 0,
1356
+ "inputs": [
1357
+ {
1358
+ "localized_name": "on_false",
1359
+ "name": "on_false",
1360
+ "shape": 7,
1361
+ "type": "STRING",
1362
+ "link": 684
1363
+ },
1364
+ {
1365
+ "localized_name": "on_true",
1366
+ "name": "on_true",
1367
+ "shape": 7,
1368
+ "type": "STRING",
1369
+ "link": 712
1370
+ },
1371
+ {
1372
+ "localized_name": "switch",
1373
+ "name": "switch",
1374
+ "type": "BOOLEAN",
1375
+ "widget": {
1376
+ "name": "switch"
1377
+ },
1378
+ "link": 688
1379
+ }
1380
+ ],
1381
+ "outputs": [
1382
+ {
1383
+ "localized_name": "output",
1384
+ "name": "output",
1385
+ "type": "STRING",
1386
+ "links": [
1387
+ 686
1388
+ ]
1389
+ }
1390
+ ],
1391
+ "properties": {
1392
+ "Node name for S&R": "ComfySwitchNode"
1393
+ },
1394
+ "widgets_values": [
1395
+ false
1396
+ ],
1397
+ "widgets_values_named": {
1398
+ "switch": false
1399
+ }
1400
+ },
1401
+ {
1402
+ "id": 475,
1403
+ "type": "PrimitiveStringMultiline",
1404
+ "pos": [
1405
+ -180,
1406
+ -240
1407
+ ],
1408
+ "size": [
1409
+ 530,
1410
+ 270
1411
+ ],
1412
+ "flags": {},
1413
+ "order": 0,
1414
+ "mode": 0,
1415
+ "inputs": [],
1416
+ "outputs": [
1417
+ {
1418
+ "localized_name": "STRING",
1419
+ "name": "STRING",
1420
+ "type": "STRING",
1421
+ "links": [
1422
+ 709
1423
+ ]
1424
+ }
1425
+ ],
1426
+ "title": "Text (System Prompt)",
1427
+ "properties": {
1428
+ "Node name for S&R": "PrimitiveStringMultiline"
1429
+ },
1430
+ "widgets_values": [
1431
+ "# Image Prompt Rewriting Expert\n\nYou turn a user's image request into one long English paragraph that describes the\nfinished image as if you were looking at it, plus the aspect ratio it should be\nrendered at. You are not talking to the user and not talking to a renderer: you are\nan observer reporting what is in the frame.\n\nWork through the eight steps below in order. Each step commits one decision; later\nsteps never revise an earlier one.\n\n## Step 1 — Read the brief and split it in two\n\nList what the user has fixed and what they have left open.\n\nFixed, and it must survive into your description unchanged: every string of text\nthey want shown, every named object, every count, every stated colour, every stated\nposition, and the aspect ratio if they gave one. Copy their text strings character\nfor character, in their own script, including punctuation and spacing.\n\nA third thing they may give you is an instruction about the job rather than about the\npicture — \"use double quotes\", \"no hard-edged blocks\", \"4K, no noise\", \"make sure the\ntext is sharp\". That is not content. Obey it silently where it applies and never echo\nit: the description states what is in the frame, never what must be done.\n\nOpen, and you must decide it: everything they did not mention. A three-word request\nand a three-hundred-word request both become a description of the same size, so a\nshort brief means you are inventing most of the frame, not writing less.\n\n## Step 2 — Fix the frame\n\nDecide the orientation from the subject, then pick the ratio.\n\nIf the user states a ratio, use it. Otherwise: `3:2` for anything horizontal and\n`2:3` for anything vertical — these are the two defaults and cover most images.\nUse `1:1` for a square badge, icon, album cover or single centred emblem, `16:9`\nfor a wide cinematic or presentation frame, `1:2` or `9:16` for a phone screen or a\ntall standing banner. `3:4`, `2:1`, `21:9`, `4:3`, `9:21`, `4:5`, `3:1`, `5:4`,\n`1:3` exist but only when the subject or the user really calls for them.\n\nThe ratio lives only in the `wh_ratio` field. Never write a ratio, a resolution, or\na pixel count into the description itself.\n\n## Step 3 — Write the opening sentence\n\nOne sentence, around twenty words. Name the medium, the style, the subject, and the\nbackground or palette; usually name the orientation too:\n\n`The image is a ⟨vertical / wide / square / tall⟩ ⟨style⟩ ⟨photograph · poster · illustration · scene · portrait · infographic · close-up · graphic · page · card · sheet · logo⟩ of ⟨subject⟩, ⟨the background and its palette⟩.`\n\n`This is a …` or a bare `A vertical realistic photograph of …` work equally well. The\nmedium noun is the one part that is never omitted.\n\nThe style word goes here — realistic, photorealistic, minimalist, flat-vector,\ncinematic, watercolour, isometric, editorial, hand-drawn, 3D-rendered, retro. Name\nit once here; you may echo it in the closing sentence.\n\n## Step 4 — Inventory before you write\n\nBefore any more prose, settle two lists.\n\nEvery element that will appear, each with a place in the frame: upper-left,\nacross the top, on the far right, in the lower-third, in the centre, in front of,\nbehind, tucked into the corner. You will need eight to fourteen such positional\nphrases, about ten typically, and they must reach the corners, the edges and the\ncentre — not cluster in the middle.\n\nEvery piece of text that will be legible in the image, in reading order.\n\n## Step 5 — Walk the frame\n\nNow describe it in order. Which order depends on how the frame is filled.\n\n**If the frame is divided into regions** — a poster, a page, an interface, a layout, a\nwide scene with several things in it — walk the regions:\n\n1. The background and the surface it sits on — this comes immediately after the\n opening sentence, not at the end.\n2. The top band: headline, header bar, sky, ceiling, whatever occupies the top edge.\n3. Down and across the body of the frame: left side, then centre, then right side.\n Give each region one or two sentences.\n4. The bottom band: footer, foreground, ground plane, base row.\n\n**If one subject fills the frame** — a portrait, a close-up, a single object — walk\nthe subject instead: the background and how far it falls off, then the subject's pose\nand where it is placed in the frame, then head and face, then body and each garment or\nsurface, then what is held or touching it, then whatever little is left at the edges.\nKeep using positional phrases inside the subject — in the upper-left of the frame,\nbehind the left shoulder, along the lower edge — so the frame stays locatable.\n\nRoughly a third of your sentences should open on the positional phrase itself —\n\"On the right side of the frame, …\", \"In the upper-left corner, …\", \"Across the\nlower third, …\" — so the reader always knows where they are looking.\n\nKeep it to one paragraph. Break to a new paragraph only when the image is genuinely\nbuilt from stacked regions — panels, cards, sections, slides — and then one\nparagraph per region, each opening on where that region sits.\n\n## Step 6 — Set every piece of text\n\nSkip this step if nothing in the image is meant to be read — a third of images have\nno legible text at all, and inventing signage for them is a mistake.\n\nOtherwise, for each string from your Step 4 list, in reading order, name where it sits,\nwhat it looks like, and what it says: `a bold black headline across the top reads \"…\"`.\n\nPut the string in straight double quotes, in its own script — Chinese, Russian,\nKorean, Japanese and Arabic text stays in Chinese, Russian, Korean, Japanese and\nArabic. Give its weight, colour, case and relative size. Describe a line break as a\nsecond line rather than putting a real newline inside the string. If a mark is not meant\nto be read — distant signage, a label behind glass, dense body copy — call it\nblurred, indistinct, or too small to read rather than inventing letters. If the image contains a chart\nor a table, its axes, tick labels, legend entries, series and cell values are text\ntoo: write them out.\n\n## Step 7 — Give the lighting its own sentence\n\nEvery image has light in it, and the description always accounts for it: the source,\nits direction, its quality, and the shadows and highlights it leaves. Soft diffused\ndaylight from a window on the left, hard overhead studio light, warm low sun, flat\neven ambient light for a diagram.\n\nOnce the contents are placed, give it a sentence of its own — `The lighting is …` —\nor, if the light is what makes a particular surface look the way it does, fold it into\nthat surface's sentence. Either way it is stated explicitly, not left implied.\n\n## Step 8 — Close with the whole frame\n\nEnd on a single sentence that steps back:\n\n`The overall composition ⟨is / uses / feels⟩ …`\n\n`The composition is …`, `The overall design …`, `The overall mood …`, `The overall\npalette …` and `The image has …` are the same move. Cover balance and symmetry, the\npalette, the style, and the mood in that one sentence. Write exactly one such\nsentence — do not follow it with a second summary.\n\n## Throughout\n\n**Size.** The description runs about twenty sentences and four to five hundred words,\nroughly twenty-five words a sentence. That is the same size whether the brief was three\nwords or three hundred: a dense frame with many regions and a lot of text runs longer, a\nsingle quiet subject runs shorter, but a thin brief never buys a thin description.\n\n**Observe, don't instruct.** Present tense, third person, declarative. No \"you\", no\n\"create\", no \"make sure\", no \"the AI should\". No quality boosters — no \"masterpiece\",\n\"8K\", \"highly detailed\", \"award-winning\".\n\n**Hedge what you cannot be certain of.** An observer describing a picture says\n\"appears to be\", \"likely\", \"suggesting\", and offers a pair — \"a notebook\nor a tablet\", \"wood or dark laminate\" — when the thing is genuinely ambiguous. Do\nthis often; it is the natural register here. Be flatly definite only about what the\nuser fixed.\n\n**Name colours with a modifier, almost never bare.** Deep navy, muted olive, pale\ncream, warm terracotta, soft dusty rose, blue-grey, off-white, charcoal, brownish-\ngreen. Hex codes only if the user gave them.\n\n**Give the material, not just the noun.** Brushed metal, matte plastic, glossy\nceramic, coarse linen, weathered wood, frosted glass, grain, scuffs, condensation,\nvisible brush strokes, paper fibre.\n\n**Enumerate; never summarise.** \"Several items\" and \"various decorations\" are not\ndescriptions. Say what each thing is. Write small counts as words — three, five,\ntwelve — and if something is partly hidden, say so and describe the visible part.\n\n**People get their observable surface.** Build, posture, where they are looking,\nexpression, hair, skin tone, and each garment with its colour and material. Age is a\nlife stage or a decade — a child, a teenager, a young adult, middle-aged, elderly,\nin her thirties — never a number of years. If a face is turned away or cropped, say\nthat instead of describing it.\n\n**Objects by class, not by brand.** A silver laptop, a mirrorless camera, a compact\nhatchback — unless the user named the brand. Photographic and design vocabulary is\nwelcome: shallow depth of field, bokeh, backlit, close-up, negative space,\ngrid, drop shadow.\n\n**Everything holds together physically.** Shadows fall away from the light, reflections\nmatch what is in front of the surface, scale is consistent between neighbouring\nobjects, and a surface reacts to what sits on it. If the user asked for something\nimpossible, describe it as the image shows it and let the rest of the scene stay\ncoherent around it.\n\n## Language\n\nThe description is always in English, whatever language the request arrives in. The\nonly exception is text shown inside the image, which stays in its own script.\n\n## Output format\n\n- Return the description and nothing else: one continuous paragraph of English, in a single line\nstarting on the very first character of your reply.\n- No JSON, no braces, no key names, no labels, no headings, no markdown, no code fences, and no quotation marks around the paragraph.\n- No preamble, no acknowledgement, no explanation, no summary, no notes, no closing remarks, no questions.\n- No ratio, no resolution, no pixel count, no timestamps.\n\nYour whole reply is used as the image prompt, so every extra word you add becomes part of the image.\n"
1432
+ ],
1433
+ "widgets_values_named": {
1434
+ "value": "# Image Prompt Rewriting Expert\n\nYou turn a user's image request into one long English paragraph that describes the\nfinished image as if you were looking at it, plus the aspect ratio it should be\nrendered at. You are not talking to the user and not talking to a renderer: you are\nan observer reporting what is in the frame.\n\nWork through the eight steps below in order. Each step commits one decision; later\nsteps never revise an earlier one.\n\n## Step 1 — Read the brief and split it in two\n\nList what the user has fixed and what they have left open.\n\nFixed, and it must survive into your description unchanged: every string of text\nthey want shown, every named object, every count, every stated colour, every stated\nposition, and the aspect ratio if they gave one. Copy their text strings character\nfor character, in their own script, including punctuation and spacing.\n\nA third thing they may give you is an instruction about the job rather than about the\npicture — \"use double quotes\", \"no hard-edged blocks\", \"4K, no noise\", \"make sure the\ntext is sharp\". That is not content. Obey it silently where it applies and never echo\nit: the description states what is in the frame, never what must be done.\n\nOpen, and you must decide it: everything they did not mention. A three-word request\nand a three-hundred-word request both become a description of the same size, so a\nshort brief means you are inventing most of the frame, not writing less.\n\n## Step 2 — Fix the frame\n\nDecide the orientation from the subject, then pick the ratio.\n\nIf the user states a ratio, use it. Otherwise: `3:2` for anything horizontal and\n`2:3` for anything vertical — these are the two defaults and cover most images.\nUse `1:1` for a square badge, icon, album cover or single centred emblem, `16:9`\nfor a wide cinematic or presentation frame, `1:2` or `9:16` for a phone screen or a\ntall standing banner. `3:4`, `2:1`, `21:9`, `4:3`, `9:21`, `4:5`, `3:1`, `5:4`,\n`1:3` exist but only when the subject or the user really calls for them.\n\nThe ratio lives only in the `wh_ratio` field. Never write a ratio, a resolution, or\na pixel count into the description itself.\n\n## Step 3 — Write the opening sentence\n\nOne sentence, around twenty words. Name the medium, the style, the subject, and the\nbackground or palette; usually name the orientation too:\n\n`The image is a ⟨vertical / wide / square / tall⟩ ⟨style⟩ ⟨photograph · poster · illustration · scene · portrait · infographic · close-up · graphic · page · card · sheet · logo⟩ of ⟨subject⟩, ⟨the background and its palette⟩.`\n\n`This is a …` or a bare `A vertical realistic photograph of …` work equally well. The\nmedium noun is the one part that is never omitted.\n\nThe style word goes here — realistic, photorealistic, minimalist, flat-vector,\ncinematic, watercolour, isometric, editorial, hand-drawn, 3D-rendered, retro. Name\nit once here; you may echo it in the closing sentence.\n\n## Step 4 — Inventory before you write\n\nBefore any more prose, settle two lists.\n\nEvery element that will appear, each with a place in the frame: upper-left,\nacross the top, on the far right, in the lower-third, in the centre, in front of,\nbehind, tucked into the corner. You will need eight to fourteen such positional\nphrases, about ten typically, and they must reach the corners, the edges and the\ncentre — not cluster in the middle.\n\nEvery piece of text that will be legible in the image, in reading order.\n\n## Step 5 — Walk the frame\n\nNow describe it in order. Which order depends on how the frame is filled.\n\n**If the frame is divided into regions** — a poster, a page, an interface, a layout, a\nwide scene with several things in it — walk the regions:\n\n1. The background and the surface it sits on — this comes immediately after the\n opening sentence, not at the end.\n2. The top band: headline, header bar, sky, ceiling, whatever occupies the top edge.\n3. Down and across the body of the frame: left side, then centre, then right side.\n Give each region one or two sentences.\n4. The bottom band: footer, foreground, ground plane, base row.\n\n**If one subject fills the frame** — a portrait, a close-up, a single object — walk\nthe subject instead: the background and how far it falls off, then the subject's pose\nand where it is placed in the frame, then head and face, then body and each garment or\nsurface, then what is held or touching it, then whatever little is left at the edges.\nKeep using positional phrases inside the subject — in the upper-left of the frame,\nbehind the left shoulder, along the lower edge — so the frame stays locatable.\n\nRoughly a third of your sentences should open on the positional phrase itself —\n\"On the right side of the frame, …\", \"In the upper-left corner, …\", \"Across the\nlower third, …\" — so the reader always knows where they are looking.\n\nKeep it to one paragraph. Break to a new paragraph only when the image is genuinely\nbuilt from stacked regions — panels, cards, sections, slides — and then one\nparagraph per region, each opening on where that region sits.\n\n## Step 6 — Set every piece of text\n\nSkip this step if nothing in the image is meant to be read — a third of images have\nno legible text at all, and inventing signage for them is a mistake.\n\nOtherwise, for each string from your Step 4 list, in reading order, name where it sits,\nwhat it looks like, and what it says: `a bold black headline across the top reads \"…\"`.\n\nPut the string in straight double quotes, in its own script — Chinese, Russian,\nKorean, Japanese and Arabic text stays in Chinese, Russian, Korean, Japanese and\nArabic. Give its weight, colour, case and relative size. Describe a line break as a\nsecond line rather than putting a real newline inside the string. If a mark is not meant\nto be read — distant signage, a label behind glass, dense body copy — call it\nblurred, indistinct, or too small to read rather than inventing letters. If the image contains a chart\nor a table, its axes, tick labels, legend entries, series and cell values are text\ntoo: write them out.\n\n## Step 7 — Give the lighting its own sentence\n\nEvery image has light in it, and the description always accounts for it: the source,\nits direction, its quality, and the shadows and highlights it leaves. Soft diffused\ndaylight from a window on the left, hard overhead studio light, warm low sun, flat\neven ambient light for a diagram.\n\nOnce the contents are placed, give it a sentence of its own — `The lighting is …` —\nor, if the light is what makes a particular surface look the way it does, fold it into\nthat surface's sentence. Either way it is stated explicitly, not left implied.\n\n## Step 8 — Close with the whole frame\n\nEnd on a single sentence that steps back:\n\n`The overall composition ⟨is / uses / feels⟩ …`\n\n`The composition is …`, `The overall design …`, `The overall mood ��`, `The overall\npalette …` and `The image has …` are the same move. Cover balance and symmetry, the\npalette, the style, and the mood in that one sentence. Write exactly one such\nsentence — do not follow it with a second summary.\n\n## Throughout\n\n**Size.** The description runs about twenty sentences and four to five hundred words,\nroughly twenty-five words a sentence. That is the same size whether the brief was three\nwords or three hundred: a dense frame with many regions and a lot of text runs longer, a\nsingle quiet subject runs shorter, but a thin brief never buys a thin description.\n\n**Observe, don't instruct.** Present tense, third person, declarative. No \"you\", no\n\"create\", no \"make sure\", no \"the AI should\". No quality boosters — no \"masterpiece\",\n\"8K\", \"highly detailed\", \"award-winning\".\n\n**Hedge what you cannot be certain of.** An observer describing a picture says\n\"appears to be\", \"likely\", \"suggesting\", and offers a pair — \"a notebook\nor a tablet\", \"wood or dark laminate\" — when the thing is genuinely ambiguous. Do\nthis often; it is the natural register here. Be flatly definite only about what the\nuser fixed.\n\n**Name colours with a modifier, almost never bare.** Deep navy, muted olive, pale\ncream, warm terracotta, soft dusty rose, blue-grey, off-white, charcoal, brownish-\ngreen. Hex codes only if the user gave them.\n\n**Give the material, not just the noun.** Brushed metal, matte plastic, glossy\nceramic, coarse linen, weathered wood, frosted glass, grain, scuffs, condensation,\nvisible brush strokes, paper fibre.\n\n**Enumerate; never summarise.** \"Several items\" and \"various decorations\" are not\ndescriptions. Say what each thing is. Write small counts as words — three, five,\ntwelve — and if something is partly hidden, say so and describe the visible part.\n\n**People get their observable surface.** Build, posture, where they are looking,\nexpression, hair, skin tone, and each garment with its colour and material. Age is a\nlife stage or a decade — a child, a teenager, a young adult, middle-aged, elderly,\nin her thirties — never a number of years. If a face is turned away or cropped, say\nthat instead of describing it.\n\n**Objects by class, not by brand.** A silver laptop, a mirrorless camera, a compact\nhatchback — unless the user named the brand. Photographic and design vocabulary is\nwelcome: shallow depth of field, bokeh, backlit, close-up, negative space,\ngrid, drop shadow.\n\n**Everything holds together physically.** Shadows fall away from the light, reflections\nmatch what is in front of the surface, scale is consistent between neighbouring\nobjects, and a surface reacts to what sits on it. If the user asked for something\nimpossible, describe it as the image shows it and let the rest of the scene stay\ncoherent around it.\n\n## Language\n\nThe description is always in English, whatever language the request arrives in. The\nonly exception is text shown inside the image, which stays in its own script.\n\n## Output format\n\n- Return the description and nothing else: one continuous paragraph of English, in a single line\nstarting on the very first character of your reply.\n- No JSON, no braces, no key names, no labels, no headings, no markdown, no code fences, and no quotation marks around the paragraph.\n- No preamble, no acknowledgement, no explanation, no summary, no notes, no closing remarks, no questions.\n- No ratio, no resolution, no pixel count, no timestamps.\n\nYour whole reply is used as the image prompt, so every extra word you add becomes part of the image.\n"
1435
+ }
1436
+ },
1437
+ {
1438
+ "id": 480,
1439
+ "type": "QwenImage21Cache",
1440
+ "pos": [
1441
+ 1190,
1442
+ 460
1443
+ ],
1444
+ "size": [
1445
+ 270,
1446
+ 90
1447
+ ],
1448
+ "flags": {},
1449
+ "order": 13,
1450
+ "mode": 0,
1451
+ "inputs": [
1452
+ {
1453
+ "localized_name": "model",
1454
+ "name": "model",
1455
+ "type": "MODEL",
1456
+ "link": 715
1457
+ },
1458
+ {
1459
+ "localized_name": "device",
1460
+ "name": "device",
1461
+ "type": "COMBO",
1462
+ "widget": {
1463
+ "name": "device"
1464
+ },
1465
+ "link": 703
1466
+ },
1467
+ {
1468
+ "localized_name": "dtype",
1469
+ "name": "dtype",
1470
+ "type": "COMBO",
1471
+ "widget": {
1472
+ "name": "dtype"
1473
+ },
1474
+ "link": 704
1475
+ }
1476
+ ],
1477
+ "outputs": [
1478
+ {
1479
+ "localized_name": "MODEL",
1480
+ "name": "MODEL",
1481
+ "type": "MODEL",
1482
+ "links": [
1483
+ 700
1484
+ ]
1485
+ }
1486
+ ],
1487
+ "properties": {
1488
+ "Node name for S&R": "QwenImage21Cache"
1489
+ },
1490
+ "widgets_values": [
1491
+ "auto",
1492
+ "default"
1493
+ ],
1494
+ "widgets_values_named": {
1495
+ "device": "auto",
1496
+ "dtype": "default"
1497
+ }
1498
+ },
1499
+ {
1500
+ "id": 484,
1501
+ "type": "LoraLoaderModelOnly",
1502
+ "pos": [
1503
+ 487.5687424513225,
1504
+ 271.4263711124503
1505
+ ],
1506
+ "size": [
1507
+ 270,
1508
+ 82
1509
+ ],
1510
+ "flags": {},
1511
+ "order": 1,
1512
+ "mode": 0,
1513
+ "inputs": [
1514
+ {
1515
+ "localized_name": "model",
1516
+ "name": "model",
1517
+ "type": "MODEL",
1518
+ "link": 714
1519
+ },
1520
+ {
1521
+ "localized_name": "strength_model",
1522
+ "name": "strength_model",
1523
+ "type": "FLOAT",
1524
+ "widget": {
1525
+ "name": "strength_model"
1526
+ },
1527
+ "link": 716
1528
+ }
1529
+ ],
1530
+ "outputs": [
1531
+ {
1532
+ "localized_name": "MODEL",
1533
+ "name": "MODEL",
1534
+ "type": "MODEL",
1535
+ "links": [
1536
+ 715
1537
+ ]
1538
+ }
1539
+ ],
1540
+ "properties": {
1541
+ "Node name for S&R": "LoraLoaderModelOnly"
1542
+ },
1543
+ "widgets_values": [
1544
+ "qwen_image_2.1_turbo_lora_avg_rank_178_bf16.safetensors",
1545
+ 1
1546
+ ],
1547
+ "widgets_values_named": {
1548
+ "lora_name": "qwen_image_2.1_turbo_lora_avg_rank_178_bf16.safetensors",
1549
+ "strength_model": 1
1550
+ }
1551
+ }
1552
+ ],
1553
+ "groups": [
1554
+ {
1555
+ "id": 34,
1556
+ "title": "Models",
1557
+ "bounding": [
1558
+ -200,
1559
+ 300,
1560
+ 530,
1561
+ 590
1562
+ ],
1563
+ "color": "#3f789e",
1564
+ "flags": {}
1565
+ },
1566
+ {
1567
+ "id": 35,
1568
+ "title": "Image Size",
1569
+ "bounding": [
1570
+ -200,
1571
+ 920,
1572
+ 530,
1573
+ 250
1574
+ ],
1575
+ "color": "#3f789e",
1576
+ "flags": {}
1577
+ },
1578
+ {
1579
+ "id": 36,
1580
+ "title": "Conditioning",
1581
+ "bounding": [
1582
+ 360,
1583
+ 300,
1584
+ 700,
1585
+ 860
1586
+ ],
1587
+ "color": "#3f789e",
1588
+ "flags": {}
1589
+ },
1590
+ {
1591
+ "id": 37,
1592
+ "title": "Sampling",
1593
+ "bounding": [
1594
+ 1090,
1595
+ 300,
1596
+ 470,
1597
+ 860
1598
+ ],
1599
+ "color": "#3f789e",
1600
+ "flags": {}
1601
+ },
1602
+ {
1603
+ "id": 38,
1604
+ "title": "Prompt Enhancer",
1605
+ "bounding": [
1606
+ -200,
1607
+ -500,
1608
+ 1760,
1609
+ 770
1610
+ ],
1611
+ "color": "#3f789e",
1612
+ "flags": {}
1613
+ }
1614
+ ],
1615
+ "links": [
1616
+ {
1617
+ "id": 647,
1618
+ "origin_id": 453,
1619
+ "origin_slot": 0,
1620
+ "target_id": 452,
1621
+ "target_slot": 0,
1622
+ "type": "CLIP"
1623
+ },
1624
+ {
1625
+ "id": 649,
1626
+ "origin_id": 454,
1627
+ "origin_slot": 0,
1628
+ "target_id": 457,
1629
+ "target_slot": 1,
1630
+ "type": "VAE"
1631
+ },
1632
+ {
1633
+ "id": 650,
1634
+ "origin_id": 457,
1635
+ "origin_slot": 0,
1636
+ "target_id": -20,
1637
+ "target_slot": 0,
1638
+ "type": "IMAGE"
1639
+ },
1640
+ {
1641
+ "id": 651,
1642
+ "origin_id": 458,
1643
+ "origin_slot": 0,
1644
+ "target_id": 457,
1645
+ "target_slot": 0,
1646
+ "type": "LATENT"
1647
+ },
1648
+ {
1649
+ "id": 653,
1650
+ "origin_id": 452,
1651
+ "origin_slot": 0,
1652
+ "target_id": 458,
1653
+ "target_slot": 1,
1654
+ "type": "CONDITIONING"
1655
+ },
1656
+ {
1657
+ "id": 654,
1658
+ "origin_id": 456,
1659
+ "origin_slot": 0,
1660
+ "target_id": 458,
1661
+ "target_slot": 3,
1662
+ "type": "LATENT"
1663
+ },
1664
+ {
1665
+ "id": 655,
1666
+ "origin_id": 452,
1667
+ "origin_slot": 1,
1668
+ "target_id": 458,
1669
+ "target_slot": 2,
1670
+ "type": "CONDITIONING"
1671
+ },
1672
+ {
1673
+ "id": 686,
1674
+ "origin_id": 474,
1675
+ "origin_slot": 0,
1676
+ "target_id": 472,
1677
+ "target_slot": 0,
1678
+ "type": "STRING"
1679
+ },
1680
+ {
1681
+ "id": 687,
1682
+ "origin_id": 472,
1683
+ "origin_slot": 0,
1684
+ "target_id": 452,
1685
+ "target_slot": 3,
1686
+ "type": "STRING"
1687
+ },
1688
+ {
1689
+ "id": 700,
1690
+ "origin_id": 480,
1691
+ "origin_slot": 0,
1692
+ "target_id": 458,
1693
+ "target_slot": 0,
1694
+ "type": "MODEL"
1695
+ },
1696
+ {
1697
+ "id": 712,
1698
+ "origin_id": 471,
1699
+ "origin_slot": 0,
1700
+ "target_id": 474,
1701
+ "target_slot": 1,
1702
+ "type": "STRING"
1703
+ },
1704
+ {
1705
+ "id": 684,
1706
+ "origin_id": -10,
1707
+ "origin_slot": 0,
1708
+ "target_id": 474,
1709
+ "target_slot": 0,
1710
+ "type": "STRING"
1711
+ },
1712
+ {
1713
+ "id": 688,
1714
+ "origin_id": -10,
1715
+ "origin_slot": 1,
1716
+ "target_id": 474,
1717
+ "target_slot": 2,
1718
+ "type": "BOOLEAN"
1719
+ },
1720
+ {
1721
+ "id": 657,
1722
+ "origin_id": -10,
1723
+ "origin_slot": 4,
1724
+ "target_id": 452,
1725
+ "target_slot": 4,
1726
+ "type": "STRING"
1727
+ },
1728
+ {
1729
+ "id": 658,
1730
+ "origin_id": -10,
1731
+ "origin_slot": 5,
1732
+ "target_id": 458,
1733
+ "target_slot": 6,
1734
+ "type": "FLOAT"
1735
+ },
1736
+ {
1737
+ "id": 659,
1738
+ "origin_id": -10,
1739
+ "origin_slot": 6,
1740
+ "target_id": 458,
1741
+ "target_slot": 5,
1742
+ "type": "INT"
1743
+ },
1744
+ {
1745
+ "id": 660,
1746
+ "origin_id": -10,
1747
+ "origin_slot": 7,
1748
+ "target_id": 456,
1749
+ "target_slot": 0,
1750
+ "type": "INT"
1751
+ },
1752
+ {
1753
+ "id": 661,
1754
+ "origin_id": -10,
1755
+ "origin_slot": 8,
1756
+ "target_id": 456,
1757
+ "target_slot": 1,
1758
+ "type": "INT"
1759
+ },
1760
+ {
1761
+ "id": 662,
1762
+ "origin_id": -10,
1763
+ "origin_slot": 9,
1764
+ "target_id": 458,
1765
+ "target_slot": 7,
1766
+ "type": "COMBO"
1767
+ },
1768
+ {
1769
+ "id": 668,
1770
+ "origin_id": -10,
1771
+ "origin_slot": 10,
1772
+ "target_id": 458,
1773
+ "target_slot": 8,
1774
+ "type": "COMBO"
1775
+ },
1776
+ {
1777
+ "id": 667,
1778
+ "origin_id": -10,
1779
+ "origin_slot": 11,
1780
+ "target_id": 458,
1781
+ "target_slot": 4,
1782
+ "type": "INT"
1783
+ },
1784
+ {
1785
+ "id": 663,
1786
+ "origin_id": -10,
1787
+ "origin_slot": 12,
1788
+ "target_id": 451,
1789
+ "target_slot": 0,
1790
+ "type": "COMBO"
1791
+ },
1792
+ {
1793
+ "id": 664,
1794
+ "origin_id": -10,
1795
+ "origin_slot": 13,
1796
+ "target_id": 453,
1797
+ "target_slot": 0,
1798
+ "type": "COMBO"
1799
+ },
1800
+ {
1801
+ "id": 665,
1802
+ "origin_id": -10,
1803
+ "origin_slot": 14,
1804
+ "target_id": 454,
1805
+ "target_slot": 0,
1806
+ "type": "COMBO"
1807
+ },
1808
+ {
1809
+ "id": 696,
1810
+ "origin_id": -10,
1811
+ "origin_slot": 15,
1812
+ "target_id": 473,
1813
+ "target_slot": 0,
1814
+ "type": "COMBO"
1815
+ },
1816
+ {
1817
+ "id": 703,
1818
+ "origin_id": -10,
1819
+ "origin_slot": 16,
1820
+ "target_id": 480,
1821
+ "target_slot": 1,
1822
+ "type": "COMBO"
1823
+ },
1824
+ {
1825
+ "id": 704,
1826
+ "origin_id": -10,
1827
+ "origin_slot": 17,
1828
+ "target_id": 480,
1829
+ "target_slot": 2,
1830
+ "type": "COMBO"
1831
+ },
1832
+ {
1833
+ "id": 681,
1834
+ "origin_id": 473,
1835
+ "origin_slot": 0,
1836
+ "target_id": 471,
1837
+ "target_slot": 0,
1838
+ "type": "CLIP"
1839
+ },
1840
+ {
1841
+ "id": 709,
1842
+ "origin_id": 475,
1843
+ "origin_slot": 0,
1844
+ "target_id": 471,
1845
+ "target_slot": 4,
1846
+ "type": "STRING"
1847
+ },
1848
+ {
1849
+ "id": 711,
1850
+ "origin_id": -10,
1851
+ "origin_slot": 0,
1852
+ "target_id": 471,
1853
+ "target_slot": 5,
1854
+ "type": "STRING"
1855
+ },
1856
+ {
1857
+ "id": 713,
1858
+ "origin_id": -10,
1859
+ "origin_slot": 3,
1860
+ "target_id": 471,
1861
+ "target_slot": 6,
1862
+ "type": "INT"
1863
+ },
1864
+ {
1865
+ "id": 697,
1866
+ "origin_id": -10,
1867
+ "origin_slot": 11,
1868
+ "target_id": 471,
1869
+ "target_slot": 7,
1870
+ "type": "INT"
1871
+ },
1872
+ {
1873
+ "id": 695,
1874
+ "origin_id": -10,
1875
+ "origin_slot": 2,
1876
+ "target_id": 471,
1877
+ "target_slot": 8,
1878
+ "type": "BOOLEAN"
1879
+ },
1880
+ {
1881
+ "id": 714,
1882
+ "origin_id": 451,
1883
+ "origin_slot": 0,
1884
+ "target_id": 484,
1885
+ "target_slot": 0,
1886
+ "type": "MODEL"
1887
+ },
1888
+ {
1889
+ "id": 715,
1890
+ "origin_id": 484,
1891
+ "origin_slot": 0,
1892
+ "target_id": 480,
1893
+ "target_slot": 0,
1894
+ "type": "MODEL"
1895
+ },
1896
+ {
1897
+ "id": 716,
1898
+ "origin_id": -10,
1899
+ "origin_slot": 18,
1900
+ "target_id": 484,
1901
+ "target_slot": 1,
1902
+ "type": "FLOAT"
1903
+ }
1904
+ ],
1905
+ "extra": {}
1906
+ }
1907
+ ]
1908
+ },
1909
+ "config": {},
1910
+ "extra": {
1911
+ "frontendVersion": "1.55.14",
1912
+ "VHS_latentpreview": false,
1913
+ "VHS_latentpreviewrate": 0,
1914
+ "VHS_MetadataImage": true,
1915
+ "VHS_KeepIntermediate": true,
1916
+ "ds": {
1917
+ "scale": 1.1132605491934564,
1918
+ "offset": [
1919
+ -598.3144299546033,
1920
+ -2487.5453156544622
1921
+ ]
1922
+ }
1923
+ },
1924
+ "version": 0.4
1925
+ }
Qwen Image 2.1_Turbo_Model.json ADDED
@@ -0,0 +1,1857 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "id": "a9c2929b-4ef8-46c6-80bb-66bf4e4b4684",
3
+ "revision": 0,
4
+ "last_node_id": 484,
5
+ "last_link_id": 717,
6
+ "nodes": [
7
+ {
8
+ "id": 13,
9
+ "type": "ResolutionSelector",
10
+ "pos": [
11
+ 498.2336311178705,
12
+ 3033.1731123265354
13
+ ],
14
+ "size": [
15
+ 300,
16
+ 190
17
+ ],
18
+ "flags": {},
19
+ "order": 0,
20
+ "mode": 0,
21
+ "showAdvanced": false,
22
+ "inputs": [],
23
+ "outputs": [
24
+ {
25
+ "name": "width",
26
+ "type": "INT",
27
+ "links": [
28
+ 670
29
+ ]
30
+ },
31
+ {
32
+ "name": "height",
33
+ "type": "INT",
34
+ "links": [
35
+ 671
36
+ ]
37
+ }
38
+ ],
39
+ "properties": {
40
+ "Node name for S&R": "ResolutionSelector"
41
+ },
42
+ "widgets_values": [
43
+ "16:9 (Widescreen)",
44
+ 4,
45
+ 8
46
+ ],
47
+ "widgets_values_named": {
48
+ "aspect_ratio": "16:9 (Widescreen)",
49
+ "megapixels": 4,
50
+ "multiple": 8
51
+ }
52
+ },
53
+ {
54
+ "id": 459,
55
+ "type": "c291ceec-b98f-4751-9d0b-7bc288f27b30",
56
+ "pos": [
57
+ 920,
58
+ 2470.8166021060833
59
+ ],
60
+ "size": [
61
+ 450.5116304827966,
62
+ 829.3556577361182
63
+ ],
64
+ "flags": {},
65
+ "order": 3,
66
+ "mode": 0,
67
+ "inputs": [
68
+ {
69
+ "label": "positive_prompt",
70
+ "name": "prompt",
71
+ "type": "STRING",
72
+ "widget": {
73
+ "name": "prompt"
74
+ },
75
+ "link": null
76
+ },
77
+ {
78
+ "label": "refine_prompt",
79
+ "name": "switch",
80
+ "type": "BOOLEAN",
81
+ "widget": {
82
+ "name": "switch"
83
+ },
84
+ "link": null
85
+ },
86
+ {
87
+ "label": "thinking_mode",
88
+ "name": "thinking",
89
+ "shape": 7,
90
+ "type": "BOOLEAN",
91
+ "widget": {
92
+ "name": "thinking"
93
+ },
94
+ "link": null
95
+ },
96
+ {
97
+ "label": "steps",
98
+ "name": "steps",
99
+ "type": "INT",
100
+ "widget": {
101
+ "name": "steps"
102
+ },
103
+ "link": null
104
+ },
105
+ {
106
+ "name": "width",
107
+ "type": "INT",
108
+ "widget": {
109
+ "name": "width"
110
+ },
111
+ "link": 670
112
+ },
113
+ {
114
+ "name": "height",
115
+ "type": "INT",
116
+ "widget": {
117
+ "name": "height"
118
+ },
119
+ "link": 671
120
+ },
121
+ {
122
+ "label": "sampler",
123
+ "name": "scheduler",
124
+ "type": "COMBO",
125
+ "widget": {
126
+ "name": "scheduler"
127
+ },
128
+ "link": null
129
+ },
130
+ {
131
+ "label": "scheduler",
132
+ "name": "scheduler_1",
133
+ "type": "COMBO",
134
+ "widget": {
135
+ "name": "scheduler_1"
136
+ },
137
+ "link": null
138
+ },
139
+ {
140
+ "label": "PE_model",
141
+ "name": "clip_name_1",
142
+ "type": "COMBO",
143
+ "widget": {
144
+ "name": "clip_name_1"
145
+ },
146
+ "link": null
147
+ },
148
+ {
149
+ "label": "cache_device",
150
+ "name": "device",
151
+ "type": "COMBO",
152
+ "widget": {
153
+ "name": "device"
154
+ },
155
+ "link": null
156
+ },
157
+ {
158
+ "label": "dtype",
159
+ "name": "dtype_1",
160
+ "type": "COMBO",
161
+ "widget": {
162
+ "name": "dtype_1"
163
+ },
164
+ "link": null
165
+ },
166
+ {
167
+ "name": "strength_model",
168
+ "type": "FLOAT",
169
+ "link": null
170
+ }
171
+ ],
172
+ "outputs": [
173
+ {
174
+ "name": "IMAGE",
175
+ "type": "IMAGE",
176
+ "links": [
177
+ 672
178
+ ]
179
+ }
180
+ ],
181
+ "properties": {
182
+ "previewExposures": []
183
+ },
184
+ "widgets_values": [
185
+ "A gigantic translucent glass whale floats silently above an empty desert at sunset. Its transparent body refracts the orange sky and reveals delicate internal glass structures resembling the skeleton of a real whale. A lone traveler stands on a sand dune below, looking up at the creature. The whale casts a faint, believable shadow across the dunes. Fine sand textures, realistic optical refraction, atmospheric perspective, cinematic wide-angle photography, surreal but visually coherent.",
186
+ false,
187
+ false,
188
+ 4096,
189
+ "",
190
+ 1,
191
+ 8,
192
+ 1024,
193
+ 1024,
194
+ "euler",
195
+ "simple",
196
+ 447606998181262,
197
+ "qwen_image_2.1_turbo_int8_convrot.safetensors",
198
+ "qwen3vl_8b_int8_convrot.safetensors",
199
+ "qwen_image_2.1_vae_bf16.safetensors",
200
+ "gemma4_12b_int8_convrot.safetensors",
201
+ "auto",
202
+ "default"
203
+ ],
204
+ "widgets_values_named": {
205
+ "prompt": "A gigantic translucent glass whale floats silently above an empty desert at sunset. Its transparent body refracts the orange sky and reveals delicate internal glass structures resembling the skeleton of a real whale. A lone traveler stands on a sand dune below, looking up at the creature. The whale casts a faint, believable shadow across the dunes. Fine sand textures, realistic optical refraction, atmospheric perspective, cinematic wide-angle photography, surreal but visually coherent.",
206
+ "switch": false,
207
+ "thinking": false,
208
+ "max_length": 4096,
209
+ "negative_prompt": "",
210
+ "cfg": 1,
211
+ "steps": 8,
212
+ "width": 1024,
213
+ "height": 1024,
214
+ "scheduler": "euler",
215
+ "scheduler_1": "simple",
216
+ "seed": 447606998181262,
217
+ "unet_name": "qwen_image_2.1_turbo_int8_convrot.safetensors",
218
+ "clip_name": "qwen3vl_8b_int8_convrot.safetensors",
219
+ "vae_name": "qwen_image_2.1_vae_bf16.safetensors",
220
+ "clip_name_1": "gemma4_12b_int8_convrot.safetensors",
221
+ "device": "auto",
222
+ "dtype_1": "default"
223
+ }
224
+ },
225
+ {
226
+ "id": 461,
227
+ "type": "SaveImageAdvanced",
228
+ "pos": [
229
+ 1470.0195800611637,
230
+ 2470.4841633887
231
+ ],
232
+ "size": [
233
+ 850,
234
+ 610
235
+ ],
236
+ "flags": {},
237
+ "order": 4,
238
+ "mode": 0,
239
+ "inputs": [
240
+ {
241
+ "name": "images",
242
+ "type": "IMAGE",
243
+ "link": 672
244
+ }
245
+ ],
246
+ "outputs": [
247
+ {
248
+ "name": "images",
249
+ "type": "IMAGE",
250
+ "links": []
251
+ }
252
+ ],
253
+ "properties": {},
254
+ "widgets_values": [
255
+ "Qwen_image_2.1",
256
+ "png",
257
+ "8-bit",
258
+ "sRGB"
259
+ ],
260
+ "widgets_values_named": {
261
+ "filename_prefix": "Qwen_image_2.1",
262
+ "format": "png",
263
+ "format.bit_depth": "8-bit",
264
+ "format.input_color_space": "sRGB"
265
+ }
266
+ },
267
+ {
268
+ "id": 463,
269
+ "type": "MarkdownNote",
270
+ "pos": [
271
+ -350,
272
+ 2470
273
+ ],
274
+ "size": [
275
+ 420,
276
+ 620
277
+ ],
278
+ "flags": {},
279
+ "order": 1,
280
+ "mode": 0,
281
+ "inputs": [],
282
+ "outputs": [],
283
+ "title": "Note: Model links",
284
+ "properties": {},
285
+ "widgets_values": [
286
+ "Guide: [Subgraph](https://docs.comfy.org/interface/features/subgraph)\n\n## Model Links\n\n- [Hugging Face:Comfy-Org/Qwen-Image-2.1](https://huggingface.co/Comfy-Org/Qwen-Image-2.1)\n- [ModelScope:Comfy-Org/Qwen-Image-2.1](https://modelscope.cn/models/Comfy-Org/Qwen-Image-2.1)\n\n**diffusion_models**\n\n- [qwen_image_2.1_int8_convrot.safetensors](https://huggingface.co/Comfy-Org/Qwen-Image-2.1/resolve/main/diffusion_models/qwen_image_2.1_int8_convrot.safetensors) (6.76 GB)\n\n**text_encoders**\n\n- [qwen3vl_8b_int8_convrot.safetensors](https://huggingface.co/Comfy-Org/Qwen-Image-2.1/resolve/main/text_encoders/qwen3vl_8b_int8_convrot.safetensors) (8.71 GB)\n- [qwen3.5_9b_qwen_image_2.1_pe_t2i.int8_convrot.safetensors](https://huggingface.co/Comfy-Org/Qwen-Image-2.1/resolve/main/text_encoders/qwen3.5_9b_qwen_image_2.1_pe_t2i.int8_convrot.safetensors) (8.82 GB)\n\n**vae**\n\n- [qwen_image_2.1_vae_bf16.safetensors](https://huggingface.co/Comfy-Org/Qwen-Image-2.1/resolve/main/vae/qwen_image_2.1_vae_bf16.safetensors) (644.2 MB)\n\n\n## Model Storage Location\n\n```\n📂 ComfyUI/\n├── 📂 models/\n│ ├── 📂 diffusion_models/\n│ │ └── qwen_image_2.1_int8_convrot.safetensors\n│ ├── 📂 text_encoders/\n│ │ ├── qwen3vl_8b_int8_convrot.safetensors\n│ │ └── qwen3.5_9b_qwen_image_2.1_pe_t2i.int8_convrot.safetensors\n│ └── 📂 vae/\n│ └── qwen_image_2.1_vae_bf16.safetensors\n```\n\n## Report Issue\n\nNote: Please update ComfyUI first ([guide](https://docs.comfy.org/installation/update_comfyui)) and prepare required models. Desktop/Cloud updates follow stable releases, so some nightly-supported models may not be available yet.\n\n- Cannot run / runtime errors: [ComfyUI/issues](https://github.com/comfyanonymous/ComfyUI/issues)\n- UI / frontend issues: [ComfyUI_frontend/issues](https://github.com/Comfy-Org/ComfyUI_frontend/issues)\n- Workflow issues: [workflow_templates/issues](https://github.com/Comfy-Org/workflow_templates/issues)\n"
287
+ ],
288
+ "widgets_values_named": {
289
+ "text": "Guide: [Subgraph](https://docs.comfy.org/interface/features/subgraph)\n\n## Model Links\n\n- [Hugging Face:Comfy-Org/Qwen-Image-2.1](https://huggingface.co/Comfy-Org/Qwen-Image-2.1)\n- [ModelScope:Comfy-Org/Qwen-Image-2.1](https://modelscope.cn/models/Comfy-Org/Qwen-Image-2.1)\n\n**diffusion_models**\n\n- [qwen_image_2.1_int8_convrot.safetensors](https://huggingface.co/Comfy-Org/Qwen-Image-2.1/resolve/main/diffusion_models/qwen_image_2.1_int8_convrot.safetensors) (6.76 GB)\n\n**text_encoders**\n\n- [qwen3vl_8b_int8_convrot.safetensors](https://huggingface.co/Comfy-Org/Qwen-Image-2.1/resolve/main/text_encoders/qwen3vl_8b_int8_convrot.safetensors) (8.71 GB)\n- [qwen3.5_9b_qwen_image_2.1_pe_t2i.int8_convrot.safetensors](https://huggingface.co/Comfy-Org/Qwen-Image-2.1/resolve/main/text_encoders/qwen3.5_9b_qwen_image_2.1_pe_t2i.int8_convrot.safetensors) (8.82 GB)\n\n**vae**\n\n- [qwen_image_2.1_vae_bf16.safetensors](https://huggingface.co/Comfy-Org/Qwen-Image-2.1/resolve/main/vae/qwen_image_2.1_vae_bf16.safetensors) (644.2 MB)\n\n\n## Model Storage Location\n\n```\n📂 ComfyUI/\n├── 📂 models/\n│ ├── 📂 diffusion_models/\n│ │ └── qwen_image_2.1_int8_convrot.safetensors\n│ ├── 📂 text_encoders/\n│ │ ├── qwen3vl_8b_int8_convrot.safetensors\n│ │ └── qwen3.5_9b_qwen_image_2.1_pe_t2i.int8_convrot.safetensors\n│ └── 📂 vae/\n│ └── qwen_image_2.1_vae_bf16.safetensors\n```\n\n## Report Issue\n\nNote: Please update ComfyUI first ([guide](https://docs.comfy.org/installation/update_comfyui)) and prepare required models. Desktop/Cloud updates follow stable releases, so some nightly-supported models may not be available yet.\n\n- Cannot run / runtime errors: [ComfyUI/issues](https://github.com/comfyanonymous/ComfyUI/issues)\n- UI / frontend issues: [ComfyUI_frontend/issues](https://github.com/Comfy-Org/ComfyUI_frontend/issues)\n- Workflow issues: [workflow_templates/issues](https://github.com/Comfy-Org/workflow_templates/issues)\n"
290
+ },
291
+ "color": "#222",
292
+ "bgcolor": "#000"
293
+ },
294
+ {
295
+ "id": 468,
296
+ "type": "MarkdownNote",
297
+ "pos": [
298
+ 100,
299
+ 2470
300
+ ],
301
+ "size": [
302
+ 420,
303
+ 220
304
+ ],
305
+ "flags": {},
306
+ "order": 2,
307
+ "mode": 0,
308
+ "inputs": [],
309
+ "outputs": [],
310
+ "title": "Note: Usage",
311
+ "properties": {},
312
+ "widgets_values": [
313
+ "## Size\nQwen Image 2.1 has native 2K (2048*2048) support for direct output.\n\nOutput size comes from ResolutionSelector (width/height). Default is 1 megapixel (1024*1024). For native 2K, set 1:1 and 4 megapixels (2048*2048). Prefer multiples of 32.\n\n## Transparent Image\n\nTo generate a transparent image, wrap the prompt like this and replace the middle with the subject:\n\n---\nThis is an RGBA format image with transparency. `[your description]`. The image has an alpha channel and a transparent background.\n\n---\nSave as PNG to keep the alpha channel.\n\n## Parameters\n\n- prompt: what to generate. For RGBA, see Note: transparent.\n- negative_prompt: unused while cfg is 1.\n- cfg: keep 1 for the Qwen Image 2.1 official path. Raise it only if you use a negative prompt.\n- steps: Qwen Image 2.1 official pipeline uses about 40-50 with euler. This template starts at 25. More advanced samplers need fewer steps.\n"
314
+ ],
315
+ "widgets_values_named": {
316
+ "text": "## Size\nQwen Image 2.1 has native 2K (2048*2048) support for direct output.\n\nOutput size comes from ResolutionSelector (width/height). Default is 1 megapixel (1024*1024). For native 2K, set 1:1 and 4 megapixels (2048*2048). Prefer multiples of 32.\n\n## Transparent Image\n\nTo generate a transparent image, wrap the prompt like this and replace the middle with the subject:\n\n---\nThis is an RGBA format image with transparency. `[your description]`. The image has an alpha channel and a transparent background.\n\n---\nSave as PNG to keep the alpha channel.\n\n## Parameters\n\n- prompt: what to generate. For RGBA, see Note: transparent.\n- negative_prompt: unused while cfg is 1.\n- cfg: keep 1 for the Qwen Image 2.1 official path. Raise it only if you use a negative prompt.\n- steps: Qwen Image 2.1 official pipeline uses about 40-50 with euler. This template starts at 25. More advanced samplers need fewer steps.\n"
317
+ },
318
+ "color": "#222",
319
+ "bgcolor": "#000"
320
+ }
321
+ ],
322
+ "links": [
323
+ [
324
+ 670,
325
+ 13,
326
+ 0,
327
+ 459,
328
+ 4,
329
+ "INT"
330
+ ],
331
+ [
332
+ 671,
333
+ 13,
334
+ 1,
335
+ 459,
336
+ 5,
337
+ "INT"
338
+ ],
339
+ [
340
+ 672,
341
+ 459,
342
+ 0,
343
+ 461,
344
+ 0,
345
+ "IMAGE"
346
+ ]
347
+ ],
348
+ "groups": [],
349
+ "definitions": {
350
+ "subgraphs": [
351
+ {
352
+ "id": "c291ceec-b98f-4751-9d0b-7bc288f27b30",
353
+ "version": 1,
354
+ "state": {
355
+ "lastGroupId": 38,
356
+ "lastNodeId": 484,
357
+ "lastLinkId": 717,
358
+ "lastRerouteId": 9
359
+ },
360
+ "revision": 0,
361
+ "config": {},
362
+ "name": "Text to Image (Qwen Image 2.1)",
363
+ "inputNode": {
364
+ "id": -10,
365
+ "bounding": [
366
+ -660,
367
+ 610,
368
+ 143.044921875,
369
+ 428
370
+ ]
371
+ },
372
+ "outputNode": {
373
+ "id": -20,
374
+ "bounding": [
375
+ 1960,
376
+ 640,
377
+ 128,
378
+ 68
379
+ ]
380
+ },
381
+ "inputs": [
382
+ {
383
+ "id": "6a73de3b-f4cd-43a4-9076-76648c6902f0",
384
+ "name": "prompt",
385
+ "type": "STRING",
386
+ "linkIds": [
387
+ 684,
388
+ 711
389
+ ],
390
+ "localized_name": "prompt",
391
+ "label": "positive_prompt",
392
+ "pos": [
393
+ -540.955078125,
394
+ 634
395
+ ]
396
+ },
397
+ {
398
+ "id": "140602e4-2e82-49b4-b1d6-afa99d79a475",
399
+ "name": "switch",
400
+ "type": "BOOLEAN",
401
+ "linkIds": [
402
+ 688
403
+ ],
404
+ "label": "refine_prompt",
405
+ "pos": [
406
+ -540.955078125,
407
+ 654
408
+ ]
409
+ },
410
+ {
411
+ "id": "e80f9a8b-0a83-40c8-ac0f-cc0bc633ed26",
412
+ "name": "thinking",
413
+ "type": "BOOLEAN",
414
+ "linkIds": [
415
+ 695
416
+ ],
417
+ "label": "thinking_mode",
418
+ "pos": [
419
+ -540.955078125,
420
+ 674
421
+ ]
422
+ },
423
+ {
424
+ "id": "728d8016-b3b6-4b71-abe0-3fb23e5e96fa",
425
+ "name": "max_length",
426
+ "type": "INT",
427
+ "linkIds": [
428
+ 713
429
+ ],
430
+ "pos": [
431
+ -540.955078125,
432
+ 694
433
+ ]
434
+ },
435
+ {
436
+ "id": "d4c1377f-7fbc-4519-b83c-9a3b9c2de104",
437
+ "name": "negative_prompt",
438
+ "type": "STRING",
439
+ "linkIds": [
440
+ 657
441
+ ],
442
+ "pos": [
443
+ -540.955078125,
444
+ 714
445
+ ]
446
+ },
447
+ {
448
+ "id": "420ee896-17c3-4e07-95fc-0ff309a6b836",
449
+ "name": "cfg",
450
+ "type": "FLOAT",
451
+ "linkIds": [
452
+ 658
453
+ ],
454
+ "pos": [
455
+ -540.955078125,
456
+ 734
457
+ ]
458
+ },
459
+ {
460
+ "id": "349c3f72-ba7a-4277-84ff-8029faa16019",
461
+ "name": "steps",
462
+ "type": "INT",
463
+ "linkIds": [
464
+ 659
465
+ ],
466
+ "label": "steps",
467
+ "pos": [
468
+ -540.955078125,
469
+ 754
470
+ ]
471
+ },
472
+ {
473
+ "id": "91c96cf8-057b-4da2-b71e-305541a3527e",
474
+ "name": "width",
475
+ "type": "INT",
476
+ "linkIds": [
477
+ 660
478
+ ],
479
+ "localized_name": "width",
480
+ "pos": [
481
+ -540.955078125,
482
+ 774
483
+ ]
484
+ },
485
+ {
486
+ "id": "661cc520-6bd0-4925-90ec-cecaa188b57d",
487
+ "name": "height",
488
+ "type": "INT",
489
+ "linkIds": [
490
+ 661
491
+ ],
492
+ "localized_name": "height",
493
+ "pos": [
494
+ -540.955078125,
495
+ 794
496
+ ]
497
+ },
498
+ {
499
+ "id": "9f0e91b8-5a4a-4f5a-a2a4-4ddc180df0fd",
500
+ "name": "scheduler",
501
+ "type": "COMBO",
502
+ "linkIds": [
503
+ 662
504
+ ],
505
+ "label": "sampler",
506
+ "pos": [
507
+ -540.955078125,
508
+ 814
509
+ ]
510
+ },
511
+ {
512
+ "id": "4710583f-3cb0-4091-87ab-dadd8a2e657c",
513
+ "name": "scheduler_1",
514
+ "type": "COMBO",
515
+ "linkIds": [
516
+ 668
517
+ ],
518
+ "label": "scheduler",
519
+ "pos": [
520
+ -540.955078125,
521
+ 834
522
+ ]
523
+ },
524
+ {
525
+ "id": "977ce57d-3764-491c-8d2d-543754cfbaf1",
526
+ "name": "seed",
527
+ "type": "INT",
528
+ "linkIds": [
529
+ 667,
530
+ 697
531
+ ],
532
+ "pos": [
533
+ -540.955078125,
534
+ 854
535
+ ]
536
+ },
537
+ {
538
+ "id": "143494fb-a40e-423f-be3b-ecc808b408b0",
539
+ "name": "unet_name",
540
+ "type": "COMBO",
541
+ "linkIds": [
542
+ 663
543
+ ],
544
+ "pos": [
545
+ -540.955078125,
546
+ 874
547
+ ]
548
+ },
549
+ {
550
+ "id": "d8528289-e121-45ed-9c31-e6370ce4ba5e",
551
+ "name": "clip_name",
552
+ "type": "COMBO",
553
+ "linkIds": [
554
+ 664
555
+ ],
556
+ "pos": [
557
+ -540.955078125,
558
+ 894
559
+ ]
560
+ },
561
+ {
562
+ "id": "f03d1fb0-d592-4997-b55e-e7a2549c36e5",
563
+ "name": "vae_name",
564
+ "type": "COMBO",
565
+ "linkIds": [
566
+ 665
567
+ ],
568
+ "pos": [
569
+ -540.955078125,
570
+ 914
571
+ ]
572
+ },
573
+ {
574
+ "id": "e12b2532-5fcd-4f34-9ddd-71df7e5021c5",
575
+ "name": "clip_name_1",
576
+ "type": "COMBO",
577
+ "linkIds": [
578
+ 696
579
+ ],
580
+ "label": "PE_model",
581
+ "pos": [
582
+ -540.955078125,
583
+ 934
584
+ ]
585
+ },
586
+ {
587
+ "id": "d2597afa-78fa-49f2-96cb-5fda1a3b9eee",
588
+ "name": "device",
589
+ "type": "COMBO",
590
+ "linkIds": [
591
+ 703
592
+ ],
593
+ "label": "cache_device",
594
+ "pos": [
595
+ -540.955078125,
596
+ 954
597
+ ]
598
+ },
599
+ {
600
+ "id": "ef25ddbe-1463-4c53-9065-93aa867e77ab",
601
+ "name": "dtype_1",
602
+ "type": "COMBO",
603
+ "linkIds": [
604
+ 704
605
+ ],
606
+ "label": "dtype",
607
+ "pos": [
608
+ -540.955078125,
609
+ 974
610
+ ]
611
+ },
612
+ {
613
+ "id": "d21f97c8-28fe-49af-9713-c21911b3ace1",
614
+ "name": "strength_model",
615
+ "type": "FLOAT",
616
+ "linkIds": [],
617
+ "pos": [
618
+ -540.955078125,
619
+ 994
620
+ ]
621
+ }
622
+ ],
623
+ "outputs": [
624
+ {
625
+ "id": "f6f3effc-0961-4c17-b52c-a77c16ca6aa4",
626
+ "name": "IMAGE",
627
+ "type": "IMAGE",
628
+ "linkIds": [
629
+ 650
630
+ ],
631
+ "localized_name": "IMAGE",
632
+ "pos": [
633
+ 1984,
634
+ 664
635
+ ]
636
+ }
637
+ ],
638
+ "widgets": [],
639
+ "nodes": [
640
+ {
641
+ "id": 451,
642
+ "type": "UNETLoader",
643
+ "pos": [
644
+ -190,
645
+ 410
646
+ ],
647
+ "size": [
648
+ 510,
649
+ 90
650
+ ],
651
+ "flags": {},
652
+ "order": 1,
653
+ "mode": 0,
654
+ "inputs": [
655
+ {
656
+ "localized_name": "unet_name",
657
+ "name": "unet_name",
658
+ "type": "COMBO",
659
+ "widget": {
660
+ "name": "unet_name"
661
+ },
662
+ "link": 663
663
+ }
664
+ ],
665
+ "outputs": [
666
+ {
667
+ "localized_name": "MODEL",
668
+ "name": "MODEL",
669
+ "type": "MODEL",
670
+ "links": [
671
+ 717
672
+ ]
673
+ }
674
+ ],
675
+ "properties": {
676
+ "Node name for S&R": "UNETLoader",
677
+ "models": [
678
+ {
679
+ "name": "qwen_image_2.1_int8_convrot.safetensors",
680
+ "url": "https://huggingface.co/Comfy-Org/Qwen-Image-2.1/resolve/main/diffusion_models/qwen_image_2.1_int8_convrot.safetensors",
681
+ "directory": "diffusion_models"
682
+ }
683
+ ]
684
+ },
685
+ "widgets_values": [
686
+ "qwen_image_2.1_int8_convrot.safetensors",
687
+ "default"
688
+ ],
689
+ "widgets_values_named": {
690
+ "unet_name": "qwen_image_2.1_int8_convrot.safetensors",
691
+ "weight_dtype": "default"
692
+ }
693
+ },
694
+ {
695
+ "id": 452,
696
+ "type": "TextEncodeQwenImage21",
697
+ "pos": [
698
+ 440,
699
+ 410
700
+ ],
701
+ "size": [
702
+ 530,
703
+ 680
704
+ ],
705
+ "flags": {},
706
+ "order": 2,
707
+ "mode": 0,
708
+ "inputs": [
709
+ {
710
+ "localized_name": "clip",
711
+ "name": "clip",
712
+ "type": "CLIP",
713
+ "link": 647
714
+ },
715
+ {
716
+ "localized_name": "image_1",
717
+ "name": "images.image_1",
718
+ "shape": 7,
719
+ "type": "IMAGE",
720
+ "link": null
721
+ },
722
+ {
723
+ "localized_name": "vae",
724
+ "name": "vae",
725
+ "shape": 7,
726
+ "type": "VAE",
727
+ "link": null
728
+ },
729
+ {
730
+ "localized_name": "prompt",
731
+ "name": "prompt",
732
+ "type": "STRING",
733
+ "widget": {
734
+ "name": "prompt"
735
+ },
736
+ "link": 687
737
+ },
738
+ {
739
+ "localized_name": "negative_prompt",
740
+ "name": "negative_prompt",
741
+ "type": "STRING",
742
+ "widget": {
743
+ "name": "negative_prompt"
744
+ },
745
+ "link": 657
746
+ }
747
+ ],
748
+ "outputs": [
749
+ {
750
+ "localized_name": "positive",
751
+ "name": "positive",
752
+ "type": "CONDITIONING",
753
+ "links": [
754
+ 653
755
+ ]
756
+ },
757
+ {
758
+ "localized_name": "negative",
759
+ "name": "negative",
760
+ "type": "CONDITIONING",
761
+ "links": [
762
+ 655
763
+ ]
764
+ },
765
+ {
766
+ "localized_name": "latent",
767
+ "name": "latent",
768
+ "type": "LATENT",
769
+ "links": null
770
+ }
771
+ ],
772
+ "properties": {
773
+ "Node name for S&R": "TextEncodeQwenImage21"
774
+ },
775
+ "widgets_values": [
776
+ "",
777
+ "",
778
+ 1024
779
+ ],
780
+ "widgets_values_named": {
781
+ "prompt": "",
782
+ "negative_prompt": "",
783
+ "resolution": 1024
784
+ }
785
+ },
786
+ {
787
+ "id": 453,
788
+ "type": "CLIPLoader",
789
+ "pos": [
790
+ -190,
791
+ 570
792
+ ],
793
+ "size": [
794
+ 510,
795
+ 120
796
+ ],
797
+ "flags": {},
798
+ "order": 3,
799
+ "mode": 0,
800
+ "inputs": [
801
+ {
802
+ "localized_name": "clip_name",
803
+ "name": "clip_name",
804
+ "type": "COMBO",
805
+ "widget": {
806
+ "name": "clip_name"
807
+ },
808
+ "link": 664
809
+ }
810
+ ],
811
+ "outputs": [
812
+ {
813
+ "localized_name": "CLIP",
814
+ "name": "CLIP",
815
+ "type": "CLIP",
816
+ "links": [
817
+ 647
818
+ ]
819
+ }
820
+ ],
821
+ "properties": {
822
+ "Node name for S&R": "CLIPLoader",
823
+ "models": [
824
+ {
825
+ "name": "qwen3vl_8b_int8_convrot.safetensors",
826
+ "url": "https://huggingface.co/Comfy-Org/Qwen-Image-2.1/resolve/main/text_encoders/qwen3vl_8b_int8_convrot.safetensors",
827
+ "directory": "text_encoders"
828
+ }
829
+ ]
830
+ },
831
+ "widgets_values": [
832
+ "qwen3vl_8b_int8_convrot.safetensors",
833
+ "qwen_image",
834
+ "default"
835
+ ],
836
+ "widgets_values_named": {
837
+ "clip_name": "qwen3vl_8b_int8_convrot.safetensors",
838
+ "type": "qwen_image",
839
+ "device": "default"
840
+ }
841
+ },
842
+ {
843
+ "id": 454,
844
+ "type": "VAELoader",
845
+ "pos": [
846
+ -190,
847
+ 770
848
+ ],
849
+ "size": [
850
+ 510,
851
+ 70
852
+ ],
853
+ "flags": {},
854
+ "order": 4,
855
+ "mode": 0,
856
+ "inputs": [
857
+ {
858
+ "localized_name": "vae_name",
859
+ "name": "vae_name",
860
+ "type": "COMBO",
861
+ "widget": {
862
+ "name": "vae_name"
863
+ },
864
+ "link": 665
865
+ }
866
+ ],
867
+ "outputs": [
868
+ {
869
+ "localized_name": "VAE",
870
+ "name": "VAE",
871
+ "type": "VAE",
872
+ "links": [
873
+ 649
874
+ ]
875
+ }
876
+ ],
877
+ "properties": {
878
+ "Node name for S&R": "VAELoader",
879
+ "models": [
880
+ {
881
+ "name": "qwen_image_2.1_vae_bf16.safetensors",
882
+ "url": "https://huggingface.co/Comfy-Org/Qwen-Image-2.1/resolve/main/vae/qwen_image_2.1_vae_bf16.safetensors",
883
+ "directory": "vae"
884
+ }
885
+ ]
886
+ },
887
+ "widgets_values": [
888
+ "qwen_image_2.1_vae_bf16.safetensors"
889
+ ],
890
+ "widgets_values_named": {
891
+ "vae_name": "qwen_image_2.1_vae_bf16.safetensors"
892
+ }
893
+ },
894
+ {
895
+ "id": 456,
896
+ "type": "EmptyLatentImage",
897
+ "pos": [
898
+ -70,
899
+ 1010
900
+ ],
901
+ "size": [
902
+ 300,
903
+ 120
904
+ ],
905
+ "flags": {},
906
+ "order": 5,
907
+ "mode": 0,
908
+ "inputs": [
909
+ {
910
+ "localized_name": "width",
911
+ "name": "width",
912
+ "type": "INT",
913
+ "widget": {
914
+ "name": "width"
915
+ },
916
+ "link": 660
917
+ },
918
+ {
919
+ "localized_name": "height",
920
+ "name": "height",
921
+ "type": "INT",
922
+ "widget": {
923
+ "name": "height"
924
+ },
925
+ "link": 661
926
+ }
927
+ ],
928
+ "outputs": [
929
+ {
930
+ "localized_name": "LATENT",
931
+ "name": "LATENT",
932
+ "type": "LATENT",
933
+ "links": [
934
+ 654
935
+ ]
936
+ }
937
+ ],
938
+ "properties": {
939
+ "Node name for S&R": "EmptyLatentImage"
940
+ },
941
+ "widgets_values": [
942
+ 1024,
943
+ 1024,
944
+ 1
945
+ ],
946
+ "widgets_values_named": {
947
+ "width": 1024,
948
+ "height": 1024,
949
+ "batch_size": 1
950
+ }
951
+ },
952
+ {
953
+ "id": 457,
954
+ "type": "VAEDecode",
955
+ "pos": [
956
+ 1620,
957
+ 660
958
+ ],
959
+ "size": [
960
+ 230,
961
+ 60
962
+ ],
963
+ "flags": {},
964
+ "order": 6,
965
+ "mode": 0,
966
+ "inputs": [
967
+ {
968
+ "localized_name": "samples",
969
+ "name": "samples",
970
+ "type": "LATENT",
971
+ "link": 651
972
+ },
973
+ {
974
+ "localized_name": "vae",
975
+ "name": "vae",
976
+ "type": "VAE",
977
+ "link": 649
978
+ }
979
+ ],
980
+ "outputs": [
981
+ {
982
+ "localized_name": "IMAGE",
983
+ "name": "IMAGE",
984
+ "type": "IMAGE",
985
+ "links": [
986
+ 650
987
+ ]
988
+ }
989
+ ],
990
+ "properties": {
991
+ "Node name for S&R": "VAEDecode"
992
+ }
993
+ },
994
+ {
995
+ "id": 458,
996
+ "type": "KSampler",
997
+ "pos": [
998
+ 1180,
999
+ 640
1000
+ ],
1001
+ "size": [
1002
+ 270,
1003
+ 270
1004
+ ],
1005
+ "flags": {},
1006
+ "order": 7,
1007
+ "mode": 0,
1008
+ "inputs": [
1009
+ {
1010
+ "localized_name": "model",
1011
+ "name": "model",
1012
+ "type": "MODEL",
1013
+ "link": 700
1014
+ },
1015
+ {
1016
+ "localized_name": "positive",
1017
+ "name": "positive",
1018
+ "type": "CONDITIONING",
1019
+ "link": 653
1020
+ },
1021
+ {
1022
+ "localized_name": "negative",
1023
+ "name": "negative",
1024
+ "type": "CONDITIONING",
1025
+ "link": 655
1026
+ },
1027
+ {
1028
+ "localized_name": "latent_image",
1029
+ "name": "latent_image",
1030
+ "type": "LATENT",
1031
+ "link": 654
1032
+ },
1033
+ {
1034
+ "localized_name": "seed",
1035
+ "name": "seed",
1036
+ "type": "INT",
1037
+ "widget": {
1038
+ "name": "seed"
1039
+ },
1040
+ "link": 667
1041
+ },
1042
+ {
1043
+ "localized_name": "steps",
1044
+ "name": "steps",
1045
+ "type": "INT",
1046
+ "widget": {
1047
+ "name": "steps"
1048
+ },
1049
+ "link": 659
1050
+ },
1051
+ {
1052
+ "localized_name": "cfg",
1053
+ "name": "cfg",
1054
+ "type": "FLOAT",
1055
+ "widget": {
1056
+ "name": "cfg"
1057
+ },
1058
+ "link": 658
1059
+ },
1060
+ {
1061
+ "localized_name": "sampler_name",
1062
+ "name": "sampler_name",
1063
+ "type": "COMBO",
1064
+ "widget": {
1065
+ "name": "sampler_name"
1066
+ },
1067
+ "link": 662
1068
+ },
1069
+ {
1070
+ "localized_name": "scheduler",
1071
+ "name": "scheduler",
1072
+ "type": "COMBO",
1073
+ "widget": {
1074
+ "name": "scheduler"
1075
+ },
1076
+ "link": 668
1077
+ }
1078
+ ],
1079
+ "outputs": [
1080
+ {
1081
+ "localized_name": "LATENT",
1082
+ "name": "LATENT",
1083
+ "type": "LATENT",
1084
+ "links": [
1085
+ 651
1086
+ ]
1087
+ }
1088
+ ],
1089
+ "properties": {
1090
+ "Node name for S&R": "KSampler"
1091
+ },
1092
+ "widgets_values": [
1093
+ 0,
1094
+ "fixed",
1095
+ 25,
1096
+ 1,
1097
+ "euler",
1098
+ "simple",
1099
+ 1
1100
+ ],
1101
+ "widgets_values_named": {
1102
+ "seed": 0,
1103
+ "control_after_generate": "fixed",
1104
+ "steps": 25,
1105
+ "cfg": 1,
1106
+ "sampler_name": "euler",
1107
+ "scheduler": "simple",
1108
+ "denoise": 1
1109
+ }
1110
+ },
1111
+ {
1112
+ "id": 471,
1113
+ "type": "TextGenerate",
1114
+ "pos": [
1115
+ 470,
1116
+ -420
1117
+ ],
1118
+ "size": [
1119
+ 400,
1120
+ 460
1121
+ ],
1122
+ "flags": {},
1123
+ "order": 8,
1124
+ "mode": 0,
1125
+ "showAdvanced": true,
1126
+ "inputs": [
1127
+ {
1128
+ "localized_name": "clip",
1129
+ "name": "clip",
1130
+ "type": "CLIP",
1131
+ "link": 681
1132
+ },
1133
+ {
1134
+ "localized_name": "image",
1135
+ "name": "image",
1136
+ "shape": 7,
1137
+ "type": "IMAGE",
1138
+ "link": null
1139
+ },
1140
+ {
1141
+ "localized_name": "video",
1142
+ "name": "video",
1143
+ "shape": 7,
1144
+ "type": "IMAGE",
1145
+ "link": null
1146
+ },
1147
+ {
1148
+ "localized_name": "audio",
1149
+ "name": "audio",
1150
+ "shape": 7,
1151
+ "type": "AUDIO",
1152
+ "link": null
1153
+ },
1154
+ {
1155
+ "localized_name": "system_prompt",
1156
+ "name": "system_prompt",
1157
+ "shape": 7,
1158
+ "type": "STRING",
1159
+ "link": 709
1160
+ },
1161
+ {
1162
+ "localized_name": "prompt",
1163
+ "name": "prompt",
1164
+ "type": "STRING",
1165
+ "widget": {
1166
+ "name": "prompt"
1167
+ },
1168
+ "link": 711
1169
+ },
1170
+ {
1171
+ "localized_name": "max_length",
1172
+ "name": "max_length",
1173
+ "type": "INT",
1174
+ "widget": {
1175
+ "name": "max_length"
1176
+ },
1177
+ "link": 713
1178
+ },
1179
+ {
1180
+ "localized_name": "seed",
1181
+ "name": "sampling_mode.seed",
1182
+ "type": "INT",
1183
+ "widget": {
1184
+ "name": "sampling_mode.seed"
1185
+ },
1186
+ "link": 697
1187
+ },
1188
+ {
1189
+ "localized_name": "thinking",
1190
+ "name": "thinking",
1191
+ "shape": 7,
1192
+ "type": "BOOLEAN",
1193
+ "widget": {
1194
+ "name": "thinking"
1195
+ },
1196
+ "link": 695
1197
+ }
1198
+ ],
1199
+ "outputs": [
1200
+ {
1201
+ "localized_name": "generated_text",
1202
+ "name": "generated_text",
1203
+ "type": "STRING",
1204
+ "links": [
1205
+ 712
1206
+ ]
1207
+ },
1208
+ {
1209
+ "localized_name": "thinking",
1210
+ "name": "thinking",
1211
+ "type": "STRING",
1212
+ "links": null
1213
+ }
1214
+ ],
1215
+ "properties": {
1216
+ "Node name for S&R": "TextGenerate"
1217
+ },
1218
+ "widgets_values": [
1219
+ "",
1220
+ 4096,
1221
+ "on",
1222
+ 1,
1223
+ 20,
1224
+ 0.95,
1225
+ 0,
1226
+ 1,
1227
+ 0,
1228
+ 1.5,
1229
+ true,
1230
+ true,
1231
+ "auto"
1232
+ ],
1233
+ "widgets_values_named": {
1234
+ "prompt": "",
1235
+ "max_length": 4096,
1236
+ "sampling_mode": "on",
1237
+ "sampling_mode.temperature": 1,
1238
+ "sampling_mode.top_k": 20,
1239
+ "sampling_mode.top_p": 0.95,
1240
+ "sampling_mode.min_p": 0,
1241
+ "sampling_mode.repetition_penalty": 1,
1242
+ "sampling_mode.seed": 0,
1243
+ "sampling_mode.presence_penalty": 1.5,
1244
+ "thinking": true,
1245
+ "use_default_template": true,
1246
+ "mtp": "auto"
1247
+ }
1248
+ },
1249
+ {
1250
+ "id": 472,
1251
+ "type": "PreviewAny",
1252
+ "pos": [
1253
+ 990,
1254
+ -250
1255
+ ],
1256
+ "size": [
1257
+ 470,
1258
+ 430
1259
+ ],
1260
+ "flags": {},
1261
+ "order": 9,
1262
+ "mode": 0,
1263
+ "inputs": [
1264
+ {
1265
+ "localized_name": "source",
1266
+ "name": "source",
1267
+ "type": "*",
1268
+ "link": 686
1269
+ }
1270
+ ],
1271
+ "outputs": [
1272
+ {
1273
+ "localized_name": "STRING",
1274
+ "name": "STRING",
1275
+ "type": "STRING",
1276
+ "links": [
1277
+ 687
1278
+ ]
1279
+ }
1280
+ ],
1281
+ "properties": {
1282
+ "Node name for S&R": "PreviewAny"
1283
+ },
1284
+ "widgets_values": [],
1285
+ "widgets_values_named": {}
1286
+ },
1287
+ {
1288
+ "id": 473,
1289
+ "type": "CLIPLoader",
1290
+ "pos": [
1291
+ -180,
1292
+ -420
1293
+ ],
1294
+ "size": [
1295
+ 530,
1296
+ 120
1297
+ ],
1298
+ "flags": {},
1299
+ "order": 10,
1300
+ "mode": 0,
1301
+ "inputs": [
1302
+ {
1303
+ "localized_name": "clip_name",
1304
+ "name": "clip_name",
1305
+ "type": "COMBO",
1306
+ "widget": {
1307
+ "name": "clip_name"
1308
+ },
1309
+ "link": 696
1310
+ }
1311
+ ],
1312
+ "outputs": [
1313
+ {
1314
+ "localized_name": "CLIP",
1315
+ "name": "CLIP",
1316
+ "type": "CLIP",
1317
+ "links": [
1318
+ 681
1319
+ ]
1320
+ }
1321
+ ],
1322
+ "properties": {
1323
+ "Node name for S&R": "CLIPLoader",
1324
+ "models": [
1325
+ {
1326
+ "name": "qwen3.5_9b_qwen_image_2.1_pe_t2i.int8_convrot.safetensors",
1327
+ "url": "https://huggingface.co/Comfy-Org/Qwen-Image-2.1/resolve/main/text_encoders/qwen3.5_9b_qwen_image_2.1_pe_t2i.int8_convrot.safetensors",
1328
+ "directory": "text_encoders"
1329
+ }
1330
+ ]
1331
+ },
1332
+ "widgets_values": [
1333
+ "qwen3.5_9b_qwen_image_2.1_pe_t2i.int8_convrot.safetensors",
1334
+ "stable_diffusion",
1335
+ "default"
1336
+ ],
1337
+ "widgets_values_named": {
1338
+ "clip_name": "qwen3.5_9b_qwen_image_2.1_pe_t2i.int8_convrot.safetensors",
1339
+ "type": "stable_diffusion",
1340
+ "device": "default"
1341
+ }
1342
+ },
1343
+ {
1344
+ "id": 474,
1345
+ "type": "ComfySwitchNode",
1346
+ "pos": [
1347
+ 990,
1348
+ -420
1349
+ ],
1350
+ "size": [
1351
+ 270,
1352
+ 80
1353
+ ],
1354
+ "flags": {},
1355
+ "order": 11,
1356
+ "mode": 0,
1357
+ "inputs": [
1358
+ {
1359
+ "localized_name": "on_false",
1360
+ "name": "on_false",
1361
+ "shape": 7,
1362
+ "type": "STRING",
1363
+ "link": 684
1364
+ },
1365
+ {
1366
+ "localized_name": "on_true",
1367
+ "name": "on_true",
1368
+ "shape": 7,
1369
+ "type": "STRING",
1370
+ "link": 712
1371
+ },
1372
+ {
1373
+ "localized_name": "switch",
1374
+ "name": "switch",
1375
+ "type": "BOOLEAN",
1376
+ "widget": {
1377
+ "name": "switch"
1378
+ },
1379
+ "link": 688
1380
+ }
1381
+ ],
1382
+ "outputs": [
1383
+ {
1384
+ "localized_name": "output",
1385
+ "name": "output",
1386
+ "type": "STRING",
1387
+ "links": [
1388
+ 686
1389
+ ]
1390
+ }
1391
+ ],
1392
+ "properties": {
1393
+ "Node name for S&R": "ComfySwitchNode"
1394
+ },
1395
+ "widgets_values": [
1396
+ false
1397
+ ],
1398
+ "widgets_values_named": {
1399
+ "switch": false
1400
+ }
1401
+ },
1402
+ {
1403
+ "id": 475,
1404
+ "type": "PrimitiveStringMultiline",
1405
+ "pos": [
1406
+ -180,
1407
+ -240
1408
+ ],
1409
+ "size": [
1410
+ 530,
1411
+ 270
1412
+ ],
1413
+ "flags": {},
1414
+ "order": 0,
1415
+ "mode": 0,
1416
+ "inputs": [],
1417
+ "outputs": [
1418
+ {
1419
+ "localized_name": "STRING",
1420
+ "name": "STRING",
1421
+ "type": "STRING",
1422
+ "links": [
1423
+ 709
1424
+ ]
1425
+ }
1426
+ ],
1427
+ "title": "Text (System Prompt)",
1428
+ "properties": {
1429
+ "Node name for S&R": "PrimitiveStringMultiline"
1430
+ },
1431
+ "widgets_values": [
1432
+ "# Image Prompt Rewriting Expert\n\nYou turn a user's image request into one long English paragraph that describes the\nfinished image as if you were looking at it, plus the aspect ratio it should be\nrendered at. You are not talking to the user and not talking to a renderer: you are\nan observer reporting what is in the frame.\n\nWork through the eight steps below in order. Each step commits one decision; later\nsteps never revise an earlier one.\n\n## Step 1 — Read the brief and split it in two\n\nList what the user has fixed and what they have left open.\n\nFixed, and it must survive into your description unchanged: every string of text\nthey want shown, every named object, every count, every stated colour, every stated\nposition, and the aspect ratio if they gave one. Copy their text strings character\nfor character, in their own script, including punctuation and spacing.\n\nA third thing they may give you is an instruction about the job rather than about the\npicture — \"use double quotes\", \"no hard-edged blocks\", \"4K, no noise\", \"make sure the\ntext is sharp\". That is not content. Obey it silently where it applies and never echo\nit: the description states what is in the frame, never what must be done.\n\nOpen, and you must decide it: everything they did not mention. A three-word request\nand a three-hundred-word request both become a description of the same size, so a\nshort brief means you are inventing most of the frame, not writing less.\n\n## Step 2 — Fix the frame\n\nDecide the orientation from the subject, then pick the ratio.\n\nIf the user states a ratio, use it. Otherwise: `3:2` for anything horizontal and\n`2:3` for anything vertical — these are the two defaults and cover most images.\nUse `1:1` for a square badge, icon, album cover or single centred emblem, `16:9`\nfor a wide cinematic or presentation frame, `1:2` or `9:16` for a phone screen or a\ntall standing banner. `3:4`, `2:1`, `21:9`, `4:3`, `9:21`, `4:5`, `3:1`, `5:4`,\n`1:3` exist but only when the subject or the user really calls for them.\n\nThe ratio lives only in the `wh_ratio` field. Never write a ratio, a resolution, or\na pixel count into the description itself.\n\n## Step 3 — Write the opening sentence\n\nOne sentence, around twenty words. Name the medium, the style, the subject, and the\nbackground or palette; usually name the orientation too:\n\n`The image is a ⟨vertical / wide / square / tall⟩ ⟨style⟩ ⟨photograph · poster · illustration · scene · portrait · infographic · close-up · graphic · page · card · sheet · logo⟩ of ⟨subject⟩, ⟨the background and its palette⟩.`\n\n`This is a …` or a bare `A vertical realistic photograph of …` work equally well. The\nmedium noun is the one part that is never omitted.\n\nThe style word goes here — realistic, photorealistic, minimalist, flat-vector,\ncinematic, watercolour, isometric, editorial, hand-drawn, 3D-rendered, retro. Name\nit once here; you may echo it in the closing sentence.\n\n## Step 4 — Inventory before you write\n\nBefore any more prose, settle two lists.\n\nEvery element that will appear, each with a place in the frame: upper-left,\nacross the top, on the far right, in the lower-third, in the centre, in front of,\nbehind, tucked into the corner. You will need eight to fourteen such positional\nphrases, about ten typically, and they must reach the corners, the edges and the\ncentre — not cluster in the middle.\n\nEvery piece of text that will be legible in the image, in reading order.\n\n## Step 5 — Walk the frame\n\nNow describe it in order. Which order depends on how the frame is filled.\n\n**If the frame is divided into regions** — a poster, a page, an interface, a layout, a\nwide scene with several things in it — walk the regions:\n\n1. The background and the surface it sits on — this comes immediately after the\n opening sentence, not at the end.\n2. The top band: headline, header bar, sky, ceiling, whatever occupies the top edge.\n3. Down and across the body of the frame: left side, then centre, then right side.\n Give each region one or two sentences.\n4. The bottom band: footer, foreground, ground plane, base row.\n\n**If one subject fills the frame** — a portrait, a close-up, a single object — walk\nthe subject instead: the background and how far it falls off, then the subject's pose\nand where it is placed in the frame, then head and face, then body and each garment or\nsurface, then what is held or touching it, then whatever little is left at the edges.\nKeep using positional phrases inside the subject — in the upper-left of the frame,\nbehind the left shoulder, along the lower edge — so the frame stays locatable.\n\nRoughly a third of your sentences should open on the positional phrase itself —\n\"On the right side of the frame, …\", \"In the upper-left corner, …\", \"Across the\nlower third, …\" — so the reader always knows where they are looking.\n\nKeep it to one paragraph. Break to a new paragraph only when the image is genuinely\nbuilt from stacked regions — panels, cards, sections, slides — and then one\nparagraph per region, each opening on where that region sits.\n\n## Step 6 — Set every piece of text\n\nSkip this step if nothing in the image is meant to be read — a third of images have\nno legible text at all, and inventing signage for them is a mistake.\n\nOtherwise, for each string from your Step 4 list, in reading order, name where it sits,\nwhat it looks like, and what it says: `a bold black headline across the top reads \"…\"`.\n\nPut the string in straight double quotes, in its own script — Chinese, Russian,\nKorean, Japanese and Arabic text stays in Chinese, Russian, Korean, Japanese and\nArabic. Give its weight, colour, case and relative size. Describe a line break as a\nsecond line rather than putting a real newline inside the string. If a mark is not meant\nto be read — distant signage, a label behind glass, dense body copy — call it\nblurred, indistinct, or too small to read rather than inventing letters. If the image contains a chart\nor a table, its axes, tick labels, legend entries, series and cell values are text\ntoo: write them out.\n\n## Step 7 — Give the lighting its own sentence\n\nEvery image has light in it, and the description always accounts for it: the source,\nits direction, its quality, and the shadows and highlights it leaves. Soft diffused\ndaylight from a window on the left, hard overhead studio light, warm low sun, flat\neven ambient light for a diagram.\n\nOnce the contents are placed, give it a sentence of its own — `The lighting is …` —\nor, if the light is what makes a particular surface look the way it does, fold it into\nthat surface's sentence. Either way it is stated explicitly, not left implied.\n\n## Step 8 — Close with the whole frame\n\nEnd on a single sentence that steps back:\n\n`The overall composition ⟨is / uses / feels⟩ …`\n\n`The composition is …`, `The overall design …`, `The overall mood …`, `The overall\npalette …` and `The image has …` are the same move. Cover balance and symmetry, the\npalette, the style, and the mood in that one sentence. Write exactly one such\nsentence — do not follow it with a second summary.\n\n## Throughout\n\n**Size.** The description runs about twenty sentences and four to five hundred words,\nroughly twenty-five words a sentence. That is the same size whether the brief was three\nwords or three hundred: a dense frame with many regions and a lot of text runs longer, a\nsingle quiet subject runs shorter, but a thin brief never buys a thin description.\n\n**Observe, don't instruct.** Present tense, third person, declarative. No \"you\", no\n\"create\", no \"make sure\", no \"the AI should\". No quality boosters — no \"masterpiece\",\n\"8K\", \"highly detailed\", \"award-winning\".\n\n**Hedge what you cannot be certain of.** An observer describing a picture says\n\"appears to be\", \"likely\", \"suggesting\", and offers a pair — \"a notebook\nor a tablet\", \"wood or dark laminate\" — when the thing is genuinely ambiguous. Do\nthis often; it is the natural register here. Be flatly definite only about what the\nuser fixed.\n\n**Name colours with a modifier, almost never bare.** Deep navy, muted olive, pale\ncream, warm terracotta, soft dusty rose, blue-grey, off-white, charcoal, brownish-\ngreen. Hex codes only if the user gave them.\n\n**Give the material, not just the noun.** Brushed metal, matte plastic, glossy\nceramic, coarse linen, weathered wood, frosted glass, grain, scuffs, condensation,\nvisible brush strokes, paper fibre.\n\n**Enumerate; never summarise.** \"Several items\" and \"various decorations\" are not\ndescriptions. Say what each thing is. Write small counts as words — three, five,\ntwelve — and if something is partly hidden, say so and describe the visible part.\n\n**People get their observable surface.** Build, posture, where they are looking,\nexpression, hair, skin tone, and each garment with its colour and material. Age is a\nlife stage or a decade — a child, a teenager, a young adult, middle-aged, elderly,\nin her thirties — never a number of years. If a face is turned away or cropped, say\nthat instead of describing it.\n\n**Objects by class, not by brand.** A silver laptop, a mirrorless camera, a compact\nhatchback — unless the user named the brand. Photographic and design vocabulary is\nwelcome: shallow depth of field, bokeh, backlit, close-up, negative space,\ngrid, drop shadow.\n\n**Everything holds together physically.** Shadows fall away from the light, reflections\nmatch what is in front of the surface, scale is consistent between neighbouring\nobjects, and a surface reacts to what sits on it. If the user asked for something\nimpossible, describe it as the image shows it and let the rest of the scene stay\ncoherent around it.\n\n## Language\n\nThe description is always in English, whatever language the request arrives in. The\nonly exception is text shown inside the image, which stays in its own script.\n\n## Output format\n\n- Return the description and nothing else: one continuous paragraph of English, in a single line\nstarting on the very first character of your reply.\n- No JSON, no braces, no key names, no labels, no headings, no markdown, no code fences, and no quotation marks around the paragraph.\n- No preamble, no acknowledgement, no explanation, no summary, no notes, no closing remarks, no questions.\n- No ratio, no resolution, no pixel count, no timestamps.\n\nYour whole reply is used as the image prompt, so every extra word you add becomes part of the image.\n"
1433
+ ],
1434
+ "widgets_values_named": {
1435
+ "value": "# Image Prompt Rewriting Expert\n\nYou turn a user's image request into one long English paragraph that describes the\nfinished image as if you were looking at it, plus the aspect ratio it should be\nrendered at. You are not talking to the user and not talking to a renderer: you are\nan observer reporting what is in the frame.\n\nWork through the eight steps below in order. Each step commits one decision; later\nsteps never revise an earlier one.\n\n## Step 1 — Read the brief and split it in two\n\nList what the user has fixed and what they have left open.\n\nFixed, and it must survive into your description unchanged: every string of text\nthey want shown, every named object, every count, every stated colour, every stated\nposition, and the aspect ratio if they gave one. Copy their text strings character\nfor character, in their own script, including punctuation and spacing.\n\nA third thing they may give you is an instruction about the job rather than about the\npicture — \"use double quotes\", \"no hard-edged blocks\", \"4K, no noise\", \"make sure the\ntext is sharp\". That is not content. Obey it silently where it applies and never echo\nit: the description states what is in the frame, never what must be done.\n\nOpen, and you must decide it: everything they did not mention. A three-word request\nand a three-hundred-word request both become a description of the same size, so a\nshort brief means you are inventing most of the frame, not writing less.\n\n## Step 2 — Fix the frame\n\nDecide the orientation from the subject, then pick the ratio.\n\nIf the user states a ratio, use it. Otherwise: `3:2` for anything horizontal and\n`2:3` for anything vertical — these are the two defaults and cover most images.\nUse `1:1` for a square badge, icon, album cover or single centred emblem, `16:9`\nfor a wide cinematic or presentation frame, `1:2` or `9:16` for a phone screen or a\ntall standing banner. `3:4`, `2:1`, `21:9`, `4:3`, `9:21`, `4:5`, `3:1`, `5:4`,\n`1:3` exist but only when the subject or the user really calls for them.\n\nThe ratio lives only in the `wh_ratio` field. Never write a ratio, a resolution, or\na pixel count into the description itself.\n\n## Step 3 — Write the opening sentence\n\nOne sentence, around twenty words. Name the medium, the style, the subject, and the\nbackground or palette; usually name the orientation too:\n\n`The image is a ⟨vertical / wide / square / tall⟩ ⟨style⟩ ⟨photograph · poster · illustration · scene · portrait · infographic · close-up · graphic · page · card · sheet · logo⟩ of ⟨subject⟩, ⟨the background and its palette⟩.`\n\n`This is a …` or a bare `A vertical realistic photograph of …` work equally well. The\nmedium noun is the one part that is never omitted.\n\nThe style word goes here — realistic, photorealistic, minimalist, flat-vector,\ncinematic, watercolour, isometric, editorial, hand-drawn, 3D-rendered, retro. Name\nit once here; you may echo it in the closing sentence.\n\n## Step 4 — Inventory before you write\n\nBefore any more prose, settle two lists.\n\nEvery element that will appear, each with a place in the frame: upper-left,\nacross the top, on the far right, in the lower-third, in the centre, in front of,\nbehind, tucked into the corner. You will need eight to fourteen such positional\nphrases, about ten typically, and they must reach the corners, the edges and the\ncentre — not cluster in the middle.\n\nEvery piece of text that will be legible in the image, in reading order.\n\n## Step 5 — Walk the frame\n\nNow describe it in order. Which order depends on how the frame is filled.\n\n**If the frame is divided into regions** — a poster, a page, an interface, a layout, a\nwide scene with several things in it — walk the regions:\n\n1. The background and the surface it sits on — this comes immediately after the\n opening sentence, not at the end.\n2. The top band: headline, header bar, sky, ceiling, whatever occupies the top edge.\n3. Down and across the body of the frame: left side, then centre, then right side.\n Give each region one or two sentences.\n4. The bottom band: footer, foreground, ground plane, base row.\n\n**If one subject fills the frame** — a portrait, a close-up, a single object — walk\nthe subject instead: the background and how far it falls off, then the subject's pose\nand where it is placed in the frame, then head and face, then body and each garment or\nsurface, then what is held or touching it, then whatever little is left at the edges.\nKeep using positional phrases inside the subject — in the upper-left of the frame,\nbehind the left shoulder, along the lower edge — so the frame stays locatable.\n\nRoughly a third of your sentences should open on the positional phrase itself —\n\"On the right side of the frame, …\", \"In the upper-left corner, …\", \"Across the\nlower third, …\" — so the reader always knows where they are looking.\n\nKeep it to one paragraph. Break to a new paragraph only when the image is genuinely\nbuilt from stacked regions — panels, cards, sections, slides — and then one\nparagraph per region, each opening on where that region sits.\n\n## Step 6 — Set every piece of text\n\nSkip this step if nothing in the image is meant to be read — a third of images have\nno legible text at all, and inventing signage for them is a mistake.\n\nOtherwise, for each string from your Step 4 list, in reading order, name where it sits,\nwhat it looks like, and what it says: `a bold black headline across the top reads \"…\"`.\n\nPut the string in straight double quotes, in its own script — Chinese, Russian,\nKorean, Japanese and Arabic text stays in Chinese, Russian, Korean, Japanese and\nArabic. Give its weight, colour, case and relative size. Describe a line break as a\nsecond line rather than putting a real newline inside the string. If a mark is not meant\nto be read — distant signage, a label behind glass, dense body copy — call it\nblurred, indistinct, or too small to read rather than inventing letters. If the image contains a chart\nor a table, its axes, tick labels, legend entries, series and cell values are text\ntoo: write them out.\n\n## Step 7 — Give the lighting its own sentence\n\nEvery image has light in it, and the description always accounts for it: the source,\nits direction, its quality, and the shadows and highlights it leaves. Soft diffused\ndaylight from a window on the left, hard overhead studio light, warm low sun, flat\neven ambient light for a diagram.\n\nOnce the contents are placed, give it a sentence of its own — `The lighting is …` —\nor, if the light is what makes a particular surface look the way it does, fold it into\nthat surface's sentence. Either way it is stated explicitly, not left implied.\n\n## Step 8 — Close with the whole frame\n\nEnd on a single sentence that steps back:\n\n`The overall composition ⟨is / uses / feels⟩ …`\n\n`The composition is …`, `The overall design …`, `The overall mood …`, `The overall\npalette …` and `The image has …` are the same move. Cover balance and symmetry, the\npalette, the style, and the mood in that one sentence. Write exactly one such\nsentence — do not follow it with a second summary.\n\n## Throughout\n\n**Size.** The description runs about twenty sentences and four to five hundred words,\nroughly twenty-five words a sentence. That is the same size whether the brief was three\nwords or three hundred: a dense frame with many regions and a lot of text runs longer, a\nsingle quiet subject runs shorter, but a thin brief never buys a thin description.\n\n**Observe, don't instruct.** Present tense, third person, declarative. No \"you\", no\n\"create\", no \"make sure\", no \"the AI should\". No quality boosters — no \"masterpiece\",\n\"8K\", \"highly detailed\", \"award-winning\".\n\n**Hedge what you cannot be certain of.** An observer describing a picture says\n\"appears to be\", \"likely\", \"suggesting\", and offers a pair — \"a notebook\nor a tablet\", \"wood or dark laminate\" — when the thing is genuinely ambiguous. Do\nthis often; it is the natural register here. Be flatly definite only about what the\nuser fixed.\n\n**Name colours with a modifier, almost never bare.** Deep navy, muted olive, pale\ncream, warm terracotta, soft dusty rose, blue-grey, off-white, charcoal, brownish-\ngreen. Hex codes only if the user gave them.\n\n**Give the material, not just the noun.** Brushed metal, matte plastic, glossy\nceramic, coarse linen, weathered wood, frosted glass, grain, scuffs, condensation,\nvisible brush strokes, paper fibre.\n\n**Enumerate; never summarise.** \"Several items\" and \"various decorations\" are not\ndescriptions. Say what each thing is. Write small counts as words — three, five,\ntwelve — and if something is partly hidden, say so and describe the visible part.\n\n**People get their observable surface.** Build, posture, where they are looking,\nexpression, hair, skin tone, and each garment with its colour and material. Age is a\nlife stage or a decade — a child, a teenager, a young adult, middle-aged, elderly,\nin her thirties — never a number of years. If a face is turned away or cropped, say\nthat instead of describing it.\n\n**Objects by class, not by brand.** A silver laptop, a mirrorless camera, a compact\nhatchback — unless the user named the brand. Photographic and design vocabulary is\nwelcome: shallow depth of field, bokeh, backlit, close-up, negative space,\ngrid, drop shadow.\n\n**Everything holds together physically.** Shadows fall away from the light, reflections\nmatch what is in front of the surface, scale is consistent between neighbouring\nobjects, and a surface reacts to what sits on it. If the user asked for something\nimpossible, describe it as the image shows it and let the rest of the scene stay\ncoherent around it.\n\n## Language\n\nThe description is always in English, whatever language the request arrives in. The\nonly exception is text shown inside the image, which stays in its own script.\n\n## Output format\n\n- Return the description and nothing else: one continuous paragraph of English, in a single line\nstarting on the very first character of your reply.\n- No JSON, no braces, no key names, no labels, no headings, no markdown, no code fences, and no quotation marks around the paragraph.\n- No preamble, no acknowledgement, no explanation, no summary, no notes, no closing remarks, no questions.\n- No ratio, no resolution, no pixel count, no timestamps.\n\nYour whole reply is used as the image prompt, so every extra word you add becomes part of the image.\n"
1436
+ }
1437
+ },
1438
+ {
1439
+ "id": 480,
1440
+ "type": "QwenImage21Cache",
1441
+ "pos": [
1442
+ 1190,
1443
+ 460
1444
+ ],
1445
+ "size": [
1446
+ 270,
1447
+ 90
1448
+ ],
1449
+ "flags": {},
1450
+ "order": 12,
1451
+ "mode": 0,
1452
+ "inputs": [
1453
+ {
1454
+ "localized_name": "model",
1455
+ "name": "model",
1456
+ "type": "MODEL",
1457
+ "link": 717
1458
+ },
1459
+ {
1460
+ "localized_name": "device",
1461
+ "name": "device",
1462
+ "type": "COMBO",
1463
+ "widget": {
1464
+ "name": "device"
1465
+ },
1466
+ "link": 703
1467
+ },
1468
+ {
1469
+ "localized_name": "dtype",
1470
+ "name": "dtype",
1471
+ "type": "COMBO",
1472
+ "widget": {
1473
+ "name": "dtype"
1474
+ },
1475
+ "link": 704
1476
+ }
1477
+ ],
1478
+ "outputs": [
1479
+ {
1480
+ "localized_name": "MODEL",
1481
+ "name": "MODEL",
1482
+ "type": "MODEL",
1483
+ "links": [
1484
+ 700
1485
+ ]
1486
+ }
1487
+ ],
1488
+ "properties": {
1489
+ "Node name for S&R": "QwenImage21Cache"
1490
+ },
1491
+ "widgets_values": [
1492
+ "auto",
1493
+ "default"
1494
+ ],
1495
+ "widgets_values_named": {
1496
+ "device": "auto",
1497
+ "dtype": "default"
1498
+ }
1499
+ }
1500
+ ],
1501
+ "groups": [
1502
+ {
1503
+ "id": 34,
1504
+ "title": "Models",
1505
+ "bounding": [
1506
+ -200,
1507
+ 300,
1508
+ 530,
1509
+ 590
1510
+ ],
1511
+ "color": "#3f789e",
1512
+ "flags": {}
1513
+ },
1514
+ {
1515
+ "id": 35,
1516
+ "title": "Image Size",
1517
+ "bounding": [
1518
+ -200,
1519
+ 920,
1520
+ 530,
1521
+ 250
1522
+ ],
1523
+ "color": "#3f789e",
1524
+ "flags": {}
1525
+ },
1526
+ {
1527
+ "id": 36,
1528
+ "title": "Conditioning",
1529
+ "bounding": [
1530
+ 360,
1531
+ 300,
1532
+ 700,
1533
+ 860
1534
+ ],
1535
+ "color": "#3f789e",
1536
+ "flags": {}
1537
+ },
1538
+ {
1539
+ "id": 37,
1540
+ "title": "Sampling",
1541
+ "bounding": [
1542
+ 1090,
1543
+ 300,
1544
+ 470,
1545
+ 860
1546
+ ],
1547
+ "color": "#3f789e",
1548
+ "flags": {}
1549
+ },
1550
+ {
1551
+ "id": 38,
1552
+ "title": "Prompt Enhancer",
1553
+ "bounding": [
1554
+ -200,
1555
+ -500,
1556
+ 1760,
1557
+ 770
1558
+ ],
1559
+ "color": "#3f789e",
1560
+ "flags": {}
1561
+ }
1562
+ ],
1563
+ "links": [
1564
+ {
1565
+ "id": 647,
1566
+ "origin_id": 453,
1567
+ "origin_slot": 0,
1568
+ "target_id": 452,
1569
+ "target_slot": 0,
1570
+ "type": "CLIP"
1571
+ },
1572
+ {
1573
+ "id": 649,
1574
+ "origin_id": 454,
1575
+ "origin_slot": 0,
1576
+ "target_id": 457,
1577
+ "target_slot": 1,
1578
+ "type": "VAE"
1579
+ },
1580
+ {
1581
+ "id": 650,
1582
+ "origin_id": 457,
1583
+ "origin_slot": 0,
1584
+ "target_id": -20,
1585
+ "target_slot": 0,
1586
+ "type": "IMAGE"
1587
+ },
1588
+ {
1589
+ "id": 651,
1590
+ "origin_id": 458,
1591
+ "origin_slot": 0,
1592
+ "target_id": 457,
1593
+ "target_slot": 0,
1594
+ "type": "LATENT"
1595
+ },
1596
+ {
1597
+ "id": 653,
1598
+ "origin_id": 452,
1599
+ "origin_slot": 0,
1600
+ "target_id": 458,
1601
+ "target_slot": 1,
1602
+ "type": "CONDITIONING"
1603
+ },
1604
+ {
1605
+ "id": 654,
1606
+ "origin_id": 456,
1607
+ "origin_slot": 0,
1608
+ "target_id": 458,
1609
+ "target_slot": 3,
1610
+ "type": "LATENT"
1611
+ },
1612
+ {
1613
+ "id": 655,
1614
+ "origin_id": 452,
1615
+ "origin_slot": 1,
1616
+ "target_id": 458,
1617
+ "target_slot": 2,
1618
+ "type": "CONDITIONING"
1619
+ },
1620
+ {
1621
+ "id": 686,
1622
+ "origin_id": 474,
1623
+ "origin_slot": 0,
1624
+ "target_id": 472,
1625
+ "target_slot": 0,
1626
+ "type": "STRING"
1627
+ },
1628
+ {
1629
+ "id": 687,
1630
+ "origin_id": 472,
1631
+ "origin_slot": 0,
1632
+ "target_id": 452,
1633
+ "target_slot": 3,
1634
+ "type": "STRING"
1635
+ },
1636
+ {
1637
+ "id": 700,
1638
+ "origin_id": 480,
1639
+ "origin_slot": 0,
1640
+ "target_id": 458,
1641
+ "target_slot": 0,
1642
+ "type": "MODEL"
1643
+ },
1644
+ {
1645
+ "id": 712,
1646
+ "origin_id": 471,
1647
+ "origin_slot": 0,
1648
+ "target_id": 474,
1649
+ "target_slot": 1,
1650
+ "type": "STRING"
1651
+ },
1652
+ {
1653
+ "id": 684,
1654
+ "origin_id": -10,
1655
+ "origin_slot": 0,
1656
+ "target_id": 474,
1657
+ "target_slot": 0,
1658
+ "type": "STRING"
1659
+ },
1660
+ {
1661
+ "id": 688,
1662
+ "origin_id": -10,
1663
+ "origin_slot": 1,
1664
+ "target_id": 474,
1665
+ "target_slot": 2,
1666
+ "type": "BOOLEAN"
1667
+ },
1668
+ {
1669
+ "id": 657,
1670
+ "origin_id": -10,
1671
+ "origin_slot": 4,
1672
+ "target_id": 452,
1673
+ "target_slot": 4,
1674
+ "type": "STRING"
1675
+ },
1676
+ {
1677
+ "id": 658,
1678
+ "origin_id": -10,
1679
+ "origin_slot": 5,
1680
+ "target_id": 458,
1681
+ "target_slot": 6,
1682
+ "type": "FLOAT"
1683
+ },
1684
+ {
1685
+ "id": 659,
1686
+ "origin_id": -10,
1687
+ "origin_slot": 6,
1688
+ "target_id": 458,
1689
+ "target_slot": 5,
1690
+ "type": "INT"
1691
+ },
1692
+ {
1693
+ "id": 660,
1694
+ "origin_id": -10,
1695
+ "origin_slot": 7,
1696
+ "target_id": 456,
1697
+ "target_slot": 0,
1698
+ "type": "INT"
1699
+ },
1700
+ {
1701
+ "id": 661,
1702
+ "origin_id": -10,
1703
+ "origin_slot": 8,
1704
+ "target_id": 456,
1705
+ "target_slot": 1,
1706
+ "type": "INT"
1707
+ },
1708
+ {
1709
+ "id": 662,
1710
+ "origin_id": -10,
1711
+ "origin_slot": 9,
1712
+ "target_id": 458,
1713
+ "target_slot": 7,
1714
+ "type": "COMBO"
1715
+ },
1716
+ {
1717
+ "id": 668,
1718
+ "origin_id": -10,
1719
+ "origin_slot": 10,
1720
+ "target_id": 458,
1721
+ "target_slot": 8,
1722
+ "type": "COMBO"
1723
+ },
1724
+ {
1725
+ "id": 667,
1726
+ "origin_id": -10,
1727
+ "origin_slot": 11,
1728
+ "target_id": 458,
1729
+ "target_slot": 4,
1730
+ "type": "INT"
1731
+ },
1732
+ {
1733
+ "id": 663,
1734
+ "origin_id": -10,
1735
+ "origin_slot": 12,
1736
+ "target_id": 451,
1737
+ "target_slot": 0,
1738
+ "type": "COMBO"
1739
+ },
1740
+ {
1741
+ "id": 664,
1742
+ "origin_id": -10,
1743
+ "origin_slot": 13,
1744
+ "target_id": 453,
1745
+ "target_slot": 0,
1746
+ "type": "COMBO"
1747
+ },
1748
+ {
1749
+ "id": 665,
1750
+ "origin_id": -10,
1751
+ "origin_slot": 14,
1752
+ "target_id": 454,
1753
+ "target_slot": 0,
1754
+ "type": "COMBO"
1755
+ },
1756
+ {
1757
+ "id": 696,
1758
+ "origin_id": -10,
1759
+ "origin_slot": 15,
1760
+ "target_id": 473,
1761
+ "target_slot": 0,
1762
+ "type": "COMBO"
1763
+ },
1764
+ {
1765
+ "id": 703,
1766
+ "origin_id": -10,
1767
+ "origin_slot": 16,
1768
+ "target_id": 480,
1769
+ "target_slot": 1,
1770
+ "type": "COMBO"
1771
+ },
1772
+ {
1773
+ "id": 704,
1774
+ "origin_id": -10,
1775
+ "origin_slot": 17,
1776
+ "target_id": 480,
1777
+ "target_slot": 2,
1778
+ "type": "COMBO"
1779
+ },
1780
+ {
1781
+ "id": 681,
1782
+ "origin_id": 473,
1783
+ "origin_slot": 0,
1784
+ "target_id": 471,
1785
+ "target_slot": 0,
1786
+ "type": "CLIP"
1787
+ },
1788
+ {
1789
+ "id": 709,
1790
+ "origin_id": 475,
1791
+ "origin_slot": 0,
1792
+ "target_id": 471,
1793
+ "target_slot": 4,
1794
+ "type": "STRING"
1795
+ },
1796
+ {
1797
+ "id": 711,
1798
+ "origin_id": -10,
1799
+ "origin_slot": 0,
1800
+ "target_id": 471,
1801
+ "target_slot": 5,
1802
+ "type": "STRING"
1803
+ },
1804
+ {
1805
+ "id": 713,
1806
+ "origin_id": -10,
1807
+ "origin_slot": 3,
1808
+ "target_id": 471,
1809
+ "target_slot": 6,
1810
+ "type": "INT"
1811
+ },
1812
+ {
1813
+ "id": 697,
1814
+ "origin_id": -10,
1815
+ "origin_slot": 11,
1816
+ "target_id": 471,
1817
+ "target_slot": 7,
1818
+ "type": "INT"
1819
+ },
1820
+ {
1821
+ "id": 695,
1822
+ "origin_id": -10,
1823
+ "origin_slot": 2,
1824
+ "target_id": 471,
1825
+ "target_slot": 8,
1826
+ "type": "BOOLEAN"
1827
+ },
1828
+ {
1829
+ "id": 717,
1830
+ "origin_id": 451,
1831
+ "origin_slot": 0,
1832
+ "target_id": 480,
1833
+ "target_slot": 0,
1834
+ "type": "MODEL"
1835
+ }
1836
+ ],
1837
+ "extra": {}
1838
+ }
1839
+ ]
1840
+ },
1841
+ "config": {},
1842
+ "extra": {
1843
+ "frontendVersion": "1.55.14",
1844
+ "VHS_latentpreview": false,
1845
+ "VHS_latentpreviewrate": 0,
1846
+ "VHS_MetadataImage": true,
1847
+ "VHS_KeepIntermediate": true,
1848
+ "ds": {
1849
+ "scale": 1.1132605491934564,
1850
+ "offset": [
1851
+ -409.1977972529031,
1852
+ -2438.142780076747
1853
+ ]
1854
+ }
1855
+ },
1856
+ "version": 0.4
1857
+ }