工作流 /
视频工具 /
视频放大: SeedVR2

视频放大: SeedVR2
Video Upscale: SeedVR2
上传视频,使用SeedVR2模型放大并增强其分辨率,实现高清输出。
视频工具
9 个节点 1 个输入 245 次使用 ComfyUI ≥ 0.28.0 ComfyUI 17 KB
需要的权重
这个工作流引用了 2 个权重文件,其中 2 个能在本站模型库里找到。
节点构成
MarkdownNote
× 2
ImageScale
× 1
GetVideoComponents
× 1
LoadVideo
× 1
SaveVideo
× 1
CreateVideo
× 1
ImageFromBatch
× 1
3531d186-daf3-492a-bb11-94a4c791a3f3
× 1
官方标注的模型
SeedVR2
工作流 JSON
和上面「下载工作流 JSON」是同一份文件。
1{
2 "id": "59e21a5f-04e5-4767-8aa0-ac18ce9b75c3",
3 "revision": 0,
4 "last_node_id": 24,
5 "last_link_id": 30,
6 "nodes": [
7 {
8 "id": 20,
9 "type": "ImageScale",
10 "pos": [
11 -60,
12 3760
13 ],
14 "size": [
15 270,
16 170
17 ],
18 "flags": [],
19 "order": 5,
20 "mode": 0,
21 "inputs": [
22 {
23 "name": "image",
24 "type": "IMAGE",
25 "link": 29
26 }
27 ],
28 "outputs": [
29 {
30 "name": "IMAGE",
31 "type": "IMAGE",
32 "links": [
33 27
34 ]
35 }
36 ],
37 "properties": {
38 "Node name for S&R": "ImageScale"
39 },
40 "widgets_values": [
41 "lanczos",
42 1280,
43 720,
44 "center"
45 ]
46 },
47 {
48 "id": 19,
49 "type": "GetVideoComponents",
50 "pos": [
51 -59.72224577811136,
52 4135.93624833053
53 ],
54 "size": [
55 270,
56 118
57 ],
58 "flags": [],
59 "order": 3,
60 "mode": 0,
61 "inputs": [
62 {
63 "name": "video",
64 "type": "VIDEO",
65 "link": 21
66 }
67 ],
68 "outputs": [
69 {
70 "name": "images",
71 "type": "IMAGE",
72 "links": [
73 28
74 ]
75 },
76 {
77 "name": "audio",
78 "type": "AUDIO",
79 "links": [
80 22
81 ]
82 },
83 {
84 "name": "fps",
85 "type": "FLOAT",
86 "links": [
87 23
88 ]
89 },
90 {
91 "name": "bit_depth",
92 "type": "INT",
93 "links": null
94 }
95 ],
96 "properties": {
97 "Node name for S&R": "GetVideoComponents"
98 },
99 "widgets_values": []
100 },
101 {
102 "id": 18,
103 "type": "LoadVideo",
104 "pos": [
105 -500,
106 3760
107 ],
108 "size": [
109 400,
110 380
111 ],
112 "flags": [],
113 "order": 0,
114 "mode": 0,
115 "inputs": [],
116 "outputs": [
117 {
118 "name": "VIDEO",
119 "type": "VIDEO",
120 "links": [
121 21
122 ]
123 }
124 ],
125 "properties": {
126 "Node name for S&R": "LoadVideo"
127 },
128 "widgets_values": [
129 "input_3d.mp4",
130 "image"
131 ]
132 },
133 {
134 "id": 17,
135 "type": "SaveVideo",
136 "pos": [
137 1000,
138 3760
139 ],
140 "size": [
141 640,
142 458
143 ],
144 "flags": [],
145 "order": 8,
146 "mode": 0,
147 "inputs": [
148 {
149 "name": "video",
150 "type": "VIDEO",
151 "link": 20
152 }
153 ],
154 "outputs": [
155 {
156 "name": "video",
157 "type": "VIDEO",
158 "links": null
159 }
160 ],
161 "properties": [],
162 "widgets_values": [
163 "video/SeedVR2",
164 "auto",
165 "auto"
166 ]
167 },
168 {
169 "id": 16,
170 "type": "CreateVideo",
171 "pos": [
172 690,
173 3760
174 ],
175 "size": [
176 270,
177 134
178 ],
179 "flags": [],
180 "order": 7,
181 "mode": 0,
182 "inputs": [
183 {
184 "name": "images",
185 "type": "IMAGE",
186 "link": 24
187 },
188 {
189 "name": "audio",
190 "shape": 7,
191 "type": "AUDIO",
192 "link": 22
193 },
194 {
195 "name": "fps",
196 "type": "FLOAT",
197 "widget": {
198 "name": "fps"
199 },
200 "link": 23
201 }
202 ],
203 "outputs": [
204 {
205 "name": "VIDEO",
206 "type": "VIDEO",
207 "links": [
208 20
209 ]
210 }
211 ],
212 "properties": {
213 "Node name for S&R": "CreateVideo"
214 },
215 "widgets_values": [
216 30,
217 8
218 ]
219 },
220 {
221 "id": 13,
222 "type": "MarkdownNote",
223 "pos": [
224 -930,
225 3760
226 ],
227 "size": [
228 387.046875,
229 600.84375
230 ],
231 "flags": [],
232 "order": 1,
233 "mode": 0,
234 "inputs": [],
235 "outputs": [],
236 "properties": [],
237 "widgets_values": [
238 "# About SeedVR2 Video Upscale\n\n## How Resolution Works\n\nThe **Resolution** setting in the `SeedVR2_VideoUpscaler` node is based on the **height** of your output video. Think of it the same way you'd refer to standard video resolutions:\n\n| Resolution Setting | Output Example (16:9) |\n|----|-----|\n| 1080 | 1920×1080 (1080p) |\n| 1440 | 2560×1440 (1440p) |\n| 2160 | 3840×2160 (4K) |\n\nSo if your source is 1280×720 and you set Resolution to `1080`, the output will be **1920×1080**.\n\n## Preparing Your Input\n\nUse the **Image Scale** node before the upscaler to downscale your input to the correct starting size. The upscaler node will **center-crop** the input to ensure the final output lands on the correct aspect ratio, so getting your input dimensions right beforehand avoids unexpected cropping.\n\n## Performance Note\n\nHigher target resolutions require significantly more processing time. If you're experimenting or iterating, start at a lower resolution to dial in your settings before committing to a full 2160p render."
239 ],
240 "color": "#222",
241 "bgcolor": "#000"
242 },
243 {
244 "id": 22,
245 "type": "ImageFromBatch",
246 "pos": [
247 -59.72224577811136,
248 3971.907016239456
249 ],
250 "size": [
251 270,
252 114
253 ],
254 "flags": [],
255 "order": 4,
256 "mode": 0,
257 "inputs": [
258 {
259 "name": "image",
260 "type": "IMAGE",
261 "link": 28
262 }
263 ],
264 "outputs": [
265 {
266 "name": "IMAGE",
267 "type": "IMAGE",
268 "links": [
269 29
270 ]
271 }
272 ],
273 "properties": {
274 "Node name for S&R": "ImageFromBatch"
275 },
276 "widgets_values": [
277 0,
278 96
279 ]
280 },
281 {
282 "id": 15,
283 "type": "3531d186-daf3-492a-bb11-94a4c791a3f3",
284 "pos": [
285 230,
286 3760
287 ],
288 "size": [
289 333.015625,
290 174
291 ],
292 "flags": [],
293 "order": 6,
294 "mode": 0,
295 "inputs": [
296 {
297 "name": "image",
298 "type": "IMAGE",
299 "link": 27
300 }
301 ],
302 "outputs": [
303 {
304 "name": "IMAGE",
305 "type": "IMAGE",
306 "links": [
307 24
308 ]
309 }
310 ],
311 "properties": {
312 "proxyWidgetErrorQuarantine": [
313 {
314 "originalEntry": [
315 "-1",
316 "resolution"
317 ],
318 "reason": "missingSourceNode",
319 "attemptedAtVersion": 1
320 },
321 {
322 "originalEntry": [
323 "-1",
324 "model"
325 ],
326 "reason": "missingSourceNode",
327 "attemptedAtVersion": 1
328 }
329 ],
330 "previewExposures": []
331 },
332 "widgets_values": [
333 1080,
334 "seedvr2_ema_7b_fp16.safetensors",
335 825616700
336 ]
337 },
338 {
339 "id": 24,
340 "type": "MarkdownNote",
341 "pos": [
342 234.62634375833244,
343 3989.249295468627
344 ],
345 "size": [
346 250,
347 102
348 ],
349 "flags": [],
350 "order": 2,
351 "mode": 0,
352 "inputs": [],
353 "outputs": [],
354 "title": "Video length",
355 "properties": [],
356 "widgets_values": [
357 "`ImageFromBatch` clips video frames. Select the node and press **Ctrl-B** to disable it for full video."
358 ],
359 "color": "#222",
360 "bgcolor": "#000"
361 }
362 ],
363 "links": [
364 [
365 20,
366 16,
367 0,
368 17,
369 0,
370 "VIDEO"
371 ],
372 [
373 21,
374 18,
375 0,
376 19,
377 0,
378 "VIDEO"
379 ],
380 [
381 22,
382 19,
383 1,
384 16,
385 1,
386 "AUDIO"
387 ],
388 [
389 23,
390 19,
391 2,
392 16,
393 2,
394 "FLOAT"
395 ],
396 [
397 24,
398 15,
399 0,
400 16,
401 0,
402 "IMAGE"
403 ],
404 [
405 27,
406 20,
407 0,
408 15,
409 0,
410 "IMAGE"
411 ],
412 [
413 28,
414 19,
415 0,
416 22,
417 0,
418 "IMAGE"
419 ],
420 [
421 29,
422 22,
423 0,
424 20,
425 0,
426 "IMAGE"
427 ]
428 ],
429 "groups": [],
430 "definitions": {
431 "subgraphs": [
432 {
433 "id": "3531d186-daf3-492a-bb11-94a4c791a3f3",
434 "version": 1,
435 "state": {
436 "lastGroupId": 0,
437 "lastNodeId": 24,
438 "lastLinkId": 30,
439 "lastRerouteId": 0
440 },
441 "revision": 0,
442 "config": [],
443 "name": "SeedVR2 Upscaler",
444 "inputNode": {
445 "id": -10,
446 "bounding": [
447 460,
448 3958.9494866954537,
449 120,
450 100
451 ]
452 },
453 "outputNode": {
454 "id": -20,
455 "bounding": [
456 1849.9884632020821,
457 3958.9494866954537,
458 120,
459 60
460 ]
461 },
462 "inputs": [
463 {
464 "id": "29451844-a834-4827-bedd-eb03031048d4",
465 "name": "image",
466 "type": "IMAGE",
467 "linkIds": [
468 17
469 ],
470 "localized_name": "image",
471 "pos": [
472 560,
473 3978.9494866954537
474 ]
475 },
476 {
477 "id": "a855e917-7d49-4698-8932-d25eadf5f4f5",
478 "name": "resolution",
479 "type": "INT",
480 "linkIds": [
481 18
482 ],
483 "pos": [
484 560,
485 3998.9494866954537
486 ]
487 },
488 {
489 "id": "56cbd971-1631-4a5c-959d-129852d95310",
490 "name": "model",
491 "type": "COMBO",
492 "linkIds": [
493 19
494 ],
495 "pos": [
496 560,
497 4018.9494866954537
498 ]
499 },
500 {
501 "id": "985b62da-fce8-4eb3-bdf4-1ed8b4912e2b",
502 "name": "seed",
503 "type": "INT",
504 "linkIds": [
505 30
506 ],
507 "pos": [
508 0,
509 0
510 ]
511 }
512 ],
513 "outputs": [
514 {
515 "id": "45e9eee8-66bc-4c95-bd5f-762c0c709c76",
516 "name": "IMAGE",
517 "type": "IMAGE",
518 "linkIds": [
519 10
520 ],
521 "localized_name": "IMAGE",
522 "pos": [
523 1869.9884632020821,
524 3978.9494866954537
525 ]
526 }
527 ],
528 "widgets": [],
529 "nodes": [
530 {
531 "id": 5,
532 "type": "SeedVR2LoadDiTModel",
533 "pos": [
534 640,
535 3820
536 ],
537 "size": [
538 379.53751277904144,
539 230.146546202631
540 ],
541 "flags": [],
542 "order": 2,
543 "mode": 0,
544 "inputs": [
545 {
546 "localized_name": "torch_compile_args",
547 "name": "torch_compile_args",
548 "shape": 7,
549 "type": "TORCH_COMPILE_ARGS",
550 "link": null
551 },
552 {
553 "localized_name": "model",
554 "name": "model",
555 "type": "COMBO",
556 "widget": {
557 "name": "model"
558 },
559 "link": 19
560 }
561 ],
562 "outputs": [
563 {
564 "localized_name": "SEEDVR2_DIT",
565 "name": "SEEDVR2_DIT",
566 "type": "SEEDVR2_DIT",
567 "links": [
568 3
569 ]
570 }
571 ],
572 "properties": {
573 "Node name for S&R": "SeedVR2LoadDiTModel"
574 },
575 "widgets_values": [
576 "seedvr2_ema_7b_fp16.safetensors",
577 "cuda:0",
578 0,
579 false,
580 "none",
581 false,
582 "sdpa"
583 ]
584 },
585 {
586 "id": 4,
587 "type": "SeedVR2VideoUpscaler",
588 "pos": [
589 1397.0066923687486,
590 3811.898973390907
591 ],
592 "size": [
593 392.98177083333337,
594 386
595 ],
596 "flags": [],
597 "order": 1,
598 "mode": 0,
599 "inputs": [
600 {
601 "localized_name": "image",
602 "name": "image",
603 "type": "IMAGE",
604 "link": 17
605 },
606 {
607 "localized_name": "dit",
608 "name": "dit",
609 "type": "SEEDVR2_DIT",
610 "link": 3
611 },
612 {
613 "localized_name": "vae",
614 "name": "vae",
615 "type": "SEEDVR2_VAE",
616 "link": 4
617 },
618 {
619 "localized_name": "seed",
620 "name": "seed",
621 "type": "INT",
622 "widget": {
623 "name": "seed"
624 },
625 "link": 30
626 },
627 {
628 "localized_name": "resolution",
629 "name": "resolution",
630 "type": "INT",
631 "widget": {
632 "name": "resolution"
633 },
634 "link": 18
635 }
636 ],
637 "outputs": [
638 {
639 "localized_name": "IMAGE",
640 "name": "IMAGE",
641 "type": "IMAGE",
642 "links": [
643 10
644 ]
645 }
646 ],
647 "properties": {
648 "Node name for S&R": "SeedVR2VideoUpscaler"
649 },
650 "widgets_values": [
651 825616700,
652 "randomize",
653 1080,
654 0,
655 5,
656 false,
657 "lab",
658 0,
659 0,
660 0,
661 0,
662 "cpu",
663 false
664 ]
665 },
666 {
667 "id": 6,
668 "type": "SeedVR2LoadVAEModel",
669 "pos": [
670 1040,
671 3810
672 ],
673 "size": [
674 321.808203125,
675 298
676 ],
677 "flags": [],
678 "order": 0,
679 "mode": 0,
680 "inputs": [
681 {
682 "localized_name": "torch_compile_args",
683 "name": "torch_compile_args",
684 "shape": 7,
685 "type": "TORCH_COMPILE_ARGS",
686 "link": null
687 }
688 ],
689 "outputs": [
690 {
691 "localized_name": "SEEDVR2_VAE",
692 "name": "SEEDVR2_VAE",
693 "type": "SEEDVR2_VAE",
694 "links": [
695 4
696 ]
697 }
698 ],
699 "properties": {
700 "Node name for S&R": "SeedVR2LoadVAEModel"
701 },
702 "widgets_values": [
703 "ema_vae_fp16.safetensors",
704 "cuda:0",
705 false,
706 1024,
707 128,
708 false,
709 1024,
710 128,
711 "false",
712 "none",
713 false
714 ]
715 }
716 ],
717 "groups": [],
718 "links": [
719 {
720 "id": 3,
721 "origin_id": 5,
722 "origin_slot": 0,
723 "target_id": 4,
724 "target_slot": 1,
725 "type": "SEEDVR2_DIT"
726 },
727 {
728 "id": 4,
729 "origin_id": 6,
730 "origin_slot": 0,
731 "target_id": 4,
732 "target_slot": 2,
733 "type": "SEEDVR2_VAE"
734 },
735 {
736 "id": 17,
737 "origin_id": -10,
738 "origin_slot": 0,
739 "target_id": 4,
740 "target_slot": 0,
741 "type": "IMAGE"
742 },
743 {
744 "id": 10,
745 "origin_id": 4,
746 "origin_slot": 0,
747 "target_id": -20,
748 "target_slot": 0,
749 "type": "IMAGE"
750 },
751 {
752 "id": 18,
753 "origin_id": -10,
754 "origin_slot": 1,
755 "target_id": 4,
756 "target_slot": 4,
757 "type": "INT"
758 },
759 {
760 "id": 19,
761 "origin_id": -10,
762 "origin_slot": 2,
763 "target_id": 5,
764 "target_slot": 1,
765 "type": "COMBO"
766 },
767 {
768 "id": 30,
769 "origin_id": -10,
770 "origin_slot": 3,
771 "target_id": 4,
772 "target_slot": 3,
773 "type": "INT"
774 }
775 ],
776 "extra": {
777 "workflowRendererVersion": "LG"
778 }
779 }
780 ]
781 },
782 "config": [],
783 "extra": {
784 "workflowRendererVersion": "LG",
785 "ds": {
786 "scale": 0.5242486147411467,
787 "offset": [
788 578.7500746754189,
789 -3155.1505641225203
790 ]
791 },
792 "frontendVersion": "1.47.7",
793 "VHS_latentpreview": false,
794 "VHS_latentpreviewrate": 0,
795 "VHS_MetadataImage": true,
796 "VHS_KeepIntermediate": true
797 },
798 "version": 0.4
799}