comfyui-workflow-templates 0.1.29__py3-none-any.whl → 0.1.31__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.
Files changed (20) hide show
  1. comfyui_workflow_templates/templates/api_recraft_image_gen_with_color_control.json +184 -175
  2. comfyui_workflow_templates/templates/api_stability_ai_i2i.json +79 -89
  3. comfyui_workflow_templates/templates/api_stability_ai_sd3.5_t2i.json +89 -103
  4. comfyui_workflow_templates/templates/flux_kontext_dev_basic-1.webp +0 -0
  5. comfyui_workflow_templates/templates/flux_kontext_dev_basic-2.webp +0 -0
  6. comfyui_workflow_templates/templates/flux_kontext_dev_basic.json +1138 -0
  7. comfyui_workflow_templates/templates/flux_kontext_dev_grouped-1.webp +0 -0
  8. comfyui_workflow_templates/templates/flux_kontext_dev_grouped-2.webp +0 -0
  9. comfyui_workflow_templates/templates/flux_kontext_dev_grouped.json +2296 -0
  10. comfyui_workflow_templates/templates/image_omnigen2_image_edit-1.webp +0 -0
  11. comfyui_workflow_templates/templates/image_omnigen2_image_edit-2.webp +0 -0
  12. comfyui_workflow_templates/templates/image_omnigen2_image_edit.json +1497 -0
  13. comfyui_workflow_templates/templates/image_omnigen2_t2i-1.webp +0 -0
  14. comfyui_workflow_templates/templates/image_omnigen2_t2i.json +774 -0
  15. comfyui_workflow_templates/templates/index.json +34 -1
  16. {comfyui_workflow_templates-0.1.29.dist-info → comfyui_workflow_templates-0.1.31.dist-info}/METADATA +9 -5
  17. {comfyui_workflow_templates-0.1.29.dist-info → comfyui_workflow_templates-0.1.31.dist-info}/RECORD +20 -9
  18. {comfyui_workflow_templates-0.1.29.dist-info → comfyui_workflow_templates-0.1.31.dist-info}/WHEEL +0 -0
  19. {comfyui_workflow_templates-0.1.29.dist-info → comfyui_workflow_templates-0.1.31.dist-info}/licenses/LICENSE +0 -0
  20. {comfyui_workflow_templates-0.1.29.dist-info → comfyui_workflow_templates-0.1.31.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,1138 @@
1
+ {
2
+ "id": "7cbcec68-7fa6-47bb-a38a-da689949a001",
3
+ "revision": 0,
4
+ "last_node_id": 189,
5
+ "last_link_id": 294,
6
+ "nodes": [
7
+ {
8
+ "id": 39,
9
+ "type": "VAELoader",
10
+ "pos": [
11
+ -400,
12
+ 390
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
+ 61,
28
+ 223
29
+ ]
30
+ }
31
+ ],
32
+ "properties": {
33
+ "cnr_id": "comfy-core",
34
+ "ver": "0.3.38",
35
+ "Node name for S&R": "VAELoader",
36
+ "models": [
37
+ {
38
+ "name": "ae.safetensors",
39
+ "url": "https://huggingface.co/Comfy-Org/Lumina_Image_2.0_Repackaged/resolve/main/split_files/vae/ae.safetensors",
40
+ "directory": "vae"
41
+ }
42
+ ]
43
+ },
44
+ "widgets_values": [
45
+ "ae.safetensors"
46
+ ],
47
+ "color": "#322",
48
+ "bgcolor": "#533"
49
+ },
50
+ {
51
+ "id": 38,
52
+ "type": "DualCLIPLoader",
53
+ "pos": [
54
+ -400,
55
+ 210
56
+ ],
57
+ "size": [
58
+ 337.76861572265625,
59
+ 130
60
+ ],
61
+ "flags": {},
62
+ "order": 1,
63
+ "mode": 0,
64
+ "inputs": [],
65
+ "outputs": [
66
+ {
67
+ "name": "CLIP",
68
+ "type": "CLIP",
69
+ "links": [
70
+ 59
71
+ ]
72
+ }
73
+ ],
74
+ "properties": {
75
+ "cnr_id": "comfy-core",
76
+ "ver": "0.3.38",
77
+ "Node name for S&R": "DualCLIPLoader",
78
+ "models": [
79
+ {
80
+ "name": "clip_l.safetensors",
81
+ "url": "https://huggingface.co/comfyanonymous/flux_text_encoders/resolve/main/clip_l.safetensors",
82
+ "directory": "text_encoders"
83
+ },
84
+ {
85
+ "name": "t5xxl_fp8_e4m3fn_scaled.safetensors",
86
+ "url": "https://huggingface.co/comfyanonymous/flux_text_encoders/resolve/main/t5xxl_fp8_e4m3fn_scaled.safetensors",
87
+ "directory": "text_encoders"
88
+ }
89
+ ]
90
+ },
91
+ "widgets_values": [
92
+ "clip_l.safetensors",
93
+ "t5xxl_fp8_e4m3fn_scaled.safetensors",
94
+ "flux",
95
+ "default"
96
+ ],
97
+ "color": "#322",
98
+ "bgcolor": "#533"
99
+ },
100
+ {
101
+ "id": 135,
102
+ "type": "ConditioningZeroOut",
103
+ "pos": [
104
+ 250,
105
+ 200
106
+ ],
107
+ "size": [
108
+ 240,
109
+ 26
110
+ ],
111
+ "flags": {
112
+ "collapsed": false
113
+ },
114
+ "order": 16,
115
+ "mode": 0,
116
+ "inputs": [
117
+ {
118
+ "name": "conditioning",
119
+ "type": "CONDITIONING",
120
+ "link": 237
121
+ }
122
+ ],
123
+ "outputs": [
124
+ {
125
+ "name": "CONDITIONING",
126
+ "type": "CONDITIONING",
127
+ "links": [
128
+ 238
129
+ ]
130
+ }
131
+ ],
132
+ "properties": {
133
+ "cnr_id": "comfy-core",
134
+ "ver": "0.3.39",
135
+ "Node name for S&R": "ConditioningZeroOut"
136
+ },
137
+ "widgets_values": []
138
+ },
139
+ {
140
+ "id": 173,
141
+ "type": "PreviewImage",
142
+ "pos": [
143
+ 320,
144
+ 860
145
+ ],
146
+ "size": [
147
+ 420,
148
+ 310
149
+ ],
150
+ "flags": {},
151
+ "order": 19,
152
+ "mode": 0,
153
+ "inputs": [
154
+ {
155
+ "name": "images",
156
+ "type": "IMAGE",
157
+ "link": 289
158
+ }
159
+ ],
160
+ "outputs": [],
161
+ "properties": {
162
+ "cnr_id": "comfy-core",
163
+ "ver": "0.3.40",
164
+ "Node name for S&R": "PreviewImage"
165
+ },
166
+ "widgets_values": []
167
+ },
168
+ {
169
+ "id": 136,
170
+ "type": "SaveImage",
171
+ "pos": [
172
+ 760,
173
+ 510
174
+ ],
175
+ "size": [
176
+ 650,
177
+ 660
178
+ ],
179
+ "flags": {},
180
+ "order": 24,
181
+ "mode": 0,
182
+ "inputs": [
183
+ {
184
+ "name": "images",
185
+ "type": "IMAGE",
186
+ "link": 240
187
+ }
188
+ ],
189
+ "outputs": [],
190
+ "properties": {
191
+ "cnr_id": "comfy-core",
192
+ "ver": "0.3.39"
193
+ },
194
+ "widgets_values": [
195
+ "ComfyUI"
196
+ ]
197
+ },
198
+ {
199
+ "id": 8,
200
+ "type": "VAEDecode",
201
+ "pos": [
202
+ 530,
203
+ 350
204
+ ],
205
+ "size": [
206
+ 190,
207
+ 46
208
+ ],
209
+ "flags": {
210
+ "collapsed": false
211
+ },
212
+ "order": 23,
213
+ "mode": 0,
214
+ "inputs": [
215
+ {
216
+ "name": "samples",
217
+ "type": "LATENT",
218
+ "link": 52
219
+ },
220
+ {
221
+ "name": "vae",
222
+ "type": "VAE",
223
+ "link": 61
224
+ }
225
+ ],
226
+ "outputs": [
227
+ {
228
+ "name": "IMAGE",
229
+ "type": "IMAGE",
230
+ "slot_index": 0,
231
+ "links": [
232
+ 240
233
+ ]
234
+ }
235
+ ],
236
+ "properties": {
237
+ "cnr_id": "comfy-core",
238
+ "ver": "0.3.38",
239
+ "Node name for S&R": "VAEDecode"
240
+ },
241
+ "widgets_values": []
242
+ },
243
+ {
244
+ "id": 142,
245
+ "type": "LoadImageOutput",
246
+ "pos": [
247
+ -390,
248
+ 770
249
+ ],
250
+ "size": [
251
+ 320,
252
+ 374
253
+ ],
254
+ "flags": {},
255
+ "order": 2,
256
+ "mode": 0,
257
+ "inputs": [],
258
+ "outputs": [
259
+ {
260
+ "name": "IMAGE",
261
+ "type": "IMAGE",
262
+ "links": [
263
+ 249
264
+ ]
265
+ },
266
+ {
267
+ "name": "MASK",
268
+ "type": "MASK",
269
+ "links": null
270
+ }
271
+ ],
272
+ "properties": {
273
+ "cnr_id": "comfy-core",
274
+ "ver": "0.3.40",
275
+ "Node name for S&R": "LoadImageOutput"
276
+ },
277
+ "widgets_values": [
278
+ "doll.webp [output]",
279
+ false,
280
+ "refresh",
281
+ "image"
282
+ ],
283
+ "color": "#322",
284
+ "bgcolor": "#533"
285
+ },
286
+ {
287
+ "id": 124,
288
+ "type": "VAEEncode",
289
+ "pos": [
290
+ -20,
291
+ 400
292
+ ],
293
+ "size": [
294
+ 240,
295
+ 50
296
+ ],
297
+ "flags": {
298
+ "collapsed": false
299
+ },
300
+ "order": 18,
301
+ "mode": 0,
302
+ "inputs": [
303
+ {
304
+ "name": "pixels",
305
+ "type": "IMAGE",
306
+ "link": 222
307
+ },
308
+ {
309
+ "name": "vae",
310
+ "type": "VAE",
311
+ "link": 223
312
+ }
313
+ ],
314
+ "outputs": [
315
+ {
316
+ "name": "LATENT",
317
+ "type": "LATENT",
318
+ "links": [
319
+ 291,
320
+ 293
321
+ ]
322
+ }
323
+ ],
324
+ "properties": {
325
+ "cnr_id": "comfy-core",
326
+ "ver": "0.3.39",
327
+ "Node name for S&R": "VAEEncode"
328
+ },
329
+ "widgets_values": []
330
+ },
331
+ {
332
+ "id": 42,
333
+ "type": "FluxKontextImageScale",
334
+ "pos": [
335
+ -50,
336
+ 570
337
+ ],
338
+ "size": [
339
+ 270,
340
+ 30
341
+ ],
342
+ "flags": {
343
+ "collapsed": false
344
+ },
345
+ "order": 17,
346
+ "mode": 0,
347
+ "inputs": [
348
+ {
349
+ "name": "image",
350
+ "type": "IMAGE",
351
+ "link": 251
352
+ }
353
+ ],
354
+ "outputs": [
355
+ {
356
+ "name": "IMAGE",
357
+ "type": "IMAGE",
358
+ "links": [
359
+ 222,
360
+ 289
361
+ ]
362
+ }
363
+ ],
364
+ "properties": {
365
+ "cnr_id": "comfy-core",
366
+ "ver": "0.3.38",
367
+ "Node name for S&R": "FluxKontextImageScale"
368
+ },
369
+ "widgets_values": []
370
+ },
371
+ {
372
+ "id": 146,
373
+ "type": "ImageStitch",
374
+ "pos": [
375
+ -390,
376
+ 570
377
+ ],
378
+ "size": [
379
+ 270,
380
+ 150
381
+ ],
382
+ "flags": {},
383
+ "order": 15,
384
+ "mode": 0,
385
+ "inputs": [
386
+ {
387
+ "name": "image1",
388
+ "type": "IMAGE",
389
+ "link": 249
390
+ },
391
+ {
392
+ "name": "image2",
393
+ "shape": 7,
394
+ "type": "IMAGE",
395
+ "link": 250
396
+ }
397
+ ],
398
+ "outputs": [
399
+ {
400
+ "name": "IMAGE",
401
+ "type": "IMAGE",
402
+ "links": [
403
+ 251
404
+ ]
405
+ }
406
+ ],
407
+ "properties": {
408
+ "cnr_id": "comfy-core",
409
+ "ver": "0.3.40",
410
+ "Node name for S&R": "ImageStitch"
411
+ },
412
+ "widgets_values": [
413
+ "right",
414
+ true,
415
+ 0,
416
+ "white"
417
+ ]
418
+ },
419
+ {
420
+ "id": 35,
421
+ "type": "FluxGuidance",
422
+ "pos": [
423
+ 250,
424
+ 90
425
+ ],
426
+ "size": [
427
+ 240,
428
+ 58
429
+ ],
430
+ "flags": {
431
+ "collapsed": false
432
+ },
433
+ "order": 21,
434
+ "mode": 0,
435
+ "inputs": [
436
+ {
437
+ "name": "conditioning",
438
+ "type": "CONDITIONING",
439
+ "link": 292
440
+ }
441
+ ],
442
+ "outputs": [
443
+ {
444
+ "name": "CONDITIONING",
445
+ "type": "CONDITIONING",
446
+ "slot_index": 0,
447
+ "links": [
448
+ 57
449
+ ]
450
+ }
451
+ ],
452
+ "properties": {
453
+ "cnr_id": "comfy-core",
454
+ "ver": "0.3.38",
455
+ "Node name for S&R": "FluxGuidance"
456
+ },
457
+ "widgets_values": [
458
+ 2.5
459
+ ]
460
+ },
461
+ {
462
+ "id": 185,
463
+ "type": "MarkdownNote",
464
+ "pos": [
465
+ -960,
466
+ 490
467
+ ],
468
+ "size": [
469
+ 510,
470
+ 170
471
+ ],
472
+ "flags": {},
473
+ "order": 3,
474
+ "mode": 0,
475
+ "inputs": [],
476
+ "outputs": [],
477
+ "title": "About VRAM",
478
+ "properties": {},
479
+ "widgets_values": [
480
+ "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"
481
+ ],
482
+ "color": "#432",
483
+ "bgcolor": "#653"
484
+ },
485
+ {
486
+ "id": 186,
487
+ "type": "MarkdownNote",
488
+ "pos": [
489
+ -960,
490
+ 710
491
+ ],
492
+ "size": [
493
+ 510,
494
+ 170
495
+ ],
496
+ "flags": {},
497
+ "order": 4,
498
+ "mode": 0,
499
+ "inputs": [],
500
+ "outputs": [],
501
+ "title": "Flux Kontext Prompt Techniques",
502
+ "properties": {},
503
+ "widgets_values": [
504
+ "\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. "
505
+ ],
506
+ "color": "#432",
507
+ "bgcolor": "#653"
508
+ },
509
+ {
510
+ "id": 184,
511
+ "type": "MarkdownNote",
512
+ "pos": [
513
+ -960,
514
+ 40
515
+ ],
516
+ "size": [
517
+ 510,
518
+ 400
519
+ ],
520
+ "flags": {},
521
+ "order": 5,
522
+ "mode": 0,
523
+ "inputs": [],
524
+ "outputs": [],
525
+ "title": "Model links",
526
+ "properties": {},
527
+ "widgets_values": [
528
+ "[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"
529
+ ],
530
+ "color": "#432",
531
+ "bgcolor": "#653"
532
+ },
533
+ {
534
+ "id": 37,
535
+ "type": "UNETLoader",
536
+ "pos": [
537
+ -400,
538
+ 80
539
+ ],
540
+ "size": [
541
+ 337.76861572265625,
542
+ 82
543
+ ],
544
+ "flags": {},
545
+ "order": 6,
546
+ "mode": 0,
547
+ "inputs": [],
548
+ "outputs": [
549
+ {
550
+ "name": "MODEL",
551
+ "type": "MODEL",
552
+ "links": [
553
+ 58
554
+ ]
555
+ }
556
+ ],
557
+ "properties": {
558
+ "cnr_id": "comfy-core",
559
+ "ver": "0.3.38",
560
+ "Node name for S&R": "UNETLoader",
561
+ "models": [
562
+ {
563
+ "name": "flux1-dev-kontext_fp8_scaled.safetensors",
564
+ "url": "https://huggingface.co/Comfy-Org/flux1-kontext-dev_ComfyUI/resolve/main/split_files/diffusion_models/flux1-dev-kontext_fp8_scaled.safetensors",
565
+ "directory": "diffusion_models"
566
+ }
567
+ ]
568
+ },
569
+ "widgets_values": [
570
+ "flux1-dev-kontext_fp8_scaled.safetensors",
571
+ "default"
572
+ ],
573
+ "color": "#322",
574
+ "bgcolor": "#533"
575
+ },
576
+ {
577
+ "id": 177,
578
+ "type": "ReferenceLatent",
579
+ "pos": [
580
+ 10,
581
+ 140
582
+ ],
583
+ "size": [
584
+ 197.712890625,
585
+ 46
586
+ ],
587
+ "flags": {},
588
+ "order": 20,
589
+ "mode": 0,
590
+ "inputs": [
591
+ {
592
+ "name": "conditioning",
593
+ "type": "CONDITIONING",
594
+ "link": 294
595
+ },
596
+ {
597
+ "name": "latent",
598
+ "shape": 7,
599
+ "type": "LATENT",
600
+ "link": 293
601
+ }
602
+ ],
603
+ "outputs": [
604
+ {
605
+ "name": "CONDITIONING",
606
+ "type": "CONDITIONING",
607
+ "links": [
608
+ 292
609
+ ]
610
+ }
611
+ ],
612
+ "properties": {
613
+ "cnr_id": "comfy-core",
614
+ "ver": "0.3.41",
615
+ "Node name for S&R": "ReferenceLatent"
616
+ },
617
+ "widgets_values": []
618
+ },
619
+ {
620
+ "id": 178,
621
+ "type": "MarkdownNote",
622
+ "pos": [
623
+ -30,
624
+ -150
625
+ ],
626
+ "size": [
627
+ 540,
628
+ 150
629
+ ],
630
+ "flags": {},
631
+ "order": 7,
632
+ "mode": 0,
633
+ "inputs": [],
634
+ "outputs": [],
635
+ "title": "About multiple images reference",
636
+ "properties": {},
637
+ "widgets_values": [
638
+ "[English] In addition to using **Image Stitch** to combine two images at a time, you can also encode individual images, then concatenate multiple latent conditions using the **ReferenceLatent** node, thus achieving the purpose of referencing multiple images. You can use the **EmptySD3LatentImage** node on the right to connect to **KSamper** and customize the size of the **latent_image**.\n\n[中文] 除了使用 **Image Stitch** 将两个两个图像拼合之外,你同样可以将单独的图像 encode 之后,将多个 latent 条件使用 **ReferenceLatent** 节点串联,从而实现多张图像参考的目的。可以使用右边的 **EmptySD3LatentImage** 节点连接到 **KSamper**来自定义 **latent_image** 的尺寸"
639
+ ],
640
+ "color": "#432",
641
+ "bgcolor": "#653"
642
+ },
643
+ {
644
+ "id": 188,
645
+ "type": "EmptySD3LatentImage",
646
+ "pos": [
647
+ 530,
648
+ -140
649
+ ],
650
+ "size": [
651
+ 310,
652
+ 106
653
+ ],
654
+ "flags": {},
655
+ "order": 8,
656
+ "mode": 4,
657
+ "inputs": [],
658
+ "outputs": [
659
+ {
660
+ "name": "LATENT",
661
+ "type": "LATENT",
662
+ "links": null
663
+ }
664
+ ],
665
+ "properties": {
666
+ "cnr_id": "comfy-core",
667
+ "ver": "0.3.41",
668
+ "Node name for S&R": "EmptySD3LatentImage"
669
+ },
670
+ "widgets_values": [
671
+ 1024,
672
+ 1024,
673
+ 1
674
+ ]
675
+ },
676
+ {
677
+ "id": 6,
678
+ "type": "CLIPTextEncode",
679
+ "pos": [
680
+ 330,
681
+ 560
682
+ ],
683
+ "size": [
684
+ 400,
685
+ 220
686
+ ],
687
+ "flags": {},
688
+ "order": 14,
689
+ "mode": 0,
690
+ "inputs": [
691
+ {
692
+ "name": "clip",
693
+ "type": "CLIP",
694
+ "link": 59
695
+ }
696
+ ],
697
+ "outputs": [
698
+ {
699
+ "name": "CONDITIONING",
700
+ "type": "CONDITIONING",
701
+ "slot_index": 0,
702
+ "links": [
703
+ 237,
704
+ 294
705
+ ]
706
+ }
707
+ ],
708
+ "title": "CLIP Text Encode (Positive Prompt)",
709
+ "properties": {
710
+ "cnr_id": "comfy-core",
711
+ "ver": "0.3.38",
712
+ "Node name for S&R": "CLIPTextEncode"
713
+ },
714
+ "widgets_values": [
715
+ "Using this elegant style, create a portrait of a swan wearing a pearl tiara and lace collar, maintaining the same refined quality and soft color tones."
716
+ ],
717
+ "color": "#232",
718
+ "bgcolor": "#353"
719
+ },
720
+ {
721
+ "id": 31,
722
+ "type": "KSampler",
723
+ "pos": [
724
+ 530,
725
+ 40
726
+ ],
727
+ "size": [
728
+ 320,
729
+ 262
730
+ ],
731
+ "flags": {},
732
+ "order": 22,
733
+ "mode": 0,
734
+ "inputs": [
735
+ {
736
+ "name": "model",
737
+ "type": "MODEL",
738
+ "link": 58
739
+ },
740
+ {
741
+ "name": "positive",
742
+ "type": "CONDITIONING",
743
+ "link": 57
744
+ },
745
+ {
746
+ "name": "negative",
747
+ "type": "CONDITIONING",
748
+ "link": 238
749
+ },
750
+ {
751
+ "name": "latent_image",
752
+ "type": "LATENT",
753
+ "link": 291
754
+ }
755
+ ],
756
+ "outputs": [
757
+ {
758
+ "name": "LATENT",
759
+ "type": "LATENT",
760
+ "slot_index": 0,
761
+ "links": [
762
+ 52
763
+ ]
764
+ }
765
+ ],
766
+ "properties": {
767
+ "cnr_id": "comfy-core",
768
+ "ver": "0.3.38",
769
+ "Node name for S&R": "KSampler"
770
+ },
771
+ "widgets_values": [
772
+ 784381637916598,
773
+ "randomize",
774
+ 20,
775
+ 1,
776
+ "euler",
777
+ "simple",
778
+ 1
779
+ ]
780
+ },
781
+ {
782
+ "id": 180,
783
+ "type": "MarkdownNote",
784
+ "pos": [
785
+ -1430,
786
+ 40
787
+ ],
788
+ "size": [
789
+ 450,
790
+ 450
791
+ ],
792
+ "flags": {},
793
+ "order": 9,
794
+ "mode": 0,
795
+ "inputs": [],
796
+ "outputs": [],
797
+ "title": "✨ New ComfyUI feature for Flux.1 Kontext Dev",
798
+ "properties": {},
799
+ "widgets_values": [
800
+ "[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 对话的迭代特性,但增加了视觉编辑的优势,并能够维护多个并行的编辑路径。"
801
+ ],
802
+ "color": "#322",
803
+ "bgcolor": "#533"
804
+ },
805
+ {
806
+ "id": 187,
807
+ "type": "MarkdownNote",
808
+ "pos": [
809
+ -960,
810
+ 930
811
+ ],
812
+ "size": [
813
+ 510,
814
+ 180
815
+ ],
816
+ "flags": {},
817
+ "order": 10,
818
+ "mode": 0,
819
+ "inputs": [],
820
+ "outputs": [],
821
+ "title": "Flux Kontext 提示词技巧",
822
+ "properties": {},
823
+ "widgets_values": [
824
+ "\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 擅长理解详细指令并保持一致性。"
825
+ ],
826
+ "color": "#432",
827
+ "bgcolor": "#653"
828
+ },
829
+ {
830
+ "id": 175,
831
+ "type": "MarkdownNote",
832
+ "pos": [
833
+ -50,
834
+ 640
835
+ ],
836
+ "size": [
837
+ 320,
838
+ 88
839
+ ],
840
+ "flags": {},
841
+ "order": 11,
842
+ "mode": 0,
843
+ "inputs": [],
844
+ "outputs": [],
845
+ "title": "How to enable multiple image input",
846
+ "properties": {},
847
+ "widgets_values": [
848
+ "Click on the **Load image (from output)** node and use **Ctrl + B** to enable multiple image input support."
849
+ ],
850
+ "color": "#432",
851
+ "bgcolor": "#653"
852
+ },
853
+ {
854
+ "id": 189,
855
+ "type": "MarkdownNote",
856
+ "pos": [
857
+ -400,
858
+ 1200
859
+ ],
860
+ "size": [
861
+ 340,
862
+ 90
863
+ ],
864
+ "flags": {},
865
+ "order": 12,
866
+ "mode": 0,
867
+ "inputs": [],
868
+ "outputs": [],
869
+ "title": "About multi-round edit",
870
+ "properties": {},
871
+ "widgets_values": [
872
+ "The **Load Image (from Outputs)** node allows you to fetch the last image from the output. Click on the **refresh** button to fetch the latest image or manually select an image from the dropdown list."
873
+ ],
874
+ "color": "#432",
875
+ "bgcolor": "#653"
876
+ },
877
+ {
878
+ "id": 147,
879
+ "type": "LoadImageOutput",
880
+ "pos": [
881
+ -50,
882
+ 770
883
+ ],
884
+ "size": [
885
+ 320,
886
+ 374
887
+ ],
888
+ "flags": {},
889
+ "order": 13,
890
+ "mode": 4,
891
+ "inputs": [],
892
+ "outputs": [
893
+ {
894
+ "name": "IMAGE",
895
+ "type": "IMAGE",
896
+ "links": [
897
+ 250
898
+ ]
899
+ },
900
+ {
901
+ "name": "MASK",
902
+ "type": "MASK",
903
+ "links": null
904
+ }
905
+ ],
906
+ "properties": {
907
+ "cnr_id": "comfy-core",
908
+ "ver": "0.3.40",
909
+ "Node name for S&R": "LoadImageOutput"
910
+ },
911
+ "widgets_values": [
912
+ "doll.webp [output]",
913
+ false,
914
+ "refresh",
915
+ "image"
916
+ ],
917
+ "color": "#322",
918
+ "bgcolor": "#533"
919
+ }
920
+ ],
921
+ "links": [
922
+ [
923
+ 52,
924
+ 31,
925
+ 0,
926
+ 8,
927
+ 0,
928
+ "LATENT"
929
+ ],
930
+ [
931
+ 57,
932
+ 35,
933
+ 0,
934
+ 31,
935
+ 1,
936
+ "CONDITIONING"
937
+ ],
938
+ [
939
+ 58,
940
+ 37,
941
+ 0,
942
+ 31,
943
+ 0,
944
+ "MODEL"
945
+ ],
946
+ [
947
+ 59,
948
+ 38,
949
+ 0,
950
+ 6,
951
+ 0,
952
+ "CLIP"
953
+ ],
954
+ [
955
+ 61,
956
+ 39,
957
+ 0,
958
+ 8,
959
+ 1,
960
+ "VAE"
961
+ ],
962
+ [
963
+ 222,
964
+ 42,
965
+ 0,
966
+ 124,
967
+ 0,
968
+ "IMAGE"
969
+ ],
970
+ [
971
+ 223,
972
+ 39,
973
+ 0,
974
+ 124,
975
+ 1,
976
+ "VAE"
977
+ ],
978
+ [
979
+ 237,
980
+ 6,
981
+ 0,
982
+ 135,
983
+ 0,
984
+ "CONDITIONING"
985
+ ],
986
+ [
987
+ 238,
988
+ 135,
989
+ 0,
990
+ 31,
991
+ 2,
992
+ "CONDITIONING"
993
+ ],
994
+ [
995
+ 240,
996
+ 8,
997
+ 0,
998
+ 136,
999
+ 0,
1000
+ "IMAGE"
1001
+ ],
1002
+ [
1003
+ 249,
1004
+ 142,
1005
+ 0,
1006
+ 146,
1007
+ 0,
1008
+ "IMAGE"
1009
+ ],
1010
+ [
1011
+ 250,
1012
+ 147,
1013
+ 0,
1014
+ 146,
1015
+ 1,
1016
+ "IMAGE"
1017
+ ],
1018
+ [
1019
+ 251,
1020
+ 146,
1021
+ 0,
1022
+ 42,
1023
+ 0,
1024
+ "IMAGE"
1025
+ ],
1026
+ [
1027
+ 289,
1028
+ 42,
1029
+ 0,
1030
+ 173,
1031
+ 0,
1032
+ "IMAGE"
1033
+ ],
1034
+ [
1035
+ 291,
1036
+ 124,
1037
+ 0,
1038
+ 31,
1039
+ 3,
1040
+ "LATENT"
1041
+ ],
1042
+ [
1043
+ 292,
1044
+ 177,
1045
+ 0,
1046
+ 35,
1047
+ 0,
1048
+ "CONDITIONING"
1049
+ ],
1050
+ [
1051
+ 293,
1052
+ 124,
1053
+ 0,
1054
+ 177,
1055
+ 1,
1056
+ "LATENT"
1057
+ ],
1058
+ [
1059
+ 294,
1060
+ 6,
1061
+ 0,
1062
+ 177,
1063
+ 0,
1064
+ "CONDITIONING"
1065
+ ]
1066
+ ],
1067
+ "groups": [
1068
+ {
1069
+ "id": 1,
1070
+ "title": "Step 1- Load models",
1071
+ "bounding": [
1072
+ -410,
1073
+ 10,
1074
+ 360,
1075
+ 450
1076
+ ],
1077
+ "color": "#3f789e",
1078
+ "font_size": 24,
1079
+ "flags": {}
1080
+ },
1081
+ {
1082
+ "id": 3,
1083
+ "title": "Step 2 - Upload images",
1084
+ "bounding": [
1085
+ -410,
1086
+ 480,
1087
+ 700,
1088
+ 680
1089
+ ],
1090
+ "color": "#3f789e",
1091
+ "font_size": 24,
1092
+ "flags": {}
1093
+ },
1094
+ {
1095
+ "id": 5,
1096
+ "title": "Step 3 - Prompt",
1097
+ "bounding": [
1098
+ 310,
1099
+ 480,
1100
+ 430,
1101
+ 330
1102
+ ],
1103
+ "color": "#3f789e",
1104
+ "font_size": 24,
1105
+ "flags": {}
1106
+ },
1107
+ {
1108
+ "id": 6,
1109
+ "title": "Conditioning",
1110
+ "bounding": [
1111
+ -30,
1112
+ 10,
1113
+ 540,
1114
+ 250
1115
+ ],
1116
+ "color": "#3f789e",
1117
+ "font_size": 24,
1118
+ "flags": {}
1119
+ }
1120
+ ],
1121
+ "config": {},
1122
+ "extra": {
1123
+ "ds": {
1124
+ "scale": 0.5559917313492586,
1125
+ "offset": [
1126
+ 1740.2336172409775,
1127
+ 16.235369583159628
1128
+ ]
1129
+ },
1130
+ "frontendVersion": "1.23.4",
1131
+ "groupNodes": {},
1132
+ "VHS_latentpreview": false,
1133
+ "VHS_latentpreviewrate": 0,
1134
+ "VHS_MetadataImage": true,
1135
+ "VHS_KeepIntermediate": true
1136
+ },
1137
+ "version": 0.4
1138
+ }