ComfyPilotComfyPilot
工作流 / 视频 / Gemini Omni Flash:图生视频
Gemini Omni Flash:图生视频

Gemini Omni Flash:图生视频

Gemini Omni Flash: Image to Video

使用 Gemini Omni Flash 从两张图像生成视频,它通过自然语言提示控制时长和比例。该工作流接受 2 张输入图像并产生 1 个视频输出。非常适合通过对话式提示创建品牌短片、动态社交媒体内容和迭代视频编辑。

视频 7 个节点 2 个输入 44 次使用 ComfyUI ≥ 0.34.2 ComfyUI 22 KB

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

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

节点构成

LoadImage × 2
SaveVideo × 1
PreviewAny × 1
MarkdownNote × 1
b83478ba-1f3e-4e62-9869-c8a0c8e9a5f5 × 1
GeminiVideoOmniV2 × 1

官方标注的模型

Gemini Omni

工作流 JSON

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

1{
2 "id": "5d4ec020-c06c-424e-af17-d6bfd877cd42",
3 "revision": 0,
4 "last_node_id": 20,
5 "last_link_id": 35,
6 "nodes": [
7 {
8 "id": 2,
9 "type": "SaveVideo",
10 "pos": [
11 530,
12 150
13 ],
14 "size": [
15 540,
16 150
17 ],
18 "flags": [],
19 "order": 6,
20 "mode": 0,
21 "inputs": [
22 {
23 "name": "video",
24 "type": "VIDEO",
25 "link": 34
26 }
27 ],
28 "outputs": [
29 {
30 "name": "video",
31 "type": "VIDEO",
32 "links": null
33 }
34 ],
35 "properties": {
36 "Node name for S&R": "SaveVideo",
37 "cnr_id": "comfy-core",
38 "ver": "0.27.0"
39 },
40 "widgets_values": [
41 "video/ComfyUI",
42 "auto",
43 "auto",
44 "auto"
45 ],
46 "widgets_values_named": {
47 "filename_prefix": "video/ComfyUI",
48 "format": "auto",
49 "format.codec": "auto",
50 "codec": "auto"
51 }
52 },
53 {
54 "id": 3,
55 "type": "PreviewAny",
56 "pos": [
57 550,
58 520
59 ],
60 "size": [
61 410,
62 420
63 ],
64 "flags": [],
65 "order": 4,
66 "mode": 0,
67 "inputs": [
68 {
69 "name": "source",
70 "type": "*",
71 "link": 33
72 }
73 ],
74 "outputs": [
75 {
76 "name": "STRING",
77 "type": "STRING",
78 "links": [
79 35
80 ]
81 }
82 ],
83 "properties": {
84 "Node name for S&R": "PreviewAny",
85 "cnr_id": "comfy-core",
86 "ver": "0.27.0"
87 },
88 "widgets_values": [],
89 "widgets_values_named": []
90 },
91 {
92 "id": 5,
93 "type": "LoadImage",
94 "pos": [
95 -320,
96 150
97 ],
98 "size": [
99 290,
100 400
101 ],
102 "flags": [],
103 "order": 0,
104 "mode": 0,
105 "inputs": [],
106 "outputs": [
107 {
108 "name": "IMAGE",
109 "type": "IMAGE",
110 "links": [
111 30
112 ]
113 },
114 {
115 "name": "MASK",
116 "type": "MASK",
117 "links": null
118 }
119 ],
120 "properties": {
121 "Node name for S&R": "LoadImage",
122 "cnr_id": "comfy-core",
123 "ver": "0.27.0"
124 },
125 "widgets_values": [
126 "clay_toy_shop_old_man.png",
127 "image"
128 ],
129 "widgets_values_named": {
130 "image": "clay_toy_shop_old_man.png",
131 "upload": "image"
132 }
133 },
134 {
135 "id": 6,
136 "type": "LoadImage",
137 "pos": [
138 -320,
139 620
140 ],
141 "size": [
142 290,
143 400
144 ],
145 "flags": [],
146 "order": 1,
147 "mode": 0,
148 "inputs": [],
149 "outputs": [
150 {
151 "name": "IMAGE",
152 "type": "IMAGE",
153 "links": [
154 31
155 ]
156 },
157 {
158 "name": "MASK",
159 "type": "MASK",
160 "links": null
161 }
162 ],
163 "properties": {
164 "Node name for S&R": "LoadImage",
165 "cnr_id": "comfy-core",
166 "ver": "0.27.0"
167 },
168 "widgets_values": [
169 "comic_toy_store_strips.png",
170 "image"
171 ],
172 "widgets_values_named": {
173 "image": "comic_toy_store_strips.png",
174 "upload": "image"
175 }
176 },
177 {
178 "id": 18,
179 "type": "MarkdownNote",
180 "pos": [
181 70,
182 840
183 ],
184 "size": [
185 400,
186 180
187 ],
188 "flags": [],
189 "order": 2,
190 "mode": 0,
191 "inputs": [],
192 "outputs": [],
193 "title": "Note: Duration and Aspect Ratio",
194 "properties": [],
195 "widgets_values": [
196 "The Google Gemini Omni Video requires you to specify the `duration` and `aspect ratio` in the prompt. The `Prompt Constructor` subgraph helps you quickly construct the prompt with `duration` and `aspect ratio`.\n"
197 ],
198 "widgets_values_named": {
199 "text": "The Google Gemini Omni Video requires you to specify the `duration` and `aspect ratio` in the prompt. The `Prompt Constructor` subgraph helps you quickly construct the prompt with `duration` and `aspect ratio`.\n"
200 },
201 "color": "#222",
202 "bgcolor": "#000"
203 },
204 {
205 "id": 19,
206 "type": "b83478ba-1f3e-4e62-9869-c8a0c8e9a5f5",
207 "pos": [
208 70,
209 520
210 ],
211 "size": [
212 400,
213 250
214 ],
215 "flags": [],
216 "order": 3,
217 "mode": 0,
218 "inputs": [
219 {
220 "label": "prompt",
221 "name": "value",
222 "type": "STRING",
223 "widget": {
224 "name": "value"
225 },
226 "link": null
227 },
228 {
229 "label": "aspect_ratio:",
230 "name": "choice",
231 "type": "COMBO",
232 "widget": {
233 "name": "choice"
234 },
235 "link": null
236 },
237 {
238 "label": "duration",
239 "name": "choice_1",
240 "type": "COMBO",
241 "widget": {
242 "name": "choice_1"
243 },
244 "link": null
245 }
246 ],
247 "outputs": [
248 {
249 "label": "prompt",
250 "name": "STRING",
251 "type": "STRING",
252 "links": [
253 33
254 ]
255 }
256 ],
257 "properties": {
258 "cnr_id": "comfy-core",
259 "ver": "0.27.0",
260 "previewExposures": []
261 },
262 "widgets_values": [
263 "\nFollow the story exactly in order starting top left. A lonely clay toy shop grandpa warmly gives a retro handheld game to a visiting child.",
264 "9:16",
265 "3s "
266 ],
267 "widgets_values_named": {
268 "value": "\nFollow the story exactly in order starting top left. A lonely clay toy shop grandpa warmly gives a retro handheld game to a visiting child.",
269 "choice": "9:16",
270 "choice_1": "3s "
271 }
272 },
273 {
274 "id": 20,
275 "type": "GeminiVideoOmniV2",
276 "pos": [
277 70,
278 140
279 ],
280 "size": [
281 400,
282 340
283 ],
284 "flags": [],
285 "order": 5,
286 "mode": 0,
287 "inputs": [
288 {
289 "name": "model.prompt",
290 "type": "STRING",
291 "widget": {
292 "name": "model.prompt"
293 },
294 "link": 35
295 },
296 {
297 "name": "model.images.image_1",
298 "shape": 7,
299 "type": "IMAGE",
300 "link": 30
301 },
302 {
303 "name": "model.images.image_2",
304 "shape": 7,
305 "type": "IMAGE",
306 "link": 31
307 },
308 {
309 "name": "model.images.image_3",
310 "shape": 7,
311 "type": "IMAGE",
312 "link": null
313 },
314 {
315 "name": "model.videos.video_1",
316 "shape": 7,
317 "type": "VIDEO",
318 "link": null
319 }
320 ],
321 "outputs": [
322 {
323 "name": "VIDEO",
324 "type": "VIDEO",
325 "links": [
326 34
327 ]
328 },
329 {
330 "name": "STRING",
331 "type": "STRING",
332 "links": null
333 }
334 ],
335 "properties": {
336 "Node name for S&R": "GeminiVideoOmniV2"
337 },
338 "widgets_values": [
339 "Omni Flash",
340 "",
341 "16:9",
342 "auto",
343 1,
344 0.95,
345 42,
346 "randomize",
347 "randomize"
348 ],
349 "widgets_values_named": {
350 "model": "Omni Flash",
351 "model.prompt": "",
352 "model.aspect_ratio": "16:9",
353 "model.task_type": "auto",
354 "model.temperature": 1,
355 "model.top_p": 0.95,
356 "model.seed": 42,
357 "control_after_generate": "randomize"
358 },
359 "color": "#432",
360 "bgcolor": "#653"
361 }
362 ],
363 "links": [
364 [
365 30,
366 5,
367 0,
368 20,
369 1,
370 "IMAGE"
371 ],
372 [
373 31,
374 6,
375 0,
376 20,
377 2,
378 "IMAGE"
379 ],
380 [
381 33,
382 19,
383 0,
384 3,
385 0,
386 "STRING"
387 ],
388 [
389 34,
390 20,
391 0,
392 2,
393 0,
394 "VIDEO"
395 ],
396 [
397 35,
398 3,
399 0,
400 20,
401 0,
402 "STRING"
403 ]
404 ],
405 "groups": [],
406 "definitions": {
407 "subgraphs": [
408 {
409 "id": "b83478ba-1f3e-4e62-9869-c8a0c8e9a5f5",
410 "version": 1,
411 "state": {
412 "lastGroupId": 0,
413 "lastNodeId": 20,
414 "lastLinkId": 35,
415 "lastRerouteId": 0
416 },
417 "revision": 0,
418 "config": [],
419 "name": "Prompt Constructor",
420 "inputNode": {
421 "id": -10,
422 "bounding": [
423 -598,
424 1298,
425 128,
426 108
427 ]
428 },
429 "outputNode": {
430 "id": -20,
431 "bounding": [
432 990,
433 1288,
434 128,
435 68
436 ]
437 },
438 "inputs": [
439 {
440 "id": "0ec4f3ba-e84d-4c2a-a3b8-539300814e88",
441 "name": "value",
442 "type": "STRING",
443 "linkIds": [
444 25
445 ],
446 "label": "prompt",
447 "pos": [
448 -494,
449 1322
450 ]
451 },
452 {
453 "id": "bcf0aec9-9f80-4d88-90b7-29cea450de68",
454 "name": "choice",
455 "type": "COMBO",
456 "linkIds": [
457 26
458 ],
459 "label": "aspect_ratio:",
460 "pos": [
461 -494,
462 1342
463 ]
464 },
465 {
466 "id": "7296344d-6193-44bf-a059-9b18b61aa528",
467 "name": "choice_1",
468 "type": "COMBO",
469 "linkIds": [
470 27
471 ],
472 "label": "duration",
473 "pos": [
474 -494,
475 1362
476 ]
477 }
478 ],
479 "outputs": [
480 {
481 "id": "f5ae177f-4339-4791-a762-e77fe647f25e",
482 "name": "STRING",
483 "type": "STRING",
484 "linkIds": [
485 19
486 ],
487 "localized_name": "STRING",
488 "label": "prompt",
489 "pos": [
490 1014,
491 1312
492 ]
493 }
494 ],
495 "widgets": [],
496 "nodes": [
497 {
498 "id": 9,
499 "type": "CustomCombo",
500 "pos": [
501 -400,
502 1040
503 ],
504 "size": [
505 270,
506 240
507 ],
508 "flags": [],
509 "order": 0,
510 "mode": 0,
511 "inputs": [
512 {
513 "localized_name": "choice",
514 "name": "choice",
515 "type": "COMBO",
516 "widget": {
517 "name": "choice"
518 },
519 "link": 26
520 }
521 ],
522 "outputs": [
523 {
524 "localized_name": "STRING",
525 "name": "STRING",
526 "type": "STRING",
527 "links": [
528 11
529 ]
530 },
531 {
532 "localized_name": "INDEX",
533 "name": "INDEX",
534 "type": "INT",
535 "links": null
536 }
537 ],
538 "properties": {
539 "Node name for S&R": "CustomCombo",
540 "cnr_id": "comfy-core",
541 "ver": "0.27.0"
542 },
543 "widgets_values": [
544 "9:16",
545 1,
546 "16:9",
547 "9:16",
548 ""
549 ],
550 "widgets_values_named": {
551 "choice": "9:16",
552 "index": 1,
553 "option1": "16:9",
554 "option2": "9:16",
555 "option3": ""
556 }
557 },
558 {
559 "id": 10,
560 "type": "CustomCombo",
561 "pos": [
562 -410,
563 1380
564 ],
565 "size": [
566 270,
567 460
568 ],
569 "flags": [],
570 "order": 1,
571 "mode": 0,
572 "inputs": [
573 {
574 "localized_name": "choice",
575 "name": "choice",
576 "type": "COMBO",
577 "widget": {
578 "name": "choice"
579 },
580 "link": 27
581 }
582 ],
583 "outputs": [
584 {
585 "localized_name": "STRING",
586 "name": "STRING",
587 "type": "STRING",
588 "links": [
589 12
590 ]
591 },
592 {
593 "localized_name": "INDEX",
594 "name": "INDEX",
595 "type": "INT",
596 "links": null
597 }
598 ],
599 "properties": {
600 "Node name for S&R": "CustomCombo",
601 "cnr_id": "comfy-core",
602 "ver": "0.27.0"
603 },
604 "widgets_values": [
605 "3s ",
606 0,
607 "3s ",
608 "4s ",
609 "5s ",
610 "6s ",
611 "7s ",
612 "8s ",
613 "9s ",
614 "10s ",
615 ""
616 ],
617 "widgets_values_named": {
618 "choice": "3s ",
619 "index": 0,
620 "option1": "3s ",
621 "option2": "4s ",
622 "option3": "5s ",
623 "option4": "6s ",
624 "option5": "7s ",
625 "option6": "8s ",
626 "option7": "9s ",
627 "option8": "10s ",
628 "option9": ""
629 }
630 },
631 {
632 "id": 11,
633 "type": "StringConcatenate",
634 "pos": [
635 -90,
636 1050
637 ],
638 "size": [
639 400,
640 250
641 ],
642 "flags": [],
643 "order": 2,
644 "mode": 0,
645 "inputs": [
646 {
647 "localized_name": "string_b",
648 "name": "string_b",
649 "type": "STRING",
650 "widget": {
651 "name": "string_b"
652 },
653 "link": 11
654 }
655 ],
656 "outputs": [
657 {
658 "localized_name": "STRING",
659 "name": "STRING",
660 "type": "STRING",
661 "links": [
662 15
663 ]
664 }
665 ],
666 "properties": {
667 "Node name for S&R": "StringConcatenate",
668 "cnr_id": "comfy-core",
669 "ver": "0.27.0"
670 },
671 "widgets_values": [
672 "Aspect Ratio: ",
673 "9:16",
674 ""
675 ],
676 "widgets_values_named": {
677 "string_a": "Aspect Ratio: ",
678 "string_b": "9:16",
679 "delimiter": ""
680 }
681 },
682 {
683 "id": 12,
684 "type": "StringConcatenate",
685 "pos": [
686 -90,
687 1360
688 ],
689 "size": [
690 400,
691 250
692 ],
693 "flags": [],
694 "order": 3,
695 "mode": 0,
696 "inputs": [
697 {
698 "localized_name": "string_b",
699 "name": "string_b",
700 "type": "STRING",
701 "widget": {
702 "name": "string_b"
703 },
704 "link": 12
705 }
706 ],
707 "outputs": [
708 {
709 "localized_name": "STRING",
710 "name": "STRING",
711 "type": "STRING",
712 "links": [
713 16
714 ]
715 }
716 ],
717 "properties": {
718 "Node name for S&R": "StringConcatenate",
719 "cnr_id": "comfy-core",
720 "ver": "0.27.0"
721 },
722 "widgets_values": [
723 "Duration: ",
724 "3s ",
725 ""
726 ],
727 "widgets_values_named": {
728 "string_a": "Duration: ",
729 "string_b": "3s ",
730 "delimiter": ""
731 }
732 },
733 {
734 "id": 13,
735 "type": "StringConcatenate",
736 "pos": [
737 -90,
738 1670
739 ],
740 "size": [
741 400,
742 250
743 ],
744 "flags": [],
745 "order": 4,
746 "mode": 0,
747 "inputs": [
748 {
749 "localized_name": "string_a",
750 "name": "string_a",
751 "type": "STRING",
752 "widget": {
753 "name": "string_a"
754 },
755 "link": 15
756 },
757 {
758 "localized_name": "string_b",
759 "name": "string_b",
760 "type": "STRING",
761 "widget": {
762 "name": "string_b"
763 },
764 "link": 16
765 }
766 ],
767 "outputs": [
768 {
769 "localized_name": "STRING",
770 "name": "STRING",
771 "type": "STRING",
772 "links": [
773 17
774 ]
775 }
776 ],
777 "properties": {
778 "Node name for S&R": "StringConcatenate",
779 "cnr_id": "comfy-core",
780 "ver": "0.27.0"
781 },
782 "widgets_values": [
783 "",
784 "",
785 ";"
786 ],
787 "widgets_values_named": {
788 "string_a": "",
789 "string_b": "",
790 "delimiter": ";"
791 }
792 },
793 {
794 "id": 15,
795 "type": "PrimitiveStringMultiline",
796 "pos": [
797 -90,
798 770
799 ],
800 "size": [
801 400,
802 200
803 ],
804 "flags": [],
805 "order": 5,
806 "mode": 0,
807 "inputs": [
808 {
809 "localized_name": "value",
810 "name": "value",
811 "type": "STRING",
812 "widget": {
813 "name": "value"
814 },
815 "link": 25
816 }
817 ],
818 "outputs": [
819 {
820 "localized_name": "STRING",
821 "name": "STRING",
822 "type": "STRING",
823 "links": [
824 18
825 ]
826 }
827 ],
828 "title": "Input Text (User Prompt)",
829 "properties": {
830 "Node name for S&R": "PrimitiveStringMultiline",
831 "cnr_id": "comfy-core",
832 "ver": "0.27.0"
833 },
834 "widgets_values": [
835 "\nFollow the story exactly in order starting top left. A lonely clay toy shop grandpa warmly gives a retro handheld game to a visiting child."
836 ],
837 "widgets_values_named": {
838 "value": "\nFollow the story exactly in order starting top left. A lonely clay toy shop grandpa warmly gives a retro handheld game to a visiting child."
839 }
840 },
841 {
842 "id": 16,
843 "type": "StringConcatenate",
844 "pos": [
845 530,
846 1020
847 ],
848 "size": [
849 400,
850 250
851 ],
852 "flags": [],
853 "order": 6,
854 "mode": 0,
855 "inputs": [
856 {
857 "localized_name": "string_a",
858 "name": "string_a",
859 "type": "STRING",
860 "widget": {
861 "name": "string_a"
862 },
863 "link": 18
864 },
865 {
866 "localized_name": "string_b",
867 "name": "string_b",
868 "type": "STRING",
869 "widget": {
870 "name": "string_b"
871 },
872 "link": 17
873 }
874 ],
875 "outputs": [
876 {
877 "localized_name": "STRING",
878 "name": "STRING",
879 "type": "STRING",
880 "links": [
881 19
882 ]
883 }
884 ],
885 "properties": {
886 "Node name for S&R": "StringConcatenate",
887 "cnr_id": "comfy-core",
888 "ver": "0.27.0"
889 },
890 "widgets_values": [
891 "",
892 "",
893 ""
894 ],
895 "widgets_values_named": {
896 "string_a": "",
897 "string_b": "",
898 "delimiter": ""
899 }
900 }
901 ],
902 "groups": [],
903 "links": [
904 {
905 "id": 11,
906 "origin_id": 9,
907 "origin_slot": 0,
908 "target_id": 11,
909 "target_slot": 0,
910 "type": "STRING"
911 },
912 {
913 "id": 12,
914 "origin_id": 10,
915 "origin_slot": 0,
916 "target_id": 12,
917 "target_slot": 0,
918 "type": "STRING"
919 },
920 {
921 "id": 15,
922 "origin_id": 11,
923 "origin_slot": 0,
924 "target_id": 13,
925 "target_slot": 0,
926 "type": "STRING"
927 },
928 {
929 "id": 16,
930 "origin_id": 12,
931 "origin_slot": 0,
932 "target_id": 13,
933 "target_slot": 1,
934 "type": "STRING"
935 },
936 {
937 "id": 18,
938 "origin_id": 15,
939 "origin_slot": 0,
940 "target_id": 16,
941 "target_slot": 0,
942 "type": "STRING"
943 },
944 {
945 "id": 17,
946 "origin_id": 13,
947 "origin_slot": 0,
948 "target_id": 16,
949 "target_slot": 1,
950 "type": "STRING"
951 },
952 {
953 "id": 19,
954 "origin_id": 16,
955 "origin_slot": 0,
956 "target_id": -20,
957 "target_slot": 0,
958 "type": "STRING"
959 },
960 {
961 "id": 25,
962 "origin_id": -10,
963 "origin_slot": 0,
964 "target_id": 15,
965 "target_slot": 0,
966 "type": "STRING"
967 },
968 {
969 "id": 26,
970 "origin_id": -10,
971 "origin_slot": 1,
972 "target_id": 9,
973 "target_slot": 0,
974 "type": "COMBO"
975 },
976 {
977 "id": 27,
978 "origin_id": -10,
979 "origin_slot": 2,
980 "target_id": 10,
981 "target_slot": 0,
982 "type": "COMBO"
983 }
984 ],
985 "extra": []
986 }
987 ]
988 },
989 "config": [],
990 "extra": {
991 "ds": {
992 "scale": 0.8689510608063427,
993 "offset": [
994 425.9221539026157,
995 128.3320833283122
996 ]
997 },
998 "frontendVersion": "1.51.9",
999 "VHS_latentpreview": false,
1000 "VHS_latentpreviewrate": 0,
1001 "VHS_MetadataImage": true,
1002 "VHS_KeepIntermediate": true
1003 },
1004 "version": 0.4
1005}