ComfyPilotComfyPilot
工作流 / 产品与广告 / Kling 3.0:一键多拍
Kling 3.0:一键多拍

Kling 3.0:一键多拍

Kling 3.0: 1 Click Multishot

上传产品的起始帧和参考图。选择总时长和镜头数量,自动为每个镜头生成提示词。

产品与广告 47 个节点 3 个输入 38 次使用 ComfyUI ≥ 0.35.2 hellorob 112 KB

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

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

节点构成

PreviewAny × 13
Reroute × 12
StringToInt × 6
LoadImage × 3
PrimitiveInt × 2
Note × 2
0e2c3eaa-706c-41fd-b300-b6bd9e84a0a4 × 1
2b10af74-c412-4c88-b235-6b170aed965c × 1
SaveVideo × 1
a98e3426-ae7f-4a8b-ba30-a2217a51ad09 × 1
KlingOmniProImageToVideoNode × 1
5d7e839f-932a-49a9-a1f4-f088f38d1dcb × 1
PrimitiveStringMultiline × 1
MarkdownNote × 1
GeminiNodeV3 × 1

官方标注的模型

Kling 3.0

工作流 JSON

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

1{
2 "id": "ee8a8542-c278-4b1c-81f9-1075d88b0b4d",
3 "revision": 0,
4 "last_node_id": 171,
5 "last_link_id": 371,
6 "nodes": [
7 {
8 "id": 37,
9 "type": "PreviewAny",
10 "pos": [
11 3920,
12 670
13 ],
14 "size": [
15 210,
16 300
17 ],
18 "flags": {
19 "collapsed": false
20 },
21 "order": 21,
22 "mode": 0,
23 "inputs": [
24 {
25 "name": "source",
26 "type": "*",
27 "link": 189
28 }
29 ],
30 "outputs": [
31 {
32 "name": "STRING",
33 "type": "STRING",
34 "links": null
35 }
36 ],
37 "title": "Shot 2: Prompt",
38 "properties": {
39 "Node name for S&R": "PreviewAny",
40 "cnr_id": "comfy-core",
41 "ver": "0.14.1"
42 },
43 "widgets_values": [],
44 "widgets_values_named": []
45 },
46 {
47 "id": 46,
48 "type": "PreviewAny",
49 "pos": [
50 4180,
51 670
52 ],
53 "size": [
54 210,
55 300
56 ],
57 "flags": {
58 "collapsed": false
59 },
60 "order": 23,
61 "mode": 0,
62 "inputs": [
63 {
64 "name": "source",
65 "type": "*",
66 "link": 191
67 }
68 ],
69 "outputs": [
70 {
71 "name": "STRING",
72 "type": "STRING",
73 "links": null
74 }
75 ],
76 "title": "Shot 3: Prompt",
77 "properties": {
78 "Node name for S&R": "PreviewAny",
79 "cnr_id": "comfy-core",
80 "ver": "0.14.1"
81 },
82 "widgets_values": [],
83 "widgets_values_named": []
84 },
85 {
86 "id": 4,
87 "type": "LoadImage",
88 "pos": [
89 380,
90 590
91 ],
92 "size": [
93 490,
94 500
95 ],
96 "flags": [],
97 "order": 0,
98 "mode": 0,
99 "inputs": [],
100 "outputs": [
101 {
102 "name": "IMAGE",
103 "type": "IMAGE",
104 "links": [
105 223,
106 368
107 ]
108 },
109 {
110 "name": "MASK",
111 "type": "MASK",
112 "links": null
113 }
114 ],
115 "title": "Load Start Frame Image",
116 "properties": {
117 "Node name for S&R": "LoadImage",
118 "cnr_id": "comfy-core",
119 "ver": "0.14.1"
120 },
121 "widgets_values": [
122 "comfy_gpu_angled.png",
123 "image"
124 ],
125 "widgets_values_named": {
126 "image": "comfy_gpu_angled.png",
127 "upload": "image"
128 },
129 "color": "#232",
130 "bgcolor": "#353"
131 },
132 {
133 "id": 8,
134 "type": "LoadImage",
135 "pos": [
136 920,
137 590
138 ],
139 "size": [
140 490,
141 500
142 ],
143 "flags": {
144 "collapsed": false
145 },
146 "order": 1,
147 "mode": 0,
148 "inputs": [],
149 "outputs": [
150 {
151 "name": "IMAGE",
152 "type": "IMAGE",
153 "links": [
154 224
155 ]
156 },
157 {
158 "name": "MASK",
159 "type": "MASK",
160 "links": null
161 }
162 ],
163 "title": "Load Product Image 1",
164 "properties": {
165 "Node name for S&R": "LoadImage",
166 "cnr_id": "comfy-core",
167 "ver": "0.14.1"
168 },
169 "widgets_values": [
170 "comfy_gpu_flat.png",
171 "image"
172 ],
173 "widgets_values_named": {
174 "image": "comfy_gpu_flat.png",
175 "upload": "image"
176 },
177 "color": "#232",
178 "bgcolor": "#353"
179 },
180 {
181 "id": 12,
182 "type": "LoadImage",
183 "pos": [
184 1470,
185 590
186 ],
187 "size": [
188 490,
189 500
190 ],
191 "flags": [],
192 "order": 2,
193 "mode": 0,
194 "inputs": [],
195 "outputs": [
196 {
197 "name": "IMAGE",
198 "type": "IMAGE",
199 "links": [
200 225
201 ]
202 },
203 {
204 "name": "MASK",
205 "type": "MASK",
206 "links": null
207 }
208 ],
209 "title": "Load Product Image 2",
210 "properties": {
211 "Node name for S&R": "LoadImage",
212 "cnr_id": "comfy-core",
213 "ver": "0.14.1"
214 },
215 "widgets_values": [
216 "comfy_gpu_close_up.png",
217 "image"
218 ],
219 "widgets_values_named": {
220 "image": "comfy_gpu_close_up.png",
221 "upload": "image"
222 },
223 "color": "#232",
224 "bgcolor": "#353"
225 },
226 {
227 "id": 81,
228 "type": "0e2c3eaa-706c-41fd-b300-b6bd9e84a0a4",
229 "pos": [
230 2370,
231 590
232 ],
233 "size": [
234 200,
235 50
236 ],
237 "flags": {
238 "collapsed": true
239 },
240 "order": 10,
241 "mode": 0,
242 "inputs": [
243 {
244 "name": "input",
245 "type": "*",
246 "link": 106
247 },
248 {
249 "name": "input_1",
250 "type": "*",
251 "link": 107
252 }
253 ],
254 "outputs": [
255 {
256 "name": "STRING",
257 "type": "STRING",
258 "links": [
259 367
260 ]
261 }
262 ],
263 "properties": {
264 "cnr_id": "comfy-core",
265 "ver": "0.14.1",
266 "proxyWidgets": [],
267 "previewExposures": []
268 }
269 },
270 {
271 "id": 115,
272 "type": "2b10af74-c412-4c88-b235-6b170aed965c",
273 "pos": [
274 3190,
275 570
276 ],
277 "size": [
278 210,
279 60
280 ],
281 "flags": {
282 "collapsed": true
283 },
284 "order": 12,
285 "mode": 0,
286 "inputs": [
287 {
288 "name": "string_a",
289 "type": "STRING",
290 "widget": {
291 "name": "string_a"
292 },
293 "link": 339
294 },
295 {
296 "name": "on_false",
297 "shape": 7,
298 "type": "STRING",
299 "link": 340
300 },
301 {
302 "name": "on_true",
303 "shape": 7,
304 "type": "STRING",
305 "link": 370
306 }
307 ],
308 "outputs": [
309 {
310 "name": "output",
311 "type": "STRING",
312 "links": [
313 241
314 ]
315 }
316 ],
317 "properties": {
318 "cnr_id": "comfy-core",
319 "ver": "0.14.1",
320 "proxyWidgetErrorQuarantine": [
321 {
322 "originalEntry": [
323 "-1",
324 "string_a"
325 ],
326 "reason": "missingSourceNode",
327 "attemptedAtVersion": 1
328 }
329 ],
330 "previewExposures": []
331 },
332 "widgets_values": [
333 ""
334 ],
335 "widgets_values_named": {
336 "string_a": ""
337 }
338 },
339 {
340 "id": 32,
341 "type": "PreviewAny",
342 "pos": [
343 3670,
344 670
345 ],
346 "size": [
347 210,
348 300
349 ],
350 "flags": {
351 "collapsed": false
352 },
353 "order": 19,
354 "mode": 0,
355 "inputs": [
356 {
357 "name": "source",
358 "type": "*",
359 "link": 187
360 }
361 ],
362 "outputs": [
363 {
364 "name": "STRING",
365 "type": "STRING",
366 "links": null
367 }
368 ],
369 "title": "Shot 1: Prompt",
370 "properties": {
371 "Node name for S&R": "PreviewAny",
372 "cnr_id": "comfy-core",
373 "ver": "0.14.1"
374 },
375 "widgets_values": [],
376 "widgets_values_named": []
377 },
378 {
379 "id": 38,
380 "type": "PreviewAny",
381 "pos": [
382 3920,
383 500
384 ],
385 "size": [
386 210,
387 150
388 ],
389 "flags": [],
390 "order": 15,
391 "mode": 0,
392 "inputs": [
393 {
394 "name": "source",
395 "type": "*",
396 "link": 185
397 }
398 ],
399 "outputs": [
400 {
401 "name": "STRING",
402 "type": "STRING",
403 "links": null
404 }
405 ],
406 "title": "Shot 2: # of Seconds",
407 "properties": {
408 "Node name for S&R": "PreviewAny",
409 "cnr_id": "comfy-core",
410 "ver": "0.14.1"
411 },
412 "widgets_values": [],
413 "widgets_values_named": []
414 },
415 {
416 "id": 53,
417 "type": "PreviewAny",
418 "pos": [
419 3920,
420 1270
421 ],
422 "size": [
423 210,
424 270
425 ],
426 "flags": [],
427 "order": 33,
428 "mode": 0,
429 "inputs": [
430 {
431 "name": "source",
432 "type": "*",
433 "link": 198
434 }
435 ],
436 "outputs": [
437 {
438 "name": "STRING",
439 "type": "STRING",
440 "links": null
441 }
442 ],
443 "title": "Shot 5: Prompt",
444 "properties": {
445 "Node name for S&R": "PreviewAny",
446 "cnr_id": "comfy-core",
447 "ver": "0.14.1"
448 },
449 "widgets_values": [],
450 "widgets_values_named": []
451 },
452 {
453 "id": 52,
454 "type": "PreviewAny",
455 "pos": [
456 3670,
457 1100
458 ],
459 "size": [
460 210,
461 150
462 ],
463 "flags": [],
464 "order": 26,
465 "mode": 0,
466 "inputs": [
467 {
468 "name": "source",
469 "type": "*",
470 "link": 306
471 }
472 ],
473 "outputs": [
474 {
475 "name": "STRING",
476 "type": "STRING",
477 "links": null
478 }
479 ],
480 "title": "Shot 4: # of Seconds",
481 "properties": {
482 "Node name for S&R": "PreviewAny",
483 "cnr_id": "comfy-core",
484 "ver": "0.14.1"
485 },
486 "widgets_values": [],
487 "widgets_values_named": []
488 },
489 {
490 "id": 54,
491 "type": "PreviewAny",
492 "pos": [
493 3920,
494 1100
495 ],
496 "size": [
497 210,
498 150
499 ],
500 "flags": [],
501 "order": 28,
502 "mode": 0,
503 "inputs": [
504 {
505 "name": "source",
506 "type": "*",
507 "link": 307
508 }
509 ],
510 "outputs": [
511 {
512 "name": "STRING",
513 "type": "STRING",
514 "links": null
515 }
516 ],
517 "title": "Shot 5: # of Seconds",
518 "properties": {
519 "Node name for S&R": "PreviewAny",
520 "cnr_id": "comfy-core",
521 "ver": "0.14.1"
522 },
523 "widgets_values": [],
524 "widgets_values_named": []
525 },
526 {
527 "id": 57,
528 "type": "PreviewAny",
529 "pos": [
530 4180,
531 1100
532 ],
533 "size": [
534 210,
535 150
536 ],
537 "flags": [],
538 "order": 30,
539 "mode": 0,
540 "inputs": [
541 {
542 "name": "source",
543 "type": "*",
544 "link": 308
545 }
546 ],
547 "outputs": [
548 {
549 "name": "STRING",
550 "type": "STRING",
551 "links": null
552 }
553 ],
554 "title": "Shot 6: # of Seconds",
555 "properties": {
556 "Node name for S&R": "PreviewAny",
557 "cnr_id": "comfy-core",
558 "ver": "0.14.1"
559 },
560 "widgets_values": [],
561 "widgets_values_named": []
562 },
563 {
564 "id": 89,
565 "type": "SaveVideo",
566 "pos": [
567 5610,
568 420
569 ],
570 "size": [
571 640,
572 1290
573 ],
574 "flags": [],
575 "order": 46,
576 "mode": 4,
577 "inputs": [
578 {
579 "name": "video",
580 "type": "VIDEO",
581 "link": 170
582 }
583 ],
584 "outputs": [
585 {
586 "name": "video",
587 "type": "VIDEO",
588 "links": null
589 }
590 ],
591 "properties": {
592 "Node name for S&R": "SaveVideo",
593 "cnr_id": "comfy-core",
594 "ver": "0.14.1"
595 },
596 "widgets_values": [
597 "video/ComfyUI",
598 "auto",
599 "auto",
600 "auto"
601 ],
602 "widgets_values_named": {
603 "filename_prefix": "video/ComfyUI",
604 "format": "auto",
605 "format.codec": "auto",
606 "codec": "auto"
607 }
608 },
609 {
610 "id": 35,
611 "type": "PreviewAny",
612 "pos": [
613 3670,
614 500
615 ],
616 "size": [
617 210,
618 150
619 ],
620 "flags": [],
621 "order": 37,
622 "mode": 0,
623 "inputs": [
624 {
625 "name": "source",
626 "type": "*",
627 "link": 202
628 }
629 ],
630 "outputs": [
631 {
632 "name": "STRING",
633 "type": "STRING",
634 "links": null
635 }
636 ],
637 "title": "Shot 1: # of Seconds",
638 "properties": {
639 "Node name for S&R": "PreviewAny",
640 "cnr_id": "comfy-core",
641 "ver": "0.14.1"
642 },
643 "widgets_values": [],
644 "widgets_values_named": []
645 },
646 {
647 "id": 136,
648 "type": "StringToInt",
649 "pos": [
650 3670,
651 440
652 ],
653 "size": [
654 210,
655 40
656 ],
657 "flags": {
658 "collapsed": true
659 },
660 "order": 38,
661 "mode": 0,
662 "inputs": [
663 {
664 "name": "data",
665 "type": "STRING",
666 "widget": {
667 "name": "data"
668 },
669 "link": 273
670 }
671 ],
672 "outputs": [
673 {
674 "name": "INT",
675 "type": "INT",
676 "links": [
677 309
678 ]
679 }
680 ],
681 "title": "Shot 1: Duration",
682 "properties": {
683 "Node name for S&R": "StringToInt",
684 "cnr_id": "comfyui-string-converter",
685 "ver": "0e1e78f877e4d5fc2b46ace8fa21a0ef70e92f11"
686 },
687 "widgets_values": [
688 ""
689 ],
690 "widgets_values_named": {
691 "data": ""
692 }
693 },
694 {
695 "id": 137,
696 "type": "StringToInt",
697 "pos": [
698 3920,
699 440
700 ],
701 "size": [
702 210,
703 40
704 ],
705 "flags": {
706 "collapsed": true
707 },
708 "order": 16,
709 "mode": 0,
710 "inputs": [
711 {
712 "name": "data",
713 "type": "STRING",
714 "widget": {
715 "name": "data"
716 },
717 "link": 275
718 }
719 ],
720 "outputs": [
721 {
722 "name": "INT",
723 "type": "INT",
724 "links": [
725 310
726 ]
727 }
728 ],
729 "title": "Shot 2: Duration",
730 "properties": {
731 "Node name for S&R": "StringToInt",
732 "cnr_id": "comfyui-string-converter",
733 "ver": "0e1e78f877e4d5fc2b46ace8fa21a0ef70e92f11"
734 },
735 "widgets_values": [
736 ""
737 ],
738 "widgets_values_named": {
739 "data": ""
740 }
741 },
742 {
743 "id": 138,
744 "type": "StringToInt",
745 "pos": [
746 4180,
747 440
748 ],
749 "size": [
750 210,
751 40
752 ],
753 "flags": {
754 "collapsed": true
755 },
756 "order": 18,
757 "mode": 0,
758 "inputs": [
759 {
760 "name": "data",
761 "type": "STRING",
762 "widget": {
763 "name": "data"
764 },
765 "link": 277
766 }
767 ],
768 "outputs": [
769 {
770 "name": "INT",
771 "type": "INT",
772 "links": [
773 311
774 ]
775 }
776 ],
777 "title": "Shot 3: Duration",
778 "properties": {
779 "Node name for S&R": "StringToInt",
780 "cnr_id": "comfyui-string-converter",
781 "ver": "0e1e78f877e4d5fc2b46ace8fa21a0ef70e92f11"
782 },
783 "widgets_values": [
784 ""
785 ],
786 "widgets_values_named": {
787 "data": ""
788 }
789 },
790 {
791 "id": 140,
792 "type": "StringToInt",
793 "pos": [
794 3670,
795 1030
796 ],
797 "size": [
798 210,
799 40
800 ],
801 "flags": {
802 "collapsed": true
803 },
804 "order": 25,
805 "mode": 0,
806 "inputs": [
807 {
808 "name": "data",
809 "type": "STRING",
810 "widget": {
811 "name": "data"
812 },
813 "link": 279
814 }
815 ],
816 "outputs": [
817 {
818 "name": "INT",
819 "type": "INT",
820 "links": [
821 312
822 ]
823 }
824 ],
825 "title": "Shot 4: Duration",
826 "properties": {
827 "Node name for S&R": "StringToInt",
828 "cnr_id": "comfyui-string-converter",
829 "ver": "0e1e78f877e4d5fc2b46ace8fa21a0ef70e92f11"
830 },
831 "widgets_values": [
832 ""
833 ],
834 "widgets_values_named": {
835 "data": ""
836 }
837 },
838 {
839 "id": 141,
840 "type": "StringToInt",
841 "pos": [
842 3920,
843 1030
844 ],
845 "size": [
846 210,
847 40
848 ],
849 "flags": {
850 "collapsed": true
851 },
852 "order": 27,
853 "mode": 0,
854 "inputs": [
855 {
856 "name": "data",
857 "type": "STRING",
858 "widget": {
859 "name": "data"
860 },
861 "link": 281
862 }
863 ],
864 "outputs": [
865 {
866 "name": "INT",
867 "type": "INT",
868 "links": [
869 313
870 ]
871 }
872 ],
873 "title": "Shot 5: Duration",
874 "properties": {
875 "Node name for S&R": "StringToInt",
876 "cnr_id": "comfyui-string-converter",
877 "ver": "0e1e78f877e4d5fc2b46ace8fa21a0ef70e92f11"
878 },
879 "widgets_values": [
880 ""
881 ],
882 "widgets_values_named": {
883 "data": ""
884 }
885 },
886 {
887 "id": 139,
888 "type": "StringToInt",
889 "pos": [
890 4180,
891 1030
892 ],
893 "size": [
894 210,
895 40
896 ],
897 "flags": {
898 "collapsed": true
899 },
900 "order": 29,
901 "mode": 0,
902 "inputs": [
903 {
904 "name": "data",
905 "type": "STRING",
906 "widget": {
907 "name": "data"
908 },
909 "link": 283
910 }
911 ],
912 "outputs": [
913 {
914 "name": "INT",
915 "type": "INT",
916 "links": [
917 314
918 ]
919 }
920 ],
921 "title": "Shot 6: Duration",
922 "properties": {
923 "Node name for S&R": "StringToInt",
924 "cnr_id": "comfyui-string-converter",
925 "ver": "0e1e78f877e4d5fc2b46ace8fa21a0ef70e92f11"
926 },
927 "widgets_values": [
928 ""
929 ],
930 "widgets_values_named": {
931 "data": ""
932 }
933 },
934 {
935 "id": 91,
936 "type": "a98e3426-ae7f-4a8b-ba30-a2217a51ad09",
937 "pos": [
938 3420,
939 570
940 ],
941 "size": [
942 210,
943 260
944 ],
945 "flags": {
946 "collapsed": true
947 },
948 "order": 14,
949 "mode": 0,
950 "inputs": [
951 {
952 "name": "string",
953 "type": "STRING",
954 "widget": {
955 "name": "string"
956 },
957 "link": 241
958 }
959 ],
960 "outputs": [
961 {
962 "name": "STRING",
963 "type": "STRING",
964 "links": [
965 185,
966 275
967 ]
968 },
969 {
970 "name": "STRING_1",
971 "type": "STRING",
972 "links": [
973 186,
974 277
975 ]
976 },
977 {
978 "name": "STRING_2",
979 "type": "STRING",
980 "links": [
981 187,
982 315
983 ]
984 },
985 {
986 "name": "STRING_3",
987 "type": "STRING",
988 "links": [
989 189,
990 316
991 ]
992 },
993 {
994 "name": "STRING_4",
995 "type": "STRING",
996 "links": [
997 191,
998 317
999 ]
1000 },
1001 {
1002 "name": "STRING_5",
1003 "type": "STRING",
1004 "links": [
1005 279,
1006 306
1007 ]
1008 },
1009 {
1010 "name": "STRING_6",
1011 "type": "STRING",
1012 "links": [
1013 281,
1014 307
1015 ]
1016 },
1017 {
1018 "name": "STRING_7",
1019 "type": "STRING",
1020 "links": [
1021 283,
1022 308
1023 ]
1024 },
1025 {
1026 "name": "STRING_8",
1027 "type": "STRING",
1028 "links": [
1029 295,
1030 320
1031 ]
1032 },
1033 {
1034 "name": "STRING_9",
1035 "type": "STRING",
1036 "links": [
1037 198,
1038 319
1039 ]
1040 },
1041 {
1042 "name": "STRING_10",
1043 "type": "STRING",
1044 "links": [
1045 294,
1046 318
1047 ]
1048 },
1049 {
1050 "name": "STRING_11",
1051 "type": "STRING",
1052 "links": [
1053 202,
1054 273
1055 ]
1056 }
1057 ],
1058 "properties": {
1059 "cnr_id": "comfy-core",
1060 "ver": "0.14.1",
1061 "proxyWidgetErrorQuarantine": [
1062 {
1063 "originalEntry": [
1064 "-1",
1065 "string"
1066 ],
1067 "reason": "missingSourceNode",
1068 "attemptedAtVersion": 1
1069 }
1070 ],
1071 "previewExposures": []
1072 },
1073 "widgets_values": [
1074 ""
1075 ],
1076 "widgets_values_named": {
1077 "string": ""
1078 }
1079 },
1080 {
1081 "id": 23,
1082 "type": "PrimitiveInt",
1083 "pos": [
1084 2060,
1085 720
1086 ],
1087 "size": [
1088 210,
1089 90
1090 ],
1091 "flags": [],
1092 "order": 3,
1093 "mode": 0,
1094 "inputs": [],
1095 "outputs": [
1096 {
1097 "name": "INT",
1098 "type": "INT",
1099 "links": [
1100 107
1101 ]
1102 }
1103 ],
1104 "title": "Number of Shots (1-6)",
1105 "properties": {
1106 "Node name for S&R": "PrimitiveInt",
1107 "cnr_id": "comfy-core",
1108 "ver": "0.14.1"
1109 },
1110 "widgets_values": [
1111 2,
1112 "fixed"
1113 ],
1114 "widgets_values_named": {
1115 "value": 2,
1116 "fixed": "fixed"
1117 },
1118 "color": "#232",
1119 "bgcolor": "#353"
1120 },
1121 {
1122 "id": 47,
1123 "type": "PreviewAny",
1124 "pos": [
1125 4180,
1126 500
1127 ],
1128 "size": [
1129 210,
1130 150
1131 ],
1132 "flags": [],
1133 "order": 17,
1134 "mode": 0,
1135 "inputs": [
1136 {
1137 "name": "source",
1138 "type": "*",
1139 "link": 186
1140 }
1141 ],
1142 "outputs": [
1143 {
1144 "name": "STRING",
1145 "type": "STRING",
1146 "links": null
1147 }
1148 ],
1149 "title": "Shot 3: # of Seconds",
1150 "properties": {
1151 "Node name for S&R": "PreviewAny",
1152 "cnr_id": "comfy-core",
1153 "ver": "0.14.1"
1154 },
1155 "widgets_values": [],
1156 "widgets_values_named": []
1157 },
1158 {
1159 "id": 22,
1160 "type": "PrimitiveInt",
1161 "pos": [
1162 2060,
1163 590
1164 ],
1165 "size": [
1166 220,
1167 90
1168 ],
1169 "flags": [],
1170 "order": 4,
1171 "mode": 0,
1172 "inputs": [],
1173 "outputs": [
1174 {
1175 "name": "INT",
1176 "type": "INT",
1177 "links": [
1178 54,
1179 106
1180 ]
1181 }
1182 ],
1183 "title": "Number of Seconds (3-15)",
1184 "properties": {
1185 "Node name for S&R": "PrimitiveInt",
1186 "cnr_id": "comfy-core",
1187 "ver": "0.14.1"
1188 },
1189 "widgets_values": [
1190 8,
1191 "fixed"
1192 ],
1193 "widgets_values_named": {
1194 "value": 8,
1195 "fixed": "fixed"
1196 },
1197 "color": "#232",
1198 "bgcolor": "#353"
1199 },
1200 {
1201 "id": 34,
1202 "type": "KlingOmniProImageToVideoNode",
1203 "pos": [
1204 5110,
1205 420
1206 ],
1207 "size": [
1208 450,
1209 910
1210 ],
1211 "flags": [],
1212 "order": 45,
1213 "mode": 4,
1214 "inputs": [
1215 {
1216 "name": "reference_images",
1217 "type": "IMAGE",
1218 "link": 226
1219 },
1220 {
1221 "name": "duration",
1222 "type": "INT",
1223 "widget": {
1224 "name": "duration"
1225 },
1226 "link": 54
1227 },
1228 {
1229 "name": "storyboards.storyboard_1_prompt",
1230 "type": "STRING",
1231 "widget": {
1232 "name": "storyboards.storyboard_1_prompt"
1233 },
1234 "link": 321
1235 },
1236 {
1237 "name": "storyboards.storyboard_1_duration",
1238 "type": "INT",
1239 "widget": {
1240 "name": "storyboards.storyboard_1_duration"
1241 },
1242 "link": 324
1243 },
1244 {
1245 "name": "storyboards.storyboard_2_prompt",
1246 "type": "STRING",
1247 "widget": {
1248 "name": "storyboards.storyboard_2_prompt"
1249 },
1250 "link": 322
1251 },
1252 {
1253 "name": "storyboards.storyboard_2_duration",
1254 "type": "INT",
1255 "widget": {
1256 "name": "storyboards.storyboard_2_duration"
1257 },
1258 "link": 325
1259 },
1260 {
1261 "name": "storyboards.storyboard_3_prompt",
1262 "type": "STRING",
1263 "widget": {
1264 "name": "storyboards.storyboard_3_prompt"
1265 },
1266 "link": 360
1267 },
1268 {
1269 "name": "storyboards.storyboard_3_duration",
1270 "type": "INT",
1271 "widget": {
1272 "name": "storyboards.storyboard_3_duration"
1273 },
1274 "link": 359
1275 },
1276 {
1277 "name": "storyboards.storyboard_4_prompt",
1278 "type": "STRING",
1279 "widget": {
1280 "name": "storyboards.storyboard_4_prompt"
1281 },
1282 "link": 361
1283 },
1284 {
1285 "name": "storyboards.storyboard_4_duration",
1286 "type": "INT",
1287 "widget": {
1288 "name": "storyboards.storyboard_4_duration"
1289 },
1290 "link": 364
1291 },
1292 {
1293 "name": "storyboards.storyboard_5_prompt",
1294 "type": "STRING",
1295 "widget": {
1296 "name": "storyboards.storyboard_5_prompt"
1297 },
1298 "link": 362
1299 },
1300 {
1301 "name": "storyboards.storyboard_5_duration",
1302 "type": "INT",
1303 "widget": {
1304 "name": "storyboards.storyboard_5_duration"
1305 },
1306 "link": 365
1307 },
1308 {
1309 "name": "storyboards.storyboard_6_prompt",
1310 "type": "STRING",
1311 "widget": {
1312 "name": "storyboards.storyboard_6_prompt"
1313 },
1314 "link": 363
1315 },
1316 {
1317 "name": "storyboards.storyboard_6_duration",
1318 "type": "INT",
1319 "widget": {
1320 "name": "storyboards.storyboard_6_duration"
1321 },
1322 "link": 366
1323 }
1324 ],
1325 "outputs": [
1326 {
1327 "name": "VIDEO",
1328 "type": "VIDEO",
1329 "links": [
1330 170
1331 ]
1332 }
1333 ],
1334 "properties": {
1335 "Node name for S&R": "KlingOmniProImageToVideoNode",
1336 "cnr_id": "comfy-core",
1337 "ver": "0.14.1"
1338 },
1339 "widgets_values": [
1340 "kling-v3-omni",
1341 "Use image 1 as a start frame and the other images as product reference for fine details. The environment should always be the same as the image 1 scene.",
1342 "9:16",
1343 3,
1344 "1080p",
1345 "6 storyboards",
1346 "",
1347 4,
1348 "",
1349 4,
1350 "",
1351 4,
1352 "",
1353 4,
1354 "",
1355 4,
1356 "",
1357 4,
1358 true,
1359 1264338454,
1360 "randomize"
1361 ],
1362 "widgets_values_named": {
1363 "model_name": "kling-v3-omni",
1364 "prompt": "Use image 1 as a start frame and the other images as product reference for fine details. The environment should always be the same as the image 1 scene.",
1365 "aspect_ratio": "9:16",
1366 "duration": 3,
1367 "resolution": "1080p",
1368 "storyboards": "6 storyboards",
1369 "storyboards.storyboard_1_prompt": "",
1370 "storyboards.storyboard_1_duration": 4,
1371 "storyboards.storyboard_2_prompt": "",
1372 "storyboards.storyboard_2_duration": 4,
1373 "storyboards.storyboard_3_prompt": "",
1374 "storyboards.storyboard_3_duration": 4,
1375 "storyboards.storyboard_4_prompt": "",
1376 "storyboards.storyboard_4_duration": 4,
1377 "storyboards.storyboard_5_prompt": "",
1378 "storyboards.storyboard_5_duration": 4,
1379 "storyboards.storyboard_6_prompt": "",
1380 "storyboards.storyboard_6_duration": 4,
1381 "generate_audio": true,
1382 "seed": 1264338454,
1383 "control_after_generate": "randomize"
1384 },
1385 "color": "#432",
1386 "bgcolor": "#653"
1387 },
1388 {
1389 "id": 110,
1390 "type": "5d7e839f-932a-49a9-a1f4-f088f38d1dcb",
1391 "pos": [
1392 2060,
1393 420
1394 ],
1395 "size": [
1396 210,
1397 110
1398 ],
1399 "flags": [],
1400 "order": 9,
1401 "mode": 0,
1402 "inputs": [
1403 {
1404 "label": "image_first_frame",
1405 "name": "images.image0",
1406 "type": "IMAGE",
1407 "link": 223
1408 },
1409 {
1410 "label": "image_ref_1",
1411 "name": "image",
1412 "type": "IMAGE",
1413 "link": 224
1414 },
1415 {
1416 "label": "image_ref_2",
1417 "name": "image_1",
1418 "type": "IMAGE",
1419 "link": 225
1420 }
1421 ],
1422 "outputs": [
1423 {
1424 "label": "IMAGES",
1425 "name": "IMAGE",
1426 "type": "IMAGE",
1427 "links": [
1428 226
1429 ]
1430 }
1431 ],
1432 "properties": {
1433 "cnr_id": "comfy-core",
1434 "ver": "0.14.1",
1435 "proxyWidgets": [],
1436 "previewExposures": []
1437 }
1438 },
1439 {
1440 "id": 145,
1441 "type": "PreviewAny",
1442 "pos": [
1443 3670,
1444 1270
1445 ],
1446 "size": [
1447 210,
1448 270
1449 ],
1450 "flags": [],
1451 "order": 35,
1452 "mode": 0,
1453 "inputs": [
1454 {
1455 "name": "source",
1456 "type": "*",
1457 "link": 294
1458 }
1459 ],
1460 "outputs": [
1461 {
1462 "name": "STRING",
1463 "type": "STRING",
1464 "links": null
1465 }
1466 ],
1467 "title": "Shot 4: Prompt",
1468 "properties": {
1469 "Node name for S&R": "PreviewAny",
1470 "cnr_id": "comfy-core",
1471 "ver": "0.14.1"
1472 },
1473 "widgets_values": [],
1474 "widgets_values_named": []
1475 },
1476 {
1477 "id": 148,
1478 "type": "PreviewAny",
1479 "pos": [
1480 4180,
1481 1270
1482 ],
1483 "size": [
1484 210,
1485 270
1486 ],
1487 "flags": [],
1488 "order": 31,
1489 "mode": 0,
1490 "inputs": [
1491 {
1492 "name": "source",
1493 "type": "*",
1494 "link": 295
1495 }
1496 ],
1497 "outputs": [
1498 {
1499 "name": "STRING",
1500 "type": "STRING",
1501 "links": null
1502 }
1503 ],
1504 "title": "Shot 6: Prompt",
1505 "properties": {
1506 "Node name for S&R": "PreviewAny",
1507 "cnr_id": "comfy-core",
1508 "ver": "0.14.1"
1509 },
1510 "widgets_values": [],
1511 "widgets_values_named": []
1512 },
1513 {
1514 "id": 150,
1515 "type": "Reroute",
1516 "pos": [
1517 4510,
1518 560
1519 ],
1520 "size": [
1521 75,
1522 26
1523 ],
1524 "flags": [],
1525 "order": 44,
1526 "mode": 0,
1527 "inputs": [
1528 {
1529 "name": "",
1530 "type": "*",
1531 "widget": {
1532 "name": "value"
1533 },
1534 "link": 309
1535 }
1536 ],
1537 "outputs": [
1538 {
1539 "name": "",
1540 "type": "INT",
1541 "links": [
1542 324
1543 ]
1544 }
1545 ],
1546 "properties": {
1547 "showOutputText": false,
1548 "horizontal": false
1549 }
1550 },
1551 {
1552 "id": 151,
1553 "type": "Reroute",
1554 "pos": [
1555 4510,
1556 640
1557 ],
1558 "size": [
1559 75,
1560 26
1561 ],
1562 "flags": [],
1563 "order": 39,
1564 "mode": 0,
1565 "inputs": [
1566 {
1567 "name": "",
1568 "type": "*",
1569 "widget": {
1570 "name": "value"
1571 },
1572 "link": 310
1573 }
1574 ],
1575 "outputs": [
1576 {
1577 "name": "",
1578 "type": "INT",
1579 "links": [
1580 325
1581 ]
1582 }
1583 ],
1584 "title": "reroute",
1585 "properties": {
1586 "showOutputText": false,
1587 "horizontal": false
1588 }
1589 },
1590 {
1591 "id": 152,
1592 "type": "Reroute",
1593 "pos": [
1594 4510,
1595 720
1596 ],
1597 "size": [
1598 75,
1599 26
1600 ],
1601 "flags": [],
1602 "order": 40,
1603 "mode": 0,
1604 "inputs": [
1605 {
1606 "name": "",
1607 "type": "*",
1608 "widget": {
1609 "name": "value"
1610 },
1611 "link": 311
1612 }
1613 ],
1614 "outputs": [
1615 {
1616 "name": "",
1617 "type": "INT",
1618 "links": [
1619 359
1620 ]
1621 }
1622 ],
1623 "properties": {
1624 "showOutputText": false,
1625 "horizontal": false
1626 }
1627 },
1628 {
1629 "id": 153,
1630 "type": "Reroute",
1631 "pos": [
1632 4510,
1633 810
1634 ],
1635 "size": [
1636 75,
1637 26
1638 ],
1639 "flags": [],
1640 "order": 41,
1641 "mode": 0,
1642 "inputs": [
1643 {
1644 "name": "",
1645 "type": "*",
1646 "widget": {
1647 "name": "value"
1648 },
1649 "link": 312
1650 }
1651 ],
1652 "outputs": [
1653 {
1654 "name": "",
1655 "type": "INT",
1656 "links": [
1657 364
1658 ]
1659 }
1660 ],
1661 "properties": {
1662 "showOutputText": false,
1663 "horizontal": false
1664 }
1665 },
1666 {
1667 "id": 154,
1668 "type": "Reroute",
1669 "pos": [
1670 4510,
1671 910
1672 ],
1673 "size": [
1674 75,
1675 26
1676 ],
1677 "flags": [],
1678 "order": 42,
1679 "mode": 0,
1680 "inputs": [
1681 {
1682 "name": "",
1683 "type": "*",
1684 "widget": {
1685 "name": "value"
1686 },
1687 "link": 313
1688 }
1689 ],
1690 "outputs": [
1691 {
1692 "name": "",
1693 "type": "INT",
1694 "links": [
1695 365
1696 ]
1697 }
1698 ],
1699 "properties": {
1700 "showOutputText": false,
1701 "horizontal": false
1702 }
1703 },
1704 {
1705 "id": 155,
1706 "type": "Reroute",
1707 "pos": [
1708 4510,
1709 1010
1710 ],
1711 "size": [
1712 75,
1713 26
1714 ],
1715 "flags": [],
1716 "order": 43,
1717 "mode": 0,
1718 "inputs": [
1719 {
1720 "name": "",
1721 "type": "*",
1722 "widget": {
1723 "name": "value"
1724 },
1725 "link": 314
1726 }
1727 ],
1728 "outputs": [
1729 {
1730 "name": "",
1731 "type": "INT",
1732 "links": [
1733 366
1734 ]
1735 }
1736 ],
1737 "properties": {
1738 "showOutputText": false,
1739 "horizontal": false
1740 }
1741 },
1742 {
1743 "id": 156,
1744 "type": "Reroute",
1745 "pos": [
1746 4770,
1747 560
1748 ],
1749 "size": [
1750 75,
1751 26
1752 ],
1753 "flags": [],
1754 "order": 20,
1755 "mode": 0,
1756 "inputs": [
1757 {
1758 "name": "",
1759 "type": "*",
1760 "widget": {
1761 "name": "value"
1762 },
1763 "link": 315
1764 }
1765 ],
1766 "outputs": [
1767 {
1768 "name": "",
1769 "type": "STRING",
1770 "links": [
1771 321
1772 ]
1773 }
1774 ],
1775 "properties": {
1776 "showOutputText": false,
1777 "horizontal": false
1778 }
1779 },
1780 {
1781 "id": 157,
1782 "type": "Reroute",
1783 "pos": [
1784 4770,
1785 640
1786 ],
1787 "size": [
1788 75,
1789 26
1790 ],
1791 "flags": [],
1792 "order": 22,
1793 "mode": 0,
1794 "inputs": [
1795 {
1796 "name": "",
1797 "type": "*",
1798 "widget": {
1799 "name": "value"
1800 },
1801 "link": 316
1802 }
1803 ],
1804 "outputs": [
1805 {
1806 "name": "",
1807 "type": "STRING",
1808 "links": [
1809 322
1810 ]
1811 }
1812 ],
1813 "title": "reroute",
1814 "properties": {
1815 "showOutputText": false,
1816 "horizontal": false
1817 }
1818 },
1819 {
1820 "id": 158,
1821 "type": "Reroute",
1822 "pos": [
1823 4770,
1824 720
1825 ],
1826 "size": [
1827 75,
1828 26
1829 ],
1830 "flags": [],
1831 "order": 24,
1832 "mode": 0,
1833 "inputs": [
1834 {
1835 "name": "",
1836 "type": "*",
1837 "widget": {
1838 "name": "value"
1839 },
1840 "link": 317
1841 }
1842 ],
1843 "outputs": [
1844 {
1845 "name": "",
1846 "type": "STRING",
1847 "links": [
1848 360
1849 ]
1850 }
1851 ],
1852 "properties": {
1853 "showOutputText": false,
1854 "horizontal": false
1855 }
1856 },
1857 {
1858 "id": 159,
1859 "type": "Reroute",
1860 "pos": [
1861 4770,
1862 820
1863 ],
1864 "size": [
1865 75,
1866 26
1867 ],
1868 "flags": [],
1869 "order": 36,
1870 "mode": 0,
1871 "inputs": [
1872 {
1873 "name": "",
1874 "type": "*",
1875 "widget": {
1876 "name": "value"
1877 },
1878 "link": 318
1879 }
1880 ],
1881 "outputs": [
1882 {
1883 "name": "",
1884 "type": "STRING",
1885 "links": [
1886 361
1887 ]
1888 }
1889 ],
1890 "properties": {
1891 "showOutputText": false,
1892 "horizontal": false
1893 }
1894 },
1895 {
1896 "id": 160,
1897 "type": "Reroute",
1898 "pos": [
1899 4770,
1900 910
1901 ],
1902 "size": [
1903 75,
1904 26
1905 ],
1906 "flags": [],
1907 "order": 34,
1908 "mode": 0,
1909 "inputs": [
1910 {
1911 "name": "",
1912 "type": "*",
1913 "widget": {
1914 "name": "value"
1915 },
1916 "link": 319
1917 }
1918 ],
1919 "outputs": [
1920 {
1921 "name": "",
1922 "type": "STRING",
1923 "links": [
1924 362
1925 ]
1926 }
1927 ],
1928 "properties": {
1929 "showOutputText": false,
1930 "horizontal": false
1931 }
1932 },
1933 {
1934 "id": 161,
1935 "type": "Reroute",
1936 "pos": [
1937 4770,
1938 1010
1939 ],
1940 "size": [
1941 75,
1942 26
1943 ],
1944 "flags": [],
1945 "order": 32,
1946 "mode": 0,
1947 "inputs": [
1948 {
1949 "name": "",
1950 "type": "*",
1951 "widget": {
1952 "name": "value"
1953 },
1954 "link": 320
1955 }
1956 ],
1957 "outputs": [
1958 {
1959 "name": "",
1960 "type": "STRING",
1961 "links": [
1962 363
1963 ]
1964 }
1965 ],
1966 "properties": {
1967 "showOutputText": false,
1968 "horizontal": false
1969 }
1970 },
1971 {
1972 "id": 162,
1973 "type": "Note",
1974 "pos": [
1975 4500,
1976 420
1977 ],
1978 "size": [
1979 210,
1980 100
1981 ],
1982 "flags": [],
1983 "order": 5,
1984 "mode": 0,
1985 "inputs": [],
1986 "outputs": [],
1987 "properties": [],
1988 "widgets_values": [
1989 "Shot 1 - 6 Durations (desc order)\n"
1990 ],
1991 "widgets_values_named": {
1992 "text": "Shot 1 - 6 Durations (desc order)\n"
1993 },
1994 "color": "#222",
1995 "bgcolor": "#000"
1996 },
1997 {
1998 "id": 163,
1999 "type": "Note",
2000 "pos": [
2001 4770,
2002 420
2003 ],
2004 "size": [
2005 210,
2006 100
2007 ],
2008 "flags": [],
2009 "order": 6,
2010 "mode": 0,
2011 "inputs": [],
2012 "outputs": [],
2013 "properties": [],
2014 "widgets_values": [
2015 "Shot 1 - 6 Prompts (desc order)"
2016 ],
2017 "widgets_values_named": {
2018 "text": "Shot 1 - 6 Prompts (desc order)"
2019 },
2020 "color": "#222",
2021 "bgcolor": "#000"
2022 },
2023 {
2024 "id": 165,
2025 "type": "PrimitiveStringMultiline",
2026 "pos": [
2027 2650,
2028 420
2029 ],
2030 "size": [
2031 350,
2032 230
2033 ],
2034 "flags": [],
2035 "order": 7,
2036 "mode": 0,
2037 "inputs": [],
2038 "outputs": [
2039 {
2040 "name": "STRING",
2041 "type": "STRING",
2042 "links": [
2043 339,
2044 340
2045 ]
2046 }
2047 ],
2048 "title": "Prompt Input (copy/paste prompt here to lock)",
2049 "properties": {
2050 "Node name for S&R": "PrimitiveStringMultiline"
2051 },
2052 "widgets_values": [
2053 ""
2054 ],
2055 "widgets_values_named": {
2056 "value": ""
2057 },
2058 "color": "#232",
2059 "bgcolor": "#353"
2060 },
2061 {
2062 "id": 166,
2063 "type": "PreviewAny",
2064 "pos": [
2065 3070,
2066 740
2067 ],
2068 "size": [
2069 340,
2070 460
2071 ],
2072 "flags": [],
2073 "order": 13,
2074 "mode": 0,
2075 "inputs": [
2076 {
2077 "name": "source",
2078 "type": "*",
2079 "link": 371
2080 }
2081 ],
2082 "outputs": [
2083 {
2084 "name": "STRING",
2085 "type": "STRING",
2086 "links": null
2087 }
2088 ],
2089 "title": "Preview All Prompts",
2090 "properties": {
2091 "Node name for S&R": "PreviewAny",
2092 "cnr_id": "comfy-core",
2093 "ver": "0.14.1"
2094 },
2095 "widgets_values": [],
2096 "widgets_values_named": []
2097 },
2098 {
2099 "id": 170,
2100 "type": "MarkdownNote",
2101 "pos": [
2102 -40,
2103 590
2104 ],
2105 "size": [
2106 370,
2107 500
2108 ],
2109 "flags": [],
2110 "order": 8,
2111 "mode": 0,
2112 "inputs": [],
2113 "outputs": [],
2114 "properties": [],
2115 "widgets_values": [
2116 "# Workflow Instructions\n\n1. Upload start frame and product reference images.\n2. Enter your desired values in the **Number of Seconds** node and **Number of Shots** node.\n3. Run the workflow to generate the prompts.\n4. Once the **Google Gemini** node generates a prompt you like, copy from the **Preview All Prompts** node and paste into the **Prompt Input** node. Then, Bypass all the nodes in the **LLM Generate Each Shots Prompts** group.\n5. Run the workflow to view a preview of each shot's correlating prompt and number of seconds in the **Preview Prompts** group.\n6. Unbypass **Generate and Save Video** group nodes. **IMPORTANT:** Change the `storyboards` value to the same number of shots you have selected.\n7. Run the workflow again to generate the final video."
2117 ],
2118 "widgets_values_named": {
2119 "text": "# Workflow Instructions\n\n1. Upload start frame and product reference images.\n2. Enter your desired values in the **Number of Seconds** node and **Number of Shots** node.\n3. Run the workflow to generate the prompts.\n4. Once the **Google Gemini** node generates a prompt you like, copy from the **Preview All Prompts** node and paste into the **Prompt Input** node. Then, Bypass all the nodes in the **LLM Generate Each Shots Prompts** group.\n5. Run the workflow to view a preview of each shot's correlating prompt and number of seconds in the **Preview Prompts** group.\n6. Unbypass **Generate and Save Video** group nodes. **IMPORTANT:** Change the `storyboards` value to the same number of shots you have selected.\n7. Run the workflow again to generate the final video."
2120 },
2121 "color": "#222",
2122 "bgcolor": "#000"
2123 },
2124 {
2125 "id": 171,
2126 "type": "GeminiNodeV3",
2127 "pos": [
2128 2640,
2129 740
2130 ],
2131 "size": [
2132 400,
2133 366
2134 ],
2135 "flags": [],
2136 "order": 11,
2137 "mode": 0,
2138 "showAdvanced": true,
2139 "inputs": [
2140 {
2141 "name": "model.prompt",
2142 "type": "STRING",
2143 "widget": {
2144 "name": "model.prompt"
2145 },
2146 "link": 367
2147 },
2148 {
2149 "name": "model.images.image_1",
2150 "shape": 7,
2151 "type": "IMAGE",
2152 "link": 368
2153 },
2154 {
2155 "name": "model.images.image_2",
2156 "shape": 7,
2157 "type": "IMAGE",
2158 "link": null
2159 },
2160 {
2161 "name": "model.audio.audio_1",
2162 "shape": 7,
2163 "type": "AUDIO",
2164 "link": null
2165 },
2166 {
2167 "name": "model.video.video_1",
2168 "shape": 7,
2169 "type": "VIDEO",
2170 "link": null
2171 },
2172 {
2173 "name": "model.files",
2174 "shape": 7,
2175 "type": "GEMINI_INPUT_FILES",
2176 "link": null
2177 }
2178 ],
2179 "outputs": [
2180 {
2181 "name": "STRING",
2182 "type": "STRING",
2183 "links": [
2184 370,
2185 371
2186 ]
2187 }
2188 ],
2189 "properties": {
2190 "Node name for S&R": "GeminiNodeV3"
2191 },
2192 "widgets_values": [
2193 "Gemini 3.8 Flash",
2194 "",
2195 "static",
2196 "MEDIUM",
2197 32768,
2198 42,
2199 "randomize",
2200 "You are a creative director and video prompt specialist. Your job is to analyze a product image and generate a sequence of cinematic video prompts for a multi-shot product advertisement.\n\n---\n\n## INPUT\nYou will receive:\n- A product image (used as the visual start frame for Shot 1 only)\n- {N_SHOTS}: the number of shots to generate (1–6)\n- {N_SECONDS}: the total cumulative duration across all shots (max 15 seconds)\n- {USER_STORY}: optional creative direction for vibe, narrative, or tone\n\n---\n\n## STEP 1 — ANALYZE THE IMAGE\nBefore writing any prompts, internally assess the following from the product image:\n- Product type, shape, color, material, and finish\n- Existing lighting mood (hard/soft, warm/cool, dramatic/flat)\n- Background environment — describe it precisely and literally: surface type, color, texture, depth, atmospheric elements (e.g. \"matte dark grey surface, no visible background, soft overhead diffusion\"). This description becomes a locked constant for all shots.\n- Implied brand positioning (luxury, minimal, bold, playful, clinical, etc.)\n\nIf {USER_STORY} is provided, let it override or augment your inferred vibe. If it is empty, rely entirely on your image analysis.\n\n---\n\n## STEP 2 — ASSIGN A SHOT SEQUENCE\nMap {N_SHOTS} to a logical ad narrative arc. Use this as your guide:\n\n| Shot Role | Purpose |\n|---------------|------------------------------------------------------|\n| Hero (Shot 1) | Product reveal — slow, confident, visually grounding |\n| Detail | Extreme close-up of texture, material, or finish |\n| Feature | Product in action, reacting to environment or use |\n| Lifestyle | Product in its natural world or context |\n| Outro | Pull back, final beauty angle, or ambient close |\n\nCompress or expand the arc based on shot count:\n- 1–2 shots: Hero + Outro only\n- 3 shots: Hero, Feature, Outro\n- 4 shots: Hero, Detail, Feature, Outro\n- 5 shots: Hero, Detail, Feature, Lifestyle, Outro\n- 6 shots: Hero, Detail, Detail, Feature, Lifestyle, Outro\n\n---\n\n## STEP 3 — ALLOCATE DURATIONS\nDistribute seconds across shots. Rules:\n- All durations must be integers (whole seconds)\n- Total must equal exactly {N_SECONDS}\n- Weight durations by shot role and inferred pacing:\n - Luxury/cinematic vibe: favor longer Hero and Outro, compress middle shots\n - Energetic/bold vibe: distribute more evenly, keep all shots punchy\n - Default weighting: Hero gets ~25%, Outro gets ~20%, remaining shots split the rest\n\n---\n\n## STEP 4 — WRITE THE PROMPTS\n\n**Shot 1 (I2V — Image to Video):**\nThe product image is the literal start frame. Write a prompt that describes the motion and camera behavior starting from that exact frame. Do not re-describe the product appearance — describe only what moves and how.\n\n**Shots 2–N (T2V — Text to Video):**\nEach prompt must be fully self-contained. Describe the product, the scene, the camera, and the motion clearly enough that a video model with no prior context can generate a coherent, on-brand clip. You must preserve the exact environment from the input image — the same surface, background, depth, and atmosphere. Do not introduce new environments, floors, settings, or atmospheric elements (mist, smoke, reflections, etc.) that were not present in the input image. The environment is a locked constant, not a creative variable.\n\n**Prompt writing rules (apply to all shots):**\n- Write in present tense, descriptive and directive\n- Lead with the most important visual element\n- Specify: camera angle, camera motion, subject action, lighting, mood\n- Keep each prompt between 40–80 words — specific but not overloaded\n- No marketing copy, no voiceover text, no titles or graphics\n- Each shot must feel visually distinct from the others — vary angle, distance, and motion meaningfully\n\n---\n\n## OUTPUT FORMAT\nOutput only the tagged shot blocks. No preamble, no explanation, no additional text.\n\n<shot1_duration>N</shot1_duration>\n<shot1_prompt>Prompt text here</shot1_prompt>\n\n<shot2_duration>N</shot2_duration>\n<shot2_prompt>Prompt text here</shot2_prompt>\n\n...and so on for all {N_SHOTS} shots."
2201 ],
2202 "widgets_values_named": {
2203 "model": "Gemini 3.8 Flash",
2204 "model.prompt": "",
2205 "model.video_processing": "static",
2206 "model.thinking_level": "MEDIUM",
2207 "model.max_output_tokens": 32768,
2208 "model.seed": 42,
2209 "control_after_generate": "randomize",
2210 "model.system_prompt": "You are a creative director and video prompt specialist. Your job is to analyze a product image and generate a sequence of cinematic video prompts for a multi-shot product advertisement.\n\n---\n\n## INPUT\nYou will receive:\n- A product image (used as the visual start frame for Shot 1 only)\n- {N_SHOTS}: the number of shots to generate (1–6)\n- {N_SECONDS}: the total cumulative duration across all shots (max 15 seconds)\n- {USER_STORY}: optional creative direction for vibe, narrative, or tone\n\n---\n\n## STEP 1 — ANALYZE THE IMAGE\nBefore writing any prompts, internally assess the following from the product image:\n- Product type, shape, color, material, and finish\n- Existing lighting mood (hard/soft, warm/cool, dramatic/flat)\n- Background environment — describe it precisely and literally: surface type, color, texture, depth, atmospheric elements (e.g. \"matte dark grey surface, no visible background, soft overhead diffusion\"). This description becomes a locked constant for all shots.\n- Implied brand positioning (luxury, minimal, bold, playful, clinical, etc.)\n\nIf {USER_STORY} is provided, let it override or augment your inferred vibe. If it is empty, rely entirely on your image analysis.\n\n---\n\n## STEP 2 — ASSIGN A SHOT SEQUENCE\nMap {N_SHOTS} to a logical ad narrative arc. Use this as your guide:\n\n| Shot Role | Purpose |\n|---------------|------------------------------------------------------|\n| Hero (Shot 1) | Product reveal — slow, confident, visually grounding |\n| Detail | Extreme close-up of texture, material, or finish |\n| Feature | Product in action, reacting to environment or use |\n| Lifestyle | Product in its natural world or context |\n| Outro | Pull back, final beauty angle, or ambient close |\n\nCompress or expand the arc based on shot count:\n- 1–2 shots: Hero + Outro only\n- 3 shots: Hero, Feature, Outro\n- 4 shots: Hero, Detail, Feature, Outro\n- 5 shots: Hero, Detail, Feature, Lifestyle, Outro\n- 6 shots: Hero, Detail, Detail, Feature, Lifestyle, Outro\n\n---\n\n## STEP 3 — ALLOCATE DURATIONS\nDistribute seconds across shots. Rules:\n- All durations must be integers (whole seconds)\n- Total must equal exactly {N_SECONDS}\n- Weight durations by shot role and inferred pacing:\n - Luxury/cinematic vibe: favor longer Hero and Outro, compress middle shots\n - Energetic/bold vibe: distribute more evenly, keep all shots punchy\n - Default weighting: Hero gets ~25%, Outro gets ~20%, remaining shots split the rest\n\n---\n\n## STEP 4 — WRITE THE PROMPTS\n\n**Shot 1 (I2V — Image to Video):**\nThe product image is the literal start frame. Write a prompt that describes the motion and camera behavior starting from that exact frame. Do not re-describe the product appearance — describe only what moves and how.\n\n**Shots 2–N (T2V — Text to Video):**\nEach prompt must be fully self-contained. Describe the product, the scene, the camera, and the motion clearly enough that a video model with no prior context can generate a coherent, on-brand clip. You must preserve the exact environment from the input image — the same surface, background, depth, and atmosphere. Do not introduce new environments, floors, settings, or atmospheric elements (mist, smoke, reflections, etc.) that were not present in the input image. The environment is a locked constant, not a creative variable.\n\n**Prompt writing rules (apply to all shots):**\n- Write in present tense, descriptive and directive\n- Lead with the most important visual element\n- Specify: camera angle, camera motion, subject action, lighting, mood\n- Keep each prompt between 40–80 words — specific but not overloaded\n- No marketing copy, no voiceover text, no titles or graphics\n- Each shot must feel visually distinct from the others — vary angle, distance, and motion meaningfully\n\n---\n\n## OUTPUT FORMAT\nOutput only the tagged shot blocks. No preamble, no explanation, no additional text.\n\n<shot1_duration>N</shot1_duration>\n<shot1_prompt>Prompt text here</shot1_prompt>\n\n<shot2_duration>N</shot2_duration>\n<shot2_prompt>Prompt text here</shot2_prompt>\n\n...and so on for all {N_SHOTS} shots."
2211 },
2212 "color": "#432",
2213 "bgcolor": "#653"
2214 }
2215 ],
2216 "links": [
2217 [
2218 106,
2219 22,
2220 0,
2221 81,
2222 0,
2223 "INT"
2224 ],
2225 [
2226 107,
2227 23,
2228 0,
2229 81,
2230 1,
2231 "INT"
2232 ],
2233 [
2234 185,
2235 91,
2236 0,
2237 38,
2238 0,
2239 "STRING"
2240 ],
2241 [
2242 186,
2243 91,
2244 1,
2245 47,
2246 0,
2247 "STRING"
2248 ],
2249 [
2250 187,
2251 91,
2252 2,
2253 32,
2254 0,
2255 "STRING"
2256 ],
2257 [
2258 189,
2259 91,
2260 3,
2261 37,
2262 0,
2263 "STRING"
2264 ],
2265 [
2266 191,
2267 91,
2268 4,
2269 46,
2270 0,
2271 "STRING"
2272 ],
2273 [
2274 198,
2275 91,
2276 9,
2277 53,
2278 0,
2279 "STRING"
2280 ],
2281 [
2282 202,
2283 91,
2284 11,
2285 35,
2286 0,
2287 "STRING"
2288 ],
2289 [
2290 223,
2291 4,
2292 0,
2293 110,
2294 0,
2295 "IMAGE"
2296 ],
2297 [
2298 224,
2299 8,
2300 0,
2301 110,
2302 1,
2303 "IMAGE"
2304 ],
2305 [
2306 225,
2307 12,
2308 0,
2309 110,
2310 2,
2311 "IMAGE"
2312 ],
2313 [
2314 241,
2315 115,
2316 0,
2317 91,
2318 0,
2319 "STRING"
2320 ],
2321 [
2322 273,
2323 91,
2324 11,
2325 136,
2326 0,
2327 "STRING"
2328 ],
2329 [
2330 275,
2331 91,
2332 0,
2333 137,
2334 0,
2335 "STRING"
2336 ],
2337 [
2338 277,
2339 91,
2340 1,
2341 138,
2342 0,
2343 "STRING"
2344 ],
2345 [
2346 279,
2347 91,
2348 5,
2349 140,
2350 0,
2351 "STRING"
2352 ],
2353 [
2354 281,
2355 91,
2356 6,
2357 141,
2358 0,
2359 "STRING"
2360 ],
2361 [
2362 283,
2363 91,
2364 7,
2365 139,
2366 0,
2367 "STRING"
2368 ],
2369 [
2370 294,
2371 91,
2372 10,
2373 145,
2374 0,
2375 "STRING"
2376 ],
2377 [
2378 295,
2379 91,
2380 8,
2381 148,
2382 0,
2383 "STRING"
2384 ],
2385 [
2386 306,
2387 91,
2388 5,
2389 52,
2390 0,
2391 "STRING"
2392 ],
2393 [
2394 307,
2395 91,
2396 6,
2397 54,
2398 0,
2399 "STRING"
2400 ],
2401 [
2402 308,
2403 91,
2404 7,
2405 57,
2406 0,
2407 "STRING"
2408 ],
2409 [
2410 309,
2411 136,
2412 0,
2413 150,
2414 0,
2415 "INT"
2416 ],
2417 [
2418 310,
2419 137,
2420 0,
2421 151,
2422 0,
2423 "INT"
2424 ],
2425 [
2426 311,
2427 138,
2428 0,
2429 152,
2430 0,
2431 "INT"
2432 ],
2433 [
2434 312,
2435 140,
2436 0,
2437 153,
2438 0,
2439 "INT"
2440 ],
2441 [
2442 313,
2443 141,
2444 0,
2445 154,
2446 0,
2447 "INT"
2448 ],
2449 [
2450 314,
2451 139,
2452 0,
2453 155,
2454 0,
2455 "INT"
2456 ],
2457 [
2458 315,
2459 91,
2460 2,
2461 156,
2462 0,
2463 "STRING"
2464 ],
2465 [
2466 316,
2467 91,
2468 3,
2469 157,
2470 0,
2471 "STRING"
2472 ],
2473 [
2474 317,
2475 91,
2476 4,
2477 158,
2478 0,
2479 "STRING"
2480 ],
2481 [
2482 318,
2483 91,
2484 10,
2485 159,
2486 0,
2487 "STRING"
2488 ],
2489 [
2490 319,
2491 91,
2492 9,
2493 160,
2494 0,
2495 "STRING"
2496 ],
2497 [
2498 320,
2499 91,
2500 8,
2501 161,
2502 0,
2503 "STRING"
2504 ],
2505 [
2506 339,
2507 165,
2508 0,
2509 115,
2510 0,
2511 "STRING"
2512 ],
2513 [
2514 340,
2515 165,
2516 0,
2517 115,
2518 1,
2519 "STRING"
2520 ],
2521 [
2522 170,
2523 34,
2524 0,
2525 89,
2526 0,
2527 "VIDEO"
2528 ],
2529 [
2530 226,
2531 110,
2532 0,
2533 34,
2534 0,
2535 "IMAGE"
2536 ],
2537 [
2538 54,
2539 22,
2540 0,
2541 34,
2542 1,
2543 "INT"
2544 ],
2545 [
2546 321,
2547 156,
2548 0,
2549 34,
2550 2,
2551 "STRING"
2552 ],
2553 [
2554 324,
2555 150,
2556 0,
2557 34,
2558 3,
2559 "INT"
2560 ],
2561 [
2562 322,
2563 157,
2564 0,
2565 34,
2566 4,
2567 "STRING"
2568 ],
2569 [
2570 325,
2571 151,
2572 0,
2573 34,
2574 5,
2575 "INT"
2576 ],
2577 [
2578 360,
2579 158,
2580 0,
2581 34,
2582 6,
2583 "STRING"
2584 ],
2585 [
2586 359,
2587 152,
2588 0,
2589 34,
2590 7,
2591 "INT"
2592 ],
2593 [
2594 361,
2595 159,
2596 0,
2597 34,
2598 8,
2599 "STRING"
2600 ],
2601 [
2602 364,
2603 153,
2604 0,
2605 34,
2606 9,
2607 "INT"
2608 ],
2609 [
2610 362,
2611 160,
2612 0,
2613 34,
2614 10,
2615 "STRING"
2616 ],
2617 [
2618 365,
2619 154,
2620 0,
2621 34,
2622 11,
2623 "INT"
2624 ],
2625 [
2626 363,
2627 161,
2628 0,
2629 34,
2630 12,
2631 "STRING"
2632 ],
2633 [
2634 366,
2635 155,
2636 0,
2637 34,
2638 13,
2639 "INT"
2640 ],
2641 [
2642 367,
2643 81,
2644 0,
2645 171,
2646 0,
2647 "STRING"
2648 ],
2649 [
2650 368,
2651 4,
2652 0,
2653 171,
2654 1,
2655 "IMAGE"
2656 ],
2657 [
2658 370,
2659 171,
2660 0,
2661 115,
2662 2,
2663 "STRING"
2664 ],
2665 [
2666 371,
2667 171,
2668 0,
2669 166,
2670 0,
2671 "STRING"
2672 ]
2673 ],
2674 "groups": [
2675 {
2676 "id": 3,
2677 "title": "Preview Prompts",
2678 "bounding": [
2679 3670,
2680 380,
2681 740,
2682 1170
2683 ],
2684 "color": "#3f789e",
2685 "flags": []
2686 },
2687 {
2688 "id": 4,
2689 "title": "Generate and Save Video",
2690 "bounding": [
2691 5100,
2692 370,
2693 1150,
2694 1330
2695 ],
2696 "color": "#3f789e",
2697 "flags": []
2698 },
2699 {
2700 "id": 5,
2701 "title": "LLM Generate Each Shots Prompts",
2702 "bounding": [
2703 2630,
2704 670,
2705 820,
2706 700
2707 ],
2708 "color": "#3f789e",
2709 "flags": []
2710 }
2711 ],
2712 "definitions": {
2713 "subgraphs": [
2714 {
2715 "id": "0e2c3eaa-706c-41fd-b300-b6bd9e84a0a4",
2716 "version": 1,
2717 "state": {
2718 "lastGroupId": 5,
2719 "lastNodeId": 171,
2720 "lastLinkId": 371,
2721 "lastRerouteId": 0
2722 },
2723 "revision": 0,
2724 "config": [],
2725 "name": "Create Prompt",
2726 "inputNode": {
2727 "id": -10,
2728 "bounding": [
2729 2270,
2730 760,
2731 100,
2732 70
2733 ]
2734 },
2735 "outputNode": {
2736 "id": -20,
2737 "bounding": [
2738 2810,
2739 760,
2740 100,
2741 50
2742 ]
2743 },
2744 "inputs": [
2745 {
2746 "id": "82ade1a9-af57-484a-9765-c261a0b6ed1e",
2747 "name": "input",
2748 "type": "*",
2749 "linkIds": [
2750 108
2751 ],
2752 "localized_name": "input",
2753 "pos": [
2754 2825,
2755 928
2756 ]
2757 },
2758 {
2759 "id": "90bd4542-8c87-4c40-a51d-dbf48b462a80",
2760 "name": "input_1",
2761 "type": "*",
2762 "linkIds": [
2763 109
2764 ],
2765 "localized_name": "input_1",
2766 "pos": [
2767 2825,
2768 948
2769 ]
2770 }
2771 ],
2772 "outputs": [
2773 {
2774 "id": "c1b4bcfa-383b-4374-9539-ea110f61c80d",
2775 "name": "STRING",
2776 "type": "STRING",
2777 "linkIds": [
2778 102
2779 ],
2780 "localized_name": "STRING",
2781 "pos": [
2782 3388.94140625,
2783 938
2784 ]
2785 }
2786 ],
2787 "widgets": [],
2788 "nodes": [
2789 {
2790 "id": 76,
2791 "type": "SomethingToString",
2792 "pos": [
2793 2420,
2794 950
2795 ],
2796 "size": [
2797 210,
2798 100
2799 ],
2800 "flags": [],
2801 "order": 1,
2802 "mode": 0,
2803 "inputs": [
2804 {
2805 "localized_name": "input",
2806 "name": "input",
2807 "type": "*",
2808 "link": 109
2809 }
2810 ],
2811 "outputs": [
2812 {
2813 "localized_name": "STRING",
2814 "name": "STRING",
2815 "type": "STRING",
2816 "links": [
2817 97
2818 ]
2819 }
2820 ],
2821 "properties": {
2822 "Node name for S&R": "SomethingToString",
2823 "cnr_id": "comfyui-kjnodes",
2824 "ver": "c661baadd9683c0033cd2a6ad90157c6d099a6c2"
2825 },
2826 "widgets_values": [
2827 "",
2828 ""
2829 ],
2830 "widgets_values_named": {
2831 "prefix": "",
2832 "suffix": ""
2833 }
2834 },
2835 {
2836 "id": 77,
2837 "type": "SomethingToString",
2838 "pos": [
2839 2420,
2840 800
2841 ],
2842 "size": [
2843 210,
2844 100
2845 ],
2846 "flags": [],
2847 "order": 2,
2848 "mode": 0,
2849 "inputs": [
2850 {
2851 "localized_name": "input",
2852 "name": "input",
2853 "type": "*",
2854 "link": 108
2855 }
2856 ],
2857 "outputs": [
2858 {
2859 "localized_name": "STRING",
2860 "name": "STRING",
2861 "type": "STRING",
2862 "links": [
2863 99
2864 ]
2865 }
2866 ],
2867 "properties": {
2868 "Node name for S&R": "SomethingToString",
2869 "cnr_id": "comfyui-kjnodes",
2870 "ver": "c661baadd9683c0033cd2a6ad90157c6d099a6c2"
2871 },
2872 "widgets_values": [
2873 "",
2874 ""
2875 ],
2876 "widgets_values_named": {
2877 "prefix": "",
2878 "suffix": ""
2879 }
2880 },
2881 {
2882 "id": 78,
2883 "type": "RegexReplace",
2884 "pos": [
2885 2630,
2886 620
2887 ],
2888 "size": [
2889 210,
2890 40
2891 ],
2892 "flags": {
2893 "collapsed": true
2894 },
2895 "order": 3,
2896 "mode": 0,
2897 "inputs": [
2898 {
2899 "localized_name": "string",
2900 "name": "string",
2901 "type": "STRING",
2902 "widget": {
2903 "name": "string"
2904 },
2905 "link": 96
2906 },
2907 {
2908 "localized_name": "replace",
2909 "name": "replace",
2910 "type": "STRING",
2911 "widget": {
2912 "name": "replace"
2913 },
2914 "link": 97
2915 }
2916 ],
2917 "outputs": [
2918 {
2919 "localized_name": "STRING",
2920 "name": "STRING",
2921 "type": "STRING",
2922 "links": [
2923 98
2924 ]
2925 }
2926 ],
2927 "properties": {
2928 "Node name for S&R": "RegexReplace",
2929 "cnr_id": "comfy-core",
2930 "ver": "0.14.1"
2931 },
2932 "widgets_values": [
2933 "",
2934 "N_SHOTS",
2935 "",
2936 true,
2937 false,
2938 false,
2939 0
2940 ],
2941 "widgets_values_named": {
2942 "string": "",
2943 "regex_pattern": "N_SHOTS",
2944 "replace": "",
2945 "case_insensitive": true,
2946 "multiline": false,
2947 "dotall": false,
2948 "count": 0
2949 }
2950 },
2951 {
2952 "id": 79,
2953 "type": "RegexReplace",
2954 "pos": [
2955 2630,
2956 670
2957 ],
2958 "size": [
2959 210,
2960 40
2961 ],
2962 "flags": {
2963 "collapsed": true
2964 },
2965 "order": 4,
2966 "mode": 0,
2967 "inputs": [
2968 {
2969 "localized_name": "string",
2970 "name": "string",
2971 "type": "STRING",
2972 "widget": {
2973 "name": "string"
2974 },
2975 "link": 98
2976 },
2977 {
2978 "localized_name": "replace",
2979 "name": "replace",
2980 "type": "STRING",
2981 "widget": {
2982 "name": "replace"
2983 },
2984 "link": 99
2985 }
2986 ],
2987 "outputs": [
2988 {
2989 "localized_name": "STRING",
2990 "name": "STRING",
2991 "type": "STRING",
2992 "links": [
2993 102
2994 ]
2995 }
2996 ],
2997 "properties": {
2998 "Node name for S&R": "RegexReplace",
2999 "cnr_id": "comfy-core",
3000 "ver": "0.14.1"
3001 },
3002 "widgets_values": [
3003 "",
3004 "N_SECONDS",
3005 "",
3006 true,
3007 false,
3008 false,
3009 0
3010 ],
3011 "widgets_values_named": {
3012 "string": "",
3013 "regex_pattern": "N_SECONDS",
3014 "replace": "",
3015 "case_insensitive": true,
3016 "multiline": false,
3017 "dotall": false,
3018 "count": 0
3019 }
3020 },
3021 {
3022 "id": 80,
3023 "type": "Text Multiline",
3024 "pos": [
3025 2420,
3026 620
3027 ],
3028 "size": [
3029 210,
3030 140
3031 ],
3032 "flags": [],
3033 "order": 0,
3034 "mode": 0,
3035 "inputs": [],
3036 "outputs": [
3037 {
3038 "localized_name": "STRING",
3039 "name": "STRING",
3040 "type": "STRING",
3041 "links": [
3042 96
3043 ]
3044 }
3045 ],
3046 "title": "Template User Prompt",
3047 "properties": {
3048 "Node name for S&R": "Text Multiline",
3049 "cnr_id": "was-ns",
3050 "ver": "3.0.1"
3051 },
3052 "widgets_values": [
3053 "Use the input image 1, create a prompt that has {N_SHOTS} distinct shots. The total time for the shots is {N_SECONDS}. \n\n{USER_STORY}."
3054 ],
3055 "widgets_values_named": {
3056 "text": "Use the input image 1, create a prompt that has {N_SHOTS} distinct shots. The total time for the shots is {N_SECONDS}. \n\n{USER_STORY}."
3057 }
3058 }
3059 ],
3060 "groups": [],
3061 "links": [
3062 {
3063 "id": 96,
3064 "origin_id": 80,
3065 "origin_slot": 0,
3066 "target_id": 78,
3067 "target_slot": 0,
3068 "type": "STRING"
3069 },
3070 {
3071 "id": 98,
3072 "origin_id": 78,
3073 "origin_slot": 0,
3074 "target_id": 79,
3075 "target_slot": 0,
3076 "type": "STRING"
3077 },
3078 {
3079 "id": 102,
3080 "origin_id": 79,
3081 "origin_slot": 0,
3082 "target_id": -20,
3083 "target_slot": 0,
3084 "type": "STRING"
3085 },
3086 {
3087 "id": 108,
3088 "origin_id": -10,
3089 "origin_slot": 0,
3090 "target_id": 77,
3091 "target_slot": 0,
3092 "type": "*"
3093 },
3094 {
3095 "id": 109,
3096 "origin_id": -10,
3097 "origin_slot": 1,
3098 "target_id": 76,
3099 "target_slot": 0,
3100 "type": "*"
3101 },
3102 {
3103 "id": 97,
3104 "origin_id": 76,
3105 "origin_slot": 0,
3106 "target_id": 78,
3107 "target_slot": 1,
3108 "type": "STRING"
3109 },
3110 {
3111 "id": 99,
3112 "origin_id": 77,
3113 "origin_slot": 0,
3114 "target_id": 79,
3115 "target_slot": 1,
3116 "type": "STRING"
3117 }
3118 ],
3119 "extra": {
3120 "workflowRendererVersion": "Vue-corrected"
3121 }
3122 },
3123 {
3124 "id": "a98e3426-ae7f-4a8b-ba30-a2217a51ad09",
3125 "version": 1,
3126 "state": {
3127 "lastGroupId": 5,
3128 "lastNodeId": 171,
3129 "lastLinkId": 371,
3130 "lastRerouteId": 0
3131 },
3132 "revision": 0,
3133 "config": [],
3134 "name": "Extract Prompts",
3135 "inputNode": {
3136 "id": -10,
3137 "bounding": [
3138 3660,
3139 890,
3140 100,
3141 50
3142 ]
3143 },
3144 "outputNode": {
3145 "id": -20,
3146 "bounding": [
3147 4190,
3148 800,
3149 100,
3150 240
3151 ]
3152 },
3153 "inputs": [
3154 {
3155 "id": "6b4f13ed-dda9-4730-9744-61e2a5bc325b",
3156 "name": "string",
3157 "type": "STRING",
3158 "linkIds": [
3159 174,
3160 176,
3161 173,
3162 175,
3163 177,
3164 183,
3165 178,
3166 179,
3167 182,
3168 181,
3169 180,
3170 172
3171 ],
3172 "localized_name": "string",
3173 "pos": [
3174 4490,
3175 1091
3176 ]
3177 }
3178 ],
3179 "outputs": [
3180 {
3181 "id": "bd7c508d-7b8c-4306-b546-13a67e950c44",
3182 "name": "STRING",
3183 "type": "STRING",
3184 "linkIds": [
3185 35
3186 ],
3187 "localized_name": "STRING",
3188 "pos": [
3189 5050,
3190 981
3191 ]
3192 },
3193 {
3194 "id": "cd12d24a-82b9-466a-baf2-6325a54024d6",
3195 "name": "STRING_1",
3196 "type": "STRING",
3197 "linkIds": [
3198 51
3199 ],
3200 "localized_name": "STRING_1",
3201 "pos": [
3202 5050,
3203 1001
3204 ]
3205 },
3206 {
3207 "id": "823892d4-a6e6-462a-9ca2-3672aa034c1f",
3208 "name": "STRING_2",
3209 "type": "STRING",
3210 "linkIds": [
3211 31
3212 ],
3213 "localized_name": "STRING_2",
3214 "pos": [
3215 5050,
3216 1021
3217 ]
3218 },
3219 {
3220 "id": "316c4863-132f-4699-b091-e9f7a1d8ee0e",
3221 "name": "STRING_3",
3222 "type": "STRING",
3223 "linkIds": [
3224 34
3225 ],
3226 "localized_name": "STRING_3",
3227 "pos": [
3228 5050,
3229 1041
3230 ]
3231 },
3232 {
3233 "id": "6ab0de5c-38cb-4449-bc51-076c49f99d00",
3234 "name": "STRING_4",
3235 "type": "STRING",
3236 "linkIds": [
3237 50
3238 ],
3239 "localized_name": "STRING_4",
3240 "pos": [
3241 5050,
3242 1061
3243 ]
3244 },
3245 {
3246 "id": "56ef2c1d-d885-4226-a1f2-5ddecc54e12f",
3247 "name": "STRING_5",
3248 "type": "STRING",
3249 "linkIds": [
3250 60
3251 ],
3252 "localized_name": "STRING_5",
3253 "pos": [
3254 5050,
3255 1081
3256 ]
3257 },
3258 {
3259 "id": "b39644b8-6962-4531-8a30-a479d8e67279",
3260 "name": "STRING_6",
3261 "type": "STRING",
3262 "linkIds": [
3263 62
3264 ],
3265 "localized_name": "STRING_6",
3266 "pos": [
3267 5050,
3268 1101
3269 ]
3270 },
3271 {
3272 "id": "7816af74-b531-489b-9bbc-3d06cf56b681",
3273 "name": "STRING_7",
3274 "type": "STRING",
3275 "linkIds": [
3276 65
3277 ],
3278 "localized_name": "STRING_7",
3279 "pos": [
3280 5050,
3281 1121
3282 ]
3283 },
3284 {
3285 "id": "6b2001eb-196b-4402-b93b-fbbd107d5e5a",
3286 "name": "STRING_8",
3287 "type": "STRING",
3288 "linkIds": [
3289 64
3290 ],
3291 "localized_name": "STRING_8",
3292 "pos": [
3293 5050,
3294 1141
3295 ]
3296 },
3297 {
3298 "id": "af50d3ae-0896-498b-8e3c-fa614ecfd861",
3299 "name": "STRING_9",
3300 "type": "STRING",
3301 "linkIds": [
3302 61
3303 ],
3304 "localized_name": "STRING_9",
3305 "pos": [
3306 5050,
3307 1161
3308 ]
3309 },
3310 {
3311 "id": "e8d84d00-1c5f-4034-b3fd-af697188d1f7",
3312 "name": "STRING_10",
3313 "type": "STRING",
3314 "linkIds": [
3315 59
3316 ],
3317 "localized_name": "STRING_10",
3318 "pos": [
3319 5050,
3320 1181
3321 ]
3322 },
3323 {
3324 "id": "28a0a169-c5b4-495c-9280-9a5d235a03fd",
3325 "name": "STRING_11",
3326 "type": "STRING",
3327 "linkIds": [
3328 32
3329 ],
3330 "localized_name": "STRING_11",
3331 "pos": [
3332 5050,
3333 1201
3334 ]
3335 }
3336 ],
3337 "widgets": [],
3338 "nodes": [
3339 {
3340 "id": 40,
3341 "type": "RegexExtract",
3342 "pos": [
3343 3810,
3344 -120
3345 ],
3346 "size": [
3347 340,
3348 270
3349 ],
3350 "flags": [],
3351 "order": 3,
3352 "mode": 0,
3353 "inputs": [
3354 {
3355 "localized_name": "string",
3356 "name": "string",
3357 "type": "STRING",
3358 "widget": {
3359 "name": "string"
3360 },
3361 "link": 174
3362 }
3363 ],
3364 "outputs": [
3365 {
3366 "localized_name": "STRING",
3367 "name": "STRING",
3368 "type": "STRING",
3369 "links": [
3370 35
3371 ]
3372 }
3373 ],
3374 "properties": {
3375 "Node name for S&R": "RegexExtract",
3376 "cnr_id": "comfy-core",
3377 "ver": "0.14.1"
3378 },
3379 "widgets_values": [
3380 "",
3381 "<shot2_duration>(\\d+)</shot2_duration>",
3382 "First Group",
3383 true,
3384 true,
3385 false,
3386 1
3387 ],
3388 "widgets_values_named": {
3389 "string": "",
3390 "regex_pattern": "<shot2_duration>(\\d+)</shot2_duration>",
3391 "mode": "First Group",
3392 "case_insensitive": true,
3393 "multiline": true,
3394 "dotall": false,
3395 "group_index": 1
3396 }
3397 },
3398 {
3399 "id": 48,
3400 "type": "RegexExtract",
3401 "pos": [
3402 3810,
3403 420
3404 ],
3405 "size": [
3406 340,
3407 270
3408 ],
3409 "flags": [],
3410 "order": 4,
3411 "mode": 0,
3412 "inputs": [
3413 {
3414 "localized_name": "string",
3415 "name": "string",
3416 "type": "STRING",
3417 "widget": {
3418 "name": "string"
3419 },
3420 "link": 176
3421 }
3422 ],
3423 "outputs": [
3424 {
3425 "localized_name": "STRING",
3426 "name": "STRING",
3427 "type": "STRING",
3428 "links": [
3429 51
3430 ]
3431 }
3432 ],
3433 "properties": {
3434 "Node name for S&R": "RegexExtract",
3435 "cnr_id": "comfy-core",
3436 "ver": "0.14.1"
3437 },
3438 "widgets_values": [
3439 "",
3440 "<shot3_duration>(\\d+)</shot3_duration>",
3441 "First Group",
3442 true,
3443 true,
3444 false,
3445 1
3446 ],
3447 "widgets_values_named": {
3448 "string": "",
3449 "regex_pattern": "<shot3_duration>(\\d+)</shot3_duration>",
3450 "mode": "First Group",
3451 "case_insensitive": true,
3452 "multiline": true,
3453 "dotall": false,
3454 "group_index": 1
3455 }
3456 },
3457 {
3458 "id": 31,
3459 "type": "RegexExtract",
3460 "pos": [
3461 3810,
3462 -400
3463 ],
3464 "size": [
3465 340,
3466 270
3467 ],
3468 "flags": [],
3469 "order": 0,
3470 "mode": 0,
3471 "inputs": [
3472 {
3473 "localized_name": "string",
3474 "name": "string",
3475 "type": "STRING",
3476 "widget": {
3477 "name": "string"
3478 },
3479 "link": 173
3480 }
3481 ],
3482 "outputs": [
3483 {
3484 "localized_name": "STRING",
3485 "name": "STRING",
3486 "type": "STRING",
3487 "links": [
3488 31
3489 ]
3490 }
3491 ],
3492 "properties": {
3493 "Node name for S&R": "RegexExtract",
3494 "cnr_id": "comfy-core",
3495 "ver": "0.14.1"
3496 },
3497 "widgets_values": [
3498 "",
3499 "<shot1_prompt>(.+)</shot1_prompt>",
3500 "First Group",
3501 true,
3502 true,
3503 false,
3504 1
3505 ],
3506 "widgets_values_named": {
3507 "string": "",
3508 "regex_pattern": "<shot1_prompt>(.+)</shot1_prompt>",
3509 "mode": "First Group",
3510 "case_insensitive": true,
3511 "multiline": true,
3512 "dotall": false,
3513 "group_index": 1
3514 }
3515 },
3516 {
3517 "id": 39,
3518 "type": "RegexExtract",
3519 "pos": [
3520 3810,
3521 150
3522 ],
3523 "size": [
3524 340,
3525 270
3526 ],
3527 "flags": [],
3528 "order": 2,
3529 "mode": 0,
3530 "inputs": [
3531 {
3532 "localized_name": "string",
3533 "name": "string",
3534 "type": "STRING",
3535 "widget": {
3536 "name": "string"
3537 },
3538 "link": 175
3539 }
3540 ],
3541 "outputs": [
3542 {
3543 "localized_name": "STRING",
3544 "name": "STRING",
3545 "type": "STRING",
3546 "links": [
3547 34
3548 ]
3549 }
3550 ],
3551 "properties": {
3552 "Node name for S&R": "RegexExtract",
3553 "cnr_id": "comfy-core",
3554 "ver": "0.14.1"
3555 },
3556 "widgets_values": [
3557 "",
3558 "<shot2_prompt>(.+)</shot2_prompt>",
3559 "First Group",
3560 true,
3561 true,
3562 false,
3563 1
3564 ],
3565 "widgets_values_named": {
3566 "string": "",
3567 "regex_pattern": "<shot2_prompt>(.+)</shot2_prompt>",
3568 "mode": "First Group",
3569 "case_insensitive": true,
3570 "multiline": true,
3571 "dotall": false,
3572 "group_index": 1
3573 }
3574 },
3575 {
3576 "id": 49,
3577 "type": "RegexExtract",
3578 "pos": [
3579 3810,
3580 680
3581 ],
3582 "size": [
3583 340,
3584 270
3585 ],
3586 "flags": [],
3587 "order": 5,
3588 "mode": 0,
3589 "inputs": [
3590 {
3591 "localized_name": "string",
3592 "name": "string",
3593 "type": "STRING",
3594 "widget": {
3595 "name": "string"
3596 },
3597 "link": 177
3598 }
3599 ],
3600 "outputs": [
3601 {
3602 "localized_name": "STRING",
3603 "name": "STRING",
3604 "type": "STRING",
3605 "links": [
3606 50
3607 ]
3608 }
3609 ],
3610 "properties": {
3611 "Node name for S&R": "RegexExtract",
3612 "cnr_id": "comfy-core",
3613 "ver": "0.14.1"
3614 },
3615 "widgets_values": [
3616 "",
3617 "<shot3_prompt>(.+)</shot3_prompt>",
3618 "First Group",
3619 true,
3620 true,
3621 false,
3622 1
3623 ],
3624 "widgets_values_named": {
3625 "string": "",
3626 "regex_pattern": "<shot3_prompt>(.+)</shot3_prompt>",
3627 "mode": "First Group",
3628 "case_insensitive": true,
3629 "multiline": true,
3630 "dotall": false,
3631 "group_index": 1
3632 }
3633 },
3634 {
3635 "id": 62,
3636 "type": "RegexExtract",
3637 "pos": [
3638 3810,
3639 960
3640 ],
3641 "size": [
3642 340,
3643 270
3644 ],
3645 "flags": [],
3646 "order": 11,
3647 "mode": 0,
3648 "inputs": [
3649 {
3650 "localized_name": "string",
3651 "name": "string",
3652 "type": "STRING",
3653 "widget": {
3654 "name": "string"
3655 },
3656 "link": 183
3657 }
3658 ],
3659 "outputs": [
3660 {
3661 "localized_name": "STRING",
3662 "name": "STRING",
3663 "type": "STRING",
3664 "links": [
3665 60
3666 ]
3667 }
3668 ],
3669 "properties": {
3670 "Node name for S&R": "RegexExtract",
3671 "cnr_id": "comfy-core",
3672 "ver": "0.14.1"
3673 },
3674 "widgets_values": [
3675 "",
3676 "<shot4_duration>(\\d+)</shot4_duration>",
3677 "First Group",
3678 true,
3679 true,
3680 false,
3681 1
3682 ],
3683 "widgets_values_named": {
3684 "string": "",
3685 "regex_pattern": "<shot4_duration>(\\d+)</shot4_duration>",
3686 "mode": "First Group",
3687 "case_insensitive": true,
3688 "multiline": true,
3689 "dotall": false,
3690 "group_index": 1
3691 }
3692 },
3693 {
3694 "id": 55,
3695 "type": "RegexExtract",
3696 "pos": [
3697 3810,
3698 1510
3699 ],
3700 "size": [
3701 340,
3702 270
3703 ],
3704 "flags": [],
3705 "order": 6,
3706 "mode": 0,
3707 "inputs": [
3708 {
3709 "localized_name": "string",
3710 "name": "string",
3711 "type": "STRING",
3712 "widget": {
3713 "name": "string"
3714 },
3715 "link": 178
3716 }
3717 ],
3718 "outputs": [
3719 {
3720 "localized_name": "STRING",
3721 "name": "STRING",
3722 "type": "STRING",
3723 "links": [
3724 62
3725 ]
3726 }
3727 ],
3728 "properties": {
3729 "Node name for S&R": "RegexExtract",
3730 "cnr_id": "comfy-core",
3731 "ver": "0.14.1"
3732 },
3733 "widgets_values": [
3734 "",
3735 "<shot5_duration>(\\d+)</shot5_duration>",
3736 "First Group",
3737 true,
3738 true,
3739 false,
3740 1
3741 ],
3742 "widgets_values_named": {
3743 "string": "",
3744 "regex_pattern": "<shot5_duration>(\\d+)</shot5_duration>",
3745 "mode": "First Group",
3746 "case_insensitive": true,
3747 "multiline": true,
3748 "dotall": false,
3749 "group_index": 1
3750 }
3751 },
3752 {
3753 "id": 58,
3754 "type": "RegexExtract",
3755 "pos": [
3756 3810,
3757 2040
3758 ],
3759 "size": [
3760 340,
3761 270
3762 ],
3763 "flags": [],
3764 "order": 7,
3765 "mode": 0,
3766 "inputs": [
3767 {
3768 "localized_name": "string",
3769 "name": "string",
3770 "type": "STRING",
3771 "widget": {
3772 "name": "string"
3773 },
3774 "link": 179
3775 }
3776 ],
3777 "outputs": [
3778 {
3779 "localized_name": "STRING",
3780 "name": "STRING",
3781 "type": "STRING",
3782 "links": [
3783 65
3784 ]
3785 }
3786 ],
3787 "properties": {
3788 "Node name for S&R": "RegexExtract",
3789 "cnr_id": "comfy-core",
3790 "ver": "0.14.1"
3791 },
3792 "widgets_values": [
3793 "",
3794 "<shot6_duration>(\\d+)</shot6_duration>",
3795 "First Group",
3796 true,
3797 true,
3798 false,
3799 1
3800 ],
3801 "widgets_values_named": {
3802 "string": "",
3803 "regex_pattern": "<shot6_duration>(\\d+)</shot6_duration>",
3804 "mode": "First Group",
3805 "case_insensitive": true,
3806 "multiline": true,
3807 "dotall": false,
3808 "group_index": 1
3809 }
3810 },
3811 {
3812 "id": 61,
3813 "type": "RegexExtract",
3814 "pos": [
3815 3810,
3816 2310
3817 ],
3818 "size": [
3819 340,
3820 270
3821 ],
3822 "flags": [],
3823 "order": 10,
3824 "mode": 0,
3825 "inputs": [
3826 {
3827 "localized_name": "string",
3828 "name": "string",
3829 "type": "STRING",
3830 "widget": {
3831 "name": "string"
3832 },
3833 "link": 182
3834 }
3835 ],
3836 "outputs": [
3837 {
3838 "localized_name": "STRING",
3839 "name": "STRING",
3840 "type": "STRING",
3841 "links": [
3842 64
3843 ]
3844 }
3845 ],
3846 "properties": {
3847 "Node name for S&R": "RegexExtract",
3848 "cnr_id": "comfy-core",
3849 "ver": "0.14.1"
3850 },
3851 "widgets_values": [
3852 "",
3853 "<shot6_prompt>(.+)</shot6_prompt>",
3854 "First Group",
3855 true,
3856 true,
3857 false,
3858 1
3859 ],
3860 "widgets_values_named": {
3861 "string": "",
3862 "regex_pattern": "<shot6_prompt>(.+)</shot6_prompt>",
3863 "mode": "First Group",
3864 "case_insensitive": true,
3865 "multiline": true,
3866 "dotall": false,
3867 "group_index": 1
3868 }
3869 },
3870 {
3871 "id": 60,
3872 "type": "RegexExtract",
3873 "pos": [
3874 3810,
3875 1770
3876 ],
3877 "size": [
3878 340,
3879 270
3880 ],
3881 "flags": [],
3882 "order": 9,
3883 "mode": 0,
3884 "inputs": [
3885 {
3886 "localized_name": "string",
3887 "name": "string",
3888 "type": "STRING",
3889 "widget": {
3890 "name": "string"
3891 },
3892 "link": 181
3893 }
3894 ],
3895 "outputs": [
3896 {
3897 "localized_name": "STRING",
3898 "name": "STRING",
3899 "type": "STRING",
3900 "links": [
3901 61
3902 ]
3903 }
3904 ],
3905 "properties": {
3906 "Node name for S&R": "RegexExtract",
3907 "cnr_id": "comfy-core",
3908 "ver": "0.14.1"
3909 },
3910 "widgets_values": [
3911 "",
3912 "<shot5_prompt>(.+)</shot5_prompt>",
3913 "First Group",
3914 true,
3915 true,
3916 false,
3917 1
3918 ],
3919 "widgets_values_named": {
3920 "string": "",
3921 "regex_pattern": "<shot5_prompt>(.+)</shot5_prompt>",
3922 "mode": "First Group",
3923 "case_insensitive": true,
3924 "multiline": true,
3925 "dotall": false,
3926 "group_index": 1
3927 }
3928 },
3929 {
3930 "id": 59,
3931 "type": "RegexExtract",
3932 "pos": [
3933 3810,
3934 1220
3935 ],
3936 "size": [
3937 340,
3938 270
3939 ],
3940 "flags": [],
3941 "order": 8,
3942 "mode": 0,
3943 "inputs": [
3944 {
3945 "localized_name": "string",
3946 "name": "string",
3947 "type": "STRING",
3948 "widget": {
3949 "name": "string"
3950 },
3951 "link": 180
3952 }
3953 ],
3954 "outputs": [
3955 {
3956 "localized_name": "STRING",
3957 "name": "STRING",
3958 "type": "STRING",
3959 "links": [
3960 59
3961 ]
3962 }
3963 ],
3964 "properties": {
3965 "Node name for S&R": "RegexExtract",
3966 "cnr_id": "comfy-core",
3967 "ver": "0.14.1"
3968 },
3969 "widgets_values": [
3970 "",
3971 "<shot4_prompt>(.+)</shot4_prompt>",
3972 "First Group",
3973 true,
3974 true,
3975 false,
3976 1
3977 ],
3978 "widgets_values_named": {
3979 "string": "",
3980 "regex_pattern": "<shot4_prompt>(.+)</shot4_prompt>",
3981 "mode": "First Group",
3982 "case_insensitive": true,
3983 "multiline": true,
3984 "dotall": false,
3985 "group_index": 1
3986 }
3987 },
3988 {
3989 "id": 36,
3990 "type": "RegexExtract",
3991 "pos": [
3992 3810,
3993 -670
3994 ],
3995 "size": [
3996 340,
3997 270
3998 ],
3999 "flags": [],
4000 "order": 1,
4001 "mode": 0,
4002 "inputs": [
4003 {
4004 "localized_name": "string",
4005 "name": "string",
4006 "type": "STRING",
4007 "widget": {
4008 "name": "string"
4009 },
4010 "link": 172
4011 }
4012 ],
4013 "outputs": [
4014 {
4015 "localized_name": "STRING",
4016 "name": "STRING",
4017 "type": "STRING",
4018 "links": [
4019 32
4020 ]
4021 }
4022 ],
4023 "properties": {
4024 "Node name for S&R": "RegexExtract",
4025 "cnr_id": "comfy-core",
4026 "ver": "0.14.1"
4027 },
4028 "widgets_values": [
4029 "",
4030 "<shot1_duration>(\\d+)</shot1_duration>",
4031 "First Group",
4032 true,
4033 true,
4034 false,
4035 1
4036 ],
4037 "widgets_values_named": {
4038 "string": "",
4039 "regex_pattern": "<shot1_duration>(\\d+)</shot1_duration>",
4040 "mode": "First Group",
4041 "case_insensitive": true,
4042 "multiline": true,
4043 "dotall": false,
4044 "group_index": 1
4045 }
4046 }
4047 ],
4048 "groups": [],
4049 "links": [
4050 {
4051 "id": 174,
4052 "origin_id": -10,
4053 "origin_slot": 0,
4054 "target_id": 40,
4055 "target_slot": 0,
4056 "type": "STRING"
4057 },
4058 {
4059 "id": 176,
4060 "origin_id": -10,
4061 "origin_slot": 0,
4062 "target_id": 48,
4063 "target_slot": 0,
4064 "type": "STRING"
4065 },
4066 {
4067 "id": 173,
4068 "origin_id": -10,
4069 "origin_slot": 0,
4070 "target_id": 31,
4071 "target_slot": 0,
4072 "type": "STRING"
4073 },
4074 {
4075 "id": 175,
4076 "origin_id": -10,
4077 "origin_slot": 0,
4078 "target_id": 39,
4079 "target_slot": 0,
4080 "type": "STRING"
4081 },
4082 {
4083 "id": 177,
4084 "origin_id": -10,
4085 "origin_slot": 0,
4086 "target_id": 49,
4087 "target_slot": 0,
4088 "type": "STRING"
4089 },
4090 {
4091 "id": 183,
4092 "origin_id": -10,
4093 "origin_slot": 0,
4094 "target_id": 62,
4095 "target_slot": 0,
4096 "type": "STRING"
4097 },
4098 {
4099 "id": 178,
4100 "origin_id": -10,
4101 "origin_slot": 0,
4102 "target_id": 55,
4103 "target_slot": 0,
4104 "type": "STRING"
4105 },
4106 {
4107 "id": 179,
4108 "origin_id": -10,
4109 "origin_slot": 0,
4110 "target_id": 58,
4111 "target_slot": 0,
4112 "type": "STRING"
4113 },
4114 {
4115 "id": 182,
4116 "origin_id": -10,
4117 "origin_slot": 0,
4118 "target_id": 61,
4119 "target_slot": 0,
4120 "type": "STRING"
4121 },
4122 {
4123 "id": 181,
4124 "origin_id": -10,
4125 "origin_slot": 0,
4126 "target_id": 60,
4127 "target_slot": 0,
4128 "type": "STRING"
4129 },
4130 {
4131 "id": 180,
4132 "origin_id": -10,
4133 "origin_slot": 0,
4134 "target_id": 59,
4135 "target_slot": 0,
4136 "type": "STRING"
4137 },
4138 {
4139 "id": 172,
4140 "origin_id": -10,
4141 "origin_slot": 0,
4142 "target_id": 36,
4143 "target_slot": 0,
4144 "type": "STRING"
4145 },
4146 {
4147 "id": 35,
4148 "origin_id": 40,
4149 "origin_slot": 0,
4150 "target_id": -20,
4151 "target_slot": 0,
4152 "type": "STRING"
4153 },
4154 {
4155 "id": 51,
4156 "origin_id": 48,
4157 "origin_slot": 0,
4158 "target_id": -20,
4159 "target_slot": 1,
4160 "type": "STRING"
4161 },
4162 {
4163 "id": 31,
4164 "origin_id": 31,
4165 "origin_slot": 0,
4166 "target_id": -20,
4167 "target_slot": 2,
4168 "type": "STRING"
4169 },
4170 {
4171 "id": 34,
4172 "origin_id": 39,
4173 "origin_slot": 0,
4174 "target_id": -20,
4175 "target_slot": 3,
4176 "type": "STRING"
4177 },
4178 {
4179 "id": 50,
4180 "origin_id": 49,
4181 "origin_slot": 0,
4182 "target_id": -20,
4183 "target_slot": 4,
4184 "type": "STRING"
4185 },
4186 {
4187 "id": 60,
4188 "origin_id": 62,
4189 "origin_slot": 0,
4190 "target_id": -20,
4191 "target_slot": 5,
4192 "type": "STRING"
4193 },
4194 {
4195 "id": 62,
4196 "origin_id": 55,
4197 "origin_slot": 0,
4198 "target_id": -20,
4199 "target_slot": 6,
4200 "type": "STRING"
4201 },
4202 {
4203 "id": 65,
4204 "origin_id": 58,
4205 "origin_slot": 0,
4206 "target_id": -20,
4207 "target_slot": 7,
4208 "type": "STRING"
4209 },
4210 {
4211 "id": 64,
4212 "origin_id": 61,
4213 "origin_slot": 0,
4214 "target_id": -20,
4215 "target_slot": 8,
4216 "type": "STRING"
4217 },
4218 {
4219 "id": 61,
4220 "origin_id": 60,
4221 "origin_slot": 0,
4222 "target_id": -20,
4223 "target_slot": 9,
4224 "type": "STRING"
4225 },
4226 {
4227 "id": 59,
4228 "origin_id": 59,
4229 "origin_slot": 0,
4230 "target_id": -20,
4231 "target_slot": 10,
4232 "type": "STRING"
4233 },
4234 {
4235 "id": 32,
4236 "origin_id": 36,
4237 "origin_slot": 0,
4238 "target_id": -20,
4239 "target_slot": 11,
4240 "type": "STRING"
4241 }
4242 ],
4243 "extra": {
4244 "workflowRendererVersion": "Vue-corrected"
4245 }
4246 },
4247 {
4248 "id": "5d7e839f-932a-49a9-a1f4-f088f38d1dcb",
4249 "version": 1,
4250 "state": {
4251 "lastGroupId": 5,
4252 "lastNodeId": 171,
4253 "lastLinkId": 371,
4254 "lastRerouteId": 0
4255 },
4256 "revision": 0,
4257 "config": [],
4258 "name": "Resize and Batch Images",
4259 "inputNode": {
4260 "id": -10,
4261 "bounding": [
4262 1650,
4263 270,
4264 120,
4265 90
4266 ]
4267 },
4268 "outputNode": {
4269 "id": -20,
4270 "bounding": [
4271 2520,
4272 290,
4273 100,
4274 50
4275 ]
4276 },
4277 "inputs": [
4278 {
4279 "id": "d5eb1ca9-e8f6-4896-a9bb-532841279926",
4280 "name": "images.image0",
4281 "type": "IMAGE",
4282 "linkIds": [
4283 4,
4284 11
4285 ],
4286 "localized_name": "images.image0",
4287 "label": "image_first_frame",
4288 "pos": [
4289 2107.3674212309124,
4290 346
4291 ]
4292 },
4293 {
4294 "id": "da084c29-a13e-4b72-9634-09071727d86d",
4295 "name": "image",
4296 "type": "IMAGE",
4297 "linkIds": [
4298 14
4299 ],
4300 "localized_name": "image",
4301 "label": "image_ref_1",
4302 "pos": [
4303 2107.3674212309124,
4304 366
4305 ]
4306 },
4307 {
4308 "id": "8f4f3440-0174-41ee-bd25-0baff95de4a7",
4309 "name": "image_1",
4310 "type": "IMAGE",
4311 "linkIds": [
4312 19
4313 ],
4314 "localized_name": "image_1",
4315 "label": "image_ref_2",
4316 "pos": [
4317 2107.3674212309124,
4318 386
4319 ]
4320 }
4321 ],
4322 "outputs": [
4323 {
4324 "id": "b59ef77d-662f-4f88-b3d0-4d916cda811a",
4325 "name": "IMAGE",
4326 "type": "IMAGE",
4327 "linkIds": [
4328 58
4329 ],
4330 "localized_name": "IMAGE",
4331 "label": "IMAGES",
4332 "pos": [
4333 3050,
4334 366
4335 ]
4336 }
4337 ],
4338 "widgets": [],
4339 "nodes": [
4340 {
4341 "id": 6,
4342 "type": "BatchImagesNode",
4343 "pos": [
4344 2330,
4345 270
4346 ],
4347 "size": [
4348 150,
4349 100
4350 ],
4351 "flags": {
4352 "collapsed": false
4353 },
4354 "order": 0,
4355 "mode": 0,
4356 "inputs": [
4357 {
4358 "label": "image0",
4359 "localized_name": "image0",
4360 "name": "images.image0",
4361 "type": "IMAGE",
4362 "link": 4
4363 },
4364 {
4365 "localized_name": "image1",
4366 "name": "images.image1",
4367 "shape": 7,
4368 "type": "IMAGE",
4369 "link": 15
4370 },
4371 {
4372 "localized_name": "image2",
4373 "name": "images.image2",
4374 "shape": 7,
4375 "type": "IMAGE",
4376 "link": 20
4377 },
4378 {
4379 "localized_name": "image3",
4380 "name": "images.image3",
4381 "shape": 7,
4382 "type": "IMAGE",
4383 "link": null
4384 }
4385 ],
4386 "outputs": [
4387 {
4388 "localized_name": "IMAGE",
4389 "name": "IMAGE",
4390 "type": "IMAGE",
4391 "links": [
4392 58
4393 ]
4394 }
4395 ],
4396 "properties": {
4397 "Node name for S&R": "BatchImagesNode",
4398 "cnr_id": "comfy-core",
4399 "ver": "0.14.1"
4400 }
4401 },
4402 {
4403 "id": 14,
4404 "type": "GetImageSize",
4405 "pos": [
4406 1810,
4407 290
4408 ],
4409 "size": [
4410 150,
4411 70
4412 ],
4413 "flags": {
4414 "collapsed": false
4415 },
4416 "order": 1,
4417 "mode": 0,
4418 "inputs": [
4419 {
4420 "localized_name": "image",
4421 "name": "image",
4422 "type": "IMAGE",
4423 "link": 11
4424 }
4425 ],
4426 "outputs": [
4427 {
4428 "localized_name": "width",
4429 "name": "width",
4430 "type": "INT",
4431 "links": [
4432 12,
4433 17
4434 ]
4435 },
4436 {
4437 "localized_name": "height",
4438 "name": "height",
4439 "type": "INT",
4440 "links": [
4441 13,
4442 18
4443 ]
4444 },
4445 {
4446 "localized_name": "batch_size",
4447 "name": "batch_size",
4448 "type": "INT",
4449 "links": null
4450 }
4451 ],
4452 "properties": {
4453 "Node name for S&R": "GetImageSize",
4454 "cnr_id": "comfy-core",
4455 "ver": "0.14.1"
4456 }
4457 },
4458 {
4459 "id": 15,
4460 "type": "ResizeAndPadImage",
4461 "pos": [
4462 2070,
4463 160
4464 ],
4465 "size": [
4466 210,
4467 130
4468 ],
4469 "flags": {
4470 "collapsed": false
4471 },
4472 "order": 2,
4473 "mode": 0,
4474 "inputs": [
4475 {
4476 "localized_name": "image",
4477 "name": "image",
4478 "type": "IMAGE",
4479 "link": 14
4480 },
4481 {
4482 "localized_name": "target_width",
4483 "name": "target_width",
4484 "type": "INT",
4485 "widget": {
4486 "name": "target_width"
4487 },
4488 "link": 12
4489 },
4490 {
4491 "localized_name": "target_height",
4492 "name": "target_height",
4493 "type": "INT",
4494 "widget": {
4495 "name": "target_height"
4496 },
4497 "link": 13
4498 }
4499 ],
4500 "outputs": [
4501 {
4502 "localized_name": "IMAGE",
4503 "name": "IMAGE",
4504 "type": "IMAGE",
4505 "links": [
4506 15
4507 ]
4508 }
4509 ],
4510 "properties": {
4511 "Node name for S&R": "ResizeAndPadImage",
4512 "cnr_id": "comfy-core",
4513 "ver": "0.14.1"
4514 },
4515 "widgets_values": [
4516 512,
4517 512,
4518 "white",
4519 "area"
4520 ],
4521 "widgets_values_named": {
4522 "target_width": 512,
4523 "target_height": 512,
4524 "padding_color": "white",
4525 "interpolation": "area"
4526 }
4527 },
4528 {
4529 "id": 16,
4530 "type": "ResizeAndPadImage",
4531 "pos": [
4532 2070,
4533 390
4534 ],
4535 "size": [
4536 210,
4537 130
4538 ],
4539 "flags": {
4540 "collapsed": false
4541 },
4542 "order": 3,
4543 "mode": 0,
4544 "inputs": [
4545 {
4546 "localized_name": "image",
4547 "name": "image",
4548 "type": "IMAGE",
4549 "link": 19
4550 },
4551 {
4552 "localized_name": "target_width",
4553 "name": "target_width",
4554 "type": "INT",
4555 "widget": {
4556 "name": "target_width"
4557 },
4558 "link": 17
4559 },
4560 {
4561 "localized_name": "target_height",
4562 "name": "target_height",
4563 "type": "INT",
4564 "widget": {
4565 "name": "target_height"
4566 },
4567 "link": 18
4568 }
4569 ],
4570 "outputs": [
4571 {
4572 "localized_name": "IMAGE",
4573 "name": "IMAGE",
4574 "type": "IMAGE",
4575 "links": [
4576 20
4577 ]
4578 }
4579 ],
4580 "properties": {
4581 "Node name for S&R": "ResizeAndPadImage",
4582 "cnr_id": "comfy-core",
4583 "ver": "0.14.1"
4584 },
4585 "widgets_values": [
4586 512,
4587 512,
4588 "white",
4589 "area"
4590 ],
4591 "widgets_values_named": {
4592 "target_width": 512,
4593 "target_height": 512,
4594 "padding_color": "white",
4595 "interpolation": "area"
4596 }
4597 }
4598 ],
4599 "groups": [],
4600 "links": [
4601 {
4602 "id": 12,
4603 "origin_id": 14,
4604 "origin_slot": 0,
4605 "target_id": 15,
4606 "target_slot": 1,
4607 "type": "INT"
4608 },
4609 {
4610 "id": 13,
4611 "origin_id": 14,
4612 "origin_slot": 1,
4613 "target_id": 15,
4614 "target_slot": 2,
4615 "type": "INT"
4616 },
4617 {
4618 "id": 17,
4619 "origin_id": 14,
4620 "origin_slot": 0,
4621 "target_id": 16,
4622 "target_slot": 1,
4623 "type": "INT"
4624 },
4625 {
4626 "id": 18,
4627 "origin_id": 14,
4628 "origin_slot": 1,
4629 "target_id": 16,
4630 "target_slot": 2,
4631 "type": "INT"
4632 },
4633 {
4634 "id": 11,
4635 "origin_id": -10,
4636 "origin_slot": 0,
4637 "target_id": 14,
4638 "target_slot": 0,
4639 "type": "IMAGE"
4640 },
4641 {
4642 "id": 14,
4643 "origin_id": -10,
4644 "origin_slot": 1,
4645 "target_id": 15,
4646 "target_slot": 0,
4647 "type": "IMAGE"
4648 },
4649 {
4650 "id": 19,
4651 "origin_id": -10,
4652 "origin_slot": 2,
4653 "target_id": 16,
4654 "target_slot": 0,
4655 "type": "IMAGE"
4656 },
4657 {
4658 "id": 58,
4659 "origin_id": 6,
4660 "origin_slot": 0,
4661 "target_id": -20,
4662 "target_slot": 0,
4663 "type": "IMAGE"
4664 },
4665 {
4666 "id": 4,
4667 "origin_id": -10,
4668 "origin_slot": 0,
4669 "target_id": 6,
4670 "target_slot": 0,
4671 "type": "IMAGE"
4672 },
4673 {
4674 "id": 15,
4675 "origin_id": 15,
4676 "origin_slot": 0,
4677 "target_id": 6,
4678 "target_slot": 1,
4679 "type": "IMAGE"
4680 },
4681 {
4682 "id": 20,
4683 "origin_id": 16,
4684 "origin_slot": 0,
4685 "target_id": 6,
4686 "target_slot": 2,
4687 "type": "IMAGE"
4688 }
4689 ],
4690 "extra": {
4691 "workflowRendererVersion": "Vue-corrected"
4692 }
4693 },
4694 {
4695 "id": "2b10af74-c412-4c88-b235-6b170aed965c",
4696 "version": 1,
4697 "state": {
4698 "lastGroupId": 5,
4699 "lastNodeId": 171,
4700 "lastLinkId": 371,
4701 "lastRerouteId": 0
4702 },
4703 "revision": 0,
4704 "config": [],
4705 "name": "Selected Prompt",
4706 "inputNode": {
4707 "id": -10,
4708 "bounding": [
4709 2720,
4710 -80,
4711 100,
4712 90
4713 ]
4714 },
4715 "outputNode": {
4716 "id": -20,
4717 "bounding": [
4718 3490,
4719 -60,
4720 100,
4721 50
4722 ]
4723 },
4724 "inputs": [
4725 {
4726 "id": "9c107ead-6e3a-4258-bbf0-ef4f2a164282",
4727 "name": "string_a",
4728 "type": "STRING",
4729 "linkIds": [
4730 230
4731 ],
4732 "localized_name": "string_a",
4733 "pos": [
4734 55,
4735 20
4736 ]
4737 },
4738 {
4739 "id": "a67348a4-2c5d-4c25-ac8d-6ee9299c5c7f",
4740 "name": "on_false",
4741 "type": "STRING",
4742 "linkIds": [
4743 235
4744 ],
4745 "localized_name": "on_false",
4746 "pos": [
4747 55,
4748 40
4749 ]
4750 },
4751 {
4752 "id": "abb43b87-98d8-4571-976f-7b6713f8ed21",
4753 "name": "on_true",
4754 "type": "STRING",
4755 "linkIds": [
4756 234
4757 ],
4758 "localized_name": "on_true",
4759 "pos": [
4760 55,
4761 60
4762 ]
4763 }
4764 ],
4765 "outputs": [
4766 {
4767 "id": "9311d942-758c-421f-91d7-04aaeb2f2b64",
4768 "name": "output",
4769 "type": "STRING",
4770 "linkIds": [
4771 237
4772 ],
4773 "localized_name": "output",
4774 "pos": [
4775 20,
4776 20
4777 ]
4778 }
4779 ],
4780 "widgets": [],
4781 "nodes": [
4782 {
4783 "id": 112,
4784 "type": "StringCompare",
4785 "pos": [
4786 3050,
4787 -100
4788 ],
4789 "size": [
4790 210,
4791 190
4792 ],
4793 "flags": [],
4794 "order": 2,
4795 "mode": 0,
4796 "inputs": [
4797 {
4798 "localized_name": "string_a",
4799 "name": "string_a",
4800 "type": "STRING",
4801 "widget": {
4802 "name": "string_a"
4803 },
4804 "link": 230
4805 },
4806 {
4807 "localized_name": "string_b",
4808 "name": "string_b",
4809 "type": "STRING",
4810 "widget": {
4811 "name": "string_b"
4812 },
4813 "link": 231
4814 }
4815 ],
4816 "outputs": [
4817 {
4818 "localized_name": "BOOLEAN",
4819 "name": "BOOLEAN",
4820 "type": "BOOLEAN",
4821 "links": [
4822 233
4823 ]
4824 }
4825 ],
4826 "properties": {
4827 "Node name for S&R": "StringCompare",
4828 "cnr_id": "comfy-core",
4829 "ver": "0.14.1"
4830 },
4831 "widgets_values": [
4832 "",
4833 "",
4834 "Equal",
4835 false
4836 ],
4837 "widgets_values_named": {
4838 "string_a": "",
4839 "string_b": "",
4840 "mode": "Equal",
4841 "case_sensitive": false
4842 }
4843 },
4844 {
4845 "id": 111,
4846 "type": "ComfySwitchNode",
4847 "pos": [
4848 3270,
4849 -100
4850 ],
4851 "size": [
4852 210,
4853 80
4854 ],
4855 "flags": [],
4856 "order": 1,
4857 "mode": 0,
4858 "inputs": [
4859 {
4860 "localized_name": "on_false",
4861 "name": "on_false",
4862 "shape": 7,
4863 "type": "STRING",
4864 "link": 235
4865 },
4866 {
4867 "localized_name": "on_true",
4868 "name": "on_true",
4869 "shape": 7,
4870 "type": "STRING",
4871 "link": 234
4872 },
4873 {
4874 "localized_name": "switch",
4875 "name": "switch",
4876 "type": "BOOLEAN",
4877 "widget": {
4878 "name": "switch"
4879 },
4880 "link": 233
4881 }
4882 ],
4883 "outputs": [
4884 {
4885 "localized_name": "output",
4886 "name": "output",
4887 "type": "STRING",
4888 "links": [
4889 237
4890 ]
4891 }
4892 ],
4893 "properties": {
4894 "Node name for S&R": "ComfySwitchNode",
4895 "cnr_id": "comfy-core",
4896 "ver": "0.14.1"
4897 },
4898 "widgets_values": [
4899 false
4900 ],
4901 "widgets_values_named": {
4902 "switch": false
4903 }
4904 },
4905 {
4906 "id": 113,
4907 "type": "PrimitiveString",
4908 "pos": [
4909 2870,
4910 -10
4911 ],
4912 "size": [
4913 230,
4914 50
4915 ],
4916 "flags": {
4917 "collapsed": true
4918 },
4919 "order": 0,
4920 "mode": 0,
4921 "inputs": [],
4922 "outputs": [
4923 {
4924 "localized_name": "STRING",
4925 "name": "STRING",
4926 "type": "STRING",
4927 "links": [
4928 231
4929 ]
4930 }
4931 ],
4932 "title": "Empty String",
4933 "properties": {
4934 "Node name for S&R": "PrimitiveString",
4935 "cnr_id": "comfy-core",
4936 "ver": "0.14.1"
4937 },
4938 "widgets_values": [
4939 ""
4940 ],
4941 "widgets_values_named": {
4942 "value": ""
4943 }
4944 }
4945 ],
4946 "groups": [],
4947 "links": [
4948 {
4949 "id": 231,
4950 "origin_id": 113,
4951 "origin_slot": 0,
4952 "target_id": 112,
4953 "target_slot": 1,
4954 "type": "STRING"
4955 },
4956 {
4957 "id": 233,
4958 "origin_id": 112,
4959 "origin_slot": 0,
4960 "target_id": 111,
4961 "target_slot": 2,
4962 "type": "BOOLEAN"
4963 },
4964 {
4965 "id": 230,
4966 "origin_id": -10,
4967 "origin_slot": 0,
4968 "target_id": 112,
4969 "target_slot": 0,
4970 "type": "STRING"
4971 },
4972 {
4973 "id": 235,
4974 "origin_id": -10,
4975 "origin_slot": 1,
4976 "target_id": 111,
4977 "target_slot": 0,
4978 "type": "STRING"
4979 },
4980 {
4981 "id": 234,
4982 "origin_id": -10,
4983 "origin_slot": 2,
4984 "target_id": 111,
4985 "target_slot": 1,
4986 "type": "STRING"
4987 },
4988 {
4989 "id": 237,
4990 "origin_id": 111,
4991 "origin_slot": 0,
4992 "target_id": -20,
4993 "target_slot": 0,
4994 "type": "STRING"
4995 }
4996 ],
4997 "extra": {
4998 "workflowRendererVersion": "Vue-corrected"
4999 }
5000 }
5001 ]
5002 },
5003 "config": [],
5004 "extra": {
5005 "ds": {
5006 "scale": 0.18931004097885096,
5007 "offset": [
5008 978.0131580391212,
5009 1565.9158209340533
5010 ]
5011 },
5012 "frontendVersion": "1.54.15",
5013 "workflowRendererVersion": "Vue-corrected",
5014 "VHS_latentpreview": false,
5015 "VHS_latentpreviewrate": 0,
5016 "VHS_MetadataImage": true,
5017 "VHS_KeepIntermediate": true
5018 },
5019 "version": 0.4
5020}