工作流 /
图像 /
Flux.1 外绘

Flux.1 外绘
Flux.1 Outpaint
使用 Flux.1 扩图将图像扩展到边界之外。
图像
14 个节点 1 个输入 162 次使用 ComfyUI ≥ 0.0.4 ComfyUI 16 KB
需要的权重
这个工作流引用了 4 个权重文件,其中 4 个能在本站模型库里找到。
ae.safetensors
在模型库查看
clip_l.safetensors
在模型库查看
flux1-fill-dev.safetensors
在模型库查看
t5xxl_fp16.safetensors
在模型库查看
节点构成
DualCLIPLoader
× 1
UNETLoader
× 1
CLIPTextEncode
× 1
VAELoader
× 1
ConditioningZeroOut
× 1
FluxGuidance
× 1
DifferentialDiffusion
× 1
ImagePadForOutpaint
× 1
VAEDecode
× 1
InpaintModelConditioning
× 1
KSampler
× 1
SaveImage
× 1
LoadImage
× 1
MarkdownNote
× 1
官方标注的模型
FLUX.1FLUX
工作流 JSON
和上面「下载工作流 JSON」是同一份文件。
1{
2 "id": "aff23af9-e8f4-41f8-8e4c-0854e355b753",
3 "revision": 0,
4 "last_node_id": 46,
5 "last_link_id": 100,
6 "nodes": [
7 {
8 "id": 34,
9 "type": "DualCLIPLoader",
10 "pos": [
11 -240,
12 120
13 ],
14 "size": [
15 315,
16 130
17 ],
18 "flags": [],
19 "order": 0,
20 "mode": 0,
21 "inputs": [],
22 "outputs": [
23 {
24 "name": "CLIP",
25 "type": "CLIP",
26 "links": [
27 62
28 ]
29 }
30 ],
31 "properties": {
32 "cnr_id": "comfy-core",
33 "ver": "0.3.64",
34 "Node name for S&R": "DualCLIPLoader",
35 "models": [
36 {
37 "name": "clip_l.safetensors",
38 "url": "https://huggingface.co/comfyanonymous/flux_text_encoders/resolve/main/clip_l.safetensors?download=true",
39 "directory": "text_encoders"
40 },
41 {
42 "name": "t5xxl_fp16.safetensors",
43 "url": "https://huggingface.co/comfyanonymous/flux_text_encoders/resolve/main/t5xxl_fp16.safetensors?download=true",
44 "directory": "text_encoders"
45 }
46 ]
47 },
48 "widgets_values": [
49 "clip_l.safetensors",
50 "t5xxl_fp16.safetensors",
51 "flux",
52 "default"
53 ]
54 },
55 {
56 "id": 31,
57 "type": "UNETLoader",
58 "pos": [
59 -240,
60 -10
61 ],
62 "size": [
63 315,
64 82
65 ],
66 "flags": [],
67 "order": 1,
68 "mode": 0,
69 "inputs": [],
70 "outputs": [
71 {
72 "name": "MODEL",
73 "type": "MODEL",
74 "slot_index": 0,
75 "links": [
76 85
77 ]
78 }
79 ],
80 "properties": {
81 "cnr_id": "comfy-core",
82 "ver": "0.3.64",
83 "Node name for S&R": "UNETLoader",
84 "models": [
85 {
86 "name": "flux1-fill-dev.safetensors",
87 "url": "https://huggingface.co/Comfy-Org/flux1-dev/resolve/main/split_files/diffusion_models/flux1-fill-dev.safetensors",
88 "directory": "diffusion_models"
89 }
90 ]
91 },
92 "widgets_values": [
93 "flux1-fill-dev.safetensors",
94 "default"
95 ]
96 },
97 {
98 "id": 23,
99 "type": "CLIPTextEncode",
100 "pos": [
101 120,
102 110
103 ],
104 "size": [
105 422.8500061035156,
106 164.30999755859375
107 ],
108 "flags": [],
109 "order": 5,
110 "mode": 0,
111 "inputs": [
112 {
113 "name": "clip",
114 "type": "CLIP",
115 "link": 62
116 }
117 ],
118 "outputs": [
119 {
120 "name": "CONDITIONING",
121 "type": "CONDITIONING",
122 "slot_index": 0,
123 "links": [
124 41,
125 99
126 ]
127 }
128 ],
129 "title": "CLIP Text Encode (Positive Prompt)",
130 "properties": {
131 "cnr_id": "comfy-core",
132 "ver": "0.3.64",
133 "Node name for S&R": "CLIPTextEncode"
134 },
135 "widgets_values": [
136 "beautiful scenery"
137 ],
138 "color": "#232",
139 "bgcolor": "#353"
140 },
141 {
142 "id": 32,
143 "type": "VAELoader",
144 "pos": [
145 -240,
146 290
147 ],
148 "size": [
149 315,
150 58
151 ],
152 "flags": [],
153 "order": 2,
154 "mode": 0,
155 "inputs": [],
156 "outputs": [
157 {
158 "name": "VAE",
159 "type": "VAE",
160 "slot_index": 0,
161 "links": [
162 60,
163 82
164 ]
165 }
166 ],
167 "properties": {
168 "cnr_id": "comfy-core",
169 "ver": "0.3.64",
170 "Node name for S&R": "VAELoader",
171 "models": [
172 {
173 "name": "ae.safetensors",
174 "url": "https://huggingface.co/Comfy-Org/Lumina_Image_2.0_Repackaged/resolve/main/split_files/vae/ae.safetensors",
175 "directory": "vae"
176 }
177 ]
178 },
179 "widgets_values": [
180 "ae.safetensors"
181 ]
182 },
183 {
184 "id": 46,
185 "type": "ConditioningZeroOut",
186 "pos": [
187 320,
188 430
189 ],
190 "size": [
191 197.712890625,
192 26
193 ],
194 "flags": [],
195 "order": 9,
196 "mode": 0,
197 "inputs": [
198 {
199 "name": "conditioning",
200 "type": "CONDITIONING",
201 "link": 99
202 }
203 ],
204 "outputs": [
205 {
206 "name": "CONDITIONING",
207 "type": "CONDITIONING",
208 "links": [
209 100
210 ]
211 }
212 ],
213 "properties": {
214 "cnr_id": "comfy-core",
215 "ver": "0.3.64",
216 "Node name for S&R": "ConditioningZeroOut"
217 },
218 "widgets_values": []
219 },
220 {
221 "id": 26,
222 "type": "FluxGuidance",
223 "pos": [
224 210,
225 330
226 ],
227 "size": [
228 317.3999938964844,
229 58
230 ],
231 "flags": [],
232 "order": 8,
233 "mode": 0,
234 "inputs": [
235 {
236 "name": "conditioning",
237 "type": "CONDITIONING",
238 "link": 41
239 }
240 ],
241 "outputs": [
242 {
243 "name": "CONDITIONING",
244 "type": "CONDITIONING",
245 "slot_index": 0,
246 "links": [
247 80
248 ]
249 }
250 ],
251 "properties": {
252 "cnr_id": "comfy-core",
253 "ver": "0.3.64",
254 "Node name for S&R": "FluxGuidance"
255 },
256 "widgets_values": [
257 30
258 ]
259 },
260 {
261 "id": 39,
262 "type": "DifferentialDiffusion",
263 "pos": [
264 120,
265 -40
266 ],
267 "size": [
268 277.20001220703125,
269 58
270 ],
271 "flags": [],
272 "order": 6,
273 "mode": 0,
274 "inputs": [
275 {
276 "name": "model",
277 "type": "MODEL",
278 "link": 85
279 }
280 ],
281 "outputs": [
282 {
283 "name": "MODEL",
284 "type": "MODEL",
285 "slot_index": 0,
286 "links": [
287 86
288 ]
289 }
290 ],
291 "properties": {
292 "cnr_id": "comfy-core",
293 "ver": "0.3.64",
294 "Node name for S&R": "DifferentialDiffusion"
295 },
296 "widgets_values": [
297 1
298 ]
299 },
300 {
301 "id": 44,
302 "type": "ImagePadForOutpaint",
303 "pos": [
304 120,
305 530
306 ],
307 "size": [
308 315,
309 174
310 ],
311 "flags": [],
312 "order": 7,
313 "mode": 0,
314 "inputs": [
315 {
316 "name": "image",
317 "type": "IMAGE",
318 "link": 96
319 }
320 ],
321 "outputs": [
322 {
323 "name": "IMAGE",
324 "type": "IMAGE",
325 "slot_index": 0,
326 "links": [
327 97
328 ]
329 },
330 {
331 "name": "MASK",
332 "type": "MASK",
333 "slot_index": 1,
334 "links": [
335 98
336 ]
337 }
338 ],
339 "properties": {
340 "cnr_id": "comfy-core",
341 "ver": "0.3.64",
342 "Node name for S&R": "ImagePadForOutpaint"
343 },
344 "widgets_values": [
345 400,
346 0,
347 400,
348 400,
349 24
350 ]
351 },
352 {
353 "id": 8,
354 "type": "VAEDecode",
355 "pos": [
356 580,
357 -130
358 ],
359 "size": [
360 210,
361 46
362 ],
363 "flags": [],
364 "order": 12,
365 "mode": 0,
366 "inputs": [
367 {
368 "name": "samples",
369 "type": "LATENT",
370 "link": 7
371 },
372 {
373 "name": "vae",
374 "type": "VAE",
375 "link": 60
376 }
377 ],
378 "outputs": [
379 {
380 "name": "IMAGE",
381 "type": "IMAGE",
382 "slot_index": 0,
383 "links": [
384 95
385 ]
386 }
387 ],
388 "properties": {
389 "cnr_id": "comfy-core",
390 "ver": "0.3.64",
391 "Node name for S&R": "VAEDecode"
392 },
393 "widgets_values": []
394 },
395 {
396 "id": 38,
397 "type": "InpaintModelConditioning",
398 "pos": [
399 580,
400 530
401 ],
402 "size": [
403 302.3999938964844,
404 138
405 ],
406 "flags": [],
407 "order": 10,
408 "mode": 0,
409 "inputs": [
410 {
411 "name": "positive",
412 "type": "CONDITIONING",
413 "link": 80
414 },
415 {
416 "name": "negative",
417 "type": "CONDITIONING",
418 "link": 100
419 },
420 {
421 "name": "vae",
422 "type": "VAE",
423 "link": 82
424 },
425 {
426 "name": "pixels",
427 "type": "IMAGE",
428 "link": 97
429 },
430 {
431 "name": "mask",
432 "type": "MASK",
433 "link": 98
434 }
435 ],
436 "outputs": [
437 {
438 "name": "positive",
439 "type": "CONDITIONING",
440 "slot_index": 0,
441 "links": [
442 77
443 ]
444 },
445 {
446 "name": "negative",
447 "type": "CONDITIONING",
448 "slot_index": 1,
449 "links": [
450 78
451 ]
452 },
453 {
454 "name": "latent",
455 "type": "LATENT",
456 "slot_index": 2,
457 "links": [
458 88
459 ]
460 }
461 ],
462 "properties": {
463 "cnr_id": "comfy-core",
464 "ver": "0.3.64",
465 "Node name for S&R": "InpaintModelConditioning"
466 },
467 "widgets_values": [
468 false
469 ]
470 },
471 {
472 "id": 3,
473 "type": "KSampler",
474 "pos": [
475 580,
476 -40
477 ],
478 "size": [
479 310,
480 510
481 ],
482 "flags": [],
483 "order": 11,
484 "mode": 0,
485 "inputs": [
486 {
487 "name": "model",
488 "type": "MODEL",
489 "link": 86
490 },
491 {
492 "name": "positive",
493 "type": "CONDITIONING",
494 "link": 77
495 },
496 {
497 "name": "negative",
498 "type": "CONDITIONING",
499 "link": 78
500 },
501 {
502 "name": "latent_image",
503 "type": "LATENT",
504 "link": 88
505 }
506 ],
507 "outputs": [
508 {
509 "name": "LATENT",
510 "type": "LATENT",
511 "slot_index": 0,
512 "links": [
513 7
514 ]
515 }
516 ],
517 "properties": {
518 "cnr_id": "comfy-core",
519 "ver": "0.3.64",
520 "Node name for S&R": "KSampler"
521 },
522 "widgets_values": [
523 164211176398261,
524 "randomize",
525 20,
526 1,
527 "euler",
528 "normal",
529 1
530 ]
531 },
532 {
533 "id": 9,
534 "type": "SaveImage",
535 "pos": [
536 920,
537 -100
538 ],
539 "size": [
540 828.9500122070312,
541 893.8499755859375
542 ],
543 "flags": [],
544 "order": 13,
545 "mode": 0,
546 "inputs": [
547 {
548 "name": "images",
549 "type": "IMAGE",
550 "link": 95
551 }
552 ],
553 "outputs": [],
554 "properties": {
555 "cnr_id": "comfy-core",
556 "ver": "0.3.64"
557 },
558 "widgets_values": [
559 "ComfyUI"
560 ]
561 },
562 {
563 "id": 17,
564 "type": "LoadImage",
565 "pos": [
566 -240,
567 450
568 ],
569 "size": [
570 315,
571 314
572 ],
573 "flags": [],
574 "order": 3,
575 "mode": 0,
576 "inputs": [],
577 "outputs": [
578 {
579 "name": "IMAGE",
580 "type": "IMAGE",
581 "slot_index": 0,
582 "links": [
583 96
584 ]
585 },
586 {
587 "name": "MASK",
588 "type": "MASK",
589 "slot_index": 1,
590 "links": []
591 }
592 ],
593 "properties": {
594 "cnr_id": "comfy-core",
595 "ver": "0.3.64",
596 "Node name for S&R": "LoadImage"
597 },
598 "widgets_values": [
599 "flux_fill_outpaint_example_input_image.png",
600 "image"
601 ]
602 },
603 {
604 "id": 45,
605 "type": "MarkdownNote",
606 "pos": [
607 -660,
608 -50
609 ],
610 "size": [
611 390,
612 400
613 ],
614 "flags": [],
615 "order": 4,
616 "mode": 0,
617 "inputs": [],
618 "outputs": [],
619 "title": "Note: Model links",
620 "properties": [],
621 "widgets_values": [
622 "[Tutorial](https://docs.comfy.org/tutorials/flux/flux-1-fill-dev)\n\n## Model links\n\n- [Hugging Face:Comfy-Org/flux1-dev](https://huggingface.co/Comfy-Org/flux1-dev)\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-dev](https://modelscope.cn/models/Comfy-Org/flux1-dev)\n- [ModelScope:Comfy-Org/Lumina_Image_2.0_Repackaged](https://modelscope.cn/models/Comfy-Org/Lumina_Image_2.0_Repackaged)\n\n**text_encoders**\n\n- [clip_l.safetensors](https://huggingface.co/comfyanonymous/flux_text_encoders/resolve/main/clip_l.safetensors?download=true) (234.7 MB)\n- [t5xxl_fp16.safetensors](https://huggingface.co/comfyanonymous/flux_text_encoders/resolve/main/t5xxl_fp16.safetensors?download=true) (9.12 GB)\n\n**diffusion_models**\n\n- [flux1-fill-dev.safetensors](https://huggingface.co/Comfy-Org/flux1-dev/resolve/main/split_files/diffusion_models/flux1-fill-dev.safetensors) (22.17 GB)\n\n**vae**\n\n- [ae.safetensors](https://huggingface.co/Comfy-Org/Lumina_Image_2.0_Repackaged/resolve/main/split_files/vae/ae.safetensors) (319.8 MB)\n\nModel Storage Location\n\n```\n📂 ComfyUI/\n├── 📂 models/\n│ ├── 📂 text_encoders/\n│ │ ├── clip_l.safetensors\n│ │ └── t5xxl_fp16.safetensors\n│ ├── 📂 diffusion_models/\n│ │ └── flux1-fill-dev.safetensors\n│ └── 📂 vae/\n│ └── ae.safetensors\n```\n"
623 ],
624 "color": "#222",
625 "bgcolor": "#000"
626 }
627 ],
628 "links": [
629 [
630 7,
631 3,
632 0,
633 8,
634 0,
635 "LATENT"
636 ],
637 [
638 41,
639 23,
640 0,
641 26,
642 0,
643 "CONDITIONING"
644 ],
645 [
646 60,
647 32,
648 0,
649 8,
650 1,
651 "VAE"
652 ],
653 [
654 62,
655 34,
656 0,
657 23,
658 0,
659 "CLIP"
660 ],
661 [
662 77,
663 38,
664 0,
665 3,
666 1,
667 "CONDITIONING"
668 ],
669 [
670 78,
671 38,
672 1,
673 3,
674 2,
675 "CONDITIONING"
676 ],
677 [
678 80,
679 26,
680 0,
681 38,
682 0,
683 "CONDITIONING"
684 ],
685 [
686 82,
687 32,
688 0,
689 38,
690 2,
691 "VAE"
692 ],
693 [
694 85,
695 31,
696 0,
697 39,
698 0,
699 "MODEL"
700 ],
701 [
702 86,
703 39,
704 0,
705 3,
706 0,
707 "MODEL"
708 ],
709 [
710 88,
711 38,
712 2,
713 3,
714 3,
715 "LATENT"
716 ],
717 [
718 95,
719 8,
720 0,
721 9,
722 0,
723 "IMAGE"
724 ],
725 [
726 96,
727 17,
728 0,
729 44,
730 0,
731 "IMAGE"
732 ],
733 [
734 97,
735 44,
736 0,
737 38,
738 3,
739 "IMAGE"
740 ],
741 [
742 98,
743 44,
744 1,
745 38,
746 4,
747 "MASK"
748 ],
749 [
750 99,
751 23,
752 0,
753 46,
754 0,
755 "CONDITIONING"
756 ],
757 [
758 100,
759 46,
760 0,
761 38,
762 1,
763 "CONDITIONING"
764 ]
765 ],
766 "groups": [
767 {
768 "id": 1,
769 "title": "Prompt",
770 "bounding": [
771 110,
772 40,
773 442.8500061035156,
774 429.6000061035156
775 ],
776 "color": "#3f789e",
777 "font_size": 24,
778 "flags": []
779 },
780 {
781 "id": 2,
782 "title": "Step 1 - Load models",
783 "bounding": [
784 -250,
785 -80,
786 335,
787 437.6000061035156
788 ],
789 "color": "#3f789e",
790 "font_size": 24,
791 "flags": []
792 },
793 {
794 "id": 3,
795 "title": "Step 2 - Load image",
796 "bounding": [
797 -250,
798 380,
799 335,
800 397.6000061035156
801 ],
802 "color": "#3f789e",
803 "font_size": 24,
804 "flags": []
805 }
806 ],
807 "config": [],
808 "extra": {
809 "ds": {
810 "scale": 0.3728858397068122,
811 "offset": [
812 1324.264639087212,
813 801.5085744213577
814 ]
815 },
816 "frontendVersion": "1.27.10",
817 "VHS_latentpreview": false,
818 "VHS_latentpreviewrate": 0,
819 "VHS_MetadataImage": true,
820 "VHS_KeepIntermediate": true
821 },
822 "version": 0.4
823}