comfyui-workflow-templates 0.1.29__py3-none-any.whl → 0.1.30__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,2296 @@
1
+ {
2
+ "id": "7cbcec68-7fa6-47bb-a38a-da689949a001",
3
+ "revision": 0,
4
+ "last_node_id": 174,
5
+ "last_link_id": 273,
6
+ "nodes": [
7
+ {
8
+ "id": 39,
9
+ "type": "VAELoader",
10
+ "pos": [
11
+ -70,
12
+ 1140
13
+ ],
14
+ "size": [
15
+ 337.76861572265625,
16
+ 58
17
+ ],
18
+ "flags": {},
19
+ "order": 0,
20
+ "mode": 0,
21
+ "inputs": [],
22
+ "outputs": [
23
+ {
24
+ "name": "VAE",
25
+ "type": "VAE",
26
+ "links": [
27
+ 223
28
+ ]
29
+ }
30
+ ],
31
+ "properties": {
32
+ "Node name for S&R": "VAELoader",
33
+ "cnr_id": "comfy-core",
34
+ "ver": "0.3.38",
35
+ "models": [
36
+ {
37
+ "name": "ae.safetensors",
38
+ "url": "https://huggingface.co/Comfy-Org/Lumina_Image_2.0_Repackaged/resolve/main/split_files/vae/ae.safetensors",
39
+ "directory": "vae"
40
+ }
41
+ ]
42
+ },
43
+ "widgets_values": [
44
+ "ae.safetensors"
45
+ ],
46
+ "color": "#322",
47
+ "bgcolor": "#533"
48
+ },
49
+ {
50
+ "id": 42,
51
+ "type": "FluxKontextImageScale",
52
+ "pos": [
53
+ 300,
54
+ 1230
55
+ ],
56
+ "size": [
57
+ 270,
58
+ 30
59
+ ],
60
+ "flags": {
61
+ "collapsed": false
62
+ },
63
+ "order": 10,
64
+ "mode": 0,
65
+ "inputs": [
66
+ {
67
+ "name": "image",
68
+ "type": "IMAGE",
69
+ "link": 257
70
+ }
71
+ ],
72
+ "outputs": [
73
+ {
74
+ "name": "IMAGE",
75
+ "type": "IMAGE",
76
+ "links": [
77
+ 222
78
+ ]
79
+ }
80
+ ],
81
+ "properties": {
82
+ "Node name for S&R": "FluxKontextImageScale",
83
+ "cnr_id": "comfy-core",
84
+ "ver": "0.3.38"
85
+ },
86
+ "widgets_values": []
87
+ },
88
+ {
89
+ "id": 155,
90
+ "type": "MarkdownNote",
91
+ "pos": [
92
+ -70,
93
+ 2100
94
+ ],
95
+ "size": [
96
+ 350,
97
+ 100
98
+ ],
99
+ "flags": {},
100
+ "order": 1,
101
+ "mode": 0,
102
+ "inputs": [],
103
+ "outputs": [],
104
+ "title": "About Flux Kontext Edit",
105
+ "properties": {},
106
+ "widgets_values": [
107
+ "[English] Use Ctrl + B to enable multipule image input.\n\n[中文] 使用 **Ctrl + B** 来启用另一张图片输入"
108
+ ],
109
+ "color": "#432",
110
+ "bgcolor": "#653"
111
+ },
112
+ {
113
+ "id": 144,
114
+ "type": "SaveImage",
115
+ "pos": [
116
+ 590,
117
+ 1820
118
+ ],
119
+ "size": [
120
+ 390,
121
+ 390
122
+ ],
123
+ "flags": {},
124
+ "order": 14,
125
+ "mode": 0,
126
+ "inputs": [
127
+ {
128
+ "name": "images",
129
+ "type": "IMAGE",
130
+ "link": 252
131
+ }
132
+ ],
133
+ "outputs": [],
134
+ "properties": {
135
+ "cnr_id": "comfy-core",
136
+ "ver": "0.3.41"
137
+ },
138
+ "widgets_values": [
139
+ "ComfyUI"
140
+ ]
141
+ },
142
+ {
143
+ "id": 157,
144
+ "type": "SaveImage",
145
+ "pos": [
146
+ 1010,
147
+ 1820
148
+ ],
149
+ "size": [
150
+ 390,
151
+ 380
152
+ ],
153
+ "flags": {},
154
+ "order": 16,
155
+ "mode": 4,
156
+ "inputs": [
157
+ {
158
+ "name": "images",
159
+ "type": "IMAGE",
160
+ "link": 258
161
+ }
162
+ ],
163
+ "outputs": [],
164
+ "properties": {
165
+ "cnr_id": "comfy-core",
166
+ "ver": "0.3.41"
167
+ },
168
+ "widgets_values": [
169
+ "ComfyUI"
170
+ ]
171
+ },
172
+ {
173
+ "id": 150,
174
+ "type": "ImageStitch",
175
+ "pos": [
176
+ 300,
177
+ 1300
178
+ ],
179
+ "size": [
180
+ 270,
181
+ 150
182
+ ],
183
+ "flags": {},
184
+ "order": 9,
185
+ "mode": 0,
186
+ "inputs": [
187
+ {
188
+ "name": "image1",
189
+ "type": "IMAGE",
190
+ "link": 255
191
+ },
192
+ {
193
+ "name": "image2",
194
+ "shape": 7,
195
+ "type": "IMAGE",
196
+ "link": 256
197
+ }
198
+ ],
199
+ "outputs": [
200
+ {
201
+ "name": "IMAGE",
202
+ "type": "IMAGE",
203
+ "links": [
204
+ 257,
205
+ 273
206
+ ]
207
+ }
208
+ ],
209
+ "properties": {
210
+ "Node name for S&R": "ImageStitch",
211
+ "cnr_id": "comfy-core",
212
+ "ver": "0.3.41"
213
+ },
214
+ "widgets_values": [
215
+ "right",
216
+ true,
217
+ 0,
218
+ "white"
219
+ ]
220
+ },
221
+ {
222
+ "id": 124,
223
+ "type": "VAEEncode",
224
+ "pos": [
225
+ 300,
226
+ 1140
227
+ ],
228
+ "size": [
229
+ 270,
230
+ 50
231
+ ],
232
+ "flags": {
233
+ "collapsed": false
234
+ },
235
+ "order": 12,
236
+ "mode": 0,
237
+ "inputs": [
238
+ {
239
+ "name": "pixels",
240
+ "type": "IMAGE",
241
+ "link": 222
242
+ },
243
+ {
244
+ "name": "vae",
245
+ "type": "VAE",
246
+ "link": 223
247
+ }
248
+ ],
249
+ "outputs": [
250
+ {
251
+ "name": "LATENT",
252
+ "type": "LATENT",
253
+ "links": [
254
+ 248
255
+ ]
256
+ }
257
+ ],
258
+ "properties": {
259
+ "Node name for S&R": "VAEEncode",
260
+ "cnr_id": "comfy-core",
261
+ "ver": "0.3.39"
262
+ },
263
+ "widgets_values": []
264
+ },
265
+ {
266
+ "id": 133,
267
+ "type": "LoadImage",
268
+ "pos": [
269
+ -70,
270
+ 1250
271
+ ],
272
+ "size": [
273
+ 340,
274
+ 350
275
+ ],
276
+ "flags": {},
277
+ "order": 2,
278
+ "mode": 0,
279
+ "inputs": [],
280
+ "outputs": [
281
+ {
282
+ "name": "IMAGE",
283
+ "type": "IMAGE",
284
+ "links": [
285
+ 255
286
+ ]
287
+ },
288
+ {
289
+ "name": "MASK",
290
+ "type": "MASK",
291
+ "links": null
292
+ }
293
+ ],
294
+ "properties": {
295
+ "Node name for S&R": "LoadImage",
296
+ "cnr_id": "comfy-core",
297
+ "ver": "0.3.39"
298
+ },
299
+ "widgets_values": [
300
+ "example.png",
301
+ "image"
302
+ ],
303
+ "color": "#322",
304
+ "bgcolor": "#533"
305
+ },
306
+ {
307
+ "id": 149,
308
+ "type": "MarkdownNote",
309
+ "pos": [
310
+ -610,
311
+ 1130
312
+ ],
313
+ "size": [
314
+ 510,
315
+ 400
316
+ ],
317
+ "flags": {},
318
+ "order": 3,
319
+ "mode": 0,
320
+ "inputs": [],
321
+ "outputs": [],
322
+ "title": "Model links",
323
+ "properties": {},
324
+ "widgets_values": [
325
+ "[tutorial](http://docs.comfy.org/tutorials/flux/flux-1-kontext-dev) | [教程](http://docs.comfy.org/zh-CN/tutorials/flux/flux-1-kontext-dev)\n\n**diffusion model**\n\n- [flux1-dev-kontext_fp8_scaled.safetensors](https://huggingface.co/Comfy-Org/flux1-kontext-dev_ComfyUI/resolve/main/split_files/diffusion_models/flux1-dev-kontext_fp8_scaled.safetensors)\n\n**vae**\n\n- [ae.safetensors](https://huggingface.co/Comfy-Org/Lumina_Image_2.0_Repackaged/blob/main/split_files/vae/ae.safetensors)\n\n**text encoder**\n\n- [clip_l.safetensors](https://huggingface.co/comfyanonymous/flux_text_encoders/blob/main/clip_l.safetensors)\n- [t5xxl_fp16.safetensors](https://huggingface.co/comfyanonymous/flux_text_encoders/resolve/main/t5xxl_fp16.safetensors) or [t5xxl_fp8_e4m3fn_scaled.safetensors](https://huggingface.co/comfyanonymous/flux_text_encoders/resolve/main/t5xxl_fp8_e4m3fn_scaled.safetensors)\n\nModel Storage Location\n\n```\n📂 ComfyUI/\n├── 📂 models/\n│ ├── 📂 diffusion_models/\n│ │ └── flux1-dev-kontext_fp8_scaled.safetensors\n│ ├── 📂 vae/\n│ │ └── ae.safetensor\n│ └── 📂 text_encoders/\n│ ├── clip_l.safetensors\n│ └── t5xxl_fp16.safetensors 或者 t5xxl_fp8_e4m3fn_scaled.safetensors\n```\n"
326
+ ],
327
+ "color": "#432",
328
+ "bgcolor": "#653"
329
+ },
330
+ {
331
+ "id": 170,
332
+ "type": "MarkdownNote",
333
+ "pos": [
334
+ -610,
335
+ 1580
336
+ ],
337
+ "size": [
338
+ 510,
339
+ 170
340
+ ],
341
+ "flags": {},
342
+ "order": 4,
343
+ "mode": 0,
344
+ "inputs": [],
345
+ "outputs": [],
346
+ "title": "About VRAM",
347
+ "properties": {},
348
+ "widgets_values": [
349
+ "For reference:\n- **fp8_scaled**: Requires about 20GB of VRAM.\n- **Original**: Requires about 32GB of VRAM.\n\n---\n\n供参考:\n- **fp8_scaled** : 大概需要 20GB 左右 VRAM \n- **原始权重**: 原始权重,大概需要 32GB 左右 VRAM \n"
350
+ ],
351
+ "color": "#432",
352
+ "bgcolor": "#653"
353
+ },
354
+ {
355
+ "id": 148,
356
+ "type": "MarkdownNote",
357
+ "pos": [
358
+ -610,
359
+ 1800
360
+ ],
361
+ "size": [
362
+ 510,
363
+ 170
364
+ ],
365
+ "flags": {},
366
+ "order": 5,
367
+ "mode": 0,
368
+ "inputs": [],
369
+ "outputs": [],
370
+ "title": "Flux Kontext Prompt Techniques",
371
+ "properties": {},
372
+ "widgets_values": [
373
+ "\n## Flux Kontext Prompt Techniques\n\n### 1. Basic Modifications\n- Simple and direct: `\"Change the car color to red\"`\n- Maintain style: `\"Change to daytime while maintaining the same style of the painting\"`\n\n### 2. Style Transfer\n**Principles:**\n- Clearly name style: `\"Transform to Bauhaus art style\"`\n- Describe characteristics: `\"Transform to oil painting with visible brushstrokes, thick paint texture\"`\n- Preserve composition: `\"Change to Bauhaus style while maintaining the original composition\"`\n\n### 3. Character Consistency\n**Framework:**\n- Specific description: `\"The woman with short black hair\"` instead of \"she\"\n- Preserve features: `\"while maintaining the same facial features, hairstyle, and expression\"`\n- Step-by-step modifications: Change background first, then actions\n\n### 4. Text Editing\n- Use quotes: `\"Replace 'joy' with 'BFL'\"`\n- Maintain format: `\"Replace text while maintaining the same font style\"`\n\n## Common Problem Solutions\n\n### Character Changes Too Much\n❌ Wrong: `\"Transform the person into a Viking\"`\n✅ Correct: `\"Change the clothes to be a viking warrior while preserving facial features\"`\n\n### Composition Position Changes\n❌ Wrong: `\"Put him on a beach\"`\n✅ Correct: `\"Change the background to a beach while keeping the person in the exact same position, scale, and pose\"`\n\n### Style Application Inaccuracy\n❌ Wrong: `\"Make it a sketch\"`\n✅ Correct: `\"Convert to pencil sketch with natural graphite lines, cross-hatching, and visible paper texture\"`\n\n## Core Principles\n\n1. **Be Specific and Clear** - Use precise descriptions, avoid vague terms\n2. **Step-by-step Editing** - Break complex modifications into multiple simple steps\n3. **Explicit Preservation** - State what should remain unchanged\n4. **Verb Selection** - Use \"change\", \"replace\" rather than \"transform\"\n\n## Best Practice Templates\n\n**Object Modification:**\n`\"Change [object] to [new state], keep [content to preserve] unchanged\"`\n\n**Style Transfer:**\n`\"Transform to [specific style], while maintaining [composition/character/other] unchanged\"`\n\n**Background Replacement:**\n`\"Change the background to [new background], keep the subject in the exact same position and pose\"`\n\n**Text Editing:**\n`\"Replace '[original text]' with '[new text]', maintain the same font style\"`\n\n> **Remember:** The more specific, the better. Kontext excels at understanding detailed instructions and maintaining consistency. "
374
+ ],
375
+ "color": "#432",
376
+ "bgcolor": "#653"
377
+ },
378
+ {
379
+ "id": 147,
380
+ "type": "MarkdownNote",
381
+ "pos": [
382
+ -610,
383
+ 2020
384
+ ],
385
+ "size": [
386
+ 510,
387
+ 180
388
+ ],
389
+ "flags": {},
390
+ "order": 6,
391
+ "mode": 0,
392
+ "inputs": [],
393
+ "outputs": [],
394
+ "title": "Flux Kontext 提示词技巧",
395
+ "properties": {},
396
+ "widgets_values": [
397
+ "\n## Flux Kontext 提示词技巧\n\n使用英文\n\n### 1. 基础修改\n- 简单直接:`\"Change the car color to red\"`\n- 保持风格:`\"Change to daytime while maintaining the same style of the painting\"`\n\n### 2. 风格转换\n**原则:**\n- 明确命名风格:`\"Transform to Bauhaus art style\"`\n- 描述特征:`\"Transform to oil painting with visible brushstrokes, thick paint texture\"`\n- 保留构图:`\"Change to Bauhaus style while maintaining the original composition\"`\n\n### 3. 角色一致性\n**框架:**\n- 具体描述:`\"The woman with short black hair\"`而非`\"她\"`\n- 保留特征:`\"while maintaining the same facial features, hairstyle, and expression\"`\n- 分步修改:先改背景,再改动作\n\n### 4. 文本编辑\n- 使用引号:`\"Replace 'joy' with 'BFL'\"`\n- 保持格式:`\"Replace text while maintaining the same font style\"`\n\n## 常见问题解决\n\n### 角色变化过大\n❌ 错误:`\"Transform the person into a Viking\"`\n✅ 正确:`\"Change the clothes to be a viking warrior while preserving facial features\"`\n\n### 构图位置改变\n❌ 错误:`\"Put him on a beach\"`\n✅ 正确:`\"Change the background to a beach while keeping the person in the exact same position, scale, and pose\"`\n\n### 风格应用不准确\n❌ 错误:`\"Make it a sketch\"`\n✅ 正确:`\"Convert to pencil sketch with natural graphite lines, cross-hatching, and visible paper texture\"`\n\n## 核心原则\n\n1. **具体明确** - 使用精确描述,避免模糊词汇\n2. **分步编辑** - 复杂修改分为多个简单步骤\n3. **明确保留** - 说明哪些要保持不变\n4. **动词选择** - 用\"更改\"、\"替换\"而非\"转换\"\n\n## 最佳实践模板\n\n**对象修改:**\n`\"Change [object] to [new state], keep [content to preserve] unchanged\"`\n\n**风格转换:**\n`\"Transform to [specific style], while maintaining [composition/character/other] unchanged\"`\n\n**背景替换:**\n`\"Change the background to [new background], keep the subject in the exact same position and pose\"`\n\n**文本编辑:**\n`\"Replace '[original text]' with '[new text]', maintain the same font style\"`\n\n> **记住:** 越具体越好,Kontext 擅长理解详细指令并保持一致性。"
398
+ ],
399
+ "color": "#432",
400
+ "bgcolor": "#653"
401
+ },
402
+ {
403
+ "id": 156,
404
+ "type": "workflow>Edit",
405
+ "pos": [
406
+ 1010,
407
+ 1140
408
+ ],
409
+ "size": [
410
+ 400,
411
+ 628
412
+ ],
413
+ "flags": {},
414
+ "order": 15,
415
+ "mode": 4,
416
+ "inputs": [
417
+ {
418
+ "name": "LATENT",
419
+ "type": "LATENT",
420
+ "link": 259
421
+ }
422
+ ],
423
+ "outputs": [
424
+ {
425
+ "name": "IMAGE",
426
+ "type": "IMAGE",
427
+ "links": [
428
+ 258
429
+ ]
430
+ },
431
+ {
432
+ "name": "LATENT",
433
+ "type": "LATENT",
434
+ "links": []
435
+ }
436
+ ],
437
+ "title": "FLUX.1 Kontext Image Edit",
438
+ "properties": {
439
+ "Node name for S&R": "workflow>Edit",
440
+ "models": [
441
+ {
442
+ "name": "clip_l.safetensors",
443
+ "url": "https://huggingface.co/comfyanonymous/flux_text_encoders/resolve/main/clip_l.safetensors",
444
+ "directory": "text_encoders"
445
+ },
446
+ {
447
+ "name": "t5xxl_fp16.safetensors",
448
+ "url": "https://huggingface.co/comfyanonymous/flux_text_encoders/resolve/main/t5xxl_fp16.safetensors",
449
+ "directory": "text_encoders"
450
+ },
451
+ {
452
+ "name": "ae.safetensors",
453
+ "url": "https://huggingface.co/Comfy-Org/Lumina_Image_2.0_Repackaged/resolve/main/split_files/vae/ae.safetensors",
454
+ "directory": "vae"
455
+ },
456
+ {
457
+ "name": "flux1-dev-kontext_fp8_scaled.safetensors",
458
+ "url": "https://huggingface.co/Comfy-Org/flux1-kontext-dev_ComfyUI/resolve/main/split_files/diffusion_models/flux1-dev-kontext_fp8_scaled.safetensors",
459
+ "directory": "diffusion_models"
460
+ }
461
+ ]
462
+ },
463
+ "widgets_values": [
464
+ 253946314432461,
465
+ "randomize",
466
+ 20,
467
+ 1,
468
+ "euler",
469
+ "simple",
470
+ 1,
471
+ 2.5,
472
+ "ComfyUI",
473
+ "Add a big white 3D style \"ComfyUI\" text in the center of the image",
474
+ "",
475
+ "flux1-dev-kontext_fp8_scaled.safetensors",
476
+ "default",
477
+ "clip_l.safetensors",
478
+ "t5xxl_fp16.safetensors",
479
+ "flux",
480
+ "default",
481
+ "ae.safetensors"
482
+ ]
483
+ },
484
+ {
485
+ "id": 152,
486
+ "type": "LoadImage",
487
+ "pos": [
488
+ -70,
489
+ 1650
490
+ ],
491
+ "size": [
492
+ 350,
493
+ 400
494
+ ],
495
+ "flags": {},
496
+ "order": 7,
497
+ "mode": 0,
498
+ "inputs": [],
499
+ "outputs": [
500
+ {
501
+ "name": "IMAGE",
502
+ "type": "IMAGE",
503
+ "links": [
504
+ 256
505
+ ]
506
+ },
507
+ {
508
+ "name": "MASK",
509
+ "type": "MASK",
510
+ "links": null
511
+ }
512
+ ],
513
+ "properties": {
514
+ "Node name for S&R": "LoadImage",
515
+ "cnr_id": "comfy-core",
516
+ "ver": "0.3.39"
517
+ },
518
+ "widgets_values": [
519
+ "ComfyUI_00240_.png",
520
+ "image"
521
+ ],
522
+ "color": "#322",
523
+ "bgcolor": "#533"
524
+ },
525
+ {
526
+ "id": 172,
527
+ "type": "PreviewImage",
528
+ "pos": [
529
+ 300,
530
+ 1500
531
+ ],
532
+ "size": [
533
+ 270,
534
+ 300
535
+ ],
536
+ "flags": {},
537
+ "order": 11,
538
+ "mode": 0,
539
+ "inputs": [
540
+ {
541
+ "name": "images",
542
+ "type": "IMAGE",
543
+ "link": 273
544
+ }
545
+ ],
546
+ "outputs": [],
547
+ "properties": {
548
+ "Node name for S&R": "PreviewImage",
549
+ "cnr_id": "comfy-core",
550
+ "ver": "0.3.40"
551
+ },
552
+ "widgets_values": []
553
+ },
554
+ {
555
+ "id": 142,
556
+ "type": "workflow>Edit",
557
+ "pos": [
558
+ 590,
559
+ 1140
560
+ ],
561
+ "size": [
562
+ 400,
563
+ 628
564
+ ],
565
+ "flags": {},
566
+ "order": 13,
567
+ "mode": 0,
568
+ "inputs": [
569
+ {
570
+ "name": "LATENT",
571
+ "type": "LATENT",
572
+ "link": 248
573
+ }
574
+ ],
575
+ "outputs": [
576
+ {
577
+ "name": "IMAGE",
578
+ "type": "IMAGE",
579
+ "links": [
580
+ 252
581
+ ]
582
+ },
583
+ {
584
+ "name": "LATENT",
585
+ "type": "LATENT",
586
+ "links": [
587
+ 259
588
+ ]
589
+ }
590
+ ],
591
+ "title": "FLUX.1 Kontext Image Edit",
592
+ "properties": {
593
+ "Node name for S&R": "workflow>Edit",
594
+ "models": [
595
+ {
596
+ "name": "clip_l.safetensors",
597
+ "url": "https://huggingface.co/comfyanonymous/flux_text_encoders/resolve/main/clip_l.safetensors",
598
+ "directory": "text_encoders"
599
+ },
600
+ {
601
+ "name": "t5xxl_fp16.safetensors",
602
+ "url": "https://huggingface.co/comfyanonymous/flux_text_encoders/resolve/main/t5xxl_fp16.safetensors",
603
+ "directory": "text_encoders"
604
+ },
605
+ {
606
+ "name": "ae.safetensors",
607
+ "url": "https://huggingface.co/Comfy-Org/Lumina_Image_2.0_Repackaged/resolve/main/split_files/vae/ae.safetensors",
608
+ "directory": "vae"
609
+ },
610
+ {
611
+ "name": "flux1-dev-kontext_fp8_scaled.safetensors",
612
+ "url": "https://huggingface.co/Comfy-Org/flux1-kontext-dev_ComfyUI/resolve/main/split_files/diffusion_models/flux1-dev-kontext_fp8_scaled.safetensors",
613
+ "directory": "diffusion_models"
614
+ }
615
+ ]
616
+ },
617
+ "widgets_values": [
618
+ 56864253470466,
619
+ "randomize",
620
+ 20,
621
+ 1,
622
+ "euler",
623
+ "simple",
624
+ 1,
625
+ 2.5,
626
+ "ComfyUI",
627
+ "Place both cute 3D characters together in one scene where they are hugging",
628
+ "",
629
+ "flux1-dev-kontext_fp8_scaled.safetensors",
630
+ "default",
631
+ "clip_l.safetensors",
632
+ "t5xxl_fp16.safetensors",
633
+ "flux",
634
+ "default",
635
+ "ae.safetensors"
636
+ ]
637
+ },
638
+ {
639
+ "id": 174,
640
+ "type": "MarkdownNote",
641
+ "pos": [
642
+ 590,
643
+ 740
644
+ ],
645
+ "size": [
646
+ 810,
647
+ 340
648
+ ],
649
+ "flags": {},
650
+ "order": 8,
651
+ "mode": 0,
652
+ "inputs": [],
653
+ "outputs": [],
654
+ "title": "✨ New ComfyUI feature for Flux.1 Kontext Dev",
655
+ "properties": {},
656
+ "widgets_values": [
657
+ "[English]\nWe have added an **Edit** button to the **Selection Toolbox** of the node for **FLUX.1 Kontext Image Edit** support. When clicked, it quickly adds a **FLUX.1 Kontext Image Edit** group node to the Latent output of your current workflow. This enables an interactive editing experience where you can:\n\n- Create multiple editing iterations, each preserved as a separate node\n- Easily branch off from any previous edit point to explore different creative directions\n- Return to any earlier version and start a new editing branch\n- Modify parameters in earlier nodes and automatically update all downstream edits\n- Execute or re-execute any branch of edits at any time\n- When you want to maintain the effect of the corresponding branch, please set the seed of the corresponding group node to fixed.\n\n\nThis workflow mirrors the iterative nature of LLM conversations, but with the added advantage of visual editing and the ability to maintain multiple parallel editing paths.\n\n---\n\n[中文]\n我们为 **FLUX.1 Kontext Image Edit** 的相关支持在节点的**选择工具箱**上新增了一个**编辑**按钮。点击后,系统会在当前工作流的 Latent 输出上快速添加一个 **FLUX.1 Kontext Image Edit** 的组节点。这种设计带来了灵活的交互式编辑体验:\n\n- 创建多个编辑迭代,每次编辑都会保存为独立节点\n- 可以从任何之前的编辑点分支出新的创作方向\n- 随时返回到早期版本并开始新的编辑分支\n- 修改早期节点的参数,自动更新所有下游编辑\n- 可以随时执行或重新执行任何编辑分支\n- 想要固定对应分支效果时,请将对应的 seed 设置为 fixed\n\n这种工作流程类似于 LLM 对话的迭代特性,但增加了视觉编辑的优势,并能够维护多个并行的编辑路径。"
658
+ ],
659
+ "color": "#322",
660
+ "bgcolor": "#533"
661
+ }
662
+ ],
663
+ "links": [
664
+ [
665
+ 222,
666
+ 42,
667
+ 0,
668
+ 124,
669
+ 0,
670
+ "IMAGE"
671
+ ],
672
+ [
673
+ 223,
674
+ 39,
675
+ 0,
676
+ 124,
677
+ 1,
678
+ "VAE"
679
+ ],
680
+ [
681
+ 248,
682
+ 124,
683
+ 0,
684
+ 142,
685
+ 0,
686
+ "LATENT"
687
+ ],
688
+ [
689
+ 252,
690
+ 142,
691
+ 0,
692
+ 144,
693
+ 0,
694
+ "IMAGE"
695
+ ],
696
+ [
697
+ 255,
698
+ 133,
699
+ 0,
700
+ 150,
701
+ 0,
702
+ "IMAGE"
703
+ ],
704
+ [
705
+ 256,
706
+ 152,
707
+ 0,
708
+ 150,
709
+ 1,
710
+ "IMAGE"
711
+ ],
712
+ [
713
+ 257,
714
+ 150,
715
+ 0,
716
+ 42,
717
+ 0,
718
+ "IMAGE"
719
+ ],
720
+ [
721
+ 258,
722
+ 156,
723
+ 0,
724
+ 157,
725
+ 0,
726
+ "IMAGE"
727
+ ],
728
+ [
729
+ 259,
730
+ 142,
731
+ 1,
732
+ 156,
733
+ 0,
734
+ "LATENT"
735
+ ],
736
+ [
737
+ 273,
738
+ 150,
739
+ 0,
740
+ 172,
741
+ 0,
742
+ "IMAGE"
743
+ ]
744
+ ],
745
+ "groups": [],
746
+ "config": {},
747
+ "extra": {
748
+ "ds": {
749
+ "scale": 0.4177248169415879,
750
+ "offset": [
751
+ 1396.1398954323997,
752
+ 216.1034794343129
753
+ ]
754
+ },
755
+ "frontendVersion": "1.23.2",
756
+ "groupNodes": {
757
+ "Edit": {
758
+ "nodes": [
759
+ {
760
+ "id": -1,
761
+ "type": "Reroute",
762
+ "pos": [
763
+ 2354.87890625,
764
+ -127.23468780517578
765
+ ],
766
+ "size": [
767
+ 75,
768
+ 26
769
+ ],
770
+ "flags": {},
771
+ "order": 20,
772
+ "mode": 0,
773
+ "inputs": [
774
+ {
775
+ "name": "",
776
+ "type": "*",
777
+ "link": null
778
+ }
779
+ ],
780
+ "outputs": [
781
+ {
782
+ "name": "",
783
+ "type": "*",
784
+ "links": null
785
+ }
786
+ ],
787
+ "properties": {
788
+ "showOutputText": false,
789
+ "horizontal": false
790
+ },
791
+ "index": 0
792
+ },
793
+ {
794
+ "id": -1,
795
+ "type": "ReferenceLatent",
796
+ "pos": [
797
+ 2730,
798
+ -220
799
+ ],
800
+ "size": [
801
+ 197.712890625,
802
+ 46
803
+ ],
804
+ "flags": {},
805
+ "order": 22,
806
+ "mode": 0,
807
+ "inputs": [
808
+ {
809
+ "localized_name": "conditioning",
810
+ "name": "conditioning",
811
+ "type": "CONDITIONING",
812
+ "link": null
813
+ },
814
+ {
815
+ "localized_name": "latent",
816
+ "name": "latent",
817
+ "shape": 7,
818
+ "type": "LATENT",
819
+ "link": null
820
+ }
821
+ ],
822
+ "outputs": [
823
+ {
824
+ "localized_name": "CONDITIONING",
825
+ "name": "CONDITIONING",
826
+ "type": "CONDITIONING",
827
+ "links": []
828
+ }
829
+ ],
830
+ "properties": {
831
+ "Node name for S&R": "ReferenceLatent",
832
+ "cnr_id": "comfy-core",
833
+ "ver": "0.3.38"
834
+ },
835
+ "index": 1,
836
+ "widgets_values": []
837
+ },
838
+ {
839
+ "id": -1,
840
+ "type": "VAEDecode",
841
+ "pos": [
842
+ 3270,
843
+ -110
844
+ ],
845
+ "size": [
846
+ 210,
847
+ 46
848
+ ],
849
+ "flags": {},
850
+ "order": 25,
851
+ "mode": 0,
852
+ "inputs": [
853
+ {
854
+ "localized_name": "samples",
855
+ "name": "samples",
856
+ "type": "LATENT",
857
+ "link": null
858
+ },
859
+ {
860
+ "localized_name": "vae",
861
+ "name": "vae",
862
+ "type": "VAE",
863
+ "link": null
864
+ }
865
+ ],
866
+ "outputs": [
867
+ {
868
+ "localized_name": "IMAGE",
869
+ "name": "IMAGE",
870
+ "type": "IMAGE",
871
+ "slot_index": 0,
872
+ "links": []
873
+ }
874
+ ],
875
+ "properties": {
876
+ "Node name for S&R": "VAEDecode",
877
+ "cnr_id": "comfy-core",
878
+ "ver": "0.3.38"
879
+ },
880
+ "index": 2,
881
+ "widgets_values": []
882
+ },
883
+ {
884
+ "id": -1,
885
+ "type": "KSampler",
886
+ "pos": [
887
+ 2930,
888
+ -110
889
+ ],
890
+ "size": [
891
+ 315,
892
+ 262
893
+ ],
894
+ "flags": {},
895
+ "order": 24,
896
+ "mode": 0,
897
+ "inputs": [
898
+ {
899
+ "localized_name": "model",
900
+ "name": "model",
901
+ "type": "MODEL",
902
+ "link": null
903
+ },
904
+ {
905
+ "localized_name": "positive",
906
+ "name": "positive",
907
+ "type": "CONDITIONING",
908
+ "link": null
909
+ },
910
+ {
911
+ "localized_name": "negative",
912
+ "name": "negative",
913
+ "type": "CONDITIONING",
914
+ "link": null
915
+ },
916
+ {
917
+ "localized_name": "latent_image",
918
+ "name": "latent_image",
919
+ "type": "LATENT",
920
+ "link": null
921
+ },
922
+ {
923
+ "localized_name": "seed",
924
+ "name": "seed",
925
+ "type": "INT",
926
+ "widget": {
927
+ "name": "seed"
928
+ },
929
+ "link": null
930
+ },
931
+ {
932
+ "localized_name": "steps",
933
+ "name": "steps",
934
+ "type": "INT",
935
+ "widget": {
936
+ "name": "steps"
937
+ },
938
+ "link": null
939
+ },
940
+ {
941
+ "localized_name": "cfg",
942
+ "name": "cfg",
943
+ "type": "FLOAT",
944
+ "widget": {
945
+ "name": "cfg"
946
+ },
947
+ "link": null
948
+ },
949
+ {
950
+ "localized_name": "sampler_name",
951
+ "name": "sampler_name",
952
+ "type": "COMBO",
953
+ "widget": {
954
+ "name": "sampler_name"
955
+ },
956
+ "link": null
957
+ },
958
+ {
959
+ "localized_name": "scheduler",
960
+ "name": "scheduler",
961
+ "type": "COMBO",
962
+ "widget": {
963
+ "name": "scheduler"
964
+ },
965
+ "link": null
966
+ },
967
+ {
968
+ "localized_name": "denoise",
969
+ "name": "denoise",
970
+ "type": "FLOAT",
971
+ "widget": {
972
+ "name": "denoise"
973
+ },
974
+ "link": null
975
+ }
976
+ ],
977
+ "outputs": [
978
+ {
979
+ "localized_name": "LATENT",
980
+ "name": "LATENT",
981
+ "type": "LATENT",
982
+ "slot_index": 0,
983
+ "links": []
984
+ }
985
+ ],
986
+ "properties": {
987
+ "Node name for S&R": "KSampler",
988
+ "cnr_id": "comfy-core",
989
+ "ver": "0.3.38"
990
+ },
991
+ "widgets_values": [
992
+ 972054013131369,
993
+ "fixed",
994
+ 20,
995
+ 1,
996
+ "euler",
997
+ "simple",
998
+ 1
999
+ ],
1000
+ "index": 3
1001
+ },
1002
+ {
1003
+ "id": -1,
1004
+ "type": "FluxGuidance",
1005
+ "pos": [
1006
+ 2940,
1007
+ -220
1008
+ ],
1009
+ "size": [
1010
+ 211.60000610351562,
1011
+ 58
1012
+ ],
1013
+ "flags": {},
1014
+ "order": 23,
1015
+ "mode": 0,
1016
+ "inputs": [
1017
+ {
1018
+ "localized_name": "conditioning",
1019
+ "name": "conditioning",
1020
+ "type": "CONDITIONING",
1021
+ "link": null
1022
+ },
1023
+ {
1024
+ "localized_name": "guidance",
1025
+ "name": "guidance",
1026
+ "type": "FLOAT",
1027
+ "widget": {
1028
+ "name": "guidance"
1029
+ },
1030
+ "link": null
1031
+ }
1032
+ ],
1033
+ "outputs": [
1034
+ {
1035
+ "localized_name": "CONDITIONING",
1036
+ "name": "CONDITIONING",
1037
+ "type": "CONDITIONING",
1038
+ "slot_index": 0,
1039
+ "links": []
1040
+ }
1041
+ ],
1042
+ "properties": {
1043
+ "Node name for S&R": "FluxGuidance",
1044
+ "cnr_id": "comfy-core",
1045
+ "ver": "0.3.38"
1046
+ },
1047
+ "widgets_values": [
1048
+ 2.5
1049
+ ],
1050
+ "index": 4
1051
+ },
1052
+ {
1053
+ "id": -1,
1054
+ "type": "SaveImage",
1055
+ "pos": [
1056
+ 3490,
1057
+ -110
1058
+ ],
1059
+ "size": [
1060
+ 985.3012084960938,
1061
+ 1060.3828125
1062
+ ],
1063
+ "flags": {},
1064
+ "order": 26,
1065
+ "mode": 0,
1066
+ "inputs": [
1067
+ {
1068
+ "localized_name": "images",
1069
+ "name": "images",
1070
+ "type": "IMAGE",
1071
+ "link": null
1072
+ },
1073
+ {
1074
+ "localized_name": "filename_prefix",
1075
+ "name": "filename_prefix",
1076
+ "type": "STRING",
1077
+ "widget": {
1078
+ "name": "filename_prefix"
1079
+ },
1080
+ "link": null
1081
+ }
1082
+ ],
1083
+ "outputs": [],
1084
+ "properties": {
1085
+ "cnr_id": "comfy-core",
1086
+ "ver": "0.3.38"
1087
+ },
1088
+ "widgets_values": [
1089
+ "ComfyUI"
1090
+ ],
1091
+ "index": 5
1092
+ },
1093
+ {
1094
+ "id": -1,
1095
+ "type": "CLIPTextEncode",
1096
+ "pos": [
1097
+ 2500,
1098
+ -110
1099
+ ],
1100
+ "size": [
1101
+ 422.84503173828125,
1102
+ 164.31304931640625
1103
+ ],
1104
+ "flags": {},
1105
+ "order": 12,
1106
+ "mode": 0,
1107
+ "inputs": [
1108
+ {
1109
+ "localized_name": "clip",
1110
+ "name": "clip",
1111
+ "type": "CLIP",
1112
+ "link": null
1113
+ },
1114
+ {
1115
+ "localized_name": "text",
1116
+ "name": "text",
1117
+ "type": "STRING",
1118
+ "widget": {
1119
+ "name": "text"
1120
+ },
1121
+ "link": null
1122
+ }
1123
+ ],
1124
+ "outputs": [
1125
+ {
1126
+ "localized_name": "CONDITIONING",
1127
+ "name": "CONDITIONING",
1128
+ "type": "CONDITIONING",
1129
+ "slot_index": 0,
1130
+ "links": []
1131
+ }
1132
+ ],
1133
+ "title": "CLIP Text Encode (Positive Prompt)",
1134
+ "properties": {
1135
+ "Node name for S&R": "CLIPTextEncode",
1136
+ "cnr_id": "comfy-core",
1137
+ "ver": "0.3.38"
1138
+ },
1139
+ "widgets_values": [
1140
+ "there is a bright light"
1141
+ ],
1142
+ "color": "#232",
1143
+ "bgcolor": "#353",
1144
+ "index": 6
1145
+ },
1146
+ {
1147
+ "id": -1,
1148
+ "type": "CLIPTextEncode",
1149
+ "pos": [
1150
+ 2504.1435546875,
1151
+ 97.9598617553711
1152
+ ],
1153
+ "size": [
1154
+ 422.84503173828125,
1155
+ 164.31304931640625
1156
+ ],
1157
+ "flags": {
1158
+ "collapsed": true
1159
+ },
1160
+ "order": 13,
1161
+ "mode": 0,
1162
+ "inputs": [
1163
+ {
1164
+ "localized_name": "clip",
1165
+ "name": "clip",
1166
+ "type": "CLIP",
1167
+ "link": null
1168
+ },
1169
+ {
1170
+ "localized_name": "text",
1171
+ "name": "text",
1172
+ "type": "STRING",
1173
+ "widget": {
1174
+ "name": "text"
1175
+ },
1176
+ "link": null
1177
+ }
1178
+ ],
1179
+ "outputs": [
1180
+ {
1181
+ "localized_name": "CONDITIONING",
1182
+ "name": "CONDITIONING",
1183
+ "type": "CONDITIONING",
1184
+ "slot_index": 0,
1185
+ "links": []
1186
+ }
1187
+ ],
1188
+ "title": "CLIP Text Encode (Negative Prompt)",
1189
+ "properties": {
1190
+ "Node name for S&R": "CLIPTextEncode",
1191
+ "cnr_id": "comfy-core",
1192
+ "ver": "0.3.38"
1193
+ },
1194
+ "widgets_values": [
1195
+ ""
1196
+ ],
1197
+ "color": "#322",
1198
+ "bgcolor": "#533",
1199
+ "index": 7
1200
+ },
1201
+ {
1202
+ "id": -1,
1203
+ "type": "UNETLoader",
1204
+ "pos": [
1205
+ 2630,
1206
+ -370
1207
+ ],
1208
+ "size": [
1209
+ 270,
1210
+ 82
1211
+ ],
1212
+ "flags": {},
1213
+ "order": 6,
1214
+ "mode": 0,
1215
+ "inputs": [
1216
+ {
1217
+ "localized_name": "unet_name",
1218
+ "name": "unet_name",
1219
+ "type": "COMBO",
1220
+ "widget": {
1221
+ "name": "unet_name"
1222
+ },
1223
+ "link": null
1224
+ },
1225
+ {
1226
+ "localized_name": "weight_dtype",
1227
+ "name": "weight_dtype",
1228
+ "type": "COMBO",
1229
+ "widget": {
1230
+ "name": "weight_dtype"
1231
+ },
1232
+ "link": null
1233
+ }
1234
+ ],
1235
+ "outputs": [
1236
+ {
1237
+ "localized_name": "MODEL",
1238
+ "name": "MODEL",
1239
+ "type": "MODEL",
1240
+ "links": []
1241
+ }
1242
+ ],
1243
+ "properties": {
1244
+ "Node name for S&R": "UNETLoader",
1245
+ "cnr_id": "comfy-core",
1246
+ "ver": "0.3.38"
1247
+ },
1248
+ "widgets_values": [
1249
+ "preliminary-dev-kontext.sft",
1250
+ "default"
1251
+ ],
1252
+ "color": "#223",
1253
+ "bgcolor": "#335",
1254
+ "index": 8
1255
+ },
1256
+ {
1257
+ "id": -1,
1258
+ "type": "DualCLIPLoader",
1259
+ "pos": [
1260
+ 2100,
1261
+ -290
1262
+ ],
1263
+ "size": [
1264
+ 337.76861572265625,
1265
+ 130
1266
+ ],
1267
+ "flags": {},
1268
+ "order": 8,
1269
+ "mode": 0,
1270
+ "inputs": [
1271
+ {
1272
+ "localized_name": "clip_name1",
1273
+ "name": "clip_name1",
1274
+ "type": "COMBO",
1275
+ "widget": {
1276
+ "name": "clip_name1"
1277
+ },
1278
+ "link": null
1279
+ },
1280
+ {
1281
+ "localized_name": "clip_name2",
1282
+ "name": "clip_name2",
1283
+ "type": "COMBO",
1284
+ "widget": {
1285
+ "name": "clip_name2"
1286
+ },
1287
+ "link": null
1288
+ },
1289
+ {
1290
+ "localized_name": "type",
1291
+ "name": "type",
1292
+ "type": "COMBO",
1293
+ "widget": {
1294
+ "name": "type"
1295
+ },
1296
+ "link": null
1297
+ },
1298
+ {
1299
+ "localized_name": "device",
1300
+ "name": "device",
1301
+ "shape": 7,
1302
+ "type": "COMBO",
1303
+ "widget": {
1304
+ "name": "device"
1305
+ },
1306
+ "link": null
1307
+ }
1308
+ ],
1309
+ "outputs": [
1310
+ {
1311
+ "localized_name": "CLIP",
1312
+ "name": "CLIP",
1313
+ "type": "CLIP",
1314
+ "links": []
1315
+ }
1316
+ ],
1317
+ "properties": {
1318
+ "Node name for S&R": "DualCLIPLoader",
1319
+ "cnr_id": "comfy-core",
1320
+ "ver": "0.3.38"
1321
+ },
1322
+ "widgets_values": [
1323
+ "clip_l.safetensors",
1324
+ "t5xxl_fp16.safetensors",
1325
+ "flux",
1326
+ "default"
1327
+ ],
1328
+ "color": "#223",
1329
+ "bgcolor": "#335",
1330
+ "index": 9
1331
+ },
1332
+ {
1333
+ "id": -1,
1334
+ "type": "VAELoader",
1335
+ "pos": [
1336
+ 2960,
1337
+ -370
1338
+ ],
1339
+ "size": [
1340
+ 270,
1341
+ 58
1342
+ ],
1343
+ "flags": {},
1344
+ "order": 7,
1345
+ "mode": 0,
1346
+ "inputs": [
1347
+ {
1348
+ "localized_name": "vae_name",
1349
+ "name": "vae_name",
1350
+ "type": "COMBO",
1351
+ "widget": {
1352
+ "name": "vae_name"
1353
+ },
1354
+ "link": null
1355
+ }
1356
+ ],
1357
+ "outputs": [
1358
+ {
1359
+ "localized_name": "VAE",
1360
+ "name": "VAE",
1361
+ "type": "VAE",
1362
+ "links": []
1363
+ }
1364
+ ],
1365
+ "properties": {
1366
+ "Node name for S&R": "VAELoader",
1367
+ "cnr_id": "comfy-core",
1368
+ "ver": "0.3.38"
1369
+ },
1370
+ "widgets_values": [
1371
+ "ae.safetensors"
1372
+ ],
1373
+ "color": "#223",
1374
+ "bgcolor": "#335",
1375
+ "index": 10
1376
+ }
1377
+ ],
1378
+ "links": [
1379
+ [
1380
+ 6,
1381
+ 0,
1382
+ 1,
1383
+ 0,
1384
+ 72,
1385
+ "CONDITIONING"
1386
+ ],
1387
+ [
1388
+ 0,
1389
+ 0,
1390
+ 1,
1391
+ 1,
1392
+ 66,
1393
+ "*"
1394
+ ],
1395
+ [
1396
+ 3,
1397
+ 0,
1398
+ 2,
1399
+ 0,
1400
+ 69,
1401
+ "LATENT"
1402
+ ],
1403
+ [
1404
+ 10,
1405
+ 0,
1406
+ 2,
1407
+ 1,
1408
+ 76,
1409
+ "VAE"
1410
+ ],
1411
+ [
1412
+ 8,
1413
+ 0,
1414
+ 3,
1415
+ 0,
1416
+ 74,
1417
+ "MODEL"
1418
+ ],
1419
+ [
1420
+ 4,
1421
+ 0,
1422
+ 3,
1423
+ 1,
1424
+ 70,
1425
+ "CONDITIONING"
1426
+ ],
1427
+ [
1428
+ 7,
1429
+ 0,
1430
+ 3,
1431
+ 2,
1432
+ 73,
1433
+ "CONDITIONING"
1434
+ ],
1435
+ [
1436
+ 0,
1437
+ 0,
1438
+ 3,
1439
+ 3,
1440
+ 66,
1441
+ "*"
1442
+ ],
1443
+ [
1444
+ 1,
1445
+ 0,
1446
+ 4,
1447
+ 0,
1448
+ 67,
1449
+ "CONDITIONING"
1450
+ ],
1451
+ [
1452
+ 2,
1453
+ 0,
1454
+ 5,
1455
+ 0,
1456
+ 68,
1457
+ "IMAGE"
1458
+ ],
1459
+ [
1460
+ 9,
1461
+ 0,
1462
+ 6,
1463
+ 0,
1464
+ 75,
1465
+ "CLIP"
1466
+ ],
1467
+ [
1468
+ 9,
1469
+ 0,
1470
+ 7,
1471
+ 0,
1472
+ 75,
1473
+ "CLIP"
1474
+ ]
1475
+ ],
1476
+ "external": [],
1477
+ "config": {
1478
+ "0": {},
1479
+ "1": {},
1480
+ "2": {
1481
+ "output": {
1482
+ "0": {
1483
+ "visible": true
1484
+ }
1485
+ }
1486
+ },
1487
+ "3": {
1488
+ "output": {
1489
+ "0": {
1490
+ "visible": true
1491
+ }
1492
+ },
1493
+ "input": {
1494
+ "denoise": {
1495
+ "visible": false
1496
+ },
1497
+ "cfg": {
1498
+ "visible": false
1499
+ }
1500
+ }
1501
+ },
1502
+ "4": {},
1503
+ "5": {},
1504
+ "6": {},
1505
+ "7": {
1506
+ "input": {
1507
+ "text": {
1508
+ "visible": false
1509
+ }
1510
+ }
1511
+ },
1512
+ "8": {},
1513
+ "9": {
1514
+ "input": {
1515
+ "type": {
1516
+ "visible": false
1517
+ }
1518
+ }
1519
+ },
1520
+ "10": {}
1521
+ }
1522
+ },
1523
+ "FLUX.1 Kontext Image Edit": {
1524
+ "nodes": [
1525
+ {
1526
+ "id": -1,
1527
+ "type": "Reroute",
1528
+ "pos": [
1529
+ 2354.87890625,
1530
+ -127.23468780517578
1531
+ ],
1532
+ "size": [
1533
+ 75,
1534
+ 26
1535
+ ],
1536
+ "flags": {},
1537
+ "order": 20,
1538
+ "mode": 0,
1539
+ "inputs": [
1540
+ {
1541
+ "name": "",
1542
+ "type": "*",
1543
+ "link": null
1544
+ }
1545
+ ],
1546
+ "outputs": [
1547
+ {
1548
+ "name": "",
1549
+ "type": "*",
1550
+ "links": null
1551
+ }
1552
+ ],
1553
+ "properties": {
1554
+ "showOutputText": false,
1555
+ "horizontal": false
1556
+ },
1557
+ "index": 0
1558
+ },
1559
+ {
1560
+ "id": -1,
1561
+ "type": "ReferenceLatent",
1562
+ "pos": [
1563
+ 2730,
1564
+ -220
1565
+ ],
1566
+ "size": [
1567
+ 197.712890625,
1568
+ 46
1569
+ ],
1570
+ "flags": {},
1571
+ "order": 22,
1572
+ "mode": 0,
1573
+ "inputs": [
1574
+ {
1575
+ "localized_name": "conditioning",
1576
+ "name": "conditioning",
1577
+ "type": "CONDITIONING",
1578
+ "link": null
1579
+ },
1580
+ {
1581
+ "localized_name": "latent",
1582
+ "name": "latent",
1583
+ "shape": 7,
1584
+ "type": "LATENT",
1585
+ "link": null
1586
+ }
1587
+ ],
1588
+ "outputs": [
1589
+ {
1590
+ "localized_name": "CONDITIONING",
1591
+ "name": "CONDITIONING",
1592
+ "type": "CONDITIONING",
1593
+ "links": []
1594
+ }
1595
+ ],
1596
+ "properties": {
1597
+ "Node name for S&R": "ReferenceLatent",
1598
+ "cnr_id": "comfy-core",
1599
+ "ver": "0.3.38"
1600
+ },
1601
+ "index": 1,
1602
+ "widgets_values": []
1603
+ },
1604
+ {
1605
+ "id": -1,
1606
+ "type": "VAEDecode",
1607
+ "pos": [
1608
+ 3270,
1609
+ -110
1610
+ ],
1611
+ "size": [
1612
+ 210,
1613
+ 46
1614
+ ],
1615
+ "flags": {},
1616
+ "order": 25,
1617
+ "mode": 0,
1618
+ "inputs": [
1619
+ {
1620
+ "localized_name": "samples",
1621
+ "name": "samples",
1622
+ "type": "LATENT",
1623
+ "link": null
1624
+ },
1625
+ {
1626
+ "localized_name": "vae",
1627
+ "name": "vae",
1628
+ "type": "VAE",
1629
+ "link": null
1630
+ }
1631
+ ],
1632
+ "outputs": [
1633
+ {
1634
+ "localized_name": "IMAGE",
1635
+ "name": "IMAGE",
1636
+ "type": "IMAGE",
1637
+ "slot_index": 0,
1638
+ "links": []
1639
+ }
1640
+ ],
1641
+ "properties": {
1642
+ "Node name for S&R": "VAEDecode",
1643
+ "cnr_id": "comfy-core",
1644
+ "ver": "0.3.38"
1645
+ },
1646
+ "index": 2,
1647
+ "widgets_values": []
1648
+ },
1649
+ {
1650
+ "id": -1,
1651
+ "type": "KSampler",
1652
+ "pos": [
1653
+ 2930,
1654
+ -110
1655
+ ],
1656
+ "size": [
1657
+ 315,
1658
+ 262
1659
+ ],
1660
+ "flags": {},
1661
+ "order": 24,
1662
+ "mode": 0,
1663
+ "inputs": [
1664
+ {
1665
+ "localized_name": "model",
1666
+ "name": "model",
1667
+ "type": "MODEL",
1668
+ "link": null
1669
+ },
1670
+ {
1671
+ "localized_name": "positive",
1672
+ "name": "positive",
1673
+ "type": "CONDITIONING",
1674
+ "link": null
1675
+ },
1676
+ {
1677
+ "localized_name": "negative",
1678
+ "name": "negative",
1679
+ "type": "CONDITIONING",
1680
+ "link": null
1681
+ },
1682
+ {
1683
+ "localized_name": "latent_image",
1684
+ "name": "latent_image",
1685
+ "type": "LATENT",
1686
+ "link": null
1687
+ },
1688
+ {
1689
+ "localized_name": "seed",
1690
+ "name": "seed",
1691
+ "type": "INT",
1692
+ "widget": {
1693
+ "name": "seed"
1694
+ },
1695
+ "link": null
1696
+ },
1697
+ {
1698
+ "localized_name": "steps",
1699
+ "name": "steps",
1700
+ "type": "INT",
1701
+ "widget": {
1702
+ "name": "steps"
1703
+ },
1704
+ "link": null
1705
+ },
1706
+ {
1707
+ "localized_name": "cfg",
1708
+ "name": "cfg",
1709
+ "type": "FLOAT",
1710
+ "widget": {
1711
+ "name": "cfg"
1712
+ },
1713
+ "link": null
1714
+ },
1715
+ {
1716
+ "localized_name": "sampler_name",
1717
+ "name": "sampler_name",
1718
+ "type": "COMBO",
1719
+ "widget": {
1720
+ "name": "sampler_name"
1721
+ },
1722
+ "link": null
1723
+ },
1724
+ {
1725
+ "localized_name": "scheduler",
1726
+ "name": "scheduler",
1727
+ "type": "COMBO",
1728
+ "widget": {
1729
+ "name": "scheduler"
1730
+ },
1731
+ "link": null
1732
+ },
1733
+ {
1734
+ "localized_name": "denoise",
1735
+ "name": "denoise",
1736
+ "type": "FLOAT",
1737
+ "widget": {
1738
+ "name": "denoise"
1739
+ },
1740
+ "link": null
1741
+ }
1742
+ ],
1743
+ "outputs": [
1744
+ {
1745
+ "localized_name": "LATENT",
1746
+ "name": "LATENT",
1747
+ "type": "LATENT",
1748
+ "slot_index": 0,
1749
+ "links": []
1750
+ }
1751
+ ],
1752
+ "properties": {
1753
+ "Node name for S&R": "KSampler",
1754
+ "cnr_id": "comfy-core",
1755
+ "ver": "0.3.38"
1756
+ },
1757
+ "widgets_values": [
1758
+ 972054013131369,
1759
+ "fixed",
1760
+ 20,
1761
+ 1,
1762
+ "euler",
1763
+ "simple",
1764
+ 1
1765
+ ],
1766
+ "index": 3
1767
+ },
1768
+ {
1769
+ "id": -1,
1770
+ "type": "FluxGuidance",
1771
+ "pos": [
1772
+ 2940,
1773
+ -220
1774
+ ],
1775
+ "size": [
1776
+ 211.60000610351562,
1777
+ 58
1778
+ ],
1779
+ "flags": {},
1780
+ "order": 23,
1781
+ "mode": 0,
1782
+ "inputs": [
1783
+ {
1784
+ "localized_name": "conditioning",
1785
+ "name": "conditioning",
1786
+ "type": "CONDITIONING",
1787
+ "link": null
1788
+ },
1789
+ {
1790
+ "localized_name": "guidance",
1791
+ "name": "guidance",
1792
+ "type": "FLOAT",
1793
+ "widget": {
1794
+ "name": "guidance"
1795
+ },
1796
+ "link": null
1797
+ }
1798
+ ],
1799
+ "outputs": [
1800
+ {
1801
+ "localized_name": "CONDITIONING",
1802
+ "name": "CONDITIONING",
1803
+ "type": "CONDITIONING",
1804
+ "slot_index": 0,
1805
+ "links": []
1806
+ }
1807
+ ],
1808
+ "properties": {
1809
+ "Node name for S&R": "FluxGuidance",
1810
+ "cnr_id": "comfy-core",
1811
+ "ver": "0.3.38"
1812
+ },
1813
+ "widgets_values": [
1814
+ 2.5
1815
+ ],
1816
+ "index": 4
1817
+ },
1818
+ {
1819
+ "id": -1,
1820
+ "type": "SaveImage",
1821
+ "pos": [
1822
+ 3490,
1823
+ -110
1824
+ ],
1825
+ "size": [
1826
+ 985.3012084960938,
1827
+ 1060.3828125
1828
+ ],
1829
+ "flags": {},
1830
+ "order": 26,
1831
+ "mode": 0,
1832
+ "inputs": [
1833
+ {
1834
+ "localized_name": "images",
1835
+ "name": "images",
1836
+ "type": "IMAGE",
1837
+ "link": null
1838
+ },
1839
+ {
1840
+ "localized_name": "filename_prefix",
1841
+ "name": "filename_prefix",
1842
+ "type": "STRING",
1843
+ "widget": {
1844
+ "name": "filename_prefix"
1845
+ },
1846
+ "link": null
1847
+ }
1848
+ ],
1849
+ "outputs": [],
1850
+ "properties": {
1851
+ "cnr_id": "comfy-core",
1852
+ "ver": "0.3.38"
1853
+ },
1854
+ "widgets_values": [
1855
+ "ComfyUI"
1856
+ ],
1857
+ "index": 5
1858
+ },
1859
+ {
1860
+ "id": -1,
1861
+ "type": "CLIPTextEncode",
1862
+ "pos": [
1863
+ 2500,
1864
+ -110
1865
+ ],
1866
+ "size": [
1867
+ 422.84503173828125,
1868
+ 164.31304931640625
1869
+ ],
1870
+ "flags": {},
1871
+ "order": 12,
1872
+ "mode": 0,
1873
+ "inputs": [
1874
+ {
1875
+ "localized_name": "clip",
1876
+ "name": "clip",
1877
+ "type": "CLIP",
1878
+ "link": null
1879
+ },
1880
+ {
1881
+ "localized_name": "text",
1882
+ "name": "text",
1883
+ "type": "STRING",
1884
+ "widget": {
1885
+ "name": "text"
1886
+ },
1887
+ "link": null
1888
+ }
1889
+ ],
1890
+ "outputs": [
1891
+ {
1892
+ "localized_name": "CONDITIONING",
1893
+ "name": "CONDITIONING",
1894
+ "type": "CONDITIONING",
1895
+ "slot_index": 0,
1896
+ "links": []
1897
+ }
1898
+ ],
1899
+ "title": "CLIP Text Encode (Positive Prompt)",
1900
+ "properties": {
1901
+ "Node name for S&R": "CLIPTextEncode",
1902
+ "cnr_id": "comfy-core",
1903
+ "ver": "0.3.38"
1904
+ },
1905
+ "widgets_values": [
1906
+ "there is a bright light"
1907
+ ],
1908
+ "color": "#232",
1909
+ "bgcolor": "#353",
1910
+ "index": 6
1911
+ },
1912
+ {
1913
+ "id": -1,
1914
+ "type": "CLIPTextEncode",
1915
+ "pos": [
1916
+ 2504.1435546875,
1917
+ 97.9598617553711
1918
+ ],
1919
+ "size": [
1920
+ 422.84503173828125,
1921
+ 164.31304931640625
1922
+ ],
1923
+ "flags": {
1924
+ "collapsed": true
1925
+ },
1926
+ "order": 13,
1927
+ "mode": 0,
1928
+ "inputs": [
1929
+ {
1930
+ "localized_name": "clip",
1931
+ "name": "clip",
1932
+ "type": "CLIP",
1933
+ "link": null
1934
+ },
1935
+ {
1936
+ "localized_name": "text",
1937
+ "name": "text",
1938
+ "type": "STRING",
1939
+ "widget": {
1940
+ "name": "text"
1941
+ },
1942
+ "link": null
1943
+ }
1944
+ ],
1945
+ "outputs": [
1946
+ {
1947
+ "localized_name": "CONDITIONING",
1948
+ "name": "CONDITIONING",
1949
+ "type": "CONDITIONING",
1950
+ "slot_index": 0,
1951
+ "links": []
1952
+ }
1953
+ ],
1954
+ "title": "CLIP Text Encode (Negative Prompt)",
1955
+ "properties": {
1956
+ "Node name for S&R": "CLIPTextEncode",
1957
+ "cnr_id": "comfy-core",
1958
+ "ver": "0.3.38"
1959
+ },
1960
+ "widgets_values": [
1961
+ ""
1962
+ ],
1963
+ "color": "#322",
1964
+ "bgcolor": "#533",
1965
+ "index": 7
1966
+ },
1967
+ {
1968
+ "id": -1,
1969
+ "type": "UNETLoader",
1970
+ "pos": [
1971
+ 2630,
1972
+ -370
1973
+ ],
1974
+ "size": [
1975
+ 270,
1976
+ 82
1977
+ ],
1978
+ "flags": {},
1979
+ "order": 6,
1980
+ "mode": 0,
1981
+ "inputs": [
1982
+ {
1983
+ "localized_name": "unet_name",
1984
+ "name": "unet_name",
1985
+ "type": "COMBO",
1986
+ "widget": {
1987
+ "name": "unet_name"
1988
+ },
1989
+ "link": null
1990
+ },
1991
+ {
1992
+ "localized_name": "weight_dtype",
1993
+ "name": "weight_dtype",
1994
+ "type": "COMBO",
1995
+ "widget": {
1996
+ "name": "weight_dtype"
1997
+ },
1998
+ "link": null
1999
+ }
2000
+ ],
2001
+ "outputs": [
2002
+ {
2003
+ "localized_name": "MODEL",
2004
+ "name": "MODEL",
2005
+ "type": "MODEL",
2006
+ "links": []
2007
+ }
2008
+ ],
2009
+ "properties": {
2010
+ "Node name for S&R": "UNETLoader",
2011
+ "cnr_id": "comfy-core",
2012
+ "ver": "0.3.38"
2013
+ },
2014
+ "widgets_values": [
2015
+ "preliminary-dev-kontext.sft",
2016
+ "default"
2017
+ ],
2018
+ "color": "#223",
2019
+ "bgcolor": "#335",
2020
+ "index": 8
2021
+ },
2022
+ {
2023
+ "id": -1,
2024
+ "type": "DualCLIPLoader",
2025
+ "pos": [
2026
+ 2100,
2027
+ -290
2028
+ ],
2029
+ "size": [
2030
+ 337.76861572265625,
2031
+ 130
2032
+ ],
2033
+ "flags": {},
2034
+ "order": 8,
2035
+ "mode": 0,
2036
+ "inputs": [
2037
+ {
2038
+ "localized_name": "clip_name1",
2039
+ "name": "clip_name1",
2040
+ "type": "COMBO",
2041
+ "widget": {
2042
+ "name": "clip_name1"
2043
+ },
2044
+ "link": null
2045
+ },
2046
+ {
2047
+ "localized_name": "clip_name2",
2048
+ "name": "clip_name2",
2049
+ "type": "COMBO",
2050
+ "widget": {
2051
+ "name": "clip_name2"
2052
+ },
2053
+ "link": null
2054
+ },
2055
+ {
2056
+ "localized_name": "type",
2057
+ "name": "type",
2058
+ "type": "COMBO",
2059
+ "widget": {
2060
+ "name": "type"
2061
+ },
2062
+ "link": null
2063
+ },
2064
+ {
2065
+ "localized_name": "device",
2066
+ "name": "device",
2067
+ "shape": 7,
2068
+ "type": "COMBO",
2069
+ "widget": {
2070
+ "name": "device"
2071
+ },
2072
+ "link": null
2073
+ }
2074
+ ],
2075
+ "outputs": [
2076
+ {
2077
+ "localized_name": "CLIP",
2078
+ "name": "CLIP",
2079
+ "type": "CLIP",
2080
+ "links": []
2081
+ }
2082
+ ],
2083
+ "properties": {
2084
+ "Node name for S&R": "DualCLIPLoader",
2085
+ "cnr_id": "comfy-core",
2086
+ "ver": "0.3.38"
2087
+ },
2088
+ "widgets_values": [
2089
+ "clip_l.safetensors",
2090
+ "t5xxl_fp16.safetensors",
2091
+ "flux",
2092
+ "default"
2093
+ ],
2094
+ "color": "#223",
2095
+ "bgcolor": "#335",
2096
+ "index": 9
2097
+ },
2098
+ {
2099
+ "id": -1,
2100
+ "type": "VAELoader",
2101
+ "pos": [
2102
+ 2960,
2103
+ -370
2104
+ ],
2105
+ "size": [
2106
+ 270,
2107
+ 58
2108
+ ],
2109
+ "flags": {},
2110
+ "order": 7,
2111
+ "mode": 0,
2112
+ "inputs": [
2113
+ {
2114
+ "localized_name": "vae_name",
2115
+ "name": "vae_name",
2116
+ "type": "COMBO",
2117
+ "widget": {
2118
+ "name": "vae_name"
2119
+ },
2120
+ "link": null
2121
+ }
2122
+ ],
2123
+ "outputs": [
2124
+ {
2125
+ "localized_name": "VAE",
2126
+ "name": "VAE",
2127
+ "type": "VAE",
2128
+ "links": []
2129
+ }
2130
+ ],
2131
+ "properties": {
2132
+ "Node name for S&R": "VAELoader",
2133
+ "cnr_id": "comfy-core",
2134
+ "ver": "0.3.38"
2135
+ },
2136
+ "widgets_values": [
2137
+ "ae.safetensors"
2138
+ ],
2139
+ "color": "#223",
2140
+ "bgcolor": "#335",
2141
+ "index": 10
2142
+ }
2143
+ ],
2144
+ "links": [
2145
+ [
2146
+ 6,
2147
+ 0,
2148
+ 1,
2149
+ 0,
2150
+ 72,
2151
+ "CONDITIONING"
2152
+ ],
2153
+ [
2154
+ 0,
2155
+ 0,
2156
+ 1,
2157
+ 1,
2158
+ 66,
2159
+ "*"
2160
+ ],
2161
+ [
2162
+ 3,
2163
+ 0,
2164
+ 2,
2165
+ 0,
2166
+ 69,
2167
+ "LATENT"
2168
+ ],
2169
+ [
2170
+ 10,
2171
+ 0,
2172
+ 2,
2173
+ 1,
2174
+ 76,
2175
+ "VAE"
2176
+ ],
2177
+ [
2178
+ 8,
2179
+ 0,
2180
+ 3,
2181
+ 0,
2182
+ 74,
2183
+ "MODEL"
2184
+ ],
2185
+ [
2186
+ 4,
2187
+ 0,
2188
+ 3,
2189
+ 1,
2190
+ 70,
2191
+ "CONDITIONING"
2192
+ ],
2193
+ [
2194
+ 7,
2195
+ 0,
2196
+ 3,
2197
+ 2,
2198
+ 73,
2199
+ "CONDITIONING"
2200
+ ],
2201
+ [
2202
+ 0,
2203
+ 0,
2204
+ 3,
2205
+ 3,
2206
+ 66,
2207
+ "*"
2208
+ ],
2209
+ [
2210
+ 1,
2211
+ 0,
2212
+ 4,
2213
+ 0,
2214
+ 67,
2215
+ "CONDITIONING"
2216
+ ],
2217
+ [
2218
+ 2,
2219
+ 0,
2220
+ 5,
2221
+ 0,
2222
+ 68,
2223
+ "IMAGE"
2224
+ ],
2225
+ [
2226
+ 9,
2227
+ 0,
2228
+ 6,
2229
+ 0,
2230
+ 75,
2231
+ "CLIP"
2232
+ ],
2233
+ [
2234
+ 9,
2235
+ 0,
2236
+ 7,
2237
+ 0,
2238
+ 75,
2239
+ "CLIP"
2240
+ ]
2241
+ ],
2242
+ "external": [],
2243
+ "config": {
2244
+ "0": {},
2245
+ "1": {},
2246
+ "2": {
2247
+ "output": {
2248
+ "0": {
2249
+ "visible": true
2250
+ }
2251
+ }
2252
+ },
2253
+ "3": {
2254
+ "output": {
2255
+ "0": {
2256
+ "visible": true
2257
+ }
2258
+ },
2259
+ "input": {
2260
+ "denoise": {
2261
+ "visible": false
2262
+ },
2263
+ "cfg": {
2264
+ "visible": false
2265
+ }
2266
+ }
2267
+ },
2268
+ "4": {},
2269
+ "5": {},
2270
+ "6": {},
2271
+ "7": {
2272
+ "input": {
2273
+ "text": {
2274
+ "visible": false
2275
+ }
2276
+ }
2277
+ },
2278
+ "8": {},
2279
+ "9": {
2280
+ "input": {
2281
+ "type": {
2282
+ "visible": false
2283
+ }
2284
+ }
2285
+ },
2286
+ "10": {}
2287
+ }
2288
+ }
2289
+ },
2290
+ "VHS_latentpreview": false,
2291
+ "VHS_latentpreviewrate": 0,
2292
+ "VHS_MetadataImage": true,
2293
+ "VHS_KeepIntermediate": true
2294
+ },
2295
+ "version": 0.4
2296
+ }