ComfyPilotComfyPilot
工作流 / 图像 / Flux Kontext Dev 图像编辑
Flux Kontext Dev 图像编辑

Flux Kontext Dev 图像编辑

Flux Kontext Dev Image Edit

使用Flux Kontext全节点可见性编辑图像,非常适合学习工作流程。

图像 6 个节点 1 个输入 224 次使用 ComfyUI ≥ 0.3.42 ComfyUI 37 KB

下载工作流 JSON 查看官方来源

下载后把文件拖进 ComfyUI 窗口即可打开。

需要的权重

这个工作流引用了 4 个权重文件,其中 4 个能在本站模型库里找到。

ae.safetensors 在模型库查看
clip_l.safetensors 在模型库查看
flux1-dev-kontext_fp8_scaled.safetensors 在模型库查看
t5xxl_fp8_e4m3fn_scaled.safetensors 在模型库查看

节点构成

MarkdownNote × 2
LoadImage × 2
SaveImage × 1
654c828f-2572-47e8-ba85-8a832c89b30c × 1

官方标注的模型

FLUX.1 KontextFLUX

工作流 JSON

和上面「下载工作流 JSON」是同一份文件。

1{
2 "id": "7cbcec68-7fa6-47bb-a38a-da689949a001",
3 "revision": 0,
4 "last_node_id": 192,
5 "last_link_id": 305,
6 "nodes": [
7 {
8 "id": 184,
9 "type": "MarkdownNote",
10 "pos": [
11 -959.9999638913625,
12 39.99998792240308
13 ],
14 "size": [
15 510,
16 600
17 ],
18 "flags": [],
19 "order": 0,
20 "mode": 0,
21 "inputs": [],
22 "outputs": [],
23 "title": "Model links",
24 "properties": {
25 "ue_properties": {
26 "widget_ue_connectable": [],
27 "version": "7.7",
28 "input_ue_unconnectable": []
29 }
30 },
31 "widgets_values": [
32 "## Model Links\n\n- [Hugging Face:Comfy-Org/flux1-kontext-dev_ComfyUI](https://huggingface.co/Comfy-Org/flux1-kontext-dev_ComfyUI)\n- [Hugging Face:Comfy-Org/Lumina_Image_2.0_Repackaged](https://huggingface.co/Comfy-Org/Lumina_Image_2.0_Repackaged)\n\n**ModelScope mirrors** (alternative repo location)\n\n- [ModelScope:Comfy-Org/flux1-kontext-dev_ComfyUI](https://modelscope.cn/models/Comfy-Org/flux1-kontext-dev_ComfyUI)\n- [ModelScope:Comfy-Org/Lumina_Image_2.0_Repackaged](https://modelscope.cn/models/Comfy-Org/Lumina_Image_2.0_Repackaged)\n\n[tutorial](https://docs.comfy.org/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) (11.09 GB)\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) (9.12 GB) or [t5xxl_fp8_e4m3fn_scaled.safetensors](https://huggingface.co/comfyanonymous/flux_text_encoders/resolve/main/t5xxl_fp8_e4m3fn_scaled.safetensors) (4.8 GB)\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"
33 ],
34 "color": "#222",
35 "bgcolor": "#000"
36 },
37 {
38 "id": 186,
39 "type": "MarkdownNote",
40 "pos": [
41 -959.9999638913625,
42 749.9999752850742
43 ],
44 "size": [
45 510,
46 1940
47 ],
48 "flags": [],
49 "order": 1,
50 "mode": 0,
51 "inputs": [],
52 "outputs": [],
53 "title": "Flux Kontext Prompt Techniques",
54 "properties": {
55 "ue_properties": {
56 "widget_ue_connectable": [],
57 "version": "7.7",
58 "input_ue_unconnectable": []
59 }
60 },
61 "widgets_values": [
62 "\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. "
63 ],
64 "color": "#222",
65 "bgcolor": "#000"
66 },
67 {
68 "id": 136,
69 "type": "SaveImage",
70 "pos": [
71 429.9999012392533,
72 49.99999466678776
73 ],
74 "size": [
75 640,
76 620
77 ],
78 "flags": [],
79 "order": 5,
80 "mode": 0,
81 "inputs": [
82 {
83 "name": "images",
84 "type": "IMAGE",
85 "link": 301
86 }
87 ],
88 "outputs": [],
89 "properties": {
90 "cnr_id": "comfy-core",
91 "ver": "0.3.39",
92 "Node name for S&R": "SaveImage",
93 "ue_properties": {
94 "widget_ue_connectable": [],
95 "version": "7.7",
96 "input_ue_unconnectable": []
97 }
98 },
99 "widgets_values": [
100 "flux.1_kontext_dev"
101 ]
102 },
103 {
104 "id": 190,
105 "type": "LoadImage",
106 "pos": [
107 -380.0000195249073,
108 49.99999466678787
109 ],
110 "size": [
111 280,
112 370
113 ],
114 "flags": [],
115 "order": 2,
116 "mode": 0,
117 "inputs": [],
118 "outputs": [
119 {
120 "name": "IMAGE",
121 "type": "IMAGE",
122 "links": [
123 299
124 ]
125 },
126 {
127 "name": "MASK",
128 "type": "MASK",
129 "links": null
130 }
131 ],
132 "properties": {
133 "Node name for S&R": "LoadImage",
134 "cnr_id": "comfy-core",
135 "ver": "0.3.64",
136 "ue_properties": {
137 "widget_ue_connectable": [],
138 "version": "7.7",
139 "input_ue_unconnectable": []
140 }
141 },
142 "widgets_values": [
143 "flux_kontext_dev_basic_input_image.jpg",
144 "image"
145 ]
146 },
147 {
148 "id": 191,
149 "type": "LoadImage",
150 "pos": [
151 -380.0000195249073,
152 479.9999719098299
153 ],
154 "size": [
155 280,
156 370
157 ],
158 "flags": [],
159 "order": 3,
160 "mode": 4,
161 "inputs": [],
162 "outputs": [
163 {
164 "name": "IMAGE",
165 "type": "IMAGE",
166 "links": [
167 300
168 ]
169 },
170 {
171 "name": "MASK",
172 "type": "MASK",
173 "links": null
174 }
175 ],
176 "properties": {
177 "Node name for S&R": "LoadImage",
178 "cnr_id": "comfy-core",
179 "ver": "0.3.64",
180 "ue_properties": {
181 "widget_ue_connectable": [],
182 "version": "7.7",
183 "input_ue_unconnectable": []
184 }
185 },
186 "widgets_values": [
187 "flux_kontext_dev_basic_input_image.jpg",
188 "image"
189 ]
190 },
191 {
192 "id": 192,
193 "type": "654c828f-2572-47e8-ba85-8a832c89b30c",
194 "pos": [
195 -20.000044811772227,
196 49.9999723263947
197 ],
198 "size": [
199 400,
200 585.328125
201 ],
202 "flags": [],
203 "order": 4,
204 "mode": 0,
205 "inputs": [
206 {
207 "name": "image1",
208 "type": "IMAGE",
209 "link": 299
210 },
211 {
212 "name": "image2",
213 "type": "IMAGE",
214 "link": 300
215 },
216 {
217 "label": "prompt",
218 "name": "text",
219 "type": "STRING",
220 "widget": {
221 "name": "text"
222 },
223 "link": null
224 }
225 ],
226 "outputs": [
227 {
228 "name": "IMAGE",
229 "type": "IMAGE",
230 "links": [
231 301
232 ]
233 }
234 ],
235 "properties": {
236 "proxyWidgets": [
237 [
238 "6",
239 "text"
240 ],
241 [
242 "37",
243 "unet_name"
244 ],
245 [
246 "38",
247 "clip_name1"
248 ],
249 [
250 "38",
251 "clip_name2"
252 ],
253 [
254 "39",
255 "vae_name"
256 ],
257 [
258 "31",
259 "seed"
260 ],
261 [
262 "31",
263 "control_after_generate"
264 ]
265 ],
266 "cnr_id": "comfy-core",
267 "ver": "0.18.1",
268 "ue_properties": {
269 "widget_ue_connectable": [],
270 "version": "7.7",
271 "input_ue_unconnectable": []
272 }
273 },
274 "widgets_values": []
275 }
276 ],
277 "links": [
278 [
279 299,
280 190,
281 0,
282 192,
283 0,
284 "IMAGE"
285 ],
286 [
287 300,
288 191,
289 0,
290 192,
291 1,
292 "IMAGE"
293 ],
294 [
295 301,
296 192,
297 0,
298 136,
299 0,
300 "IMAGE"
301 ]
302 ],
303 "groups": [],
304 "definitions": {
305 "subgraphs": [
306 {
307 "id": "654c828f-2572-47e8-ba85-8a832c89b30c",
308 "version": 1,
309 "state": {
310 "lastGroupId": 6,
311 "lastNodeId": 192,
312 "lastLinkId": 305,
313 "lastRerouteId": 0
314 },
315 "revision": 0,
316 "config": [],
317 "name": "Image Edit (Flux.1 Kontext Dev)",
318 "inputNode": {
319 "id": -10,
320 "bounding": [
321 -180,
322 410,
323 120,
324 180
325 ]
326 },
327 "outputNode": {
328 "id": -20,
329 "bounding": [
330 2570,
331 160,
332 120,
333 60
334 ]
335 },
336 "inputs": [
337 {
338 "id": "2ecac158-b1ad-405b-a7d1-819093266237",
339 "name": "image1",
340 "type": "IMAGE",
341 "linkIds": [
342 297
343 ],
344 "localized_name": "image1",
345 "pos": [
346 -80,
347 430
348 ]
349 },
350 {
351 "id": "9ae2e5aa-011a-487b-a7fb-d1783c3e5e3d",
352 "name": "image2",
353 "type": "IMAGE",
354 "linkIds": [
355 298
356 ],
357 "localized_name": "image2",
358 "shape": 7,
359 "pos": [
360 -80,
361 450
362 ]
363 },
364 {
365 "id": "3ec56922-7974-45cb-86b8-a59245486b0b",
366 "name": "text",
367 "type": "STRING",
368 "linkIds": [
369 300
370 ],
371 "label": "prompt",
372 "pos": [
373 -80,
374 470
375 ]
376 },
377 {
378 "id": "5a88c7a1-edfa-429f-97fc-dd18d72295fe",
379 "name": "unet_name",
380 "type": "COMBO",
381 "linkIds": [
382 302
383 ],
384 "pos": [
385 -80,
386 490
387 ]
388 },
389 {
390 "id": "171f122f-505b-4a59-a9f7-a7bc32d720a7",
391 "name": "clip_name1",
392 "type": "COMBO",
393 "linkIds": [
394 303
395 ],
396 "pos": [
397 -80,
398 510
399 ]
400 },
401 {
402 "id": "b7129abf-a9dd-45a5-baee-cd14f3757c71",
403 "name": "clip_name2",
404 "type": "COMBO",
405 "linkIds": [
406 304
407 ],
408 "pos": [
409 -80,
410 530
411 ]
412 },
413 {
414 "id": "0074f62a-1ea9-4f4b-b12d-8219d2e91cd0",
415 "name": "vae_name",
416 "type": "COMBO",
417 "linkIds": [
418 305
419 ],
420 "pos": [
421 -80,
422 550
423 ]
424 }
425 ],
426 "outputs": [
427 {
428 "id": "e940d353-8345-44cd-a2f1-676648b44d71",
429 "name": "IMAGE",
430 "type": "IMAGE",
431 "linkIds": [
432 240
433 ],
434 "localized_name": "IMAGE",
435 "pos": [
436 2590,
437 180
438 ]
439 }
440 ],
441 "widgets": [],
442 "nodes": [
443 {
444 "id": 39,
445 "type": "VAELoader",
446 "pos": [
447 370,
448 590
449 ],
450 "size": [
451 340,
452 110
453 ],
454 "flags": [],
455 "order": 7,
456 "mode": 0,
457 "inputs": [
458 {
459 "localized_name": "vae_name",
460 "name": "vae_name",
461 "type": "COMBO",
462 "widget": {
463 "name": "vae_name"
464 },
465 "link": 305
466 }
467 ],
468 "outputs": [
469 {
470 "localized_name": "VAE",
471 "name": "VAE",
472 "type": "VAE",
473 "links": [
474 61,
475 223
476 ]
477 }
478 ],
479 "properties": {
480 "Node name for S&R": "VAELoader",
481 "cnr_id": "comfy-core",
482 "ver": "0.3.38",
483 "models": [
484 {
485 "name": "ae.safetensors",
486 "url": "https://huggingface.co/Comfy-Org/Lumina_Image_2.0_Repackaged/resolve/main/split_files/vae/ae.safetensors",
487 "directory": "vae"
488 }
489 ],
490 "ue_properties": {
491 "widget_ue_connectable": [],
492 "version": "7.7",
493 "input_ue_unconnectable": []
494 }
495 },
496 "widgets_values": [
497 "ae.safetensors"
498 ]
499 },
500 {
501 "id": 38,
502 "type": "DualCLIPLoader",
503 "pos": [
504 370,
505 320
506 ],
507 "size": [
508 340,
509 180
510 ],
511 "flags": [],
512 "order": 6,
513 "mode": 0,
514 "inputs": [
515 {
516 "localized_name": "clip_name1",
517 "name": "clip_name1",
518 "type": "COMBO",
519 "widget": {
520 "name": "clip_name1"
521 },
522 "link": 303
523 },
524 {
525 "localized_name": "clip_name2",
526 "name": "clip_name2",
527 "type": "COMBO",
528 "widget": {
529 "name": "clip_name2"
530 },
531 "link": 304
532 }
533 ],
534 "outputs": [
535 {
536 "localized_name": "CLIP",
537 "name": "CLIP",
538 "type": "CLIP",
539 "links": [
540 59
541 ]
542 }
543 ],
544 "properties": {
545 "Node name for S&R": "DualCLIPLoader",
546 "cnr_id": "comfy-core",
547 "ver": "0.3.38",
548 "models": [
549 {
550 "name": "clip_l.safetensors",
551 "url": "https://huggingface.co/comfyanonymous/flux_text_encoders/resolve/main/clip_l.safetensors",
552 "directory": "text_encoders"
553 },
554 {
555 "name": "t5xxl_fp8_e4m3fn_scaled.safetensors",
556 "url": "https://huggingface.co/comfyanonymous/flux_text_encoders/resolve/main/t5xxl_fp8_e4m3fn_scaled.safetensors",
557 "directory": "text_encoders"
558 }
559 ],
560 "ue_properties": {
561 "widget_ue_connectable": [],
562 "version": "7.7",
563 "input_ue_unconnectable": []
564 }
565 },
566 "widgets_values": [
567 "clip_l.safetensors",
568 "t5xxl_fp8_e4m3fn_scaled.safetensors",
569 "flux",
570 "default"
571 ]
572 },
573 {
574 "id": 135,
575 "type": "ConditioningZeroOut",
576 "pos": [
577 1080,
578 610
579 ],
580 "size": [
581 240,
582 80
583 ],
584 "flags": {
585 "collapsed": false
586 },
587 "order": 10,
588 "mode": 0,
589 "inputs": [
590 {
591 "localized_name": "conditioning",
592 "name": "conditioning",
593 "type": "CONDITIONING",
594 "link": 237
595 }
596 ],
597 "outputs": [
598 {
599 "localized_name": "CONDITIONING",
600 "name": "CONDITIONING",
601 "type": "CONDITIONING",
602 "links": [
603 238
604 ]
605 }
606 ],
607 "properties": {
608 "Node name for S&R": "ConditioningZeroOut",
609 "cnr_id": "comfy-core",
610 "ver": "0.3.39",
611 "ue_properties": {
612 "widget_ue_connectable": [],
613 "version": "7.7",
614 "input_ue_unconnectable": []
615 }
616 },
617 "widgets_values": []
618 },
619 {
620 "id": 8,
621 "type": "VAEDecode",
622 "pos": [
623 2070,
624 160
625 ],
626 "size": [
627 230,
628 100
629 ],
630 "flags": {
631 "collapsed": false
632 },
633 "order": 2,
634 "mode": 0,
635 "inputs": [
636 {
637 "localized_name": "samples",
638 "name": "samples",
639 "type": "LATENT",
640 "link": 52
641 },
642 {
643 "localized_name": "vae",
644 "name": "vae",
645 "type": "VAE",
646 "link": 61
647 }
648 ],
649 "outputs": [
650 {
651 "localized_name": "IMAGE",
652 "name": "IMAGE",
653 "type": "IMAGE",
654 "slot_index": 0,
655 "links": [
656 240
657 ]
658 }
659 ],
660 "properties": {
661 "Node name for S&R": "VAEDecode",
662 "cnr_id": "comfy-core",
663 "ver": "0.3.38",
664 "ue_properties": {
665 "widget_ue_connectable": [],
666 "version": "7.7",
667 "input_ue_unconnectable": []
668 }
669 },
670 "widgets_values": []
671 },
672 {
673 "id": 124,
674 "type": "VAEEncode",
675 "pos": [
676 1070,
677 800
678 ],
679 "size": [
680 240,
681 100
682 ],
683 "flags": {
684 "collapsed": true
685 },
686 "order": 9,
687 "mode": 0,
688 "inputs": [
689 {
690 "localized_name": "pixels",
691 "name": "pixels",
692 "type": "IMAGE",
693 "link": 222
694 },
695 {
696 "localized_name": "vae",
697 "name": "vae",
698 "type": "VAE",
699 "link": 223
700 }
701 ],
702 "outputs": [
703 {
704 "localized_name": "LATENT",
705 "name": "LATENT",
706 "type": "LATENT",
707 "links": [
708 291,
709 293
710 ]
711 }
712 ],
713 "properties": {
714 "Node name for S&R": "VAEEncode",
715 "cnr_id": "comfy-core",
716 "ver": "0.3.39",
717 "ue_properties": {
718 "widget_ue_connectable": [],
719 "version": "7.7",
720 "input_ue_unconnectable": []
721 }
722 },
723 "widgets_values": []
724 },
725 {
726 "id": 35,
727 "type": "FluxGuidance",
728 "pos": [
729 1420,
730 300
731 ],
732 "size": [
733 240,
734 110
735 ],
736 "flags": {
737 "collapsed": false
738 },
739 "order": 4,
740 "mode": 0,
741 "inputs": [
742 {
743 "localized_name": "conditioning",
744 "name": "conditioning",
745 "type": "CONDITIONING",
746 "link": 292
747 }
748 ],
749 "outputs": [
750 {
751 "localized_name": "CONDITIONING",
752 "name": "CONDITIONING",
753 "type": "CONDITIONING",
754 "slot_index": 0,
755 "links": [
756 57
757 ]
758 }
759 ],
760 "properties": {
761 "Node name for S&R": "FluxGuidance",
762 "cnr_id": "comfy-core",
763 "ver": "0.3.38",
764 "ue_properties": {
765 "widget_ue_connectable": [],
766 "version": "7.7",
767 "input_ue_unconnectable": []
768 }
769 },
770 "widgets_values": [
771 2.5
772 ]
773 },
774 {
775 "id": 37,
776 "type": "UNETLoader",
777 "pos": [
778 370,
779 110
780 ],
781 "size": [
782 340,
783 110
784 ],
785 "flags": [],
786 "order": 5,
787 "mode": 0,
788 "inputs": [
789 {
790 "localized_name": "unet_name",
791 "name": "unet_name",
792 "type": "COMBO",
793 "widget": {
794 "name": "unet_name"
795 },
796 "link": 302
797 }
798 ],
799 "outputs": [
800 {
801 "localized_name": "MODEL",
802 "name": "MODEL",
803 "type": "MODEL",
804 "links": [
805 58
806 ]
807 }
808 ],
809 "properties": {
810 "Node name for S&R": "UNETLoader",
811 "cnr_id": "comfy-core",
812 "ver": "0.3.38",
813 "models": [
814 {
815 "name": "flux1-dev-kontext_fp8_scaled.safetensors",
816 "url": "https://huggingface.co/Comfy-Org/flux1-kontext-dev_ComfyUI/resolve/main/split_files/diffusion_models/flux1-dev-kontext_fp8_scaled.safetensors",
817 "directory": "diffusion_models"
818 }
819 ],
820 "ue_properties": {
821 "widget_ue_connectable": [],
822 "version": "7.7",
823 "input_ue_unconnectable": []
824 }
825 },
826 "widgets_values": [
827 "flux1-dev-kontext_fp8_scaled.safetensors",
828 "default"
829 ]
830 },
831 {
832 "id": 177,
833 "type": "ReferenceLatent",
834 "pos": [
835 1420,
836 160
837 ],
838 "size": [
839 240,
840 100
841 ],
842 "flags": [],
843 "order": 12,
844 "mode": 0,
845 "inputs": [
846 {
847 "localized_name": "conditioning",
848 "name": "conditioning",
849 "type": "CONDITIONING",
850 "link": 294
851 },
852 {
853 "localized_name": "latent",
854 "name": "latent",
855 "shape": 7,
856 "type": "LATENT",
857 "link": 293
858 }
859 ],
860 "outputs": [
861 {
862 "localized_name": "CONDITIONING",
863 "name": "CONDITIONING",
864 "type": "CONDITIONING",
865 "links": [
866 292
867 ]
868 }
869 ],
870 "properties": {
871 "Node name for S&R": "ReferenceLatent",
872 "cnr_id": "comfy-core",
873 "ver": "0.3.41",
874 "ue_properties": {
875 "widget_ue_connectable": [],
876 "version": "7.7",
877 "input_ue_unconnectable": []
878 }
879 },
880 "widgets_values": []
881 },
882 {
883 "id": 146,
884 "type": "ImageStitch",
885 "pos": [
886 360,
887 770
888 ],
889 "size": [
890 270,
891 160
892 ],
893 "flags": [],
894 "order": 11,
895 "mode": 0,
896 "inputs": [
897 {
898 "localized_name": "image1",
899 "name": "image1",
900 "type": "IMAGE",
901 "link": 297
902 },
903 {
904 "localized_name": "image2",
905 "name": "image2",
906 "shape": 7,
907 "type": "IMAGE",
908 "link": 298
909 }
910 ],
911 "outputs": [
912 {
913 "localized_name": "IMAGE",
914 "name": "IMAGE",
915 "type": "IMAGE",
916 "links": [
917 251
918 ]
919 }
920 ],
921 "properties": {
922 "Node name for S&R": "ImageStitch",
923 "cnr_id": "comfy-core",
924 "ver": "0.3.40",
925 "ue_properties": {
926 "widget_ue_connectable": [],
927 "version": "7.7",
928 "input_ue_unconnectable": []
929 }
930 },
931 "widgets_values": [
932 "right",
933 true,
934 0,
935 "white"
936 ]
937 },
938 {
939 "id": 42,
940 "type": "FluxKontextImageScale",
941 "pos": [
942 750,
943 800
944 ],
945 "size": [
946 270,
947 80
948 ],
949 "flags": {
950 "collapsed": true
951 },
952 "order": 8,
953 "mode": 0,
954 "inputs": [
955 {
956 "localized_name": "image",
957 "name": "image",
958 "type": "IMAGE",
959 "link": 251
960 }
961 ],
962 "outputs": [
963 {
964 "localized_name": "IMAGE",
965 "name": "IMAGE",
966 "type": "IMAGE",
967 "links": [
968 222
969 ]
970 }
971 ],
972 "properties": {
973 "Node name for S&R": "FluxKontextImageScale",
974 "cnr_id": "comfy-core",
975 "ver": "0.3.38",
976 "ue_properties": {
977 "widget_ue_connectable": [],
978 "version": "7.7",
979 "input_ue_unconnectable": []
980 }
981 },
982 "widgets_values": []
983 },
984 {
985 "id": 178,
986 "type": "MarkdownNote",
987 "pos": [
988 1350,
989 -210
990 ],
991 "size": [
992 330,
993 260
994 ],
995 "flags": [],
996 "order": 0,
997 "mode": 0,
998 "inputs": [],
999 "outputs": [],
1000 "title": "About multiple images reference",
1001 "properties": {
1002 "ue_properties": {
1003 "widget_ue_connectable": [],
1004 "version": "7.7",
1005 "input_ue_unconnectable": []
1006 }
1007 },
1008 "widgets_values": [
1009 "[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**."
1010 ],
1011 "color": "#222",
1012 "bgcolor": "#000"
1013 },
1014 {
1015 "id": 31,
1016 "type": "KSampler",
1017 "pos": [
1018 1700,
1019 160
1020 ],
1021 "size": [
1022 330,
1023 560
1024 ],
1025 "flags": [],
1026 "order": 3,
1027 "mode": 0,
1028 "inputs": [
1029 {
1030 "localized_name": "model",
1031 "name": "model",
1032 "type": "MODEL",
1033 "link": 58
1034 },
1035 {
1036 "localized_name": "positive",
1037 "name": "positive",
1038 "type": "CONDITIONING",
1039 "link": 57
1040 },
1041 {
1042 "localized_name": "negative",
1043 "name": "negative",
1044 "type": "CONDITIONING",
1045 "link": 238
1046 },
1047 {
1048 "localized_name": "latent_image",
1049 "name": "latent_image",
1050 "type": "LATENT",
1051 "link": 291
1052 }
1053 ],
1054 "outputs": [
1055 {
1056 "localized_name": "LATENT",
1057 "name": "LATENT",
1058 "type": "LATENT",
1059 "slot_index": 0,
1060 "links": [
1061 52
1062 ]
1063 }
1064 ],
1065 "properties": {
1066 "Node name for S&R": "KSampler",
1067 "cnr_id": "comfy-core",
1068 "ver": "0.3.38",
1069 "ue_properties": {
1070 "widget_ue_connectable": [],
1071 "version": "7.7",
1072 "input_ue_unconnectable": []
1073 }
1074 },
1075 "widgets_values": [
1076 169405236028824,
1077 "randomize",
1078 20,
1079 1,
1080 "euler",
1081 "simple",
1082 1
1083 ]
1084 },
1085 {
1086 "id": 6,
1087 "type": "CLIPTextEncode",
1088 "pos": [
1089 780,
1090 120
1091 ],
1092 "size": [
1093 520,
1094 440
1095 ],
1096 "flags": [],
1097 "order": 1,
1098 "mode": 0,
1099 "inputs": [
1100 {
1101 "localized_name": "clip",
1102 "name": "clip",
1103 "type": "CLIP",
1104 "link": 59
1105 },
1106 {
1107 "localized_name": "text",
1108 "name": "text",
1109 "type": "STRING",
1110 "widget": {
1111 "name": "text"
1112 },
1113 "link": 300
1114 }
1115 ],
1116 "outputs": [
1117 {
1118 "localized_name": "CONDITIONING",
1119 "name": "CONDITIONING",
1120 "type": "CONDITIONING",
1121 "slot_index": 0,
1122 "links": [
1123 237,
1124 294
1125 ]
1126 }
1127 ],
1128 "title": "CLIP Text Encode (Positive Prompt)",
1129 "properties": {
1130 "Node name for S&R": "CLIPTextEncode",
1131 "cnr_id": "comfy-core",
1132 "ver": "0.3.38",
1133 "ue_properties": {
1134 "widget_ue_connectable": [],
1135 "version": "7.7",
1136 "input_ue_unconnectable": []
1137 }
1138 },
1139 "widgets_values": [
1140 "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."
1141 ],
1142 "color": "#232",
1143 "bgcolor": "#353"
1144 }
1145 ],
1146 "groups": [
1147 {
1148 "id": 1,
1149 "title": "Step 1- Load models",
1150 "bounding": [
1151 360,
1152 40,
1153 370,
1154 690
1155 ],
1156 "color": "#3f789e",
1157 "font_size": 24,
1158 "flags": []
1159 },
1160 {
1161 "id": 5,
1162 "title": "Step 3 - Prompt",
1163 "bounding": [
1164 760,
1165 40,
1166 570,
1167 690
1168 ],
1169 "color": "#3f789e",
1170 "font_size": 24,
1171 "flags": []
1172 }
1173 ],
1174 "links": [
1175 {
1176 "id": 237,
1177 "origin_id": 6,
1178 "origin_slot": 0,
1179 "target_id": 135,
1180 "target_slot": 0,
1181 "type": "CONDITIONING"
1182 },
1183 {
1184 "id": 52,
1185 "origin_id": 31,
1186 "origin_slot": 0,
1187 "target_id": 8,
1188 "target_slot": 0,
1189 "type": "LATENT"
1190 },
1191 {
1192 "id": 61,
1193 "origin_id": 39,
1194 "origin_slot": 0,
1195 "target_id": 8,
1196 "target_slot": 1,
1197 "type": "VAE"
1198 },
1199 {
1200 "id": 222,
1201 "origin_id": 42,
1202 "origin_slot": 0,
1203 "target_id": 124,
1204 "target_slot": 0,
1205 "type": "IMAGE"
1206 },
1207 {
1208 "id": 223,
1209 "origin_id": 39,
1210 "origin_slot": 0,
1211 "target_id": 124,
1212 "target_slot": 1,
1213 "type": "VAE"
1214 },
1215 {
1216 "id": 292,
1217 "origin_id": 177,
1218 "origin_slot": 0,
1219 "target_id": 35,
1220 "target_slot": 0,
1221 "type": "CONDITIONING"
1222 },
1223 {
1224 "id": 294,
1225 "origin_id": 6,
1226 "origin_slot": 0,
1227 "target_id": 177,
1228 "target_slot": 0,
1229 "type": "CONDITIONING"
1230 },
1231 {
1232 "id": 293,
1233 "origin_id": 124,
1234 "origin_slot": 0,
1235 "target_id": 177,
1236 "target_slot": 1,
1237 "type": "LATENT"
1238 },
1239 {
1240 "id": 59,
1241 "origin_id": 38,
1242 "origin_slot": 0,
1243 "target_id": 6,
1244 "target_slot": 0,
1245 "type": "CLIP"
1246 },
1247 {
1248 "id": 58,
1249 "origin_id": 37,
1250 "origin_slot": 0,
1251 "target_id": 31,
1252 "target_slot": 0,
1253 "type": "MODEL"
1254 },
1255 {
1256 "id": 57,
1257 "origin_id": 35,
1258 "origin_slot": 0,
1259 "target_id": 31,
1260 "target_slot": 1,
1261 "type": "CONDITIONING"
1262 },
1263 {
1264 "id": 238,
1265 "origin_id": 135,
1266 "origin_slot": 0,
1267 "target_id": 31,
1268 "target_slot": 2,
1269 "type": "CONDITIONING"
1270 },
1271 {
1272 "id": 291,
1273 "origin_id": 124,
1274 "origin_slot": 0,
1275 "target_id": 31,
1276 "target_slot": 3,
1277 "type": "LATENT"
1278 },
1279 {
1280 "id": 251,
1281 "origin_id": 146,
1282 "origin_slot": 0,
1283 "target_id": 42,
1284 "target_slot": 0,
1285 "type": "IMAGE"
1286 },
1287 {
1288 "id": 297,
1289 "origin_id": -10,
1290 "origin_slot": 0,
1291 "target_id": 146,
1292 "target_slot": 0,
1293 "type": "IMAGE"
1294 },
1295 {
1296 "id": 298,
1297 "origin_id": -10,
1298 "origin_slot": 1,
1299 "target_id": 146,
1300 "target_slot": 1,
1301 "type": "IMAGE"
1302 },
1303 {
1304 "id": 240,
1305 "origin_id": 8,
1306 "origin_slot": 0,
1307 "target_id": -20,
1308 "target_slot": 0,
1309 "type": "IMAGE"
1310 },
1311 {
1312 "id": 300,
1313 "origin_id": -10,
1314 "origin_slot": 2,
1315 "target_id": 6,
1316 "target_slot": 1,
1317 "type": "STRING"
1318 },
1319 {
1320 "id": 302,
1321 "origin_id": -10,
1322 "origin_slot": 3,
1323 "target_id": 37,
1324 "target_slot": 0,
1325 "type": "COMBO"
1326 },
1327 {
1328 "id": 303,
1329 "origin_id": -10,
1330 "origin_slot": 4,
1331 "target_id": 38,
1332 "target_slot": 0,
1333 "type": "COMBO"
1334 },
1335 {
1336 "id": 304,
1337 "origin_id": -10,
1338 "origin_slot": 5,
1339 "target_id": 38,
1340 "target_slot": 1,
1341 "type": "COMBO"
1342 },
1343 {
1344 "id": 305,
1345 "origin_id": -10,
1346 "origin_slot": 6,
1347 "target_id": 39,
1348 "target_slot": 0,
1349 "type": "COMBO"
1350 }
1351 ],
1352 "extra": {
1353 "workflowRendererVersion": "LG",
1354 "ue_links": []
1355 }
1356 }
1357 ]
1358 },
1359 "config": [],
1360 "extra": {
1361 "ds": {
1362 "scale": 0.6830134553650705,
1363 "offset": [
1364 925.8941368588916,
1365 323.577244337729
1366 ]
1367 },
1368 "frontendVersion": "1.41.13",
1369 "workflowRendererVersion": "LG",
1370 "groupNodes": [],
1371 "VHS_latentpreview": false,
1372 "VHS_latentpreviewrate": 0,
1373 "VHS_MetadataImage": true,
1374 "VHS_KeepIntermediate": true,
1375 "ue_links": []
1376 },
1377 "version": 0.4
1378}