ComfyPilotComfyPilot
工作流 / 角色与时尚 / 单张图像生成多张一致镜头
单张图像生成多张一致镜头

单张图像生成多张一致镜头

Single Image to Multiple Consistent Shots

上传一张输入图像,自动生成X个相机角度和拍摄类型的提示。

角色与时尚 33 个节点 1 个输入 53 次使用 ComfyUI ≥ 0.35.2 hellorob 173 KB

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

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

节点构成

Reroute × 11
PreviewAny × 7
SaveImage × 6
LoadImage × 1
PrimitiveNode × 1
d33c1791-dfd2-4102-8540-aa63e4434cd2 × 1
f2228dc9-64e8-43b1-a4ca-b8a57eed8f64 × 1
e3dd2fcb-0e5e-47a8-963b-adea96749eb0 × 1
601fd020-3eba-4b24-b15f-a2a9c0307d3a × 1
eaabb89a-2cd6-4960-ad44-1b152bff77c1 × 1
86a340d1-ba23-44b6-8470-6b3d64167d65 × 1
GeminiNode × 1

官方标注的模型

Nano Banana Pro

工作流 JSON

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

1{
2 "id": "987b0c19-0edf-4fae-962a-1fd3cf8d155e",
3 "revision": 0,
4 "last_node_id": 61,
5 "last_link_id": 87,
6 "nodes": [
7 {
8 "id": 5,
9 "type": "SaveImage",
10 "pos": [
11 1700,
12 1230
13 ],
14 "size": [
15 800,
16 556.453125
17 ],
18 "flags": [],
19 "order": 8,
20 "mode": 0,
21 "inputs": [
22 {
23 "name": "images",
24 "type": "IMAGE",
25 "link": 15
26 }
27 ],
28 "outputs": [],
29 "title": "Save Image 1",
30 "properties": {
31 "cnr_id": "comfy-core",
32 "ver": "0.9.2",
33 "Node name for S&R": "SaveImage"
34 },
35 "widgets_values": [
36 "ComfyUI-image_1"
37 ]
38 },
39 {
40 "id": 6,
41 "type": "LoadImage",
42 "pos": [
43 149.9998728353683,
44 1229.9999499895139
45 ],
46 "size": [
47 750,
48 552.546875
49 ],
50 "flags": [],
51 "order": 0,
52 "mode": 0,
53 "inputs": [],
54 "outputs": [
55 {
56 "name": "IMAGE",
57 "type": "IMAGE",
58 "links": [
59 2,
60 86,
61 87
62 ]
63 },
64 {
65 "name": "MASK",
66 "type": "MASK",
67 "links": null
68 }
69 ],
70 "title": "Load Reference Image",
71 "properties": {
72 "cnr_id": "comfy-core",
73 "ver": "0.9.2",
74 "Node name for S&R": "LoadImage"
75 },
76 "widgets_values": [
77 "sportbike_rider.png",
78 "image"
79 ],
80 "color": "#232",
81 "bgcolor": "#353"
82 },
83 {
84 "id": 7,
85 "type": "PrimitiveNode",
86 "pos": [
87 529.9986511083428,
88 1030.0002298602803
89 ],
90 "size": [
91 372,
92 118.65625
93 ],
94 "flags": [],
95 "order": 1,
96 "mode": 0,
97 "inputs": [],
98 "outputs": [
99 {
100 "name": "COMBO",
101 "type": "COMBO",
102 "widget": {
103 "name": "aspect_ratio"
104 },
105 "links": [
106 14,
107 81,
108 82,
109 83,
110 84,
111 85
112 ]
113 }
114 ],
115 "title": "Aspect Ratio for Generated Images",
116 "properties": {
117 "Run widget replace on values": false
118 },
119 "widgets_values": [
120 "16:9",
121 "fixed",
122 ""
123 ],
124 "color": "#232",
125 "bgcolor": "#353"
126 },
127 {
128 "id": 10,
129 "type": "d33c1791-dfd2-4102-8540-aa63e4434cd2",
130 "pos": [
131 1700.000304923993,
132 870.0000813907453
133 ],
134 "size": [
135 400,
136 271.65625
137 ],
138 "flags": [],
139 "order": 5,
140 "mode": 0,
141 "inputs": [
142 {
143 "name": "value",
144 "type": "STRING",
145 "widget": {
146 "name": "value"
147 },
148 "link": 12
149 },
150 {
151 "label": "image0",
152 "name": "images.image0",
153 "type": "IMAGE",
154 "link": 86
155 },
156 {
157 "name": "aspect_ratio",
158 "type": "COMBO",
159 "widget": {
160 "name": "aspect_ratio"
161 },
162 "link": 14
163 }
164 ],
165 "outputs": [
166 {
167 "name": "IMAGE",
168 "type": "IMAGE",
169 "links": [
170 15
171 ]
172 },
173 {
174 "name": "STRING",
175 "type": "STRING",
176 "links": [
177 16
178 ]
179 },
180 {
181 "label": "IMAGES",
182 "name": "IMAGE_1",
183 "type": "IMAGE",
184 "links": []
185 }
186 ],
187 "title": "Generate Image 1",
188 "properties": {
189 "proxyWidgets": [
190 [
191 "-1",
192 "value"
193 ],
194 [
195 "-1",
196 "aspect_ratio"
197 ],
198 [
199 "9",
200 "seed"
201 ]
202 ],
203 "cnr_id": "comfy-core",
204 "ver": "0.10.0"
205 },
206 "widgets_values": []
207 },
208 {
209 "id": 11,
210 "type": "PreviewAny",
211 "pos": [
212 2130.000300082877,
213 870.0000813907453
214 ],
215 "size": [
216 370,
217 153
218 ],
219 "flags": [],
220 "order": 9,
221 "mode": 0,
222 "inputs": [
223 {
224 "name": "source",
225 "type": "*",
226 "link": 16
227 }
228 ],
229 "outputs": [],
230 "title": "Preview Prompt 1",
231 "properties": {
232 "cnr_id": "comfy-core",
233 "ver": "0.9.2",
234 "Node name for S&R": "PreviewAny"
235 },
236 "widgets_values": [
237 null,
238 null,
239 null
240 ]
241 },
242 {
243 "id": 18,
244 "type": "SaveImage",
245 "pos": [
246 2600,
247 1230
248 ],
249 "size": [
250 800,
251 556.453125
252 ],
253 "flags": [],
254 "order": 15,
255 "mode": 0,
256 "inputs": [
257 {
258 "name": "images",
259 "type": "IMAGE",
260 "link": 28
261 }
262 ],
263 "outputs": [],
264 "title": "Save Image 1",
265 "properties": {
266 "cnr_id": "comfy-core",
267 "ver": "0.9.2",
268 "Node name for S&R": "SaveImage"
269 },
270 "widgets_values": [
271 "ComfyUI-image_2"
272 ]
273 },
274 {
275 "id": 19,
276 "type": "f2228dc9-64e8-43b1-a4ca-b8a57eed8f64",
277 "pos": [
278 2599.9998669014594,
279 870.0000813907453
280 ],
281 "size": [
282 400,
283 271.65625
284 ],
285 "flags": [],
286 "order": 12,
287 "mode": 0,
288 "inputs": [
289 {
290 "name": "value",
291 "type": "STRING",
292 "widget": {
293 "name": "value"
294 },
295 "link": 72
296 },
297 {
298 "label": "image0",
299 "name": "images.image0",
300 "type": "IMAGE",
301 "link": 60
302 },
303 {
304 "name": "aspect_ratio",
305 "type": "COMBO",
306 "widget": {
307 "name": "aspect_ratio"
308 },
309 "link": 81
310 }
311 ],
312 "outputs": [
313 {
314 "name": "IMAGE",
315 "type": "IMAGE",
316 "links": [
317 28
318 ]
319 },
320 {
321 "name": "STRING",
322 "type": "STRING",
323 "links": [
324 31
325 ]
326 },
327 {
328 "label": "IMAGES",
329 "name": "IMAGE_1",
330 "type": "IMAGE",
331 "links": []
332 }
333 ],
334 "title": "Generate Image 2",
335 "properties": {
336 "proxyWidgets": [
337 [
338 "-1",
339 "value"
340 ],
341 [
342 "-1",
343 "aspect_ratio"
344 ],
345 [
346 "9",
347 "seed"
348 ]
349 ],
350 "cnr_id": "comfy-core",
351 "ver": "0.10.0"
352 },
353 "widgets_values": []
354 },
355 {
356 "id": 20,
357 "type": "PreviewAny",
358 "pos": [
359 3030.0004096576204,
360 870.0000813907453
361 ],
362 "size": [
363 370,
364 153
365 ],
366 "flags": [],
367 "order": 16,
368 "mode": 0,
369 "inputs": [
370 {
371 "name": "source",
372 "type": "*",
373 "link": 31
374 }
375 ],
376 "outputs": [],
377 "title": "Preview Prompt 2",
378 "properties": {
379 "cnr_id": "comfy-core",
380 "ver": "0.9.2",
381 "Node name for S&R": "PreviewAny"
382 },
383 "widgets_values": [
384 null,
385 null,
386 null
387 ]
388 },
389 {
390 "id": 21,
391 "type": "SaveImage",
392 "pos": [
393 3500,
394 1230
395 ],
396 "size": [
397 800,
398 556.453125
399 ],
400 "flags": [],
401 "order": 20,
402 "mode": 0,
403 "inputs": [
404 {
405 "name": "images",
406 "type": "IMAGE",
407 "link": 33
408 }
409 ],
410 "outputs": [],
411 "title": "Save Image 3",
412 "properties": {
413 "cnr_id": "comfy-core",
414 "ver": "0.9.2",
415 "Node name for S&R": "SaveImage"
416 },
417 "widgets_values": [
418 "ComfyUI-image_3"
419 ]
420 },
421 {
422 "id": 22,
423 "type": "e3dd2fcb-0e5e-47a8-963b-adea96749eb0",
424 "pos": [
425 3500.0000859956576,
426 870.0000813907453
427 ],
428 "size": [
429 400,
430 271.65625
431 ],
432 "flags": [],
433 "order": 17,
434 "mode": 0,
435 "inputs": [
436 {
437 "name": "value",
438 "type": "STRING",
439 "widget": {
440 "name": "value"
441 },
442 "link": 74
443 },
444 {
445 "label": "image0",
446 "name": "images.image0",
447 "type": "IMAGE",
448 "link": 62
449 },
450 {
451 "name": "aspect_ratio",
452 "type": "COMBO",
453 "widget": {
454 "name": "aspect_ratio"
455 },
456 "link": 82
457 }
458 ],
459 "outputs": [
460 {
461 "name": "IMAGE",
462 "type": "IMAGE",
463 "links": [
464 33
465 ]
466 },
467 {
468 "name": "STRING",
469 "type": "STRING",
470 "links": [
471 36
472 ]
473 },
474 {
475 "label": "IMAGES",
476 "name": "IMAGE_1",
477 "type": "IMAGE",
478 "links": []
479 }
480 ],
481 "title": "Generate Image 3",
482 "properties": {
483 "proxyWidgets": [
484 [
485 "-1",
486 "value"
487 ],
488 [
489 "-1",
490 "aspect_ratio"
491 ],
492 [
493 "9",
494 "seed"
495 ]
496 ],
497 "cnr_id": "comfy-core",
498 "ver": "0.10.0"
499 },
500 "widgets_values": []
501 },
502 {
503 "id": 23,
504 "type": "PreviewAny",
505 "pos": [
506 3930.0010668296404,
507 870.0000813907453
508 ],
509 "size": [
510 370,
511 153
512 ],
513 "flags": [],
514 "order": 21,
515 "mode": 0,
516 "inputs": [
517 {
518 "name": "source",
519 "type": "*",
520 "link": 36
521 }
522 ],
523 "outputs": [],
524 "title": "Preview Prompt 3",
525 "properties": {
526 "cnr_id": "comfy-core",
527 "ver": "0.9.2",
528 "Node name for S&R": "PreviewAny"
529 },
530 "widgets_values": [
531 null,
532 null,
533 null
534 ]
535 },
536 {
537 "id": 24,
538 "type": "SaveImage",
539 "pos": [
540 4400,
541 1230
542 ],
543 "size": [
544 800,
545 556.453125
546 ],
547 "flags": [],
548 "order": 24,
549 "mode": 0,
550 "inputs": [
551 {
552 "name": "images",
553 "type": "IMAGE",
554 "link": 38
555 }
556 ],
557 "outputs": [],
558 "title": "Save Image 4",
559 "properties": {
560 "cnr_id": "comfy-core",
561 "ver": "0.9.2",
562 "Node name for S&R": "SaveImage"
563 },
564 "widgets_values": [
565 "ComfyUI-image_4"
566 ]
567 },
568 {
569 "id": 25,
570 "type": "601fd020-3eba-4b24-b15f-a2a9c0307d3a",
571 "pos": [
572 4400.000743167678,
573 870.0000813907453
574 ],
575 "size": [
576 400,
577 271.65625
578 ],
579 "flags": [],
580 "order": 22,
581 "mode": 0,
582 "inputs": [
583 {
584 "name": "value",
585 "type": "STRING",
586 "widget": {
587 "name": "value"
588 },
589 "link": 76
590 },
591 {
592 "label": "image0",
593 "name": "images.image0",
594 "type": "IMAGE",
595 "link": 65
596 },
597 {
598 "name": "aspect_ratio",
599 "type": "COMBO",
600 "widget": {
601 "name": "aspect_ratio"
602 },
603 "link": 83
604 }
605 ],
606 "outputs": [
607 {
608 "name": "IMAGE",
609 "type": "IMAGE",
610 "links": [
611 38
612 ]
613 },
614 {
615 "name": "STRING",
616 "type": "STRING",
617 "links": [
618 41
619 ]
620 },
621 {
622 "label": "IMAGES",
623 "name": "IMAGE_1",
624 "type": "IMAGE",
625 "links": []
626 }
627 ],
628 "title": "Generate Image 4",
629 "properties": {
630 "proxyWidgets": [
631 [
632 "-1",
633 "value"
634 ],
635 [
636 "-1",
637 "aspect_ratio"
638 ],
639 [
640 "9",
641 "seed"
642 ]
643 ],
644 "cnr_id": "comfy-core",
645 "ver": "0.10.0"
646 },
647 "widgets_values": []
648 },
649 {
650 "id": 26,
651 "type": "PreviewAny",
652 "pos": [
653 4829.999971690373,
654 870.0000813907453
655 ],
656 "size": [
657 370,
658 153
659 ],
660 "flags": [],
661 "order": 25,
662 "mode": 0,
663 "inputs": [
664 {
665 "name": "source",
666 "type": "*",
667 "link": 41
668 }
669 ],
670 "outputs": [],
671 "title": "Preview Prompt 4",
672 "properties": {
673 "cnr_id": "comfy-core",
674 "ver": "0.9.2",
675 "Node name for S&R": "PreviewAny"
676 },
677 "widgets_values": [
678 null,
679 null,
680 null
681 ]
682 },
683 {
684 "id": 27,
685 "type": "SaveImage",
686 "pos": [
687 5300,
688 1230
689 ],
690 "size": [
691 800,
692 556.453125
693 ],
694 "flags": [],
695 "order": 28,
696 "mode": 0,
697 "inputs": [
698 {
699 "name": "images",
700 "type": "IMAGE",
701 "link": 42
702 }
703 ],
704 "outputs": [],
705 "title": "Save Image 5",
706 "properties": {
707 "cnr_id": "comfy-core",
708 "ver": "0.9.2",
709 "Node name for S&R": "SaveImage"
710 },
711 "widgets_values": [
712 "ComfyUI-image_5"
713 ]
714 },
715 {
716 "id": 28,
717 "type": "eaabb89a-2cd6-4960-ad44-1b152bff77c1",
718 "pos": [
719 5300.000962261875,
720 870.0000813907453
721 ],
722 "size": [
723 400,
724 271.65625
725 ],
726 "flags": [],
727 "order": 26,
728 "mode": 0,
729 "inputs": [
730 {
731 "name": "value",
732 "type": "STRING",
733 "widget": {
734 "name": "value"
735 },
736 "link": 78
737 },
738 {
739 "label": "image0",
740 "name": "images.image0",
741 "type": "IMAGE",
742 "link": 67
743 },
744 {
745 "name": "aspect_ratio",
746 "type": "COMBO",
747 "widget": {
748 "name": "aspect_ratio"
749 },
750 "link": 84
751 }
752 ],
753 "outputs": [
754 {
755 "name": "IMAGE",
756 "type": "IMAGE",
757 "links": [
758 42
759 ]
760 },
761 {
762 "name": "STRING",
763 "type": "STRING",
764 "links": [
765 45
766 ]
767 },
768 {
769 "label": "IMAGES",
770 "name": "IMAGE_1",
771 "type": "IMAGE",
772 "links": []
773 }
774 ],
775 "title": "Generate Image 5",
776 "properties": {
777 "proxyWidgets": [
778 [
779 "-1",
780 "value"
781 ],
782 [
783 "-1",
784 "aspect_ratio"
785 ],
786 [
787 "9",
788 "seed"
789 ]
790 ],
791 "cnr_id": "comfy-core",
792 "ver": "0.10.0"
793 },
794 "widgets_values": []
795 },
796 {
797 "id": 29,
798 "type": "PreviewAny",
799 "pos": [
800 5730.000190784572,
801 870.0000813907453
802 ],
803 "size": [
804 370,
805 153
806 ],
807 "flags": [],
808 "order": 29,
809 "mode": 0,
810 "inputs": [
811 {
812 "name": "source",
813 "type": "*",
814 "link": 45
815 }
816 ],
817 "outputs": [],
818 "title": "Preview Prompt 5",
819 "properties": {
820 "cnr_id": "comfy-core",
821 "ver": "0.9.2",
822 "Node name for S&R": "PreviewAny"
823 },
824 "widgets_values": [
825 null,
826 null,
827 null
828 ]
829 },
830 {
831 "id": 30,
832 "type": "SaveImage",
833 "pos": [
834 6200,
835 1230
836 ],
837 "size": [
838 800,
839 556.453125
840 ],
841 "flags": [],
842 "order": 31,
843 "mode": 0,
844 "inputs": [
845 {
846 "name": "images",
847 "type": "IMAGE",
848 "link": 46
849 }
850 ],
851 "outputs": [],
852 "title": "Save Image 6",
853 "properties": {
854 "cnr_id": "comfy-core",
855 "ver": "0.9.2",
856 "Node name for S&R": "SaveImage"
857 },
858 "widgets_values": [
859 "ComfyUI-image_6"
860 ]
861 },
862 {
863 "id": 31,
864 "type": "86a340d1-ba23-44b6-8470-6b3d64167d65",
865 "pos": [
866 6200.001181356074,
867 870.0000813907453
868 ],
869 "size": [
870 400,
871 271.65625
872 ],
873 "flags": [],
874 "order": 30,
875 "mode": 0,
876 "inputs": [
877 {
878 "name": "value",
879 "type": "STRING",
880 "widget": {
881 "name": "value"
882 },
883 "link": 80
884 },
885 {
886 "label": "image0",
887 "name": "images.image0",
888 "type": "IMAGE",
889 "link": 69
890 },
891 {
892 "name": "aspect_ratio",
893 "type": "COMBO",
894 "widget": {
895 "name": "aspect_ratio"
896 },
897 "link": 85
898 }
899 ],
900 "outputs": [
901 {
902 "name": "IMAGE",
903 "type": "IMAGE",
904 "links": [
905 46
906 ]
907 },
908 {
909 "name": "STRING",
910 "type": "STRING",
911 "links": [
912 49
913 ]
914 },
915 {
916 "label": "IMAGES",
917 "name": "IMAGE_1",
918 "type": "IMAGE",
919 "links": []
920 }
921 ],
922 "title": "Generate Image 6",
923 "properties": {
924 "proxyWidgets": [
925 [
926 "-1",
927 "value"
928 ],
929 [
930 "-1",
931 "aspect_ratio"
932 ],
933 [
934 "9",
935 "seed"
936 ]
937 ],
938 "cnr_id": "comfy-core",
939 "ver": "0.10.0"
940 },
941 "widgets_values": []
942 },
943 {
944 "id": 32,
945 "type": "PreviewAny",
946 "pos": [
947 6629.9999718009485,
948 870.0000813907453
949 ],
950 "size": [
951 370,
952 153
953 ],
954 "flags": [],
955 "order": 32,
956 "mode": 0,
957 "inputs": [
958 {
959 "name": "source",
960 "type": "*",
961 "link": 49
962 }
963 ],
964 "outputs": [],
965 "title": "Preview Prompt 6",
966 "properties": {
967 "cnr_id": "comfy-core",
968 "ver": "0.9.2",
969 "Node name for S&R": "PreviewAny"
970 },
971 "widgets_values": [
972 null,
973 null,
974 null
975 ]
976 },
977 {
978 "id": 2,
979 "type": "GeminiNode",
980 "pos": [
981 999.9998196029763,
982 1229.999960637579
983 ],
984 "size": [
985 500,
986 404.65625
987 ],
988 "flags": [],
989 "order": 2,
990 "mode": 0,
991 "inputs": [
992 {
993 "name": "images",
994 "shape": 7,
995 "type": "IMAGE",
996 "link": 2
997 },
998 {
999 "name": "audio",
1000 "shape": 7,
1001 "type": "AUDIO",
1002 "link": null
1003 },
1004 {
1005 "name": "video",
1006 "shape": 7,
1007 "type": "VIDEO",
1008 "link": null
1009 },
1010 {
1011 "name": "files",
1012 "shape": 7,
1013 "type": "GEMINI_INPUT_FILES",
1014 "link": null
1015 }
1016 ],
1017 "outputs": [
1018 {
1019 "name": "STRING",
1020 "type": "STRING",
1021 "links": [
1022 1,
1023 12,
1024 70
1025 ]
1026 }
1027 ],
1028 "properties": {
1029 "cnr_id": "comfy-core",
1030 "ver": "0.9.2",
1031 "Node name for S&R": "GeminiNode"
1032 },
1033 "widgets_values": [
1034 "Generate 6 different prompts following the instructions below. \nEach prompt idea needs to be 50-80 words max and be separated by *.\nEach prompt should be unique, varying the camera angles and shot type. Add subtle detail and maintain consistent elements.",
1035 "gemini-3-pro-preview",
1036 12345,
1037 "fixed",
1038 ""
1039 ],
1040 "color": "#432",
1041 "bgcolor": "#653"
1042 },
1043 {
1044 "id": 1,
1045 "type": "PreviewAny",
1046 "pos": [
1047 1000.0000864367205,
1048 529.9999403703914
1049 ],
1050 "size": [
1051 500,
1052 620
1053 ],
1054 "flags": [],
1055 "order": 4,
1056 "mode": 0,
1057 "inputs": [
1058 {
1059 "name": "source",
1060 "type": "*",
1061 "link": 1
1062 }
1063 ],
1064 "outputs": [],
1065 "title": "Preview All Generated Prompts",
1066 "properties": {
1067 "cnr_id": "comfy-core",
1068 "ver": "0.9.2",
1069 "Node name for S&R": "PreviewAny"
1070 },
1071 "widgets_values": [
1072 null,
1073 null,
1074 null
1075 ]
1076 },
1077 {
1078 "id": 46,
1079 "type": "Reroute",
1080 "pos": [
1081 2280,
1082 570
1083 ],
1084 "size": [
1085 225,
1086 12
1087 ],
1088 "flags": [],
1089 "order": 3,
1090 "mode": 0,
1091 "inputs": [
1092 {
1093 "name": "",
1094 "type": "*",
1095 "link": 87
1096 }
1097 ],
1098 "outputs": [
1099 {
1100 "name": "",
1101 "type": "IMAGE",
1102 "links": [
1103 60,
1104 61
1105 ]
1106 }
1107 ],
1108 "properties": {
1109 "showOutputText": false,
1110 "horizontal": false
1111 }
1112 },
1113 {
1114 "id": 47,
1115 "type": "Reroute",
1116 "pos": [
1117 3180,
1118 570
1119 ],
1120 "size": [
1121 225,
1122 12
1123 ],
1124 "flags": [],
1125 "order": 7,
1126 "mode": 0,
1127 "inputs": [
1128 {
1129 "name": "",
1130 "type": "*",
1131 "link": 61
1132 }
1133 ],
1134 "outputs": [
1135 {
1136 "name": "",
1137 "type": "IMAGE",
1138 "links": [
1139 62,
1140 64
1141 ]
1142 }
1143 ],
1144 "properties": {
1145 "showOutputText": false,
1146 "horizontal": false
1147 }
1148 },
1149 {
1150 "id": 48,
1151 "type": "Reroute",
1152 "pos": [
1153 4080,
1154 570
1155 ],
1156 "size": [
1157 225,
1158 12
1159 ],
1160 "flags": [],
1161 "order": 11,
1162 "mode": 0,
1163 "inputs": [
1164 {
1165 "name": "",
1166 "type": "*",
1167 "link": 64
1168 }
1169 ],
1170 "outputs": [
1171 {
1172 "name": "",
1173 "type": "IMAGE",
1174 "links": [
1175 65,
1176 66
1177 ]
1178 }
1179 ],
1180 "properties": {
1181 "showOutputText": false,
1182 "horizontal": false
1183 }
1184 },
1185 {
1186 "id": 49,
1187 "type": "Reroute",
1188 "pos": [
1189 4970,
1190 570
1191 ],
1192 "size": [
1193 225,
1194 12
1195 ],
1196 "flags": [],
1197 "order": 14,
1198 "mode": 0,
1199 "inputs": [
1200 {
1201 "name": "",
1202 "type": "*",
1203 "link": 66
1204 }
1205 ],
1206 "outputs": [
1207 {
1208 "name": "",
1209 "type": "IMAGE",
1210 "links": [
1211 67,
1212 68
1213 ]
1214 }
1215 ],
1216 "properties": {
1217 "showOutputText": false,
1218 "horizontal": false
1219 }
1220 },
1221 {
1222 "id": 50,
1223 "type": "Reroute",
1224 "pos": [
1225 5880,
1226 570
1227 ],
1228 "size": [
1229 225,
1230 12
1231 ],
1232 "flags": [],
1233 "order": 19,
1234 "mode": 0,
1235 "inputs": [
1236 {
1237 "name": "",
1238 "type": "*",
1239 "link": 68
1240 }
1241 ],
1242 "outputs": [
1243 {
1244 "name": "",
1245 "type": "IMAGE",
1246 "links": [
1247 69
1248 ]
1249 }
1250 ],
1251 "properties": {
1252 "showOutputText": false,
1253 "horizontal": false
1254 }
1255 },
1256 {
1257 "id": 51,
1258 "type": "Reroute",
1259 "pos": [
1260 1700,
1261 730
1262 ],
1263 "size": [
1264 225,
1265 12
1266 ],
1267 "flags": [],
1268 "order": 6,
1269 "mode": 0,
1270 "inputs": [
1271 {
1272 "name": "",
1273 "type": "*",
1274 "widget": {
1275 "name": "value"
1276 },
1277 "link": 70
1278 }
1279 ],
1280 "outputs": [
1281 {
1282 "name": "",
1283 "type": "STRING",
1284 "links": [
1285 71
1286 ]
1287 }
1288 ],
1289 "properties": {
1290 "showOutputText": false,
1291 "horizontal": false
1292 }
1293 },
1294 {
1295 "id": 52,
1296 "type": "Reroute",
1297 "pos": [
1298 2280,
1299 730
1300 ],
1301 "size": [
1302 225,
1303 12
1304 ],
1305 "flags": [],
1306 "order": 10,
1307 "mode": 0,
1308 "inputs": [
1309 {
1310 "name": "",
1311 "type": "*",
1312 "widget": {
1313 "name": "value"
1314 },
1315 "link": 71
1316 }
1317 ],
1318 "outputs": [
1319 {
1320 "name": "",
1321 "type": "STRING",
1322 "links": [
1323 72,
1324 73
1325 ]
1326 }
1327 ],
1328 "properties": {
1329 "showOutputText": false,
1330 "horizontal": false
1331 }
1332 },
1333 {
1334 "id": 53,
1335 "type": "Reroute",
1336 "pos": [
1337 3180,
1338 730
1339 ],
1340 "size": [
1341 225,
1342 12
1343 ],
1344 "flags": [],
1345 "order": 13,
1346 "mode": 0,
1347 "inputs": [
1348 {
1349 "name": "",
1350 "type": "*",
1351 "widget": {
1352 "name": "value"
1353 },
1354 "link": 73
1355 }
1356 ],
1357 "outputs": [
1358 {
1359 "name": "",
1360 "type": "STRING",
1361 "links": [
1362 74,
1363 75
1364 ]
1365 }
1366 ],
1367 "properties": {
1368 "showOutputText": false,
1369 "horizontal": false
1370 }
1371 },
1372 {
1373 "id": 56,
1374 "type": "Reroute",
1375 "pos": [
1376 4080,
1377 730
1378 ],
1379 "size": [
1380 225,
1381 12
1382 ],
1383 "flags": [],
1384 "order": 18,
1385 "mode": 0,
1386 "inputs": [
1387 {
1388 "name": "",
1389 "type": "*",
1390 "widget": {
1391 "name": "value"
1392 },
1393 "link": 75
1394 }
1395 ],
1396 "outputs": [
1397 {
1398 "name": "",
1399 "type": "STRING",
1400 "links": [
1401 76,
1402 77
1403 ]
1404 }
1405 ],
1406 "properties": {
1407 "showOutputText": false,
1408 "horizontal": false
1409 }
1410 },
1411 {
1412 "id": 59,
1413 "type": "Reroute",
1414 "pos": [
1415 4970,
1416 730
1417 ],
1418 "size": [
1419 225,
1420 12
1421 ],
1422 "flags": [],
1423 "order": 23,
1424 "mode": 0,
1425 "inputs": [
1426 {
1427 "name": "",
1428 "type": "*",
1429 "widget": {
1430 "name": "value"
1431 },
1432 "link": 77
1433 }
1434 ],
1435 "outputs": [
1436 {
1437 "name": "",
1438 "type": "STRING",
1439 "links": [
1440 78,
1441 79
1442 ]
1443 }
1444 ],
1445 "properties": {
1446 "showOutputText": false,
1447 "horizontal": false
1448 }
1449 },
1450 {
1451 "id": 60,
1452 "type": "Reroute",
1453 "pos": [
1454 5880,
1455 730
1456 ],
1457 "size": [
1458 225,
1459 12
1460 ],
1461 "flags": [],
1462 "order": 27,
1463 "mode": 0,
1464 "inputs": [
1465 {
1466 "name": "",
1467 "type": "*",
1468 "widget": {
1469 "name": "value"
1470 },
1471 "link": 79
1472 }
1473 ],
1474 "outputs": [
1475 {
1476 "name": "",
1477 "type": "STRING",
1478 "links": [
1479 80
1480 ]
1481 }
1482 ],
1483 "properties": {
1484 "showOutputText": false,
1485 "horizontal": false
1486 }
1487 }
1488 ],
1489 "links": [
1490 [
1491 1,
1492 2,
1493 0,
1494 1,
1495 0,
1496 "STRING"
1497 ],
1498 [
1499 2,
1500 6,
1501 0,
1502 2,
1503 0,
1504 "IMAGE"
1505 ],
1506 [
1507 12,
1508 2,
1509 0,
1510 10,
1511 0,
1512 "STRING"
1513 ],
1514 [
1515 14,
1516 7,
1517 0,
1518 10,
1519 2,
1520 "COMBO"
1521 ],
1522 [
1523 15,
1524 10,
1525 0,
1526 5,
1527 0,
1528 "IMAGE"
1529 ],
1530 [
1531 16,
1532 10,
1533 1,
1534 11,
1535 0,
1536 "STRING"
1537 ],
1538 [
1539 28,
1540 19,
1541 0,
1542 18,
1543 0,
1544 "IMAGE"
1545 ],
1546 [
1547 31,
1548 19,
1549 1,
1550 20,
1551 0,
1552 "STRING"
1553 ],
1554 [
1555 33,
1556 22,
1557 0,
1558 21,
1559 0,
1560 "IMAGE"
1561 ],
1562 [
1563 36,
1564 22,
1565 1,
1566 23,
1567 0,
1568 "STRING"
1569 ],
1570 [
1571 38,
1572 25,
1573 0,
1574 24,
1575 0,
1576 "IMAGE"
1577 ],
1578 [
1579 41,
1580 25,
1581 1,
1582 26,
1583 0,
1584 "STRING"
1585 ],
1586 [
1587 42,
1588 28,
1589 0,
1590 27,
1591 0,
1592 "IMAGE"
1593 ],
1594 [
1595 45,
1596 28,
1597 1,
1598 29,
1599 0,
1600 "STRING"
1601 ],
1602 [
1603 46,
1604 31,
1605 0,
1606 30,
1607 0,
1608 "IMAGE"
1609 ],
1610 [
1611 49,
1612 31,
1613 1,
1614 32,
1615 0,
1616 "STRING"
1617 ],
1618 [
1619 60,
1620 46,
1621 0,
1622 19,
1623 1,
1624 "IMAGE"
1625 ],
1626 [
1627 61,
1628 46,
1629 0,
1630 47,
1631 0,
1632 "IMAGE"
1633 ],
1634 [
1635 62,
1636 47,
1637 0,
1638 22,
1639 1,
1640 "IMAGE"
1641 ],
1642 [
1643 64,
1644 47,
1645 0,
1646 48,
1647 0,
1648 "IMAGE"
1649 ],
1650 [
1651 65,
1652 48,
1653 0,
1654 25,
1655 1,
1656 "IMAGE"
1657 ],
1658 [
1659 66,
1660 48,
1661 0,
1662 49,
1663 0,
1664 "IMAGE"
1665 ],
1666 [
1667 67,
1668 49,
1669 0,
1670 28,
1671 1,
1672 "IMAGE"
1673 ],
1674 [
1675 68,
1676 49,
1677 0,
1678 50,
1679 0,
1680 "IMAGE"
1681 ],
1682 [
1683 69,
1684 50,
1685 0,
1686 31,
1687 1,
1688 "IMAGE"
1689 ],
1690 [
1691 70,
1692 2,
1693 0,
1694 51,
1695 0,
1696 "STRING"
1697 ],
1698 [
1699 71,
1700 51,
1701 0,
1702 52,
1703 0,
1704 "STRING"
1705 ],
1706 [
1707 72,
1708 52,
1709 0,
1710 19,
1711 0,
1712 "STRING"
1713 ],
1714 [
1715 73,
1716 52,
1717 0,
1718 53,
1719 0,
1720 "STRING"
1721 ],
1722 [
1723 74,
1724 53,
1725 0,
1726 22,
1727 0,
1728 "STRING"
1729 ],
1730 [
1731 75,
1732 53,
1733 0,
1734 56,
1735 0,
1736 "STRING"
1737 ],
1738 [
1739 76,
1740 56,
1741 0,
1742 25,
1743 0,
1744 "STRING"
1745 ],
1746 [
1747 77,
1748 56,
1749 0,
1750 59,
1751 0,
1752 "STRING"
1753 ],
1754 [
1755 78,
1756 59,
1757 0,
1758 28,
1759 0,
1760 "STRING"
1761 ],
1762 [
1763 79,
1764 59,
1765 0,
1766 60,
1767 0,
1768 "STRING"
1769 ],
1770 [
1771 80,
1772 60,
1773 0,
1774 31,
1775 0,
1776 "STRING"
1777 ],
1778 [
1779 81,
1780 7,
1781 0,
1782 19,
1783 2,
1784 "COMBO"
1785 ],
1786 [
1787 82,
1788 7,
1789 0,
1790 22,
1791 2,
1792 "COMBO"
1793 ],
1794 [
1795 83,
1796 7,
1797 0,
1798 25,
1799 2,
1800 "COMBO"
1801 ],
1802 [
1803 84,
1804 7,
1805 0,
1806 28,
1807 2,
1808 "COMBO"
1809 ],
1810 [
1811 85,
1812 7,
1813 0,
1814 31,
1815 2,
1816 "COMBO"
1817 ],
1818 [
1819 86,
1820 6,
1821 0,
1822 10,
1823 1,
1824 "IMAGE"
1825 ],
1826 [
1827 87,
1828 6,
1829 0,
1830 46,
1831 0,
1832 "IMAGE"
1833 ]
1834 ],
1835 "groups": [],
1836 "definitions": {
1837 "subgraphs": [
1838 {
1839 "id": "da09b826-d678-40e0-a4e4-5f2178043ab6",
1840 "version": 1,
1841 "state": {
1842 "lastGroupId": 0,
1843 "lastNodeId": 9,
1844 "lastLinkId": 9,
1845 "lastRerouteId": 0
1846 },
1847 "revision": 0,
1848 "config": [],
1849 "name": "Batch Prompt Iterator",
1850 "inputNode": {
1851 "id": -10,
1852 "bounding": [
1853 90.40727678453659,
1854 2325.662789361009,
1855 144,
1856 72
1857 ]
1858 },
1859 "outputNode": {
1860 "id": -20,
1861 "bounding": [
1862 2942,
1863 2258,
1864 144,
1865 72
1866 ]
1867 },
1868 "inputs": [
1869 {
1870 "id": "da7d2f59-a52d-4f36-a474-9079e0b97ff1",
1871 "name": "value",
1872 "type": "STRING",
1873 "linkIds": [
1874 9
1875 ],
1876 "pos": [
1877 173.6727306537805,
1878 1956.3856578008408
1879 ]
1880 }
1881 ],
1882 "outputs": [
1883 {
1884 "id": "90326b5a-6290-4028-9573-5338419fba1b",
1885 "name": "STRING",
1886 "type": "STRING",
1887 "linkIds": [
1888 8
1889 ],
1890 "pos": [
1891 2470,
1892 1900
1893 ]
1894 }
1895 ],
1896 "widgets": [],
1897 "nodes": [
1898 {
1899 "id": 8,
1900 "type": "RegexReplace",
1901 "pos": [
1902 1458.4071265833052,
1903 1856.462824138249
1904 ],
1905 "size": [
1906 270,
1907 522
1908 ],
1909 "flags": [],
1910 "order": 4,
1911 "mode": 0,
1912 "inputs": [
1913 {
1914 "localized_name": "replace",
1915 "name": "replace",
1916 "type": "STRING",
1917 "widget": {
1918 "name": "replace"
1919 },
1920 "link": 6
1921 }
1922 ],
1923 "outputs": [
1924 {
1925 "localized_name": "STRING",
1926 "name": "STRING",
1927 "type": "STRING",
1928 "links": [
1929 2
1930 ]
1931 }
1932 ],
1933 "properties": {
1934 "cnr_id": "comfy-core",
1935 "ver": "0.9.2",
1936 "Node name for S&R": "RegexReplace"
1937 },
1938 "widgets_values": [
1939 "(?:^(?!\\s*\\*?\\s*$).+$\\n(?:^\\s*\\*?\\s*$\\n)*){0}^(?!\\s*\\*?\\s*$)(.+)$",
1940 "(?<=\\{)\\d+(?=\\})",
1941 "",
1942 true,
1943 false,
1944 false,
1945 0
1946 ]
1947 },
1948 {
1949 "id": 6,
1950 "type": "PrimitiveInt",
1951 "pos": [
1952 810.4071259347734,
1953 2012.4627471341084
1954 ],
1955 "size": [
1956 355.0875,
1957 126
1958 ],
1959 "flags": [],
1960 "order": 0,
1961 "mode": 0,
1962 "inputs": [],
1963 "outputs": [
1964 {
1965 "localized_name": "INT",
1966 "name": "INT",
1967 "type": "INT",
1968 "links": [
1969 7
1970 ]
1971 }
1972 ],
1973 "title": "Int - Select Prompt Number (not index)",
1974 "properties": {
1975 "cnr_id": "comfy-core",
1976 "ver": "0.9.2",
1977 "Node name for S&R": "PrimitiveInt"
1978 },
1979 "widgets_values": [
1980 1,
1981 "fixed"
1982 ]
1983 },
1984 {
1985 "id": 9,
1986 "type": "SimpleMath+",
1987 "pos": [
1988 829.9998717200663,
1989 1933.9997188073237
1990 ],
1991 "size": [
1992 257.980078125,
1993 54
1994 ],
1995 "flags": {
1996 "collapsed": true
1997 },
1998 "order": 2,
1999 "mode": 0,
2000 "inputs": [
2001 {
2002 "localized_name": "a",
2003 "name": "a",
2004 "shape": 7,
2005 "type": "INT,FLOAT",
2006 "link": 7
2007 },
2008 {
2009 "localized_name": "b",
2010 "name": "b",
2011 "shape": 7,
2012 "type": "INT,FLOAT",
2013 "link": null
2014 }
2015 ],
2016 "outputs": [
2017 {
2018 "localized_name": "INT",
2019 "name": "INT",
2020 "type": "INT",
2021 "links": [
2022 4
2023 ]
2024 },
2025 {
2026 "localized_name": "FLOAT",
2027 "name": "FLOAT",
2028 "type": "FLOAT",
2029 "links": null
2030 }
2031 ],
2032 "title": "Convert Prompt Number to Index",
2033 "properties": {
2034 "cnr_id": "comfyui_essentials",
2035 "ver": "1.1.0",
2036 "Node name for S&R": "SimpleMath+"
2037 },
2038 "widgets_values": [
2039 "a-1"
2040 ]
2041 },
2042 {
2043 "id": 3,
2044 "type": "SomethingToString",
2045 "pos": [
2046 1177.9998019226534,
2047 1933.9997188073237
2048 ],
2049 "size": [
2050 210,
2051 39.6
2052 ],
2053 "flags": {
2054 "collapsed": true
2055 },
2056 "order": 3,
2057 "mode": 0,
2058 "inputs": [
2059 {
2060 "localized_name": "input",
2061 "name": "input",
2062 "type": "*",
2063 "link": 4
2064 }
2065 ],
2066 "outputs": [
2067 {
2068 "localized_name": "STRING",
2069 "name": "STRING",
2070 "type": "STRING",
2071 "links": [
2072 6
2073 ]
2074 }
2075 ],
2076 "properties": {
2077 "cnr_id": "comfyui-kjnodes",
2078 "ver": "c661baadd9683c0033cd2a6ad90157c6d099a6c2",
2079 "Node name for S&R": "SomethingToString"
2080 },
2081 "widgets_values": [
2082 "",
2083 ""
2084 ]
2085 },
2086 {
2087 "id": 5,
2088 "type": "MarkdownNote",
2089 "pos": [
2090 1741.9996692102889,
2091 1861.9999291723602
2092 ],
2093 "size": [
2094 432,
2095 1737.9937499999999
2096 ],
2097 "flags": [],
2098 "order": 1,
2099 "mode": 0,
2100 "inputs": [],
2101 "outputs": [],
2102 "properties": [],
2103 "widgets_values": [
2104 "# Prompt Selector Regex Pattern\n\n## Pattern\n(?:^(?!\\s*\\*?\\s*$).+$\\n(?:^\\s*\\*?\\s*$\\n)*){0}^(?!\\s*\\*?\\s*$)(.+)$\n\n## Settings\n- mode: \"First Group\"\n- multiline: true\n- dotall: false\n- group_index: 1\n\n## How it works\n\n| Part | Meaning |\n|---------------------------|-------------------------------------------------|\n| (?!\\s*\\*?\\s*$) | Lookahead: line is NOT blank or just * |\n| ^(?!\\s*\\*?\\s*$).+$ | Match a content line |\n| \\n | Newline after content |\n| (?:^\\s*\\*?\\s*$\\n)* | Consume zero or more separator lines (blank/*) |\n| {0} | Skip n blocks (replaceable index) |\n| ^(?!\\s*\\*?\\s*$)(.+)$ | Capture the target prompt |\n\n## Index Replacement\nUse Regex Replace with pattern: (?<=\\{)\\d+(?=\\})\n\n## Supported Formats\n\n**Newline only:**\n\ntest1\ntest2\ntest3\n\n**Blank lines:**\n\ntest1\n\n\ntest2\n\n\ntest3\n\n\n**Asterisk separator:**\n\ntest1\n*\ntest2\n*\ntest3\n\n**Asterisk with blanks:**\n\ntest1\n\n*\n\ntest2\n\n*\n\ntest3"
2105 ],
2106 "color": "#432",
2107 "bgcolor": "#653"
2108 },
2109 {
2110 "id": 1,
2111 "type": "RegexExtract",
2112 "pos": [
2113 2197.999852045479,
2114 1861.9999291723602
2115 ],
2116 "size": [
2117 480,
2118 453.1875
2119 ],
2120 "flags": [],
2121 "order": 5,
2122 "mode": 0,
2123 "inputs": [
2124 {
2125 "localized_name": "string",
2126 "name": "string",
2127 "type": "STRING",
2128 "widget": {
2129 "name": "string"
2130 },
2131 "link": 1
2132 },
2133 {
2134 "localized_name": "regex_pattern",
2135 "name": "regex_pattern",
2136 "type": "STRING",
2137 "widget": {
2138 "name": "regex_pattern"
2139 },
2140 "link": 2
2141 }
2142 ],
2143 "outputs": [
2144 {
2145 "localized_name": "STRING",
2146 "name": "STRING",
2147 "type": "STRING",
2148 "links": [
2149 3,
2150 8
2151 ]
2152 }
2153 ],
2154 "properties": {
2155 "cnr_id": "comfy-core",
2156 "ver": "0.9.2",
2157 "Node name for S&R": "RegexExtract"
2158 },
2159 "widgets_values": [
2160 "",
2161 "",
2162 "First Group",
2163 true,
2164 true,
2165 false,
2166 1
2167 ]
2168 },
2169 {
2170 "id": 2,
2171 "type": "PreviewAny",
2172 "pos": [
2173 2401.999824191367,
2174 2233.999978646654
2175 ],
2176 "size": [
2177 276,
2178 270
2179 ],
2180 "flags": [],
2181 "order": 6,
2182 "mode": 0,
2183 "inputs": [
2184 {
2185 "localized_name": "source",
2186 "name": "source",
2187 "type": "*",
2188 "link": 3
2189 }
2190 ],
2191 "outputs": [],
2192 "properties": {
2193 "cnr_id": "comfy-core",
2194 "ver": "0.9.2",
2195 "Node name for S&R": "PreviewAny"
2196 },
2197 "widgets_values": [
2198 null,
2199 null,
2200 null
2201 ]
2202 },
2203 {
2204 "id": 7,
2205 "type": "PrimitiveStringMultiline",
2206 "pos": [
2207 313.9998641890731,
2208 2018.0002309549918
2209 ],
2210 "size": [
2211 480,
2212 594
2213 ],
2214 "flags": [],
2215 "order": 7,
2216 "mode": 0,
2217 "inputs": [
2218 {
2219 "localized_name": "value",
2220 "name": "value",
2221 "type": "STRING",
2222 "widget": {
2223 "name": "value"
2224 },
2225 "link": 9
2226 }
2227 ],
2228 "outputs": [
2229 {
2230 "localized_name": "STRING",
2231 "name": "STRING",
2232 "type": "STRING",
2233 "links": [
2234 1
2235 ]
2236 }
2237 ],
2238 "properties": {
2239 "cnr_id": "comfy-core",
2240 "ver": "0.9.2",
2241 "Node name for S&R": "PrimitiveStringMultiline"
2242 },
2243 "widgets_values": [
2244 ""
2245 ]
2246 }
2247 ],
2248 "groups": [],
2249 "links": [
2250 {
2251 "id": 1,
2252 "origin_id": 7,
2253 "origin_slot": 0,
2254 "target_id": 1,
2255 "target_slot": 0,
2256 "type": "STRING"
2257 },
2258 {
2259 "id": 2,
2260 "origin_id": 8,
2261 "origin_slot": 0,
2262 "target_id": 1,
2263 "target_slot": 1,
2264 "type": "STRING"
2265 },
2266 {
2267 "id": 3,
2268 "origin_id": 1,
2269 "origin_slot": 0,
2270 "target_id": 2,
2271 "target_slot": 0,
2272 "type": "STRING"
2273 },
2274 {
2275 "id": 4,
2276 "origin_id": 9,
2277 "origin_slot": 0,
2278 "target_id": 3,
2279 "target_slot": 0,
2280 "type": "INT"
2281 },
2282 {
2283 "id": 6,
2284 "origin_id": 3,
2285 "origin_slot": 0,
2286 "target_id": 8,
2287 "target_slot": 0,
2288 "type": "STRING"
2289 },
2290 {
2291 "id": 7,
2292 "origin_id": 6,
2293 "origin_slot": 0,
2294 "target_id": 9,
2295 "target_slot": 0,
2296 "type": "INT"
2297 },
2298 {
2299 "id": 8,
2300 "origin_id": 1,
2301 "origin_slot": 0,
2302 "target_id": -20,
2303 "target_slot": 0,
2304 "type": "STRING"
2305 },
2306 {
2307 "id": 9,
2308 "origin_id": -10,
2309 "origin_slot": 0,
2310 "target_id": 7,
2311 "target_slot": 0,
2312 "type": "STRING"
2313 }
2314 ],
2315 "extra": {
2316 "workflowRendererVersion": "Vue"
2317 }
2318 },
2319 {
2320 "id": "d33c1791-dfd2-4102-8540-aa63e4434cd2",
2321 "version": 1,
2322 "state": {
2323 "lastGroupId": 0,
2324 "lastNodeId": 9,
2325 "lastLinkId": 13,
2326 "lastRerouteId": 0
2327 },
2328 "revision": 0,
2329 "config": [],
2330 "name": "New Subgraph",
2331 "inputNode": {
2332 "id": -10,
2333 "bounding": [
2334 1538.4162218932536,
2335 1360.7424319789518,
2336 120,
2337 100
2338 ]
2339 },
2340 "outputNode": {
2341 "id": -20,
2342 "bounding": [
2343 2906.4161122605633,
2344 1384.7424319789518,
2345 120,
2346 100
2347 ]
2348 },
2349 "inputs": [
2350 {
2351 "id": "0cce5c00-af31-4ed7-bc88-4a03f774e6b8",
2352 "name": "value",
2353 "type": "STRING",
2354 "linkIds": [
2355 3
2356 ],
2357 "pos": [
2358 1638.4162218932536,
2359 1380.7424319789518
2360 ]
2361 },
2362 {
2363 "id": "3caab8c6-6b7e-4342-ad7c-f7fd98191c05",
2364 "name": "images.image0",
2365 "type": "IMAGE",
2366 "linkIds": [
2367 6,
2368 8
2369 ],
2370 "localized_name": "images.image0",
2371 "label": "image0",
2372 "pos": [
2373 1638.4162218932536,
2374 1400.7424319789518
2375 ]
2376 },
2377 {
2378 "id": "d972ea9d-b00c-4f61-bd3a-581b58a66f6b",
2379 "name": "aspect_ratio",
2380 "type": "COMBO",
2381 "linkIds": [
2382 10
2383 ],
2384 "localized_name": "aspect_ratio",
2385 "pos": [
2386 1638.4162218932536,
2387 1420.7424319789518
2388 ]
2389 }
2390 ],
2391 "outputs": [
2392 {
2393 "id": "2a0fa53c-8840-4a6c-89c1-0c26b921407a",
2394 "name": "IMAGE",
2395 "type": "IMAGE",
2396 "linkIds": [
2397 5
2398 ],
2399 "localized_name": "IMAGE",
2400 "pos": [
2401 2926.4161122605633,
2402 1404.7424319789518
2403 ]
2404 },
2405 {
2406 "id": "0cc3a5b8-24ab-4c53-843e-654df60c7385",
2407 "name": "STRING",
2408 "type": "STRING",
2409 "linkIds": [
2410 12
2411 ],
2412 "pos": [
2413 2926.4161122605633,
2414 1424.7424319789518
2415 ]
2416 },
2417 {
2418 "id": "b257ea65-71bc-40cc-a144-4a3eb1bb05c0",
2419 "name": "IMAGE_1",
2420 "type": "IMAGE",
2421 "linkIds": [
2422 13
2423 ],
2424 "label": "IMAGES",
2425 "pos": [
2426 2926.4161122605633,
2427 1444.7424319789518
2428 ]
2429 }
2430 ],
2431 "widgets": [],
2432 "nodes": [
2433 {
2434 "id": 3,
2435 "type": "da09b826-d678-40e0-a4e4-5f2178043ab6",
2436 "pos": [
2437 1754.4167347459374,
2438 1308.284764723154
2439 ],
2440 "size": [
2441 480,
2442 189
2443 ],
2444 "flags": [],
2445 "order": 0,
2446 "mode": 0,
2447 "inputs": [
2448 {
2449 "name": "value",
2450 "type": "STRING",
2451 "widget": {
2452 "name": "value"
2453 },
2454 "link": 3
2455 }
2456 ],
2457 "outputs": [
2458 {
2459 "name": "STRING",
2460 "type": "STRING",
2461 "links": [
2462 9,
2463 12
2464 ]
2465 }
2466 ],
2467 "properties": {
2468 "proxyWidgets": [
2469 [
2470 "-1",
2471 "value"
2472 ],
2473 [
2474 "6",
2475 "value"
2476 ],
2477 [
2478 "6",
2479 "control_after_generate"
2480 ]
2481 ],
2482 "cnr_id": "comfy-core",
2483 "ver": "0.9.2"
2484 },
2485 "widgets_values": [
2486 ""
2487 ]
2488 },
2489 {
2490 "id": 8,
2491 "type": "BatchImagesNode",
2492 "pos": [
2493 2558.000236768496,
2494 1837.9999171215882
2495 ],
2496 "size": [
2497 270,
2498 96
2499 ],
2500 "flags": [],
2501 "order": 1,
2502 "mode": 0,
2503 "inputs": [
2504 {
2505 "label": "image0",
2506 "localized_name": "images.image0",
2507 "name": "images.image0",
2508 "type": "IMAGE",
2509 "link": 6
2510 },
2511 {
2512 "label": "image1",
2513 "localized_name": "images.image1",
2514 "name": "images.image1",
2515 "type": "IMAGE",
2516 "link": 11
2517 },
2518 {
2519 "label": "image2",
2520 "localized_name": "images.image2",
2521 "name": "images.image2",
2522 "shape": 7,
2523 "type": "IMAGE",
2524 "link": null
2525 }
2526 ],
2527 "outputs": [
2528 {
2529 "localized_name": "IMAGE",
2530 "name": "IMAGE",
2531 "type": "IMAGE",
2532 "links": [
2533 13
2534 ]
2535 }
2536 ],
2537 "properties": {
2538 "cnr_id": "comfy-core",
2539 "ver": "0.9.2",
2540 "Node name for S&R": "BatchImagesNode"
2541 },
2542 "widgets_values": []
2543 },
2544 {
2545 "id": 9,
2546 "type": "GeminiImage2Node",
2547 "pos": [
2548 2354.416645670207,
2549 1308.284764723154
2550 ],
2551 "size": [
2552 480,
2553 396.65625
2554 ],
2555 "flags": [],
2556 "order": 2,
2557 "mode": 0,
2558 "inputs": [
2559 {
2560 "localized_name": "images",
2561 "name": "images",
2562 "shape": 7,
2563 "type": "IMAGE",
2564 "link": 8
2565 },
2566 {
2567 "localized_name": "files",
2568 "name": "files",
2569 "shape": 7,
2570 "type": "GEMINI_INPUT_FILES",
2571 "link": null
2572 },
2573 {
2574 "localized_name": "prompt",
2575 "name": "prompt",
2576 "type": "STRING",
2577 "widget": {
2578 "name": "prompt"
2579 },
2580 "link": 9
2581 },
2582 {
2583 "localized_name": "aspect_ratio",
2584 "name": "aspect_ratio",
2585 "type": "COMBO",
2586 "widget": {
2587 "name": "aspect_ratio"
2588 },
2589 "link": 10
2590 }
2591 ],
2592 "outputs": [
2593 {
2594 "localized_name": "IMAGE",
2595 "name": "IMAGE",
2596 "type": "IMAGE",
2597 "links": [
2598 5,
2599 7,
2600 11
2601 ]
2602 },
2603 {
2604 "localized_name": "STRING",
2605 "name": "STRING",
2606 "type": "STRING",
2607 "links": null
2608 }
2609 ],
2610 "properties": {
2611 "cnr_id": "comfy-core",
2612 "ver": "0.9.2",
2613 "Node name for S&R": "GeminiImage2Node"
2614 },
2615 "widgets_values": [
2616 "",
2617 "gemini-3-pro-image-preview",
2618 1,
2619 "fixed",
2620 "16:9",
2621 "2K",
2622 "IMAGE+TEXT",
2623 "You are an expert image-generation engine. You must ALWAYS produce an image.\nInterpret all user input—regardless of format, intent, or abstraction—as literal visual directives for image composition.\nIf a prompt is conversational or lacks specific visual details, you must creatively invent a concrete visual scenario that depicts the concept.\nPrioritize generating the visual representation above any text, formatting, or conversational requests."
2624 ],
2625 "color": "#432",
2626 "bgcolor": "#653"
2627 }
2628 ],
2629 "groups": [],
2630 "links": [
2631 {
2632 "id": 11,
2633 "origin_id": 9,
2634 "origin_slot": 0,
2635 "target_id": 8,
2636 "target_slot": 1,
2637 "type": "IMAGE"
2638 },
2639 {
2640 "id": 9,
2641 "origin_id": 3,
2642 "origin_slot": 0,
2643 "target_id": 9,
2644 "target_slot": 2,
2645 "type": "STRING"
2646 },
2647 {
2648 "id": 3,
2649 "origin_id": -10,
2650 "origin_slot": 0,
2651 "target_id": 3,
2652 "target_slot": 0,
2653 "type": "STRING"
2654 },
2655 {
2656 "id": 6,
2657 "origin_id": -10,
2658 "origin_slot": 1,
2659 "target_id": 8,
2660 "target_slot": 0,
2661 "type": "IMAGE"
2662 },
2663 {
2664 "id": 8,
2665 "origin_id": -10,
2666 "origin_slot": 1,
2667 "target_id": 9,
2668 "target_slot": 0,
2669 "type": "IMAGE"
2670 },
2671 {
2672 "id": 10,
2673 "origin_id": -10,
2674 "origin_slot": 2,
2675 "target_id": 9,
2676 "target_slot": 3,
2677 "type": "COMBO"
2678 },
2679 {
2680 "id": 5,
2681 "origin_id": 9,
2682 "origin_slot": 0,
2683 "target_id": -20,
2684 "target_slot": 0,
2685 "type": "IMAGE"
2686 },
2687 {
2688 "id": 12,
2689 "origin_id": 3,
2690 "origin_slot": 0,
2691 "target_id": -20,
2692 "target_slot": 1,
2693 "type": "STRING"
2694 },
2695 {
2696 "id": 13,
2697 "origin_id": 8,
2698 "origin_slot": 0,
2699 "target_id": -20,
2700 "target_slot": 2,
2701 "type": "IMAGE"
2702 }
2703 ],
2704 "extra": {
2705 "workflowRendererVersion": "Vue"
2706 }
2707 },
2708 {
2709 "id": "f2228dc9-64e8-43b1-a4ca-b8a57eed8f64",
2710 "version": 1,
2711 "state": {
2712 "lastGroupId": 0,
2713 "lastNodeId": 11,
2714 "lastLinkId": 15,
2715 "lastRerouteId": 0
2716 },
2717 "revision": 0,
2718 "config": [],
2719 "name": "New Subgraph",
2720 "inputNode": {
2721 "id": -10,
2722 "bounding": [
2723 1538.4162218932536,
2724 1360.7424319789518,
2725 120,
2726 100
2727 ]
2728 },
2729 "outputNode": {
2730 "id": -20,
2731 "bounding": [
2732 2906.4161122605633,
2733 1384.7424319789518,
2734 120,
2735 100
2736 ]
2737 },
2738 "inputs": [
2739 {
2740 "id": "0cce5c00-af31-4ed7-bc88-4a03f774e6b8",
2741 "name": "value",
2742 "type": "STRING",
2743 "linkIds": [
2744 3
2745 ],
2746 "pos": [
2747 1638.4162218932536,
2748 1380.7424319789518
2749 ]
2750 },
2751 {
2752 "id": "3caab8c6-6b7e-4342-ad7c-f7fd98191c05",
2753 "name": "images.image0",
2754 "type": "IMAGE",
2755 "linkIds": [
2756 6,
2757 8,
2758 14
2759 ],
2760 "localized_name": "images.image0",
2761 "label": "image0",
2762 "pos": [
2763 1638.4162218932536,
2764 1400.7424319789518
2765 ]
2766 },
2767 {
2768 "id": "d972ea9d-b00c-4f61-bd3a-581b58a66f6b",
2769 "name": "aspect_ratio",
2770 "type": "COMBO",
2771 "linkIds": [
2772 10
2773 ],
2774 "localized_name": "aspect_ratio",
2775 "pos": [
2776 1638.4162218932536,
2777 1420.7424319789518
2778 ]
2779 }
2780 ],
2781 "outputs": [
2782 {
2783 "id": "2a0fa53c-8840-4a6c-89c1-0c26b921407a",
2784 "name": "IMAGE",
2785 "type": "IMAGE",
2786 "linkIds": [
2787 5
2788 ],
2789 "localized_name": "IMAGE",
2790 "pos": [
2791 2926.4161122605633,
2792 1404.7424319789518
2793 ]
2794 },
2795 {
2796 "id": "0cc3a5b8-24ab-4c53-843e-654df60c7385",
2797 "name": "STRING",
2798 "type": "STRING",
2799 "linkIds": [
2800 12
2801 ],
2802 "pos": [
2803 2926.4161122605633,
2804 1424.7424319789518
2805 ]
2806 },
2807 {
2808 "id": "b257ea65-71bc-40cc-a144-4a3eb1bb05c0",
2809 "name": "IMAGE_1",
2810 "type": "IMAGE",
2811 "linkIds": [
2812 13
2813 ],
2814 "label": "IMAGES",
2815 "pos": [
2816 2926.4161122605633,
2817 1444.7424319789518
2818 ]
2819 }
2820 ],
2821 "widgets": [],
2822 "nodes": [
2823 {
2824 "id": 3,
2825 "type": "6d92985e-3e1e-49e2-acea-91c5259d86a8",
2826 "pos": [
2827 1754.4161685123258,
2828 1308.2848343010835
2829 ],
2830 "size": [
2831 480,
2832 189
2833 ],
2834 "flags": [],
2835 "order": 0,
2836 "mode": 0,
2837 "inputs": [
2838 {
2839 "name": "value",
2840 "type": "STRING",
2841 "widget": {
2842 "name": "value"
2843 },
2844 "link": 3
2845 }
2846 ],
2847 "outputs": [
2848 {
2849 "name": "STRING",
2850 "type": "STRING",
2851 "links": [
2852 9,
2853 12
2854 ]
2855 }
2856 ],
2857 "properties": {
2858 "proxyWidgets": [
2859 [
2860 "-1",
2861 "value"
2862 ],
2863 [
2864 "6",
2865 "value"
2866 ],
2867 [
2868 "6",
2869 "control_after_generate"
2870 ]
2871 ],
2872 "cnr_id": "comfy-core",
2873 "ver": "0.9.2"
2874 },
2875 "widgets_values": [
2876 ""
2877 ]
2878 },
2879 {
2880 "id": 8,
2881 "type": "BatchImagesNode",
2882 "pos": [
2883 2558.0002715632495,
2884 1837.9998294132495
2885 ],
2886 "size": [
2887 270,
2888 96
2889 ],
2890 "flags": [],
2891 "order": 1,
2892 "mode": 0,
2893 "inputs": [
2894 {
2895 "label": "image0",
2896 "localized_name": "images.image0",
2897 "name": "images.image0",
2898 "type": "IMAGE",
2899 "link": 6
2900 },
2901 {
2902 "label": "image1",
2903 "localized_name": "images.image1",
2904 "name": "images.image1",
2905 "type": "IMAGE",
2906 "link": 11
2907 },
2908 {
2909 "label": "image2",
2910 "localized_name": "images.image2",
2911 "name": "images.image2",
2912 "shape": 7,
2913 "type": "IMAGE",
2914 "link": null
2915 }
2916 ],
2917 "outputs": [
2918 {
2919 "localized_name": "IMAGE",
2920 "name": "IMAGE",
2921 "type": "IMAGE",
2922 "links": [
2923 13,
2924 15
2925 ]
2926 }
2927 ],
2928 "properties": {
2929 "cnr_id": "comfy-core",
2930 "ver": "0.9.2",
2931 "Node name for S&R": "BatchImagesNode"
2932 },
2933 "widgets_values": []
2934 },
2935 {
2936 "id": 9,
2937 "type": "GeminiImage2Node",
2938 "pos": [
2939 2354.4162540892944,
2940 1308.2848343010835
2941 ],
2942 "size": [
2943 480,
2944 396.65625
2945 ],
2946 "flags": [],
2947 "order": 2,
2948 "mode": 0,
2949 "inputs": [
2950 {
2951 "localized_name": "images",
2952 "name": "images",
2953 "shape": 7,
2954 "type": "IMAGE",
2955 "link": 8
2956 },
2957 {
2958 "localized_name": "files",
2959 "name": "files",
2960 "shape": 7,
2961 "type": "GEMINI_INPUT_FILES",
2962 "link": null
2963 },
2964 {
2965 "localized_name": "prompt",
2966 "name": "prompt",
2967 "type": "STRING",
2968 "widget": {
2969 "name": "prompt"
2970 },
2971 "link": 9
2972 },
2973 {
2974 "localized_name": "aspect_ratio",
2975 "name": "aspect_ratio",
2976 "type": "COMBO",
2977 "widget": {
2978 "name": "aspect_ratio"
2979 },
2980 "link": 10
2981 }
2982 ],
2983 "outputs": [
2984 {
2985 "localized_name": "IMAGE",
2986 "name": "IMAGE",
2987 "type": "IMAGE",
2988 "links": [
2989 5,
2990 7,
2991 11
2992 ]
2993 },
2994 {
2995 "localized_name": "STRING",
2996 "name": "STRING",
2997 "type": "STRING",
2998 "links": null
2999 }
3000 ],
3001 "properties": {
3002 "cnr_id": "comfy-core",
3003 "ver": "0.9.2",
3004 "Node name for S&R": "GeminiImage2Node"
3005 },
3006 "widgets_values": [
3007 "",
3008 "gemini-3-pro-image-preview",
3009 2,
3010 "fixed",
3011 "16:9",
3012 "2K",
3013 "IMAGE+TEXT",
3014 "You are an expert image-generation engine. You must ALWAYS produce an image.\nInterpret all user input—regardless of format, intent, or abstraction—as literal visual directives for image composition.\nIf a prompt is conversational or lacks specific visual details, you must creatively invent a concrete visual scenario that depicts the concept.\nPrioritize generating the visual representation above any text, formatting, or conversational requests."
3015 ],
3016 "color": "#432",
3017 "bgcolor": "#653"
3018 },
3019 {
3020 "id": 10,
3021 "type": "PreviewImage",
3022 "pos": [
3023 2050.000047849463,
3024 1700.0000366184754
3025 ],
3026 "size": [
3027 225,
3028 248
3029 ],
3030 "flags": [],
3031 "order": 3,
3032 "mode": 0,
3033 "inputs": [
3034 {
3035 "localized_name": "images",
3036 "name": "images",
3037 "type": "IMAGE",
3038 "link": 14
3039 }
3040 ],
3041 "outputs": [],
3042 "properties": {
3043 "cnr_id": "comfy-core",
3044 "ver": "0.10.0",
3045 "Node name for S&R": "PreviewImage"
3046 },
3047 "widgets_values": []
3048 },
3049 {
3050 "id": 11,
3051 "type": "PreviewImage",
3052 "pos": [
3053 2870.00024883722,
3054 1970.000033111828
3055 ],
3056 "size": [
3057 225,
3058 248
3059 ],
3060 "flags": [],
3061 "order": 4,
3062 "mode": 0,
3063 "inputs": [
3064 {
3065 "localized_name": "images",
3066 "name": "images",
3067 "type": "IMAGE",
3068 "link": 15
3069 }
3070 ],
3071 "outputs": [],
3072 "properties": {
3073 "cnr_id": "comfy-core",
3074 "ver": "0.10.0",
3075 "Node name for S&R": "PreviewImage"
3076 },
3077 "widgets_values": []
3078 }
3079 ],
3080 "groups": [],
3081 "links": [
3082 {
3083 "id": 11,
3084 "origin_id": 9,
3085 "origin_slot": 0,
3086 "target_id": 8,
3087 "target_slot": 1,
3088 "type": "IMAGE"
3089 },
3090 {
3091 "id": 9,
3092 "origin_id": 3,
3093 "origin_slot": 0,
3094 "target_id": 9,
3095 "target_slot": 2,
3096 "type": "STRING"
3097 },
3098 {
3099 "id": 3,
3100 "origin_id": -10,
3101 "origin_slot": 0,
3102 "target_id": 3,
3103 "target_slot": 0,
3104 "type": "STRING"
3105 },
3106 {
3107 "id": 6,
3108 "origin_id": -10,
3109 "origin_slot": 1,
3110 "target_id": 8,
3111 "target_slot": 0,
3112 "type": "IMAGE"
3113 },
3114 {
3115 "id": 8,
3116 "origin_id": -10,
3117 "origin_slot": 1,
3118 "target_id": 9,
3119 "target_slot": 0,
3120 "type": "IMAGE"
3121 },
3122 {
3123 "id": 10,
3124 "origin_id": -10,
3125 "origin_slot": 2,
3126 "target_id": 9,
3127 "target_slot": 3,
3128 "type": "COMBO"
3129 },
3130 {
3131 "id": 5,
3132 "origin_id": 9,
3133 "origin_slot": 0,
3134 "target_id": -20,
3135 "target_slot": 0,
3136 "type": "IMAGE"
3137 },
3138 {
3139 "id": 12,
3140 "origin_id": 3,
3141 "origin_slot": 0,
3142 "target_id": -20,
3143 "target_slot": 1,
3144 "type": "STRING"
3145 },
3146 {
3147 "id": 13,
3148 "origin_id": 8,
3149 "origin_slot": 0,
3150 "target_id": -20,
3151 "target_slot": 2,
3152 "type": "IMAGE"
3153 },
3154 {
3155 "id": 14,
3156 "origin_id": -10,
3157 "origin_slot": 1,
3158 "target_id": 10,
3159 "target_slot": 0,
3160 "type": "IMAGE"
3161 },
3162 {
3163 "id": 15,
3164 "origin_id": 8,
3165 "origin_slot": 0,
3166 "target_id": 11,
3167 "target_slot": 0,
3168 "type": "IMAGE"
3169 }
3170 ],
3171 "extra": {
3172 "workflowRendererVersion": "Vue"
3173 }
3174 },
3175 {
3176 "id": "6d92985e-3e1e-49e2-acea-91c5259d86a8",
3177 "version": 1,
3178 "state": {
3179 "lastGroupId": 0,
3180 "lastNodeId": 9,
3181 "lastLinkId": 9,
3182 "lastRerouteId": 0
3183 },
3184 "revision": 0,
3185 "config": [],
3186 "name": "Batch Prompt Iterator",
3187 "inputNode": {
3188 "id": -10,
3189 "bounding": [
3190 90.40727678453659,
3191 2325.662789361009,
3192 144,
3193 72
3194 ]
3195 },
3196 "outputNode": {
3197 "id": -20,
3198 "bounding": [
3199 2942,
3200 2258,
3201 144,
3202 72
3203 ]
3204 },
3205 "inputs": [
3206 {
3207 "id": "da7d2f59-a52d-4f36-a474-9079e0b97ff1",
3208 "name": "value",
3209 "type": "STRING",
3210 "linkIds": [
3211 9
3212 ],
3213 "pos": [
3214 173.6727306537805,
3215 1956.3856578008408
3216 ]
3217 }
3218 ],
3219 "outputs": [
3220 {
3221 "id": "90326b5a-6290-4028-9573-5338419fba1b",
3222 "name": "STRING",
3223 "type": "STRING",
3224 "linkIds": [
3225 8
3226 ],
3227 "pos": [
3228 2470,
3229 1900
3230 ]
3231 }
3232 ],
3233 "widgets": [],
3234 "nodes": [
3235 {
3236 "id": 8,
3237 "type": "RegexReplace",
3238 "pos": [
3239 1458.4071265833052,
3240 1856.462824138249
3241 ],
3242 "size": [
3243 270,
3244 522
3245 ],
3246 "flags": [],
3247 "order": 4,
3248 "mode": 0,
3249 "inputs": [
3250 {
3251 "localized_name": "replace",
3252 "name": "replace",
3253 "type": "STRING",
3254 "widget": {
3255 "name": "replace"
3256 },
3257 "link": 6
3258 }
3259 ],
3260 "outputs": [
3261 {
3262 "localized_name": "STRING",
3263 "name": "STRING",
3264 "type": "STRING",
3265 "links": [
3266 2
3267 ]
3268 }
3269 ],
3270 "properties": {
3271 "cnr_id": "comfy-core",
3272 "ver": "0.9.2",
3273 "Node name for S&R": "RegexReplace"
3274 },
3275 "widgets_values": [
3276 "(?:^(?!\\s*\\*?\\s*$).+$\\n(?:^\\s*\\*?\\s*$\\n)*){0}^(?!\\s*\\*?\\s*$)(.+)$",
3277 "(?<=\\{)\\d+(?=\\})",
3278 "",
3279 true,
3280 false,
3281 false,
3282 0
3283 ]
3284 },
3285 {
3286 "id": 6,
3287 "type": "PrimitiveInt",
3288 "pos": [
3289 810.4071259347734,
3290 2012.4627471341084
3291 ],
3292 "size": [
3293 355.0875,
3294 126
3295 ],
3296 "flags": [],
3297 "order": 0,
3298 "mode": 0,
3299 "inputs": [],
3300 "outputs": [
3301 {
3302 "localized_name": "INT",
3303 "name": "INT",
3304 "type": "INT",
3305 "links": [
3306 7
3307 ]
3308 }
3309 ],
3310 "title": "Int - Select Prompt Number (not index)",
3311 "properties": {
3312 "cnr_id": "comfy-core",
3313 "ver": "0.9.2",
3314 "Node name for S&R": "PrimitiveInt"
3315 },
3316 "widgets_values": [
3317 2,
3318 "fixed"
3319 ]
3320 },
3321 {
3322 "id": 9,
3323 "type": "SimpleMath+",
3324 "pos": [
3325 829.9998717200663,
3326 1933.9997188073237
3327 ],
3328 "size": [
3329 257.980078125,
3330 54
3331 ],
3332 "flags": {
3333 "collapsed": true
3334 },
3335 "order": 2,
3336 "mode": 0,
3337 "inputs": [
3338 {
3339 "localized_name": "a",
3340 "name": "a",
3341 "shape": 7,
3342 "type": "INT,FLOAT",
3343 "link": 7
3344 },
3345 {
3346 "localized_name": "b",
3347 "name": "b",
3348 "shape": 7,
3349 "type": "INT,FLOAT",
3350 "link": null
3351 }
3352 ],
3353 "outputs": [
3354 {
3355 "localized_name": "INT",
3356 "name": "INT",
3357 "type": "INT",
3358 "links": [
3359 4
3360 ]
3361 },
3362 {
3363 "localized_name": "FLOAT",
3364 "name": "FLOAT",
3365 "type": "FLOAT",
3366 "links": null
3367 }
3368 ],
3369 "title": "Convert Prompt Number to Index",
3370 "properties": {
3371 "cnr_id": "comfyui_essentials",
3372 "ver": "1.1.0",
3373 "Node name for S&R": "SimpleMath+"
3374 },
3375 "widgets_values": [
3376 "a-1"
3377 ]
3378 },
3379 {
3380 "id": 3,
3381 "type": "SomethingToString",
3382 "pos": [
3383 1177.9998019226534,
3384 1933.9997188073237
3385 ],
3386 "size": [
3387 210,
3388 39.6
3389 ],
3390 "flags": {
3391 "collapsed": true
3392 },
3393 "order": 3,
3394 "mode": 0,
3395 "inputs": [
3396 {
3397 "localized_name": "input",
3398 "name": "input",
3399 "type": "*",
3400 "link": 4
3401 }
3402 ],
3403 "outputs": [
3404 {
3405 "localized_name": "STRING",
3406 "name": "STRING",
3407 "type": "STRING",
3408 "links": [
3409 6
3410 ]
3411 }
3412 ],
3413 "properties": {
3414 "cnr_id": "comfyui-kjnodes",
3415 "ver": "c661baadd9683c0033cd2a6ad90157c6d099a6c2",
3416 "Node name for S&R": "SomethingToString"
3417 },
3418 "widgets_values": [
3419 "",
3420 ""
3421 ]
3422 },
3423 {
3424 "id": 5,
3425 "type": "MarkdownNote",
3426 "pos": [
3427 1741.9996692102889,
3428 1861.9999291723602
3429 ],
3430 "size": [
3431 432,
3432 1737.9937499999999
3433 ],
3434 "flags": [],
3435 "order": 1,
3436 "mode": 0,
3437 "inputs": [],
3438 "outputs": [],
3439 "properties": [],
3440 "widgets_values": [
3441 "# Prompt Selector Regex Pattern\n\n## Pattern\n(?:^(?!\\s*\\*?\\s*$).+$\\n(?:^\\s*\\*?\\s*$\\n)*){0}^(?!\\s*\\*?\\s*$)(.+)$\n\n## Settings\n- mode: \"First Group\"\n- multiline: true\n- dotall: false\n- group_index: 1\n\n## How it works\n\n| Part | Meaning |\n|---------------------------|-------------------------------------------------|\n| (?!\\s*\\*?\\s*$) | Lookahead: line is NOT blank or just * |\n| ^(?!\\s*\\*?\\s*$).+$ | Match a content line |\n| \\n | Newline after content |\n| (?:^\\s*\\*?\\s*$\\n)* | Consume zero or more separator lines (blank/*) |\n| {0} | Skip n blocks (replaceable index) |\n| ^(?!\\s*\\*?\\s*$)(.+)$ | Capture the target prompt |\n\n## Index Replacement\nUse Regex Replace with pattern: (?<=\\{)\\d+(?=\\})\n\n## Supported Formats\n\n**Newline only:**\n\ntest1\ntest2\ntest3\n\n**Blank lines:**\n\ntest1\n\n\ntest2\n\n\ntest3\n\n\n**Asterisk separator:**\n\ntest1\n*\ntest2\n*\ntest3\n\n**Asterisk with blanks:**\n\ntest1\n\n*\n\ntest2\n\n*\n\ntest3"
3442 ],
3443 "color": "#432",
3444 "bgcolor": "#653"
3445 },
3446 {
3447 "id": 1,
3448 "type": "RegexExtract",
3449 "pos": [
3450 2197.999852045479,
3451 1861.9999291723602
3452 ],
3453 "size": [
3454 480,
3455 453.1875
3456 ],
3457 "flags": [],
3458 "order": 5,
3459 "mode": 0,
3460 "inputs": [
3461 {
3462 "localized_name": "string",
3463 "name": "string",
3464 "type": "STRING",
3465 "widget": {
3466 "name": "string"
3467 },
3468 "link": 1
3469 },
3470 {
3471 "localized_name": "regex_pattern",
3472 "name": "regex_pattern",
3473 "type": "STRING",
3474 "widget": {
3475 "name": "regex_pattern"
3476 },
3477 "link": 2
3478 }
3479 ],
3480 "outputs": [
3481 {
3482 "localized_name": "STRING",
3483 "name": "STRING",
3484 "type": "STRING",
3485 "links": [
3486 3,
3487 8
3488 ]
3489 }
3490 ],
3491 "properties": {
3492 "cnr_id": "comfy-core",
3493 "ver": "0.9.2",
3494 "Node name for S&R": "RegexExtract"
3495 },
3496 "widgets_values": [
3497 "",
3498 "",
3499 "First Group",
3500 true,
3501 true,
3502 false,
3503 1
3504 ]
3505 },
3506 {
3507 "id": 2,
3508 "type": "PreviewAny",
3509 "pos": [
3510 2401.999824191367,
3511 2233.999978646654
3512 ],
3513 "size": [
3514 276,
3515 270
3516 ],
3517 "flags": [],
3518 "order": 6,
3519 "mode": 0,
3520 "inputs": [
3521 {
3522 "localized_name": "source",
3523 "name": "source",
3524 "type": "*",
3525 "link": 3
3526 }
3527 ],
3528 "outputs": [],
3529 "properties": {
3530 "cnr_id": "comfy-core",
3531 "ver": "0.9.2",
3532 "Node name for S&R": "PreviewAny"
3533 },
3534 "widgets_values": [
3535 null,
3536 null,
3537 null
3538 ]
3539 },
3540 {
3541 "id": 7,
3542 "type": "PrimitiveStringMultiline",
3543 "pos": [
3544 313.9998641890731,
3545 2018.0002309549918
3546 ],
3547 "size": [
3548 480,
3549 594
3550 ],
3551 "flags": [],
3552 "order": 7,
3553 "mode": 0,
3554 "inputs": [
3555 {
3556 "localized_name": "value",
3557 "name": "value",
3558 "type": "STRING",
3559 "widget": {
3560 "name": "value"
3561 },
3562 "link": 9
3563 }
3564 ],
3565 "outputs": [
3566 {
3567 "localized_name": "STRING",
3568 "name": "STRING",
3569 "type": "STRING",
3570 "links": [
3571 1
3572 ]
3573 }
3574 ],
3575 "properties": {
3576 "cnr_id": "comfy-core",
3577 "ver": "0.9.2",
3578 "Node name for S&R": "PrimitiveStringMultiline"
3579 },
3580 "widgets_values": [
3581 ""
3582 ]
3583 }
3584 ],
3585 "groups": [],
3586 "links": [
3587 {
3588 "id": 1,
3589 "origin_id": 7,
3590 "origin_slot": 0,
3591 "target_id": 1,
3592 "target_slot": 0,
3593 "type": "STRING"
3594 },
3595 {
3596 "id": 2,
3597 "origin_id": 8,
3598 "origin_slot": 0,
3599 "target_id": 1,
3600 "target_slot": 1,
3601 "type": "STRING"
3602 },
3603 {
3604 "id": 3,
3605 "origin_id": 1,
3606 "origin_slot": 0,
3607 "target_id": 2,
3608 "target_slot": 0,
3609 "type": "STRING"
3610 },
3611 {
3612 "id": 4,
3613 "origin_id": 9,
3614 "origin_slot": 0,
3615 "target_id": 3,
3616 "target_slot": 0,
3617 "type": "INT"
3618 },
3619 {
3620 "id": 6,
3621 "origin_id": 3,
3622 "origin_slot": 0,
3623 "target_id": 8,
3624 "target_slot": 0,
3625 "type": "STRING"
3626 },
3627 {
3628 "id": 7,
3629 "origin_id": 6,
3630 "origin_slot": 0,
3631 "target_id": 9,
3632 "target_slot": 0,
3633 "type": "INT"
3634 },
3635 {
3636 "id": 8,
3637 "origin_id": 1,
3638 "origin_slot": 0,
3639 "target_id": -20,
3640 "target_slot": 0,
3641 "type": "STRING"
3642 },
3643 {
3644 "id": 9,
3645 "origin_id": -10,
3646 "origin_slot": 0,
3647 "target_id": 7,
3648 "target_slot": 0,
3649 "type": "STRING"
3650 }
3651 ],
3652 "extra": {
3653 "workflowRendererVersion": "Vue"
3654 }
3655 },
3656 {
3657 "id": "e3dd2fcb-0e5e-47a8-963b-adea96749eb0",
3658 "version": 1,
3659 "state": {
3660 "lastGroupId": 0,
3661 "lastNodeId": 11,
3662 "lastLinkId": 15,
3663 "lastRerouteId": 0
3664 },
3665 "revision": 0,
3666 "config": [],
3667 "name": "New Subgraph",
3668 "inputNode": {
3669 "id": -10,
3670 "bounding": [
3671 1538.4162218932536,
3672 1360.7424319789518,
3673 120,
3674 100
3675 ]
3676 },
3677 "outputNode": {
3678 "id": -20,
3679 "bounding": [
3680 2906.4161122605633,
3681 1384.7424319789518,
3682 120,
3683 100
3684 ]
3685 },
3686 "inputs": [
3687 {
3688 "id": "0cce5c00-af31-4ed7-bc88-4a03f774e6b8",
3689 "name": "value",
3690 "type": "STRING",
3691 "linkIds": [
3692 3
3693 ],
3694 "pos": [
3695 1638.4162218932536,
3696 1380.7424319789518
3697 ]
3698 },
3699 {
3700 "id": "3caab8c6-6b7e-4342-ad7c-f7fd98191c05",
3701 "name": "images.image0",
3702 "type": "IMAGE",
3703 "linkIds": [
3704 6,
3705 8,
3706 14
3707 ],
3708 "localized_name": "images.image0",
3709 "label": "image0",
3710 "pos": [
3711 1638.4162218932536,
3712 1400.7424319789518
3713 ]
3714 },
3715 {
3716 "id": "d972ea9d-b00c-4f61-bd3a-581b58a66f6b",
3717 "name": "aspect_ratio",
3718 "type": "COMBO",
3719 "linkIds": [
3720 10
3721 ],
3722 "localized_name": "aspect_ratio",
3723 "pos": [
3724 1638.4162218932536,
3725 1420.7424319789518
3726 ]
3727 }
3728 ],
3729 "outputs": [
3730 {
3731 "id": "2a0fa53c-8840-4a6c-89c1-0c26b921407a",
3732 "name": "IMAGE",
3733 "type": "IMAGE",
3734 "linkIds": [
3735 5
3736 ],
3737 "localized_name": "IMAGE",
3738 "pos": [
3739 2926.4161122605633,
3740 1404.7424319789518
3741 ]
3742 },
3743 {
3744 "id": "0cc3a5b8-24ab-4c53-843e-654df60c7385",
3745 "name": "STRING",
3746 "type": "STRING",
3747 "linkIds": [
3748 12
3749 ],
3750 "pos": [
3751 2926.4161122605633,
3752 1424.7424319789518
3753 ]
3754 },
3755 {
3756 "id": "b257ea65-71bc-40cc-a144-4a3eb1bb05c0",
3757 "name": "IMAGE_1",
3758 "type": "IMAGE",
3759 "linkIds": [
3760 13
3761 ],
3762 "label": "IMAGES",
3763 "pos": [
3764 2926.4161122605633,
3765 1444.7424319789518
3766 ]
3767 }
3768 ],
3769 "widgets": [],
3770 "nodes": [
3771 {
3772 "id": 3,
3773 "type": "a39f1ec1-8086-4164-97cb-340ed88c8168",
3774 "pos": [
3775 1754.4160876593255,
3776 1308.2848083337078
3777 ],
3778 "size": [
3779 480,
3780 189
3781 ],
3782 "flags": [],
3783 "order": 0,
3784 "mode": 0,
3785 "inputs": [
3786 {
3787 "name": "value",
3788 "type": "STRING",
3789 "widget": {
3790 "name": "value"
3791 },
3792 "link": 3
3793 }
3794 ],
3795 "outputs": [
3796 {
3797 "name": "STRING",
3798 "type": "STRING",
3799 "links": [
3800 9,
3801 12
3802 ]
3803 }
3804 ],
3805 "properties": {
3806 "proxyWidgets": [
3807 [
3808 "-1",
3809 "value"
3810 ],
3811 [
3812 "6",
3813 "value"
3814 ],
3815 [
3816 "6",
3817 "control_after_generate"
3818 ]
3819 ],
3820 "cnr_id": "comfy-core",
3821 "ver": "0.9.2"
3822 },
3823 "widgets_values": [
3824 ""
3825 ]
3826 },
3827 {
3828 "id": 8,
3829 "type": "BatchImagesNode",
3830 "pos": [
3831 2558.000157263878,
3832 1837.9999033276297
3833 ],
3834 "size": [
3835 270,
3836 96
3837 ],
3838 "flags": [],
3839 "order": 1,
3840 "mode": 0,
3841 "inputs": [
3842 {
3843 "label": "image0",
3844 "localized_name": "images.image0",
3845 "name": "images.image0",
3846 "type": "IMAGE",
3847 "link": 6
3848 },
3849 {
3850 "label": "image1",
3851 "localized_name": "images.image1",
3852 "name": "images.image1",
3853 "type": "IMAGE",
3854 "link": 11
3855 },
3856 {
3857 "label": "image2",
3858 "localized_name": "images.image2",
3859 "name": "images.image2",
3860 "shape": 7,
3861 "type": "IMAGE",
3862 "link": null
3863 }
3864 ],
3865 "outputs": [
3866 {
3867 "localized_name": "IMAGE",
3868 "name": "IMAGE",
3869 "type": "IMAGE",
3870 "links": [
3871 13,
3872 15
3873 ]
3874 }
3875 ],
3876 "properties": {
3877 "cnr_id": "comfy-core",
3878 "ver": "0.9.2",
3879 "Node name for S&R": "BatchImagesNode"
3880 },
3881 "widgets_values": []
3882 },
3883 {
3884 "id": 9,
3885 "type": "GeminiImage2Node",
3886 "pos": [
3887 2354.416334245448,
3888 1308.2847880697282
3889 ],
3890 "size": [
3891 480,
3892 396.65625
3893 ],
3894 "flags": [],
3895 "order": 2,
3896 "mode": 0,
3897 "inputs": [
3898 {
3899 "localized_name": "images",
3900 "name": "images",
3901 "shape": 7,
3902 "type": "IMAGE",
3903 "link": 8
3904 },
3905 {
3906 "localized_name": "files",
3907 "name": "files",
3908 "shape": 7,
3909 "type": "GEMINI_INPUT_FILES",
3910 "link": null
3911 },
3912 {
3913 "localized_name": "prompt",
3914 "name": "prompt",
3915 "type": "STRING",
3916 "widget": {
3917 "name": "prompt"
3918 },
3919 "link": 9
3920 },
3921 {
3922 "localized_name": "aspect_ratio",
3923 "name": "aspect_ratio",
3924 "type": "COMBO",
3925 "widget": {
3926 "name": "aspect_ratio"
3927 },
3928 "link": 10
3929 }
3930 ],
3931 "outputs": [
3932 {
3933 "localized_name": "IMAGE",
3934 "name": "IMAGE",
3935 "type": "IMAGE",
3936 "links": [
3937 5,
3938 7,
3939 11
3940 ]
3941 },
3942 {
3943 "localized_name": "STRING",
3944 "name": "STRING",
3945 "type": "STRING",
3946 "links": null
3947 }
3948 ],
3949 "properties": {
3950 "cnr_id": "comfy-core",
3951 "ver": "0.9.2",
3952 "Node name for S&R": "GeminiImage2Node"
3953 },
3954 "widgets_values": [
3955 "",
3956 "gemini-3-pro-image-preview",
3957 3,
3958 "fixed",
3959 "16:9",
3960 "2K",
3961 "IMAGE+TEXT",
3962 "You are an expert image-generation engine. You must ALWAYS produce an image.\nInterpret all user input—regardless of format, intent, or abstraction—as literal visual directives for image composition.\nIf a prompt is conversational or lacks specific visual details, you must creatively invent a concrete visual scenario that depicts the concept.\nPrioritize generating the visual representation above any text, formatting, or conversational requests."
3963 ],
3964 "color": "#432",
3965 "bgcolor": "#653"
3966 },
3967 {
3968 "id": 10,
3969 "type": "PreviewImage",
3970 "pos": [
3971 2049.9999599404846,
3972 1700.000095254207
3973 ],
3974 "size": [
3975 225,
3976 223.53125
3977 ],
3978 "flags": [],
3979 "order": 3,
3980 "mode": 0,
3981 "inputs": [
3982 {
3983 "localized_name": "images",
3984 "name": "images",
3985 "type": "IMAGE",
3986 "link": 14
3987 }
3988 ],
3989 "outputs": [],
3990 "properties": {
3991 "cnr_id": "comfy-core",
3992 "ver": "0.10.0",
3993 "Node name for S&R": "PreviewImage"
3994 },
3995 "widgets_values": []
3996 },
3997 {
3998 "id": 11,
3999 "type": "PreviewImage",
4000 "pos": [
4001 2869.9998803566987,
4002 1969.9999250713959
4003 ],
4004 "size": [
4005 225,
4006 48
4007 ],
4008 "flags": [],
4009 "order": 4,
4010 "mode": 0,
4011 "inputs": [
4012 {
4013 "localized_name": "images",
4014 "name": "images",
4015 "type": "IMAGE",
4016 "link": 15
4017 }
4018 ],
4019 "outputs": [],
4020 "properties": {
4021 "cnr_id": "comfy-core",
4022 "ver": "0.10.0",
4023 "Node name for S&R": "PreviewImage"
4024 },
4025 "widgets_values": []
4026 }
4027 ],
4028 "groups": [],
4029 "links": [
4030 {
4031 "id": 11,
4032 "origin_id": 9,
4033 "origin_slot": 0,
4034 "target_id": 8,
4035 "target_slot": 1,
4036 "type": "IMAGE"
4037 },
4038 {
4039 "id": 9,
4040 "origin_id": 3,
4041 "origin_slot": 0,
4042 "target_id": 9,
4043 "target_slot": 2,
4044 "type": "STRING"
4045 },
4046 {
4047 "id": 3,
4048 "origin_id": -10,
4049 "origin_slot": 0,
4050 "target_id": 3,
4051 "target_slot": 0,
4052 "type": "STRING"
4053 },
4054 {
4055 "id": 6,
4056 "origin_id": -10,
4057 "origin_slot": 1,
4058 "target_id": 8,
4059 "target_slot": 0,
4060 "type": "IMAGE"
4061 },
4062 {
4063 "id": 8,
4064 "origin_id": -10,
4065 "origin_slot": 1,
4066 "target_id": 9,
4067 "target_slot": 0,
4068 "type": "IMAGE"
4069 },
4070 {
4071 "id": 10,
4072 "origin_id": -10,
4073 "origin_slot": 2,
4074 "target_id": 9,
4075 "target_slot": 3,
4076 "type": "COMBO"
4077 },
4078 {
4079 "id": 5,
4080 "origin_id": 9,
4081 "origin_slot": 0,
4082 "target_id": -20,
4083 "target_slot": 0,
4084 "type": "IMAGE"
4085 },
4086 {
4087 "id": 12,
4088 "origin_id": 3,
4089 "origin_slot": 0,
4090 "target_id": -20,
4091 "target_slot": 1,
4092 "type": "STRING"
4093 },
4094 {
4095 "id": 13,
4096 "origin_id": 8,
4097 "origin_slot": 0,
4098 "target_id": -20,
4099 "target_slot": 2,
4100 "type": "IMAGE"
4101 },
4102 {
4103 "id": 14,
4104 "origin_id": -10,
4105 "origin_slot": 1,
4106 "target_id": 10,
4107 "target_slot": 0,
4108 "type": "IMAGE"
4109 },
4110 {
4111 "id": 15,
4112 "origin_id": 8,
4113 "origin_slot": 0,
4114 "target_id": 11,
4115 "target_slot": 0,
4116 "type": "IMAGE"
4117 }
4118 ],
4119 "extra": {
4120 "workflowRendererVersion": "Vue"
4121 }
4122 },
4123 {
4124 "id": "a39f1ec1-8086-4164-97cb-340ed88c8168",
4125 "version": 1,
4126 "state": {
4127 "lastGroupId": 0,
4128 "lastNodeId": 9,
4129 "lastLinkId": 9,
4130 "lastRerouteId": 0
4131 },
4132 "revision": 0,
4133 "config": [],
4134 "name": "Batch Prompt Iterator",
4135 "inputNode": {
4136 "id": -10,
4137 "bounding": [
4138 90.40727678453659,
4139 2325.662789361009,
4140 144,
4141 72
4142 ]
4143 },
4144 "outputNode": {
4145 "id": -20,
4146 "bounding": [
4147 2942,
4148 2258,
4149 144,
4150 72
4151 ]
4152 },
4153 "inputs": [
4154 {
4155 "id": "da7d2f59-a52d-4f36-a474-9079e0b97ff1",
4156 "name": "value",
4157 "type": "STRING",
4158 "linkIds": [
4159 9
4160 ],
4161 "pos": [
4162 173.6727306537805,
4163 1956.3856578008408
4164 ]
4165 }
4166 ],
4167 "outputs": [
4168 {
4169 "id": "90326b5a-6290-4028-9573-5338419fba1b",
4170 "name": "STRING",
4171 "type": "STRING",
4172 "linkIds": [
4173 8
4174 ],
4175 "pos": [
4176 2470,
4177 1900
4178 ]
4179 }
4180 ],
4181 "widgets": [],
4182 "nodes": [
4183 {
4184 "id": 8,
4185 "type": "RegexReplace",
4186 "pos": [
4187 1458.4071265833052,
4188 1856.462824138249
4189 ],
4190 "size": [
4191 270,
4192 522
4193 ],
4194 "flags": [],
4195 "order": 4,
4196 "mode": 0,
4197 "inputs": [
4198 {
4199 "localized_name": "replace",
4200 "name": "replace",
4201 "type": "STRING",
4202 "widget": {
4203 "name": "replace"
4204 },
4205 "link": 6
4206 }
4207 ],
4208 "outputs": [
4209 {
4210 "localized_name": "STRING",
4211 "name": "STRING",
4212 "type": "STRING",
4213 "links": [
4214 2
4215 ]
4216 }
4217 ],
4218 "properties": {
4219 "cnr_id": "comfy-core",
4220 "ver": "0.9.2",
4221 "Node name for S&R": "RegexReplace"
4222 },
4223 "widgets_values": [
4224 "(?:^(?!\\s*\\*?\\s*$).+$\\n(?:^\\s*\\*?\\s*$\\n)*){0}^(?!\\s*\\*?\\s*$)(.+)$",
4225 "(?<=\\{)\\d+(?=\\})",
4226 "",
4227 true,
4228 false,
4229 false,
4230 0
4231 ]
4232 },
4233 {
4234 "id": 6,
4235 "type": "PrimitiveInt",
4236 "pos": [
4237 810.4071259347734,
4238 2012.4627471341084
4239 ],
4240 "size": [
4241 355.0875,
4242 126
4243 ],
4244 "flags": [],
4245 "order": 0,
4246 "mode": 0,
4247 "inputs": [],
4248 "outputs": [
4249 {
4250 "localized_name": "INT",
4251 "name": "INT",
4252 "type": "INT",
4253 "links": [
4254 7
4255 ]
4256 }
4257 ],
4258 "title": "Int - Select Prompt Number (not index)",
4259 "properties": {
4260 "cnr_id": "comfy-core",
4261 "ver": "0.9.2",
4262 "Node name for S&R": "PrimitiveInt"
4263 },
4264 "widgets_values": [
4265 3,
4266 "fixed"
4267 ]
4268 },
4269 {
4270 "id": 9,
4271 "type": "SimpleMath+",
4272 "pos": [
4273 829.9998717200663,
4274 1933.9997188073237
4275 ],
4276 "size": [
4277 257.980078125,
4278 54
4279 ],
4280 "flags": {
4281 "collapsed": true
4282 },
4283 "order": 2,
4284 "mode": 0,
4285 "inputs": [
4286 {
4287 "localized_name": "a",
4288 "name": "a",
4289 "shape": 7,
4290 "type": "INT,FLOAT",
4291 "link": 7
4292 },
4293 {
4294 "localized_name": "b",
4295 "name": "b",
4296 "shape": 7,
4297 "type": "INT,FLOAT",
4298 "link": null
4299 }
4300 ],
4301 "outputs": [
4302 {
4303 "localized_name": "INT",
4304 "name": "INT",
4305 "type": "INT",
4306 "links": [
4307 4
4308 ]
4309 },
4310 {
4311 "localized_name": "FLOAT",
4312 "name": "FLOAT",
4313 "type": "FLOAT",
4314 "links": null
4315 }
4316 ],
4317 "title": "Convert Prompt Number to Index",
4318 "properties": {
4319 "cnr_id": "comfyui_essentials",
4320 "ver": "1.1.0",
4321 "Node name for S&R": "SimpleMath+"
4322 },
4323 "widgets_values": [
4324 "a-1"
4325 ]
4326 },
4327 {
4328 "id": 3,
4329 "type": "SomethingToString",
4330 "pos": [
4331 1177.9998019226534,
4332 1933.9997188073237
4333 ],
4334 "size": [
4335 210,
4336 39.6
4337 ],
4338 "flags": {
4339 "collapsed": true
4340 },
4341 "order": 3,
4342 "mode": 0,
4343 "inputs": [
4344 {
4345 "localized_name": "input",
4346 "name": "input",
4347 "type": "*",
4348 "link": 4
4349 }
4350 ],
4351 "outputs": [
4352 {
4353 "localized_name": "STRING",
4354 "name": "STRING",
4355 "type": "STRING",
4356 "links": [
4357 6
4358 ]
4359 }
4360 ],
4361 "properties": {
4362 "cnr_id": "comfyui-kjnodes",
4363 "ver": "c661baadd9683c0033cd2a6ad90157c6d099a6c2",
4364 "Node name for S&R": "SomethingToString"
4365 },
4366 "widgets_values": [
4367 "",
4368 ""
4369 ]
4370 },
4371 {
4372 "id": 5,
4373 "type": "MarkdownNote",
4374 "pos": [
4375 1741.9996692102889,
4376 1861.9999291723602
4377 ],
4378 "size": [
4379 432,
4380 1737.9937499999999
4381 ],
4382 "flags": [],
4383 "order": 1,
4384 "mode": 0,
4385 "inputs": [],
4386 "outputs": [],
4387 "properties": [],
4388 "widgets_values": [
4389 "# Prompt Selector Regex Pattern\n\n## Pattern\n(?:^(?!\\s*\\*?\\s*$).+$\\n(?:^\\s*\\*?\\s*$\\n)*){0}^(?!\\s*\\*?\\s*$)(.+)$\n\n## Settings\n- mode: \"First Group\"\n- multiline: true\n- dotall: false\n- group_index: 1\n\n## How it works\n\n| Part | Meaning |\n|---------------------------|-------------------------------------------------|\n| (?!\\s*\\*?\\s*$) | Lookahead: line is NOT blank or just * |\n| ^(?!\\s*\\*?\\s*$).+$ | Match a content line |\n| \\n | Newline after content |\n| (?:^\\s*\\*?\\s*$\\n)* | Consume zero or more separator lines (blank/*) |\n| {0} | Skip n blocks (replaceable index) |\n| ^(?!\\s*\\*?\\s*$)(.+)$ | Capture the target prompt |\n\n## Index Replacement\nUse Regex Replace with pattern: (?<=\\{)\\d+(?=\\})\n\n## Supported Formats\n\n**Newline only:**\n\ntest1\ntest2\ntest3\n\n**Blank lines:**\n\ntest1\n\n\ntest2\n\n\ntest3\n\n\n**Asterisk separator:**\n\ntest1\n*\ntest2\n*\ntest3\n\n**Asterisk with blanks:**\n\ntest1\n\n*\n\ntest2\n\n*\n\ntest3"
4390 ],
4391 "color": "#432",
4392 "bgcolor": "#653"
4393 },
4394 {
4395 "id": 1,
4396 "type": "RegexExtract",
4397 "pos": [
4398 2197.999852045479,
4399 1861.9999291723602
4400 ],
4401 "size": [
4402 480,
4403 453.1875
4404 ],
4405 "flags": [],
4406 "order": 5,
4407 "mode": 0,
4408 "inputs": [
4409 {
4410 "localized_name": "string",
4411 "name": "string",
4412 "type": "STRING",
4413 "widget": {
4414 "name": "string"
4415 },
4416 "link": 1
4417 },
4418 {
4419 "localized_name": "regex_pattern",
4420 "name": "regex_pattern",
4421 "type": "STRING",
4422 "widget": {
4423 "name": "regex_pattern"
4424 },
4425 "link": 2
4426 }
4427 ],
4428 "outputs": [
4429 {
4430 "localized_name": "STRING",
4431 "name": "STRING",
4432 "type": "STRING",
4433 "links": [
4434 3,
4435 8
4436 ]
4437 }
4438 ],
4439 "properties": {
4440 "cnr_id": "comfy-core",
4441 "ver": "0.9.2",
4442 "Node name for S&R": "RegexExtract"
4443 },
4444 "widgets_values": [
4445 "",
4446 "",
4447 "First Group",
4448 true,
4449 true,
4450 false,
4451 1
4452 ]
4453 },
4454 {
4455 "id": 2,
4456 "type": "PreviewAny",
4457 "pos": [
4458 2401.999824191367,
4459 2233.999978646654
4460 ],
4461 "size": [
4462 276,
4463 270
4464 ],
4465 "flags": [],
4466 "order": 6,
4467 "mode": 0,
4468 "inputs": [
4469 {
4470 "localized_name": "source",
4471 "name": "source",
4472 "type": "*",
4473 "link": 3
4474 }
4475 ],
4476 "outputs": [],
4477 "properties": {
4478 "cnr_id": "comfy-core",
4479 "ver": "0.9.2",
4480 "Node name for S&R": "PreviewAny"
4481 },
4482 "widgets_values": [
4483 null,
4484 null,
4485 null
4486 ]
4487 },
4488 {
4489 "id": 7,
4490 "type": "PrimitiveStringMultiline",
4491 "pos": [
4492 313.9998641890731,
4493 2018.0002309549918
4494 ],
4495 "size": [
4496 480,
4497 594
4498 ],
4499 "flags": [],
4500 "order": 7,
4501 "mode": 0,
4502 "inputs": [
4503 {
4504 "localized_name": "value",
4505 "name": "value",
4506 "type": "STRING",
4507 "widget": {
4508 "name": "value"
4509 },
4510 "link": 9
4511 }
4512 ],
4513 "outputs": [
4514 {
4515 "localized_name": "STRING",
4516 "name": "STRING",
4517 "type": "STRING",
4518 "links": [
4519 1
4520 ]
4521 }
4522 ],
4523 "properties": {
4524 "cnr_id": "comfy-core",
4525 "ver": "0.9.2",
4526 "Node name for S&R": "PrimitiveStringMultiline"
4527 },
4528 "widgets_values": [
4529 ""
4530 ]
4531 }
4532 ],
4533 "groups": [],
4534 "links": [
4535 {
4536 "id": 1,
4537 "origin_id": 7,
4538 "origin_slot": 0,
4539 "target_id": 1,
4540 "target_slot": 0,
4541 "type": "STRING"
4542 },
4543 {
4544 "id": 2,
4545 "origin_id": 8,
4546 "origin_slot": 0,
4547 "target_id": 1,
4548 "target_slot": 1,
4549 "type": "STRING"
4550 },
4551 {
4552 "id": 3,
4553 "origin_id": 1,
4554 "origin_slot": 0,
4555 "target_id": 2,
4556 "target_slot": 0,
4557 "type": "STRING"
4558 },
4559 {
4560 "id": 4,
4561 "origin_id": 9,
4562 "origin_slot": 0,
4563 "target_id": 3,
4564 "target_slot": 0,
4565 "type": "INT"
4566 },
4567 {
4568 "id": 6,
4569 "origin_id": 3,
4570 "origin_slot": 0,
4571 "target_id": 8,
4572 "target_slot": 0,
4573 "type": "STRING"
4574 },
4575 {
4576 "id": 7,
4577 "origin_id": 6,
4578 "origin_slot": 0,
4579 "target_id": 9,
4580 "target_slot": 0,
4581 "type": "INT"
4582 },
4583 {
4584 "id": 8,
4585 "origin_id": 1,
4586 "origin_slot": 0,
4587 "target_id": -20,
4588 "target_slot": 0,
4589 "type": "STRING"
4590 },
4591 {
4592 "id": 9,
4593 "origin_id": -10,
4594 "origin_slot": 0,
4595 "target_id": 7,
4596 "target_slot": 0,
4597 "type": "STRING"
4598 }
4599 ],
4600 "extra": {
4601 "workflowRendererVersion": "Vue"
4602 }
4603 },
4604 {
4605 "id": "601fd020-3eba-4b24-b15f-a2a9c0307d3a",
4606 "version": 1,
4607 "state": {
4608 "lastGroupId": 0,
4609 "lastNodeId": 9,
4610 "lastLinkId": 13,
4611 "lastRerouteId": 0
4612 },
4613 "revision": 0,
4614 "config": [],
4615 "name": "New Subgraph",
4616 "inputNode": {
4617 "id": -10,
4618 "bounding": [
4619 1538.4162218932536,
4620 1360.7424319789518,
4621 120,
4622 100
4623 ]
4624 },
4625 "outputNode": {
4626 "id": -20,
4627 "bounding": [
4628 2906.4161122605633,
4629 1384.7424319789518,
4630 120,
4631 100
4632 ]
4633 },
4634 "inputs": [
4635 {
4636 "id": "0cce5c00-af31-4ed7-bc88-4a03f774e6b8",
4637 "name": "value",
4638 "type": "STRING",
4639 "linkIds": [
4640 3
4641 ],
4642 "pos": [
4643 1638.4162218932536,
4644 1380.7424319789518
4645 ]
4646 },
4647 {
4648 "id": "3caab8c6-6b7e-4342-ad7c-f7fd98191c05",
4649 "name": "images.image0",
4650 "type": "IMAGE",
4651 "linkIds": [
4652 6,
4653 8
4654 ],
4655 "localized_name": "images.image0",
4656 "label": "image0",
4657 "pos": [
4658 1638.4162218932536,
4659 1400.7424319789518
4660 ]
4661 },
4662 {
4663 "id": "d972ea9d-b00c-4f61-bd3a-581b58a66f6b",
4664 "name": "aspect_ratio",
4665 "type": "COMBO",
4666 "linkIds": [
4667 10
4668 ],
4669 "localized_name": "aspect_ratio",
4670 "pos": [
4671 1638.4162218932536,
4672 1420.7424319789518
4673 ]
4674 }
4675 ],
4676 "outputs": [
4677 {
4678 "id": "2a0fa53c-8840-4a6c-89c1-0c26b921407a",
4679 "name": "IMAGE",
4680 "type": "IMAGE",
4681 "linkIds": [
4682 5
4683 ],
4684 "localized_name": "IMAGE",
4685 "pos": [
4686 2926.4161122605633,
4687 1404.7424319789518
4688 ]
4689 },
4690 {
4691 "id": "0cc3a5b8-24ab-4c53-843e-654df60c7385",
4692 "name": "STRING",
4693 "type": "STRING",
4694 "linkIds": [
4695 12
4696 ],
4697 "pos": [
4698 2926.4161122605633,
4699 1424.7424319789518
4700 ]
4701 },
4702 {
4703 "id": "b257ea65-71bc-40cc-a144-4a3eb1bb05c0",
4704 "name": "IMAGE_1",
4705 "type": "IMAGE",
4706 "linkIds": [
4707 13
4708 ],
4709 "label": "IMAGES",
4710 "pos": [
4711 2926.4161122605633,
4712 1444.7424319789518
4713 ]
4714 }
4715 ],
4716 "widgets": [],
4717 "nodes": [
4718 {
4719 "id": 3,
4720 "type": "acb845ee-315b-479a-8579-7ad2af961ba0",
4721 "pos": [
4722 1754.4159856553579,
4723 1308.284711906006
4724 ],
4725 "size": [
4726 480,
4727 189
4728 ],
4729 "flags": [],
4730 "order": 0,
4731 "mode": 0,
4732 "inputs": [
4733 {
4734 "name": "value",
4735 "type": "STRING",
4736 "widget": {
4737 "name": "value"
4738 },
4739 "link": 3
4740 }
4741 ],
4742 "outputs": [
4743 {
4744 "name": "STRING",
4745 "type": "STRING",
4746 "links": [
4747 9,
4748 12
4749 ]
4750 }
4751 ],
4752 "properties": {
4753 "proxyWidgets": [
4754 [
4755 "-1",
4756 "value"
4757 ],
4758 [
4759 "6",
4760 "value"
4761 ],
4762 [
4763 "6",
4764 "control_after_generate"
4765 ]
4766 ],
4767 "cnr_id": "comfy-core",
4768 "ver": "0.9.2"
4769 },
4770 "widgets_values": [
4771 ""
4772 ]
4773 },
4774 {
4775 "id": 8,
4776 "type": "BatchImagesNode",
4777 "pos": [
4778 2557.99995350925,
4779 1837.9999714287865
4780 ],
4781 "size": [
4782 270,
4783 96
4784 ],
4785 "flags": [],
4786 "order": 1,
4787 "mode": 0,
4788 "inputs": [
4789 {
4790 "label": "image0",
4791 "localized_name": "images.image0",
4792 "name": "images.image0",
4793 "type": "IMAGE",
4794 "link": 6
4795 },
4796 {
4797 "label": "image1",
4798 "localized_name": "images.image1",
4799 "name": "images.image1",
4800 "type": "IMAGE",
4801 "link": 11
4802 },
4803 {
4804 "label": "image2",
4805 "localized_name": "images.image2",
4806 "name": "images.image2",
4807 "shape": 7,
4808 "type": "IMAGE",
4809 "link": null
4810 }
4811 ],
4812 "outputs": [
4813 {
4814 "localized_name": "IMAGE",
4815 "name": "IMAGE",
4816 "type": "IMAGE",
4817 "links": [
4818 13
4819 ]
4820 }
4821 ],
4822 "properties": {
4823 "cnr_id": "comfy-core",
4824 "ver": "0.9.2",
4825 "Node name for S&R": "BatchImagesNode"
4826 },
4827 "widgets_values": []
4828 },
4829 {
4830 "id": 9,
4831 "type": "GeminiImage2Node",
4832 "pos": [
4833 2354.4161279831555,
4834 1308.284711906006
4835 ],
4836 "size": [
4837 480,
4838 396.65625
4839 ],
4840 "flags": [],
4841 "order": 2,
4842 "mode": 0,
4843 "inputs": [
4844 {
4845 "localized_name": "images",
4846 "name": "images",
4847 "shape": 7,
4848 "type": "IMAGE",
4849 "link": 8
4850 },
4851 {
4852 "localized_name": "files",
4853 "name": "files",
4854 "shape": 7,
4855 "type": "GEMINI_INPUT_FILES",
4856 "link": null
4857 },
4858 {
4859 "localized_name": "prompt",
4860 "name": "prompt",
4861 "type": "STRING",
4862 "widget": {
4863 "name": "prompt"
4864 },
4865 "link": 9
4866 },
4867 {
4868 "localized_name": "aspect_ratio",
4869 "name": "aspect_ratio",
4870 "type": "COMBO",
4871 "widget": {
4872 "name": "aspect_ratio"
4873 },
4874 "link": 10
4875 }
4876 ],
4877 "outputs": [
4878 {
4879 "localized_name": "IMAGE",
4880 "name": "IMAGE",
4881 "type": "IMAGE",
4882 "links": [
4883 5,
4884 7,
4885 11
4886 ]
4887 },
4888 {
4889 "localized_name": "STRING",
4890 "name": "STRING",
4891 "type": "STRING",
4892 "links": null
4893 }
4894 ],
4895 "properties": {
4896 "cnr_id": "comfy-core",
4897 "ver": "0.9.2",
4898 "Node name for S&R": "GeminiImage2Node"
4899 },
4900 "widgets_values": [
4901 "",
4902 "gemini-3-pro-image-preview",
4903 4,
4904 "fixed",
4905 "16:9",
4906 "2K",
4907 "IMAGE+TEXT",
4908 "You are an expert image-generation engine. You must ALWAYS produce an image.\nInterpret all user input—regardless of format, intent, or abstraction—as literal visual directives for image composition.\nIf a prompt is conversational or lacks specific visual details, you must creatively invent a concrete visual scenario that depicts the concept.\nPrioritize generating the visual representation above any text, formatting, or conversational requests."
4909 ],
4910 "color": "#432",
4911 "bgcolor": "#653"
4912 }
4913 ],
4914 "groups": [],
4915 "links": [
4916 {
4917 "id": 11,
4918 "origin_id": 9,
4919 "origin_slot": 0,
4920 "target_id": 8,
4921 "target_slot": 1,
4922 "type": "IMAGE"
4923 },
4924 {
4925 "id": 9,
4926 "origin_id": 3,
4927 "origin_slot": 0,
4928 "target_id": 9,
4929 "target_slot": 2,
4930 "type": "STRING"
4931 },
4932 {
4933 "id": 3,
4934 "origin_id": -10,
4935 "origin_slot": 0,
4936 "target_id": 3,
4937 "target_slot": 0,
4938 "type": "STRING"
4939 },
4940 {
4941 "id": 6,
4942 "origin_id": -10,
4943 "origin_slot": 1,
4944 "target_id": 8,
4945 "target_slot": 0,
4946 "type": "IMAGE"
4947 },
4948 {
4949 "id": 8,
4950 "origin_id": -10,
4951 "origin_slot": 1,
4952 "target_id": 9,
4953 "target_slot": 0,
4954 "type": "IMAGE"
4955 },
4956 {
4957 "id": 10,
4958 "origin_id": -10,
4959 "origin_slot": 2,
4960 "target_id": 9,
4961 "target_slot": 3,
4962 "type": "COMBO"
4963 },
4964 {
4965 "id": 5,
4966 "origin_id": 9,
4967 "origin_slot": 0,
4968 "target_id": -20,
4969 "target_slot": 0,
4970 "type": "IMAGE"
4971 },
4972 {
4973 "id": 12,
4974 "origin_id": 3,
4975 "origin_slot": 0,
4976 "target_id": -20,
4977 "target_slot": 1,
4978 "type": "STRING"
4979 },
4980 {
4981 "id": 13,
4982 "origin_id": 8,
4983 "origin_slot": 0,
4984 "target_id": -20,
4985 "target_slot": 2,
4986 "type": "IMAGE"
4987 }
4988 ],
4989 "extra": {
4990 "workflowRendererVersion": "Vue"
4991 }
4992 },
4993 {
4994 "id": "eaabb89a-2cd6-4960-ad44-1b152bff77c1",
4995 "version": 1,
4996 "state": {
4997 "lastGroupId": 0,
4998 "lastNodeId": 11,
4999 "lastLinkId": 15,
5000 "lastRerouteId": 0
5001 },
5002 "revision": 0,
5003 "config": [],
5004 "name": "New Subgraph",
5005 "inputNode": {
5006 "id": -10,
5007 "bounding": [
5008 1538.4162218932536,
5009 1360.7424319789518,
5010 120,
5011 100
5012 ]
5013 },
5014 "outputNode": {
5015 "id": -20,
5016 "bounding": [
5017 2906.4161122605633,
5018 1384.7424319789518,
5019 120,
5020 100
5021 ]
5022 },
5023 "inputs": [
5024 {
5025 "id": "0cce5c00-af31-4ed7-bc88-4a03f774e6b8",
5026 "name": "value",
5027 "type": "STRING",
5028 "linkIds": [
5029 3
5030 ],
5031 "pos": [
5032 1638.4162218932536,
5033 1380.7424319789518
5034 ]
5035 },
5036 {
5037 "id": "3caab8c6-6b7e-4342-ad7c-f7fd98191c05",
5038 "name": "images.image0",
5039 "type": "IMAGE",
5040 "linkIds": [
5041 6,
5042 8,
5043 14
5044 ],
5045 "localized_name": "images.image0",
5046 "label": "image0",
5047 "pos": [
5048 1638.4162218932536,
5049 1400.7424319789518
5050 ]
5051 },
5052 {
5053 "id": "d972ea9d-b00c-4f61-bd3a-581b58a66f6b",
5054 "name": "aspect_ratio",
5055 "type": "COMBO",
5056 "linkIds": [
5057 10
5058 ],
5059 "localized_name": "aspect_ratio",
5060 "pos": [
5061 1638.4162218932536,
5062 1420.7424319789518
5063 ]
5064 }
5065 ],
5066 "outputs": [
5067 {
5068 "id": "2a0fa53c-8840-4a6c-89c1-0c26b921407a",
5069 "name": "IMAGE",
5070 "type": "IMAGE",
5071 "linkIds": [
5072 5
5073 ],
5074 "localized_name": "IMAGE",
5075 "pos": [
5076 2926.4161122605633,
5077 1404.7424319789518
5078 ]
5079 },
5080 {
5081 "id": "0cc3a5b8-24ab-4c53-843e-654df60c7385",
5082 "name": "STRING",
5083 "type": "STRING",
5084 "linkIds": [
5085 12
5086 ],
5087 "pos": [
5088 2926.4161122605633,
5089 1424.7424319789518
5090 ]
5091 },
5092 {
5093 "id": "b257ea65-71bc-40cc-a144-4a3eb1bb05c0",
5094 "name": "IMAGE_1",
5095 "type": "IMAGE",
5096 "linkIds": [
5097 13
5098 ],
5099 "label": "IMAGES",
5100 "pos": [
5101 2926.4161122605633,
5102 1444.7424319789518
5103 ]
5104 }
5105 ],
5106 "widgets": [],
5107 "nodes": [
5108 {
5109 "id": 3,
5110 "type": "4682df2b-bfbf-4fc5-8bfb-a6eb6aaea892",
5111 "pos": [
5112 1754.4159025945255,
5113 1308.2848074283156
5114 ],
5115 "size": [
5116 480,
5117 189
5118 ],
5119 "flags": [],
5120 "order": 0,
5121 "mode": 0,
5122 "inputs": [
5123 {
5124 "name": "value",
5125 "type": "STRING",
5126 "widget": {
5127 "name": "value"
5128 },
5129 "link": 3
5130 }
5131 ],
5132 "outputs": [
5133 {
5134 "name": "STRING",
5135 "type": "STRING",
5136 "links": [
5137 9,
5138 12
5139 ]
5140 }
5141 ],
5142 "properties": {
5143 "proxyWidgets": [
5144 [
5145 "-1",
5146 "value"
5147 ],
5148 [
5149 "6",
5150 "value"
5151 ],
5152 [
5153 "6",
5154 "control_after_generate"
5155 ]
5156 ],
5157 "cnr_id": "comfy-core",
5158 "ver": "0.9.2"
5159 },
5160 "widgets_values": [
5161 ""
5162 ]
5163 },
5164 {
5165 "id": 8,
5166 "type": "BatchImagesNode",
5167 "pos": [
5168 2557.999928946322,
5169 1837.999979410667
5170 ],
5171 "size": [
5172 270,
5173 96
5174 ],
5175 "flags": [],
5176 "order": 1,
5177 "mode": 0,
5178 "inputs": [
5179 {
5180 "label": "image0",
5181 "localized_name": "images.image0",
5182 "name": "images.image0",
5183 "type": "IMAGE",
5184 "link": 6
5185 },
5186 {
5187 "label": "image1",
5188 "localized_name": "images.image1",
5189 "name": "images.image1",
5190 "type": "IMAGE",
5191 "link": 11
5192 },
5193 {
5194 "label": "image2",
5195 "localized_name": "images.image2",
5196 "name": "images.image2",
5197 "shape": 7,
5198 "type": "IMAGE",
5199 "link": null
5200 }
5201 ],
5202 "outputs": [
5203 {
5204 "localized_name": "IMAGE",
5205 "name": "IMAGE",
5206 "type": "IMAGE",
5207 "links": [
5208 13,
5209 15
5210 ]
5211 }
5212 ],
5213 "properties": {
5214 "cnr_id": "comfy-core",
5215 "ver": "0.9.2",
5216 "Node name for S&R": "BatchImagesNode"
5217 },
5218 "widgets_values": []
5219 },
5220 {
5221 "id": 9,
5222 "type": "GeminiImage2Node",
5223 "pos": [
5224 2354.4159952941054,
5225 1308.2847967155744
5226 ],
5227 "size": [
5228 480,
5229 396.65625
5230 ],
5231 "flags": [],
5232 "order": 2,
5233 "mode": 0,
5234 "inputs": [
5235 {
5236 "localized_name": "images",
5237 "name": "images",
5238 "shape": 7,
5239 "type": "IMAGE",
5240 "link": 8
5241 },
5242 {
5243 "localized_name": "files",
5244 "name": "files",
5245 "shape": 7,
5246 "type": "GEMINI_INPUT_FILES",
5247 "link": null
5248 },
5249 {
5250 "localized_name": "prompt",
5251 "name": "prompt",
5252 "type": "STRING",
5253 "widget": {
5254 "name": "prompt"
5255 },
5256 "link": 9
5257 },
5258 {
5259 "localized_name": "aspect_ratio",
5260 "name": "aspect_ratio",
5261 "type": "COMBO",
5262 "widget": {
5263 "name": "aspect_ratio"
5264 },
5265 "link": 10
5266 }
5267 ],
5268 "outputs": [
5269 {
5270 "localized_name": "IMAGE",
5271 "name": "IMAGE",
5272 "type": "IMAGE",
5273 "links": [
5274 5,
5275 7,
5276 11
5277 ]
5278 },
5279 {
5280 "localized_name": "STRING",
5281 "name": "STRING",
5282 "type": "STRING",
5283 "links": null
5284 }
5285 ],
5286 "properties": {
5287 "cnr_id": "comfy-core",
5288 "ver": "0.9.2",
5289 "Node name for S&R": "GeminiImage2Node"
5290 },
5291 "widgets_values": [
5292 "",
5293 "gemini-3-pro-image-preview",
5294 5,
5295 "fixed",
5296 "16:9",
5297 "2K",
5298 "IMAGE+TEXT",
5299 "You are an expert image-generation engine. You must ALWAYS produce an image.\nInterpret all user input—regardless of format, intent, or abstraction—as literal visual directives for image composition.\nIf a prompt is conversational or lacks specific visual details, you must creatively invent a concrete visual scenario that depicts the concept.\nPrioritize generating the visual representation above any text, formatting, or conversational requests."
5300 ],
5301 "color": "#432",
5302 "bgcolor": "#653"
5303 },
5304 {
5305 "id": 10,
5306 "type": "PreviewImage",
5307 "pos": [
5308 2049.999731660014,
5309 1700.0001132450197
5310 ],
5311 "size": [
5312 225,
5313 188
5314 ],
5315 "flags": [],
5316 "order": 3,
5317 "mode": 0,
5318 "inputs": [
5319 {
5320 "localized_name": "images",
5321 "name": "images",
5322 "type": "IMAGE",
5323 "link": 14
5324 }
5325 ],
5326 "outputs": [],
5327 "properties": {
5328 "cnr_id": "comfy-core",
5329 "ver": "0.10.0",
5330 "Node name for S&R": "PreviewImage"
5331 },
5332 "widgets_values": []
5333 },
5334 {
5335 "id": 11,
5336 "type": "PreviewImage",
5337 "pos": [
5338 2869.999971340255,
5339 1970.0000238831735
5340 ],
5341 "size": [
5342 225,
5343 188
5344 ],
5345 "flags": [],
5346 "order": 4,
5347 "mode": 0,
5348 "inputs": [
5349 {
5350 "localized_name": "images",
5351 "name": "images",
5352 "type": "IMAGE",
5353 "link": 15
5354 }
5355 ],
5356 "outputs": [],
5357 "properties": {
5358 "cnr_id": "comfy-core",
5359 "ver": "0.10.0",
5360 "Node name for S&R": "PreviewImage"
5361 },
5362 "widgets_values": []
5363 }
5364 ],
5365 "groups": [],
5366 "links": [
5367 {
5368 "id": 11,
5369 "origin_id": 9,
5370 "origin_slot": 0,
5371 "target_id": 8,
5372 "target_slot": 1,
5373 "type": "IMAGE"
5374 },
5375 {
5376 "id": 9,
5377 "origin_id": 3,
5378 "origin_slot": 0,
5379 "target_id": 9,
5380 "target_slot": 2,
5381 "type": "STRING"
5382 },
5383 {
5384 "id": 3,
5385 "origin_id": -10,
5386 "origin_slot": 0,
5387 "target_id": 3,
5388 "target_slot": 0,
5389 "type": "STRING"
5390 },
5391 {
5392 "id": 6,
5393 "origin_id": -10,
5394 "origin_slot": 1,
5395 "target_id": 8,
5396 "target_slot": 0,
5397 "type": "IMAGE"
5398 },
5399 {
5400 "id": 8,
5401 "origin_id": -10,
5402 "origin_slot": 1,
5403 "target_id": 9,
5404 "target_slot": 0,
5405 "type": "IMAGE"
5406 },
5407 {
5408 "id": 10,
5409 "origin_id": -10,
5410 "origin_slot": 2,
5411 "target_id": 9,
5412 "target_slot": 3,
5413 "type": "COMBO"
5414 },
5415 {
5416 "id": 5,
5417 "origin_id": 9,
5418 "origin_slot": 0,
5419 "target_id": -20,
5420 "target_slot": 0,
5421 "type": "IMAGE"
5422 },
5423 {
5424 "id": 12,
5425 "origin_id": 3,
5426 "origin_slot": 0,
5427 "target_id": -20,
5428 "target_slot": 1,
5429 "type": "STRING"
5430 },
5431 {
5432 "id": 13,
5433 "origin_id": 8,
5434 "origin_slot": 0,
5435 "target_id": -20,
5436 "target_slot": 2,
5437 "type": "IMAGE"
5438 },
5439 {
5440 "id": 14,
5441 "origin_id": -10,
5442 "origin_slot": 1,
5443 "target_id": 10,
5444 "target_slot": 0,
5445 "type": "IMAGE"
5446 },
5447 {
5448 "id": 15,
5449 "origin_id": 8,
5450 "origin_slot": 0,
5451 "target_id": 11,
5452 "target_slot": 0,
5453 "type": "IMAGE"
5454 }
5455 ],
5456 "extra": {
5457 "workflowRendererVersion": "Vue"
5458 }
5459 },
5460 {
5461 "id": "86a340d1-ba23-44b6-8470-6b3d64167d65",
5462 "version": 1,
5463 "state": {
5464 "lastGroupId": 0,
5465 "lastNodeId": 11,
5466 "lastLinkId": 15,
5467 "lastRerouteId": 0
5468 },
5469 "revision": 0,
5470 "config": [],
5471 "name": "New Subgraph",
5472 "inputNode": {
5473 "id": -10,
5474 "bounding": [
5475 1538.4162218932536,
5476 1360.7424319789518,
5477 120,
5478 100
5479 ]
5480 },
5481 "outputNode": {
5482 "id": -20,
5483 "bounding": [
5484 2906.4161122605633,
5485 1384.7424319789518,
5486 120,
5487 100
5488 ]
5489 },
5490 "inputs": [
5491 {
5492 "id": "0cce5c00-af31-4ed7-bc88-4a03f774e6b8",
5493 "name": "value",
5494 "type": "STRING",
5495 "linkIds": [
5496 3
5497 ],
5498 "pos": [
5499 1638.4162218932536,
5500 1380.7424319789518
5501 ]
5502 },
5503 {
5504 "id": "3caab8c6-6b7e-4342-ad7c-f7fd98191c05",
5505 "name": "images.image0",
5506 "type": "IMAGE",
5507 "linkIds": [
5508 6,
5509 8
5510 ],
5511 "localized_name": "images.image0",
5512 "label": "image0",
5513 "pos": [
5514 1638.4162218932536,
5515 1400.7424319789518
5516 ]
5517 },
5518 {
5519 "id": "d972ea9d-b00c-4f61-bd3a-581b58a66f6b",
5520 "name": "aspect_ratio",
5521 "type": "COMBO",
5522 "linkIds": [
5523 10
5524 ],
5525 "localized_name": "aspect_ratio",
5526 "pos": [
5527 1638.4162218932536,
5528 1420.7424319789518
5529 ]
5530 }
5531 ],
5532 "outputs": [
5533 {
5534 "id": "2a0fa53c-8840-4a6c-89c1-0c26b921407a",
5535 "name": "IMAGE",
5536 "type": "IMAGE",
5537 "linkIds": [
5538 5
5539 ],
5540 "localized_name": "IMAGE",
5541 "pos": [
5542 2926.4161122605633,
5543 1404.7424319789518
5544 ]
5545 },
5546 {
5547 "id": "0cc3a5b8-24ab-4c53-843e-654df60c7385",
5548 "name": "STRING",
5549 "type": "STRING",
5550 "linkIds": [
5551 12
5552 ],
5553 "pos": [
5554 2926.4161122605633,
5555 1424.7424319789518
5556 ]
5557 },
5558 {
5559 "id": "b257ea65-71bc-40cc-a144-4a3eb1bb05c0",
5560 "name": "IMAGE_1",
5561 "type": "IMAGE",
5562 "linkIds": [
5563 13
5564 ],
5565 "label": "IMAGES",
5566 "pos": [
5567 2926.4161122605633,
5568 1444.7424319789518
5569 ]
5570 }
5571 ],
5572 "widgets": [],
5573 "nodes": [
5574 {
5575 "id": 3,
5576 "type": "e5719f6e-fb77-48b8-ba45-c60901a55fe7",
5577 "pos": [
5578 1754.4159293737875,
5579 1308.2847679959984
5580 ],
5581 "size": [
5582 480,
5583 189
5584 ],
5585 "flags": [],
5586 "order": 0,
5587 "mode": 0,
5588 "inputs": [
5589 {
5590 "name": "value",
5591 "type": "STRING",
5592 "widget": {
5593 "name": "value"
5594 },
5595 "link": 3
5596 }
5597 ],
5598 "outputs": [
5599 {
5600 "name": "STRING",
5601 "type": "STRING",
5602 "links": [
5603 9,
5604 12
5605 ]
5606 }
5607 ],
5608 "properties": {
5609 "proxyWidgets": [
5610 [
5611 "-1",
5612 "value"
5613 ],
5614 [
5615 "6",
5616 "value"
5617 ],
5618 [
5619 "6",
5620 "control_after_generate"
5621 ]
5622 ],
5623 "cnr_id": "comfy-core",
5624 "ver": "0.9.2"
5625 },
5626 "widgets_values": [
5627 ""
5628 ]
5629 },
5630 {
5631 "id": 8,
5632 "type": "BatchImagesNode",
5633 "pos": [
5634 2558.0001153652784,
5635 1837.9999940823955
5636 ],
5637 "size": [
5638 270,
5639 96
5640 ],
5641 "flags": [],
5642 "order": 1,
5643 "mode": 0,
5644 "inputs": [
5645 {
5646 "label": "image0",
5647 "localized_name": "images.image0",
5648 "name": "images.image0",
5649 "type": "IMAGE",
5650 "link": 6
5651 },
5652 {
5653 "label": "image1",
5654 "localized_name": "images.image1",
5655 "name": "images.image1",
5656 "type": "IMAGE",
5657 "link": 11
5658 },
5659 {
5660 "label": "image2",
5661 "localized_name": "images.image2",
5662 "name": "images.image2",
5663 "shape": 7,
5664 "type": "IMAGE",
5665 "link": null
5666 }
5667 ],
5668 "outputs": [
5669 {
5670 "localized_name": "IMAGE",
5671 "name": "IMAGE",
5672 "type": "IMAGE",
5673 "links": [
5674 13,
5675 15
5676 ]
5677 }
5678 ],
5679 "properties": {
5680 "cnr_id": "comfy-core",
5681 "ver": "0.9.2",
5682 "Node name for S&R": "BatchImagesNode"
5683 },
5684 "widgets_values": []
5685 },
5686 {
5687 "id": 9,
5688 "type": "GeminiImage2Node",
5689 "pos": [
5690 2354.4161175789723,
5691 1308.2847679959984
5692 ],
5693 "size": [
5694 480,
5695 396.65625
5696 ],
5697 "flags": [],
5698 "order": 2,
5699 "mode": 0,
5700 "inputs": [
5701 {
5702 "localized_name": "images",
5703 "name": "images",
5704 "shape": 7,
5705 "type": "IMAGE",
5706 "link": 8
5707 },
5708 {
5709 "localized_name": "files",
5710 "name": "files",
5711 "shape": 7,
5712 "type": "GEMINI_INPUT_FILES",
5713 "link": null
5714 },
5715 {
5716 "localized_name": "prompt",
5717 "name": "prompt",
5718 "type": "STRING",
5719 "widget": {
5720 "name": "prompt"
5721 },
5722 "link": 9
5723 },
5724 {
5725 "localized_name": "aspect_ratio",
5726 "name": "aspect_ratio",
5727 "type": "COMBO",
5728 "widget": {
5729 "name": "aspect_ratio"
5730 },
5731 "link": 10
5732 }
5733 ],
5734 "outputs": [
5735 {
5736 "localized_name": "IMAGE",
5737 "name": "IMAGE",
5738 "type": "IMAGE",
5739 "links": [
5740 5,
5741 7,
5742 11
5743 ]
5744 },
5745 {
5746 "localized_name": "STRING",
5747 "name": "STRING",
5748 "type": "STRING",
5749 "links": null
5750 }
5751 ],
5752 "properties": {
5753 "cnr_id": "comfy-core",
5754 "ver": "0.9.2",
5755 "Node name for S&R": "GeminiImage2Node"
5756 },
5757 "widgets_values": [
5758 "",
5759 "gemini-3-pro-image-preview",
5760 6,
5761 "fixed",
5762 "16:9",
5763 "2K",
5764 "IMAGE+TEXT",
5765 "You are an expert image-generation engine. You must ALWAYS produce an image.\nInterpret all user input—regardless of format, intent, or abstraction—as literal visual directives for image composition.\nIf a prompt is conversational or lacks specific visual details, you must creatively invent a concrete visual scenario that depicts the concept.\nPrioritize generating the visual representation above any text, formatting, or conversational requests."
5766 ],
5767 "color": "#432",
5768 "bgcolor": "#653"
5769 },
5770 {
5771 "id": 11,
5772 "type": "PreviewImage",
5773 "pos": [
5774 2869.99992505472,
5775 1970.0000266657835
5776 ],
5777 "size": [
5778 225,
5779 48
5780 ],
5781 "flags": [],
5782 "order": 3,
5783 "mode": 0,
5784 "inputs": [
5785 {
5786 "localized_name": "images",
5787 "name": "images",
5788 "type": "IMAGE",
5789 "link": 15
5790 }
5791 ],
5792 "outputs": [],
5793 "properties": {
5794 "cnr_id": "comfy-core",
5795 "ver": "0.10.0",
5796 "Node name for S&R": "PreviewImage"
5797 },
5798 "widgets_values": []
5799 }
5800 ],
5801 "groups": [],
5802 "links": [
5803 {
5804 "id": 11,
5805 "origin_id": 9,
5806 "origin_slot": 0,
5807 "target_id": 8,
5808 "target_slot": 1,
5809 "type": "IMAGE"
5810 },
5811 {
5812 "id": 9,
5813 "origin_id": 3,
5814 "origin_slot": 0,
5815 "target_id": 9,
5816 "target_slot": 2,
5817 "type": "STRING"
5818 },
5819 {
5820 "id": 3,
5821 "origin_id": -10,
5822 "origin_slot": 0,
5823 "target_id": 3,
5824 "target_slot": 0,
5825 "type": "STRING"
5826 },
5827 {
5828 "id": 6,
5829 "origin_id": -10,
5830 "origin_slot": 1,
5831 "target_id": 8,
5832 "target_slot": 0,
5833 "type": "IMAGE"
5834 },
5835 {
5836 "id": 8,
5837 "origin_id": -10,
5838 "origin_slot": 1,
5839 "target_id": 9,
5840 "target_slot": 0,
5841 "type": "IMAGE"
5842 },
5843 {
5844 "id": 10,
5845 "origin_id": -10,
5846 "origin_slot": 2,
5847 "target_id": 9,
5848 "target_slot": 3,
5849 "type": "COMBO"
5850 },
5851 {
5852 "id": 5,
5853 "origin_id": 9,
5854 "origin_slot": 0,
5855 "target_id": -20,
5856 "target_slot": 0,
5857 "type": "IMAGE"
5858 },
5859 {
5860 "id": 12,
5861 "origin_id": 3,
5862 "origin_slot": 0,
5863 "target_id": -20,
5864 "target_slot": 1,
5865 "type": "STRING"
5866 },
5867 {
5868 "id": 13,
5869 "origin_id": 8,
5870 "origin_slot": 0,
5871 "target_id": -20,
5872 "target_slot": 2,
5873 "type": "IMAGE"
5874 },
5875 {
5876 "id": 15,
5877 "origin_id": 8,
5878 "origin_slot": 0,
5879 "target_id": 11,
5880 "target_slot": 0,
5881 "type": "IMAGE"
5882 }
5883 ],
5884 "extra": {
5885 "workflowRendererVersion": "Vue"
5886 }
5887 },
5888 {
5889 "id": "acb845ee-315b-479a-8579-7ad2af961ba0",
5890 "version": 1,
5891 "state": {
5892 "lastGroupId": 0,
5893 "lastNodeId": 9,
5894 "lastLinkId": 9,
5895 "lastRerouteId": 0
5896 },
5897 "revision": 0,
5898 "config": [],
5899 "name": "Batch Prompt Iterator",
5900 "inputNode": {
5901 "id": -10,
5902 "bounding": [
5903 90.40727678453659,
5904 2325.662789361009,
5905 144,
5906 72
5907 ]
5908 },
5909 "outputNode": {
5910 "id": -20,
5911 "bounding": [
5912 2942,
5913 2258,
5914 144,
5915 72
5916 ]
5917 },
5918 "inputs": [
5919 {
5920 "id": "da7d2f59-a52d-4f36-a474-9079e0b97ff1",
5921 "name": "value",
5922 "type": "STRING",
5923 "linkIds": [
5924 9
5925 ],
5926 "pos": [
5927 173.6727306537805,
5928 1956.3856578008408
5929 ]
5930 }
5931 ],
5932 "outputs": [
5933 {
5934 "id": "90326b5a-6290-4028-9573-5338419fba1b",
5935 "name": "STRING",
5936 "type": "STRING",
5937 "linkIds": [
5938 8
5939 ],
5940 "pos": [
5941 2470,
5942 1900
5943 ]
5944 }
5945 ],
5946 "widgets": [],
5947 "nodes": [
5948 {
5949 "id": 8,
5950 "type": "RegexReplace",
5951 "pos": [
5952 1458.4071265833052,
5953 1856.462824138249
5954 ],
5955 "size": [
5956 270,
5957 522
5958 ],
5959 "flags": [],
5960 "order": 4,
5961 "mode": 0,
5962 "inputs": [
5963 {
5964 "localized_name": "replace",
5965 "name": "replace",
5966 "type": "STRING",
5967 "widget": {
5968 "name": "replace"
5969 },
5970 "link": 6
5971 }
5972 ],
5973 "outputs": [
5974 {
5975 "localized_name": "STRING",
5976 "name": "STRING",
5977 "type": "STRING",
5978 "links": [
5979 2
5980 ]
5981 }
5982 ],
5983 "properties": {
5984 "cnr_id": "comfy-core",
5985 "ver": "0.9.2",
5986 "Node name for S&R": "RegexReplace"
5987 },
5988 "widgets_values": [
5989 "(?:^(?!\\s*\\*?\\s*$).+$\\n(?:^\\s*\\*?\\s*$\\n)*){0}^(?!\\s*\\*?\\s*$)(.+)$",
5990 "(?<=\\{)\\d+(?=\\})",
5991 "",
5992 true,
5993 false,
5994 false,
5995 0
5996 ]
5997 },
5998 {
5999 "id": 6,
6000 "type": "PrimitiveInt",
6001 "pos": [
6002 810.4071259347734,
6003 2012.4627471341084
6004 ],
6005 "size": [
6006 355.0875,
6007 126
6008 ],
6009 "flags": [],
6010 "order": 0,
6011 "mode": 0,
6012 "inputs": [],
6013 "outputs": [
6014 {
6015 "localized_name": "INT",
6016 "name": "INT",
6017 "type": "INT",
6018 "links": [
6019 7
6020 ]
6021 }
6022 ],
6023 "title": "Int - Select Prompt Number (not index)",
6024 "properties": {
6025 "cnr_id": "comfy-core",
6026 "ver": "0.9.2",
6027 "Node name for S&R": "PrimitiveInt"
6028 },
6029 "widgets_values": [
6030 4,
6031 "fixed"
6032 ]
6033 },
6034 {
6035 "id": 9,
6036 "type": "SimpleMath+",
6037 "pos": [
6038 829.9998717200663,
6039 1933.9997188073237
6040 ],
6041 "size": [
6042 257.980078125,
6043 54
6044 ],
6045 "flags": {
6046 "collapsed": true
6047 },
6048 "order": 2,
6049 "mode": 0,
6050 "inputs": [
6051 {
6052 "localized_name": "a",
6053 "name": "a",
6054 "shape": 7,
6055 "type": "INT,FLOAT",
6056 "link": 7
6057 },
6058 {
6059 "localized_name": "b",
6060 "name": "b",
6061 "shape": 7,
6062 "type": "INT,FLOAT",
6063 "link": null
6064 }
6065 ],
6066 "outputs": [
6067 {
6068 "localized_name": "INT",
6069 "name": "INT",
6070 "type": "INT",
6071 "links": [
6072 4
6073 ]
6074 },
6075 {
6076 "localized_name": "FLOAT",
6077 "name": "FLOAT",
6078 "type": "FLOAT",
6079 "links": null
6080 }
6081 ],
6082 "title": "Convert Prompt Number to Index",
6083 "properties": {
6084 "cnr_id": "comfyui_essentials",
6085 "ver": "1.1.0",
6086 "Node name for S&R": "SimpleMath+"
6087 },
6088 "widgets_values": [
6089 "a-1"
6090 ]
6091 },
6092 {
6093 "id": 3,
6094 "type": "SomethingToString",
6095 "pos": [
6096 1177.9998019226534,
6097 1933.9997188073237
6098 ],
6099 "size": [
6100 210,
6101 39.6
6102 ],
6103 "flags": {
6104 "collapsed": true
6105 },
6106 "order": 3,
6107 "mode": 0,
6108 "inputs": [
6109 {
6110 "localized_name": "input",
6111 "name": "input",
6112 "type": "*",
6113 "link": 4
6114 }
6115 ],
6116 "outputs": [
6117 {
6118 "localized_name": "STRING",
6119 "name": "STRING",
6120 "type": "STRING",
6121 "links": [
6122 6
6123 ]
6124 }
6125 ],
6126 "properties": {
6127 "cnr_id": "comfyui-kjnodes",
6128 "ver": "c661baadd9683c0033cd2a6ad90157c6d099a6c2",
6129 "Node name for S&R": "SomethingToString"
6130 },
6131 "widgets_values": [
6132 "",
6133 ""
6134 ]
6135 },
6136 {
6137 "id": 5,
6138 "type": "MarkdownNote",
6139 "pos": [
6140 1741.9996692102889,
6141 1861.9999291723602
6142 ],
6143 "size": [
6144 432,
6145 1737.9937499999999
6146 ],
6147 "flags": [],
6148 "order": 1,
6149 "mode": 0,
6150 "inputs": [],
6151 "outputs": [],
6152 "properties": [],
6153 "widgets_values": [
6154 "# Prompt Selector Regex Pattern\n\n## Pattern\n(?:^(?!\\s*\\*?\\s*$).+$\\n(?:^\\s*\\*?\\s*$\\n)*){0}^(?!\\s*\\*?\\s*$)(.+)$\n\n## Settings\n- mode: \"First Group\"\n- multiline: true\n- dotall: false\n- group_index: 1\n\n## How it works\n\n| Part | Meaning |\n|---------------------------|-------------------------------------------------|\n| (?!\\s*\\*?\\s*$) | Lookahead: line is NOT blank or just * |\n| ^(?!\\s*\\*?\\s*$).+$ | Match a content line |\n| \\n | Newline after content |\n| (?:^\\s*\\*?\\s*$\\n)* | Consume zero or more separator lines (blank/*) |\n| {0} | Skip n blocks (replaceable index) |\n| ^(?!\\s*\\*?\\s*$)(.+)$ | Capture the target prompt |\n\n## Index Replacement\nUse Regex Replace with pattern: (?<=\\{)\\d+(?=\\})\n\n## Supported Formats\n\n**Newline only:**\n\ntest1\ntest2\ntest3\n\n**Blank lines:**\n\ntest1\n\n\ntest2\n\n\ntest3\n\n\n**Asterisk separator:**\n\ntest1\n*\ntest2\n*\ntest3\n\n**Asterisk with blanks:**\n\ntest1\n\n*\n\ntest2\n\n*\n\ntest3"
6155 ],
6156 "color": "#432",
6157 "bgcolor": "#653"
6158 },
6159 {
6160 "id": 1,
6161 "type": "RegexExtract",
6162 "pos": [
6163 2197.999852045479,
6164 1861.9999291723602
6165 ],
6166 "size": [
6167 480,
6168 453.1875
6169 ],
6170 "flags": [],
6171 "order": 5,
6172 "mode": 0,
6173 "inputs": [
6174 {
6175 "localized_name": "string",
6176 "name": "string",
6177 "type": "STRING",
6178 "widget": {
6179 "name": "string"
6180 },
6181 "link": 1
6182 },
6183 {
6184 "localized_name": "regex_pattern",
6185 "name": "regex_pattern",
6186 "type": "STRING",
6187 "widget": {
6188 "name": "regex_pattern"
6189 },
6190 "link": 2
6191 }
6192 ],
6193 "outputs": [
6194 {
6195 "localized_name": "STRING",
6196 "name": "STRING",
6197 "type": "STRING",
6198 "links": [
6199 3,
6200 8
6201 ]
6202 }
6203 ],
6204 "properties": {
6205 "cnr_id": "comfy-core",
6206 "ver": "0.9.2",
6207 "Node name for S&R": "RegexExtract"
6208 },
6209 "widgets_values": [
6210 "",
6211 "",
6212 "First Group",
6213 true,
6214 true,
6215 false,
6216 1
6217 ]
6218 },
6219 {
6220 "id": 2,
6221 "type": "PreviewAny",
6222 "pos": [
6223 2401.999824191367,
6224 2233.999978646654
6225 ],
6226 "size": [
6227 276,
6228 270
6229 ],
6230 "flags": [],
6231 "order": 6,
6232 "mode": 0,
6233 "inputs": [
6234 {
6235 "localized_name": "source",
6236 "name": "source",
6237 "type": "*",
6238 "link": 3
6239 }
6240 ],
6241 "outputs": [],
6242 "properties": {
6243 "cnr_id": "comfy-core",
6244 "ver": "0.9.2",
6245 "Node name for S&R": "PreviewAny"
6246 },
6247 "widgets_values": [
6248 null,
6249 null,
6250 null
6251 ]
6252 },
6253 {
6254 "id": 7,
6255 "type": "PrimitiveStringMultiline",
6256 "pos": [
6257 313.9998641890731,
6258 2018.0002309549918
6259 ],
6260 "size": [
6261 480,
6262 594
6263 ],
6264 "flags": [],
6265 "order": 7,
6266 "mode": 0,
6267 "inputs": [
6268 {
6269 "localized_name": "value",
6270 "name": "value",
6271 "type": "STRING",
6272 "widget": {
6273 "name": "value"
6274 },
6275 "link": 9
6276 }
6277 ],
6278 "outputs": [
6279 {
6280 "localized_name": "STRING",
6281 "name": "STRING",
6282 "type": "STRING",
6283 "links": [
6284 1
6285 ]
6286 }
6287 ],
6288 "properties": {
6289 "cnr_id": "comfy-core",
6290 "ver": "0.9.2",
6291 "Node name for S&R": "PrimitiveStringMultiline"
6292 },
6293 "widgets_values": [
6294 ""
6295 ]
6296 }
6297 ],
6298 "groups": [],
6299 "links": [
6300 {
6301 "id": 1,
6302 "origin_id": 7,
6303 "origin_slot": 0,
6304 "target_id": 1,
6305 "target_slot": 0,
6306 "type": "STRING"
6307 },
6308 {
6309 "id": 2,
6310 "origin_id": 8,
6311 "origin_slot": 0,
6312 "target_id": 1,
6313 "target_slot": 1,
6314 "type": "STRING"
6315 },
6316 {
6317 "id": 3,
6318 "origin_id": 1,
6319 "origin_slot": 0,
6320 "target_id": 2,
6321 "target_slot": 0,
6322 "type": "STRING"
6323 },
6324 {
6325 "id": 4,
6326 "origin_id": 9,
6327 "origin_slot": 0,
6328 "target_id": 3,
6329 "target_slot": 0,
6330 "type": "INT"
6331 },
6332 {
6333 "id": 6,
6334 "origin_id": 3,
6335 "origin_slot": 0,
6336 "target_id": 8,
6337 "target_slot": 0,
6338 "type": "STRING"
6339 },
6340 {
6341 "id": 7,
6342 "origin_id": 6,
6343 "origin_slot": 0,
6344 "target_id": 9,
6345 "target_slot": 0,
6346 "type": "INT"
6347 },
6348 {
6349 "id": 8,
6350 "origin_id": 1,
6351 "origin_slot": 0,
6352 "target_id": -20,
6353 "target_slot": 0,
6354 "type": "STRING"
6355 },
6356 {
6357 "id": 9,
6358 "origin_id": -10,
6359 "origin_slot": 0,
6360 "target_id": 7,
6361 "target_slot": 0,
6362 "type": "STRING"
6363 }
6364 ],
6365 "extra": {
6366 "workflowRendererVersion": "Vue"
6367 }
6368 },
6369 {
6370 "id": "4682df2b-bfbf-4fc5-8bfb-a6eb6aaea892",
6371 "version": 1,
6372 "state": {
6373 "lastGroupId": 0,
6374 "lastNodeId": 9,
6375 "lastLinkId": 9,
6376 "lastRerouteId": 0
6377 },
6378 "revision": 0,
6379 "config": [],
6380 "name": "Batch Prompt Iterator",
6381 "inputNode": {
6382 "id": -10,
6383 "bounding": [
6384 90.40727678453659,
6385 2325.662789361009,
6386 144,
6387 72
6388 ]
6389 },
6390 "outputNode": {
6391 "id": -20,
6392 "bounding": [
6393 2942,
6394 2258,
6395 144,
6396 72
6397 ]
6398 },
6399 "inputs": [
6400 {
6401 "id": "da7d2f59-a52d-4f36-a474-9079e0b97ff1",
6402 "name": "value",
6403 "type": "STRING",
6404 "linkIds": [
6405 9
6406 ],
6407 "pos": [
6408 173.6727306537805,
6409 1956.3856578008408
6410 ]
6411 }
6412 ],
6413 "outputs": [
6414 {
6415 "id": "90326b5a-6290-4028-9573-5338419fba1b",
6416 "name": "STRING",
6417 "type": "STRING",
6418 "linkIds": [
6419 8
6420 ],
6421 "pos": [
6422 2470,
6423 1900
6424 ]
6425 }
6426 ],
6427 "widgets": [],
6428 "nodes": [
6429 {
6430 "id": 8,
6431 "type": "RegexReplace",
6432 "pos": [
6433 1458.4071265833052,
6434 1856.462824138249
6435 ],
6436 "size": [
6437 270,
6438 522
6439 ],
6440 "flags": [],
6441 "order": 4,
6442 "mode": 0,
6443 "inputs": [
6444 {
6445 "localized_name": "replace",
6446 "name": "replace",
6447 "type": "STRING",
6448 "widget": {
6449 "name": "replace"
6450 },
6451 "link": 6
6452 }
6453 ],
6454 "outputs": [
6455 {
6456 "localized_name": "STRING",
6457 "name": "STRING",
6458 "type": "STRING",
6459 "links": [
6460 2
6461 ]
6462 }
6463 ],
6464 "properties": {
6465 "cnr_id": "comfy-core",
6466 "ver": "0.9.2",
6467 "Node name for S&R": "RegexReplace"
6468 },
6469 "widgets_values": [
6470 "(?:^(?!\\s*\\*?\\s*$).+$\\n(?:^\\s*\\*?\\s*$\\n)*){0}^(?!\\s*\\*?\\s*$)(.+)$",
6471 "(?<=\\{)\\d+(?=\\})",
6472 "",
6473 true,
6474 false,
6475 false,
6476 0
6477 ]
6478 },
6479 {
6480 "id": 6,
6481 "type": "PrimitiveInt",
6482 "pos": [
6483 810.4071259347734,
6484 2012.4627471341084
6485 ],
6486 "size": [
6487 355.0875,
6488 126
6489 ],
6490 "flags": [],
6491 "order": 0,
6492 "mode": 0,
6493 "inputs": [],
6494 "outputs": [
6495 {
6496 "localized_name": "INT",
6497 "name": "INT",
6498 "type": "INT",
6499 "links": [
6500 7
6501 ]
6502 }
6503 ],
6504 "title": "Int - Select Prompt Number (not index)",
6505 "properties": {
6506 "cnr_id": "comfy-core",
6507 "ver": "0.9.2",
6508 "Node name for S&R": "PrimitiveInt"
6509 },
6510 "widgets_values": [
6511 5,
6512 "fixed"
6513 ]
6514 },
6515 {
6516 "id": 9,
6517 "type": "SimpleMath+",
6518 "pos": [
6519 829.9998717200663,
6520 1933.9997188073237
6521 ],
6522 "size": [
6523 257.980078125,
6524 54
6525 ],
6526 "flags": {
6527 "collapsed": true
6528 },
6529 "order": 2,
6530 "mode": 0,
6531 "inputs": [
6532 {
6533 "localized_name": "a",
6534 "name": "a",
6535 "shape": 7,
6536 "type": "INT,FLOAT",
6537 "link": 7
6538 },
6539 {
6540 "localized_name": "b",
6541 "name": "b",
6542 "shape": 7,
6543 "type": "INT,FLOAT",
6544 "link": null
6545 }
6546 ],
6547 "outputs": [
6548 {
6549 "localized_name": "INT",
6550 "name": "INT",
6551 "type": "INT",
6552 "links": [
6553 4
6554 ]
6555 },
6556 {
6557 "localized_name": "FLOAT",
6558 "name": "FLOAT",
6559 "type": "FLOAT",
6560 "links": null
6561 }
6562 ],
6563 "title": "Convert Prompt Number to Index",
6564 "properties": {
6565 "cnr_id": "comfyui_essentials",
6566 "ver": "1.1.0",
6567 "Node name for S&R": "SimpleMath+"
6568 },
6569 "widgets_values": [
6570 "a-1"
6571 ]
6572 },
6573 {
6574 "id": 3,
6575 "type": "SomethingToString",
6576 "pos": [
6577 1177.9998019226534,
6578 1933.9997188073237
6579 ],
6580 "size": [
6581 210,
6582 39.6
6583 ],
6584 "flags": {
6585 "collapsed": true
6586 },
6587 "order": 3,
6588 "mode": 0,
6589 "inputs": [
6590 {
6591 "localized_name": "input",
6592 "name": "input",
6593 "type": "*",
6594 "link": 4
6595 }
6596 ],
6597 "outputs": [
6598 {
6599 "localized_name": "STRING",
6600 "name": "STRING",
6601 "type": "STRING",
6602 "links": [
6603 6
6604 ]
6605 }
6606 ],
6607 "properties": {
6608 "cnr_id": "comfyui-kjnodes",
6609 "ver": "c661baadd9683c0033cd2a6ad90157c6d099a6c2",
6610 "Node name for S&R": "SomethingToString"
6611 },
6612 "widgets_values": [
6613 "",
6614 ""
6615 ]
6616 },
6617 {
6618 "id": 5,
6619 "type": "MarkdownNote",
6620 "pos": [
6621 1741.9996692102889,
6622 1861.9999291723602
6623 ],
6624 "size": [
6625 432,
6626 1737.9937499999999
6627 ],
6628 "flags": [],
6629 "order": 1,
6630 "mode": 0,
6631 "inputs": [],
6632 "outputs": [],
6633 "properties": [],
6634 "widgets_values": [
6635 "# Prompt Selector Regex Pattern\n\n## Pattern\n(?:^(?!\\s*\\*?\\s*$).+$\\n(?:^\\s*\\*?\\s*$\\n)*){0}^(?!\\s*\\*?\\s*$)(.+)$\n\n## Settings\n- mode: \"First Group\"\n- multiline: true\n- dotall: false\n- group_index: 1\n\n## How it works\n\n| Part | Meaning |\n|---------------------------|-------------------------------------------------|\n| (?!\\s*\\*?\\s*$) | Lookahead: line is NOT blank or just * |\n| ^(?!\\s*\\*?\\s*$).+$ | Match a content line |\n| \\n | Newline after content |\n| (?:^\\s*\\*?\\s*$\\n)* | Consume zero or more separator lines (blank/*) |\n| {0} | Skip n blocks (replaceable index) |\n| ^(?!\\s*\\*?\\s*$)(.+)$ | Capture the target prompt |\n\n## Index Replacement\nUse Regex Replace with pattern: (?<=\\{)\\d+(?=\\})\n\n## Supported Formats\n\n**Newline only:**\n\ntest1\ntest2\ntest3\n\n**Blank lines:**\n\ntest1\n\n\ntest2\n\n\ntest3\n\n\n**Asterisk separator:**\n\ntest1\n*\ntest2\n*\ntest3\n\n**Asterisk with blanks:**\n\ntest1\n\n*\n\ntest2\n\n*\n\ntest3"
6636 ],
6637 "color": "#432",
6638 "bgcolor": "#653"
6639 },
6640 {
6641 "id": 1,
6642 "type": "RegexExtract",
6643 "pos": [
6644 2197.999852045479,
6645 1861.9999291723602
6646 ],
6647 "size": [
6648 480,
6649 453.1875
6650 ],
6651 "flags": [],
6652 "order": 5,
6653 "mode": 0,
6654 "inputs": [
6655 {
6656 "localized_name": "string",
6657 "name": "string",
6658 "type": "STRING",
6659 "widget": {
6660 "name": "string"
6661 },
6662 "link": 1
6663 },
6664 {
6665 "localized_name": "regex_pattern",
6666 "name": "regex_pattern",
6667 "type": "STRING",
6668 "widget": {
6669 "name": "regex_pattern"
6670 },
6671 "link": 2
6672 }
6673 ],
6674 "outputs": [
6675 {
6676 "localized_name": "STRING",
6677 "name": "STRING",
6678 "type": "STRING",
6679 "links": [
6680 3,
6681 8
6682 ]
6683 }
6684 ],
6685 "properties": {
6686 "cnr_id": "comfy-core",
6687 "ver": "0.9.2",
6688 "Node name for S&R": "RegexExtract"
6689 },
6690 "widgets_values": [
6691 "",
6692 "",
6693 "First Group",
6694 true,
6695 true,
6696 false,
6697 1
6698 ]
6699 },
6700 {
6701 "id": 2,
6702 "type": "PreviewAny",
6703 "pos": [
6704 2401.999824191367,
6705 2233.999978646654
6706 ],
6707 "size": [
6708 276,
6709 270
6710 ],
6711 "flags": [],
6712 "order": 6,
6713 "mode": 0,
6714 "inputs": [
6715 {
6716 "localized_name": "source",
6717 "name": "source",
6718 "type": "*",
6719 "link": 3
6720 }
6721 ],
6722 "outputs": [],
6723 "properties": {
6724 "cnr_id": "comfy-core",
6725 "ver": "0.9.2",
6726 "Node name for S&R": "PreviewAny"
6727 },
6728 "widgets_values": [
6729 null,
6730 null,
6731 null
6732 ]
6733 },
6734 {
6735 "id": 7,
6736 "type": "PrimitiveStringMultiline",
6737 "pos": [
6738 313.9998641890731,
6739 2018.0002309549918
6740 ],
6741 "size": [
6742 480,
6743 594
6744 ],
6745 "flags": [],
6746 "order": 7,
6747 "mode": 0,
6748 "inputs": [
6749 {
6750 "localized_name": "value",
6751 "name": "value",
6752 "type": "STRING",
6753 "widget": {
6754 "name": "value"
6755 },
6756 "link": 9
6757 }
6758 ],
6759 "outputs": [
6760 {
6761 "localized_name": "STRING",
6762 "name": "STRING",
6763 "type": "STRING",
6764 "links": [
6765 1
6766 ]
6767 }
6768 ],
6769 "properties": {
6770 "cnr_id": "comfy-core",
6771 "ver": "0.9.2",
6772 "Node name for S&R": "PrimitiveStringMultiline"
6773 },
6774 "widgets_values": [
6775 ""
6776 ]
6777 }
6778 ],
6779 "groups": [],
6780 "links": [
6781 {
6782 "id": 1,
6783 "origin_id": 7,
6784 "origin_slot": 0,
6785 "target_id": 1,
6786 "target_slot": 0,
6787 "type": "STRING"
6788 },
6789 {
6790 "id": 2,
6791 "origin_id": 8,
6792 "origin_slot": 0,
6793 "target_id": 1,
6794 "target_slot": 1,
6795 "type": "STRING"
6796 },
6797 {
6798 "id": 3,
6799 "origin_id": 1,
6800 "origin_slot": 0,
6801 "target_id": 2,
6802 "target_slot": 0,
6803 "type": "STRING"
6804 },
6805 {
6806 "id": 4,
6807 "origin_id": 9,
6808 "origin_slot": 0,
6809 "target_id": 3,
6810 "target_slot": 0,
6811 "type": "INT"
6812 },
6813 {
6814 "id": 6,
6815 "origin_id": 3,
6816 "origin_slot": 0,
6817 "target_id": 8,
6818 "target_slot": 0,
6819 "type": "STRING"
6820 },
6821 {
6822 "id": 7,
6823 "origin_id": 6,
6824 "origin_slot": 0,
6825 "target_id": 9,
6826 "target_slot": 0,
6827 "type": "INT"
6828 },
6829 {
6830 "id": 8,
6831 "origin_id": 1,
6832 "origin_slot": 0,
6833 "target_id": -20,
6834 "target_slot": 0,
6835 "type": "STRING"
6836 },
6837 {
6838 "id": 9,
6839 "origin_id": -10,
6840 "origin_slot": 0,
6841 "target_id": 7,
6842 "target_slot": 0,
6843 "type": "STRING"
6844 }
6845 ],
6846 "extra": {
6847 "workflowRendererVersion": "Vue"
6848 }
6849 },
6850 {
6851 "id": "e5719f6e-fb77-48b8-ba45-c60901a55fe7",
6852 "version": 1,
6853 "state": {
6854 "lastGroupId": 0,
6855 "lastNodeId": 9,
6856 "lastLinkId": 9,
6857 "lastRerouteId": 0
6858 },
6859 "revision": 0,
6860 "config": [],
6861 "name": "Batch Prompt Iterator",
6862 "inputNode": {
6863 "id": -10,
6864 "bounding": [
6865 90.40727678453659,
6866 2325.662789361009,
6867 144,
6868 72
6869 ]
6870 },
6871 "outputNode": {
6872 "id": -20,
6873 "bounding": [
6874 2942,
6875 2258,
6876 144,
6877 72
6878 ]
6879 },
6880 "inputs": [
6881 {
6882 "id": "da7d2f59-a52d-4f36-a474-9079e0b97ff1",
6883 "name": "value",
6884 "type": "STRING",
6885 "linkIds": [
6886 9
6887 ],
6888 "pos": [
6889 173.6727306537805,
6890 1956.3856578008408
6891 ]
6892 }
6893 ],
6894 "outputs": [
6895 {
6896 "id": "90326b5a-6290-4028-9573-5338419fba1b",
6897 "name": "STRING",
6898 "type": "STRING",
6899 "linkIds": [
6900 8
6901 ],
6902 "pos": [
6903 2470,
6904 1900
6905 ]
6906 }
6907 ],
6908 "widgets": [],
6909 "nodes": [
6910 {
6911 "id": 8,
6912 "type": "RegexReplace",
6913 "pos": [
6914 1458.4071265833052,
6915 1856.462824138249
6916 ],
6917 "size": [
6918 270,
6919 522
6920 ],
6921 "flags": [],
6922 "order": 4,
6923 "mode": 0,
6924 "inputs": [
6925 {
6926 "localized_name": "replace",
6927 "name": "replace",
6928 "type": "STRING",
6929 "widget": {
6930 "name": "replace"
6931 },
6932 "link": 6
6933 }
6934 ],
6935 "outputs": [
6936 {
6937 "localized_name": "STRING",
6938 "name": "STRING",
6939 "type": "STRING",
6940 "links": [
6941 2
6942 ]
6943 }
6944 ],
6945 "properties": {
6946 "cnr_id": "comfy-core",
6947 "ver": "0.9.2",
6948 "Node name for S&R": "RegexReplace"
6949 },
6950 "widgets_values": [
6951 "(?:^(?!\\s*\\*?\\s*$).+$\\n(?:^\\s*\\*?\\s*$\\n)*){0}^(?!\\s*\\*?\\s*$)(.+)$",
6952 "(?<=\\{)\\d+(?=\\})",
6953 "",
6954 true,
6955 false,
6956 false,
6957 0
6958 ]
6959 },
6960 {
6961 "id": 6,
6962 "type": "PrimitiveInt",
6963 "pos": [
6964 810.4071259347734,
6965 2012.4627471341084
6966 ],
6967 "size": [
6968 355.0875,
6969 126
6970 ],
6971 "flags": [],
6972 "order": 0,
6973 "mode": 0,
6974 "inputs": [],
6975 "outputs": [
6976 {
6977 "localized_name": "INT",
6978 "name": "INT",
6979 "type": "INT",
6980 "links": [
6981 7
6982 ]
6983 }
6984 ],
6985 "title": "Int - Select Prompt Number (not index)",
6986 "properties": {
6987 "cnr_id": "comfy-core",
6988 "ver": "0.9.2",
6989 "Node name for S&R": "PrimitiveInt"
6990 },
6991 "widgets_values": [
6992 6,
6993 "fixed"
6994 ]
6995 },
6996 {
6997 "id": 9,
6998 "type": "SimpleMath+",
6999 "pos": [
7000 829.9998717200663,
7001 1933.9997188073237
7002 ],
7003 "size": [
7004 257.980078125,
7005 54
7006 ],
7007 "flags": {
7008 "collapsed": true
7009 },
7010 "order": 2,
7011 "mode": 0,
7012 "inputs": [
7013 {
7014 "localized_name": "a",
7015 "name": "a",
7016 "shape": 7,
7017 "type": "INT,FLOAT",
7018 "link": 7
7019 },
7020 {
7021 "localized_name": "b",
7022 "name": "b",
7023 "shape": 7,
7024 "type": "INT,FLOAT",
7025 "link": null
7026 }
7027 ],
7028 "outputs": [
7029 {
7030 "localized_name": "INT",
7031 "name": "INT",
7032 "type": "INT",
7033 "links": [
7034 4
7035 ]
7036 },
7037 {
7038 "localized_name": "FLOAT",
7039 "name": "FLOAT",
7040 "type": "FLOAT",
7041 "links": null
7042 }
7043 ],
7044 "title": "Convert Prompt Number to Index",
7045 "properties": {
7046 "cnr_id": "comfyui_essentials",
7047 "ver": "1.1.0",
7048 "Node name for S&R": "SimpleMath+"
7049 },
7050 "widgets_values": [
7051 "a-1"
7052 ]
7053 },
7054 {
7055 "id": 3,
7056 "type": "SomethingToString",
7057 "pos": [
7058 1177.9998019226534,
7059 1933.9997188073237
7060 ],
7061 "size": [
7062 210,
7063 39.6
7064 ],
7065 "flags": {
7066 "collapsed": true
7067 },
7068 "order": 3,
7069 "mode": 0,
7070 "inputs": [
7071 {
7072 "localized_name": "input",
7073 "name": "input",
7074 "type": "*",
7075 "link": 4
7076 }
7077 ],
7078 "outputs": [
7079 {
7080 "localized_name": "STRING",
7081 "name": "STRING",
7082 "type": "STRING",
7083 "links": [
7084 6
7085 ]
7086 }
7087 ],
7088 "properties": {
7089 "cnr_id": "comfyui-kjnodes",
7090 "ver": "c661baadd9683c0033cd2a6ad90157c6d099a6c2",
7091 "Node name for S&R": "SomethingToString"
7092 },
7093 "widgets_values": [
7094 "",
7095 ""
7096 ]
7097 },
7098 {
7099 "id": 5,
7100 "type": "MarkdownNote",
7101 "pos": [
7102 1741.9996692102889,
7103 1861.9999291723602
7104 ],
7105 "size": [
7106 432,
7107 1737.9937499999999
7108 ],
7109 "flags": [],
7110 "order": 1,
7111 "mode": 0,
7112 "inputs": [],
7113 "outputs": [],
7114 "properties": [],
7115 "widgets_values": [
7116 "# Prompt Selector Regex Pattern\n\n## Pattern\n(?:^(?!\\s*\\*?\\s*$).+$\\n(?:^\\s*\\*?\\s*$\\n)*){0}^(?!\\s*\\*?\\s*$)(.+)$\n\n## Settings\n- mode: \"First Group\"\n- multiline: true\n- dotall: false\n- group_index: 1\n\n## How it works\n\n| Part | Meaning |\n|---------------------------|-------------------------------------------------|\n| (?!\\s*\\*?\\s*$) | Lookahead: line is NOT blank or just * |\n| ^(?!\\s*\\*?\\s*$).+$ | Match a content line |\n| \\n | Newline after content |\n| (?:^\\s*\\*?\\s*$\\n)* | Consume zero or more separator lines (blank/*) |\n| {0} | Skip n blocks (replaceable index) |\n| ^(?!\\s*\\*?\\s*$)(.+)$ | Capture the target prompt |\n\n## Index Replacement\nUse Regex Replace with pattern: (?<=\\{)\\d+(?=\\})\n\n## Supported Formats\n\n**Newline only:**\n\ntest1\ntest2\ntest3\n\n**Blank lines:**\n\ntest1\n\n\ntest2\n\n\ntest3\n\n\n**Asterisk separator:**\n\ntest1\n*\ntest2\n*\ntest3\n\n**Asterisk with blanks:**\n\ntest1\n\n*\n\ntest2\n\n*\n\ntest3"
7117 ],
7118 "color": "#432",
7119 "bgcolor": "#653"
7120 },
7121 {
7122 "id": 1,
7123 "type": "RegexExtract",
7124 "pos": [
7125 2197.999852045479,
7126 1861.9999291723602
7127 ],
7128 "size": [
7129 480,
7130 453.1875
7131 ],
7132 "flags": [],
7133 "order": 5,
7134 "mode": 0,
7135 "inputs": [
7136 {
7137 "localized_name": "string",
7138 "name": "string",
7139 "type": "STRING",
7140 "widget": {
7141 "name": "string"
7142 },
7143 "link": 1
7144 },
7145 {
7146 "localized_name": "regex_pattern",
7147 "name": "regex_pattern",
7148 "type": "STRING",
7149 "widget": {
7150 "name": "regex_pattern"
7151 },
7152 "link": 2
7153 }
7154 ],
7155 "outputs": [
7156 {
7157 "localized_name": "STRING",
7158 "name": "STRING",
7159 "type": "STRING",
7160 "links": [
7161 3,
7162 8
7163 ]
7164 }
7165 ],
7166 "properties": {
7167 "cnr_id": "comfy-core",
7168 "ver": "0.9.2",
7169 "Node name for S&R": "RegexExtract"
7170 },
7171 "widgets_values": [
7172 "",
7173 "",
7174 "First Group",
7175 true,
7176 true,
7177 false,
7178 1
7179 ]
7180 },
7181 {
7182 "id": 2,
7183 "type": "PreviewAny",
7184 "pos": [
7185 2401.999824191367,
7186 2233.999978646654
7187 ],
7188 "size": [
7189 276,
7190 270
7191 ],
7192 "flags": [],
7193 "order": 6,
7194 "mode": 0,
7195 "inputs": [
7196 {
7197 "localized_name": "source",
7198 "name": "source",
7199 "type": "*",
7200 "link": 3
7201 }
7202 ],
7203 "outputs": [],
7204 "properties": {
7205 "cnr_id": "comfy-core",
7206 "ver": "0.9.2",
7207 "Node name for S&R": "PreviewAny"
7208 },
7209 "widgets_values": [
7210 null,
7211 null,
7212 null
7213 ]
7214 },
7215 {
7216 "id": 7,
7217 "type": "PrimitiveStringMultiline",
7218 "pos": [
7219 313.9998641890731,
7220 2018.0002309549918
7221 ],
7222 "size": [
7223 480,
7224 594
7225 ],
7226 "flags": [],
7227 "order": 7,
7228 "mode": 0,
7229 "inputs": [
7230 {
7231 "localized_name": "value",
7232 "name": "value",
7233 "type": "STRING",
7234 "widget": {
7235 "name": "value"
7236 },
7237 "link": 9
7238 }
7239 ],
7240 "outputs": [
7241 {
7242 "localized_name": "STRING",
7243 "name": "STRING",
7244 "type": "STRING",
7245 "links": [
7246 1
7247 ]
7248 }
7249 ],
7250 "properties": {
7251 "cnr_id": "comfy-core",
7252 "ver": "0.9.2",
7253 "Node name for S&R": "PrimitiveStringMultiline"
7254 },
7255 "widgets_values": [
7256 ""
7257 ]
7258 }
7259 ],
7260 "groups": [],
7261 "links": [
7262 {
7263 "id": 1,
7264 "origin_id": 7,
7265 "origin_slot": 0,
7266 "target_id": 1,
7267 "target_slot": 0,
7268 "type": "STRING"
7269 },
7270 {
7271 "id": 2,
7272 "origin_id": 8,
7273 "origin_slot": 0,
7274 "target_id": 1,
7275 "target_slot": 1,
7276 "type": "STRING"
7277 },
7278 {
7279 "id": 3,
7280 "origin_id": 1,
7281 "origin_slot": 0,
7282 "target_id": 2,
7283 "target_slot": 0,
7284 "type": "STRING"
7285 },
7286 {
7287 "id": 4,
7288 "origin_id": 9,
7289 "origin_slot": 0,
7290 "target_id": 3,
7291 "target_slot": 0,
7292 "type": "INT"
7293 },
7294 {
7295 "id": 6,
7296 "origin_id": 3,
7297 "origin_slot": 0,
7298 "target_id": 8,
7299 "target_slot": 0,
7300 "type": "STRING"
7301 },
7302 {
7303 "id": 7,
7304 "origin_id": 6,
7305 "origin_slot": 0,
7306 "target_id": 9,
7307 "target_slot": 0,
7308 "type": "INT"
7309 },
7310 {
7311 "id": 8,
7312 "origin_id": 1,
7313 "origin_slot": 0,
7314 "target_id": -20,
7315 "target_slot": 0,
7316 "type": "STRING"
7317 },
7318 {
7319 "id": 9,
7320 "origin_id": -10,
7321 "origin_slot": 0,
7322 "target_id": 7,
7323 "target_slot": 0,
7324 "type": "STRING"
7325 }
7326 ],
7327 "extra": {
7328 "workflowRendererVersion": "Vue"
7329 }
7330 }
7331 ]
7332 },
7333 "config": [],
7334 "extra": {
7335 "workflowRendererVersion": "Vue",
7336 "ds": {
7337 "scale": 0.5559917313492256,
7338 "offset": [
7339 -1343.7385390636764,
7340 -867.0409641626214
7341 ]
7342 },
7343 "frontendVersion": "1.38.11",
7344 "VHS_latentpreview": false,
7345 "VHS_latentpreviewrate": 0,
7346 "VHS_MetadataImage": true,
7347 "VHS_KeepIntermediate": true
7348 },
7349 "version": 0.4
7350}