ComfyPilotComfyPilot
工作流 / 视频 / SCAIL-2 Character Swap 12GB — turn anyone in your video into your own character, any clip length, sound kept
SCAIL-2 Character Swap 12GB — turn anyone in your video into your own character, any clip length, sound kept

SCAIL-2 Character Swap 12GB — turn anyone in your video into your own character, any clip length, sound kept

SCAIL-2 Character Swap 12GB — turn anyone in your video into your own character, any clip length, sound kept

☕ One coffee = one happy creator: https://buymeacoffee.com/the_frizzy1Swap one person in your video for your own character, a person, an animal or a cartoon. Any clip length, the original sound kept, and it opens in App …

视频 75 个节点 9 次使用 The_frizzy1 100 KB

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

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

需要的权重

这个工作流引用了 1 个权重文件,其中 0 个能在本站模型库里找到。

The_frizzy1_scail2-character-swap-12gb_v1.1.0.json 模型库暂未收录

节点构成

ComfyMathExpression × 9
ImageFromBatch × 7
ComfySwitchNode × 7
CLIPTextEncode × 4
PrimitiveString × 3
PrimitiveFloat × 3
PrimitiveInt × 3
MarkdownNote × 3
PrimitiveBoolean × 2
GetImageSize × 2
LoraLoaderModelOnly × 2
SAM3_VideoTrack × 2
WanSCAILToVideo × 2
LoadVideo × 1
LoadImage × 1
PrimitiveStringMultiline × 1

官方标注的模型

Wan2_1_VAE_bf16.safetensorsclip_vision_h.safetensorslightx2v_I2V_14B_480p_cfg_step_distill_rank64_bf16.safetensorssam3.1_multiplex_fp16.safetensorsumt5_xxl_fp8_e4m3fn_scaled.safetensorswan2.1_14B_SCAIL_2_int8_convrot.safetensorswan2.1_SCAIL_2_DPO_lora_bf16.safetensors

工作流 JSON

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

1{
2 "id": "e0c65351-8593-5688-8a90-329bc1f58b1a",
3 "revision": 0,
4 "last_node_id": 89,
5 "last_link_id": 139,
6 "nodes": [
7 {
8 "id": 1,
9 "type": "LoadVideo",
10 "pos": [
11 1530,
12 90
13 ],
14 "size": [
15 282.798828125,
16 576.7534722222222
17 ],
18 "flags": [],
19 "order": 0,
20 "mode": 0,
21 "inputs": [
22 {
23 "label": "Your video",
24 "localized_name": "file",
25 "name": "file",
26 "type": "COMBO",
27 "widget": {
28 "name": "file"
29 },
30 "link": null
31 },
32 {
33 "localized_name": "choose file to upload",
34 "name": "upload",
35 "type": "IMAGEUPLOAD",
36 "widget": {
37 "name": "upload"
38 },
39 "link": null
40 }
41 ],
42 "outputs": [
43 {
44 "localized_name": "VIDEO",
45 "name": "VIDEO",
46 "type": "VIDEO",
47 "links": [
48 10
49 ]
50 }
51 ],
52 "title": "Your video",
53 "properties": {
54 "Node name for S&R": "LoadVideo"
55 },
56 "widgets_values": [
57 "dance clip.mp4",
58 "image"
59 ],
60 "widgets_values_named": {
61 "file": "dance clip.mp4",
62 "upload": "image"
63 },
64 "color": "#232",
65 "bgcolor": "#353"
66 },
67 {
68 "id": 2,
69 "type": "LoadImage",
70 "pos": [
71 1530,
72 732.7534722222222
73 ],
74 "size": [
75 282.798828125,
76 314
77 ],
78 "flags": [],
79 "order": 1,
80 "mode": 0,
81 "inputs": [
82 {
83 "label": "Character picture (front view)",
84 "localized_name": "image",
85 "name": "image",
86 "type": "COMBO",
87 "widget": {
88 "name": "image"
89 },
90 "link": null
91 },
92 {
93 "localized_name": "choose file to upload",
94 "name": "upload",
95 "type": "IMAGEUPLOAD",
96 "widget": {
97 "name": "upload"
98 },
99 "link": null
100 }
101 ],
102 "outputs": [
103 {
104 "localized_name": "IMAGE",
105 "name": "IMAGE",
106 "type": "IMAGE",
107 "links": [
108 49,
109 137,
110 138,
111 139
112 ]
113 },
114 {
115 "localized_name": "MASK",
116 "name": "MASK",
117 "type": "MASK",
118 "links": null
119 }
120 ],
121 "title": "Character picture (front view)",
122 "properties": {
123 "Node name for S&R": "LoadImage"
124 },
125 "widgets_values": [
126 "golden retriever sheet.png",
127 "image"
128 ],
129 "widgets_values_named": {
130 "image": "golden retriever sheet.png",
131 "upload": "image"
132 },
133 "color": "#232",
134 "bgcolor": "#353"
135 },
136 {
137 "id": 3,
138 "type": "PrimitiveStringMultiline",
139 "pos": [
140 1858.798828125,
141 90
142 ],
143 "size": [
144 400,
145 200
146 ],
147 "flags": [],
148 "order": 2,
149 "mode": 0,
150 "inputs": [
151 {
152 "label": "Describe the result",
153 "localized_name": "value",
154 "name": "value",
155 "type": "STRING",
156 "widget": {
157 "name": "value"
158 },
159 "link": null
160 }
161 ],
162 "outputs": [
163 {
164 "localized_name": "STRING",
165 "name": "STRING",
166 "type": "STRING",
167 "links": [
168 46
169 ]
170 }
171 ],
172 "title": "Describe the result",
173 "properties": {
174 "Node name for S&R": "PrimitiveStringMultiline"
175 },
176 "widgets_values": [
177 "A realistic golden retriever dances in a bright room, waving its paws."
178 ],
179 "widgets_values_named": {
180 "value": "A realistic golden retriever dances in a bright room, waving its paws."
181 },
182 "color": "#232",
183 "bgcolor": "#353"
184 },
185 {
186 "id": 4,
187 "type": "PrimitiveString",
188 "pos": [
189 1858.798828125,
190 356
191 ],
192 "size": [
193 334.82421875,
194 58
195 ],
196 "flags": [],
197 "order": 3,
198 "mode": 0,
199 "inputs": [
200 {
201 "label": "Who is in the clip",
202 "localized_name": "value",
203 "name": "value",
204 "type": "STRING",
205 "widget": {
206 "name": "value"
207 },
208 "link": null
209 }
210 ],
211 "outputs": [
212 {
213 "localized_name": "STRING",
214 "name": "STRING",
215 "type": "STRING",
216 "links": [
217 51
218 ]
219 }
220 ],
221 "title": "Who is in the clip",
222 "properties": {
223 "Node name for S&R": "PrimitiveString"
224 },
225 "widgets_values": [
226 "man in red t-shirt"
227 ],
228 "widgets_values_named": {
229 "value": "man in red t-shirt"
230 },
231 "color": "#232",
232 "bgcolor": "#353"
233 },
234 {
235 "id": 5,
236 "type": "PrimitiveString",
237 "pos": [
238 1858.798828125,
239 480
240 ],
241 "size": [
242 337.244140625,
243 58
244 ],
245 "flags": [],
246 "order": 4,
247 "mode": 0,
248 "inputs": [
249 {
250 "label": "What your character is",
251 "localized_name": "value",
252 "name": "value",
253 "type": "STRING",
254 "widget": {
255 "name": "value"
256 },
257 "link": null
258 }
259 ],
260 "outputs": [
261 {
262 "localized_name": "STRING",
263 "name": "STRING",
264 "type": "STRING",
265 "links": [
266 53
267 ]
268 }
269 ],
270 "title": "What your character is",
271 "properties": {
272 "Node name for S&R": "PrimitiveString"
273 },
274 "widgets_values": [
275 "dog"
276 ],
277 "widgets_values_named": {
278 "value": "dog"
279 },
280 "color": "#232",
281 "bgcolor": "#353"
282 },
283 {
284 "id": 6,
285 "type": "PrimitiveFloat",
286 "pos": [
287 2304.798828125,
288 90
289 ],
290 "size": [
291 270,
292 58
293 ],
294 "flags": [],
295 "order": 5,
296 "mode": 0,
297 "inputs": [
298 {
299 "label": "Seconds (0 = whole clip)",
300 "localized_name": "value",
301 "name": "value",
302 "type": "FLOAT",
303 "widget": {
304 "name": "value"
305 },
306 "link": null
307 }
308 ],
309 "outputs": [
310 {
311 "localized_name": "FLOAT",
312 "name": "FLOAT",
313 "type": "FLOAT",
314 "links": [
315 13
316 ]
317 }
318 ],
319 "title": "Seconds (0 = whole clip)",
320 "properties": {
321 "Node name for S&R": "PrimitiveFloat"
322 },
323 "widgets_values": [
324 0
325 ],
326 "widgets_values_named": {
327 "value": 0
328 },
329 "color": "#232",
330 "bgcolor": "#353"
331 },
332 {
333 "id": 7,
334 "type": "PrimitiveInt",
335 "pos": [
336 2304.798828125,
337 214
338 ],
339 "size": [
340 270,
341 82
342 ],
343 "flags": [],
344 "order": 6,
345 "mode": 0,
346 "inputs": [
347 {
348 "localized_name": "value",
349 "name": "value",
350 "type": "INT",
351 "widget": {
352 "name": "value"
353 },
354 "link": null
355 }
356 ],
357 "outputs": [
358 {
359 "localized_name": "INT",
360 "name": "INT",
361 "type": "INT",
362 "links": [
363 32,
364 35
365 ]
366 }
367 ],
368 "title": "Short side (512 fits 12 GB)",
369 "properties": {
370 "Node name for S&R": "PrimitiveInt"
371 },
372 "widgets_values": [
373 512,
374 "fixed"
375 ],
376 "widgets_values_named": {
377 "value": 512,
378 "control_after_generate": "fixed"
379 },
380 "color": "#232",
381 "bgcolor": "#353"
382 },
383 {
384 "id": 8,
385 "type": "PrimitiveInt",
386 "pos": [
387 2304.798828125,
388 362
389 ],
390 "size": [
391 332.919921875,
392 82
393 ],
394 "flags": [],
395 "order": 7,
396 "mode": 0,
397 "inputs": [
398 {
399 "label": "Steps (6 = best value)",
400 "localized_name": "value",
401 "name": "value",
402 "type": "INT",
403 "widget": {
404 "name": "value"
405 },
406 "link": null
407 }
408 ],
409 "outputs": [
410 {
411 "localized_name": "INT",
412 "name": "INT",
413 "type": "INT",
414 "links": [
415 58
416 ]
417 }
418 ],
419 "title": "Steps (6 = best value)",
420 "properties": {
421 "Node name for S&R": "PrimitiveInt"
422 },
423 "widgets_values": [
424 6,
425 "fixed"
426 ],
427 "widgets_values_named": {
428 "value": 6,
429 "control_after_generate": "fixed"
430 },
431 "color": "#232",
432 "bgcolor": "#353"
433 },
434 {
435 "id": 9,
436 "type": "PrimitiveBoolean",
437 "pos": [
438 2304.798828125,
439 510
440 ],
441 "size": [
442 270,
443 58
444 ],
445 "flags": [],
446 "order": 8,
447 "mode": 0,
448 "inputs": [
449 {
450 "localized_name": "value",
451 "name": "value",
452 "type": "BOOLEAN",
453 "widget": {
454 "name": "value"
455 },
456 "link": null
457 }
458 ],
459 "outputs": [
460 {
461 "localized_name": "BOOLEAN",
462 "name": "BOOLEAN",
463 "type": "BOOLEAN",
464 "links": [
465 38,
466 42
467 ]
468 }
469 ],
470 "title": "Speed LoRA (on = 6 steps)",
471 "properties": {
472 "Node name for S&R": "PrimitiveBoolean"
473 },
474 "widgets_values": [
475 true
476 ],
477 "widgets_values_named": {
478 "value": true
479 },
480 "color": "#232",
481 "bgcolor": "#353"
482 },
483 {
484 "id": 10,
485 "type": "PrimitiveBoolean",
486 "pos": [
487 2304.798828125,
488 634
489 ],
490 "size": [
491 270,
492 58
493 ],
494 "flags": [],
495 "order": 9,
496 "mode": 0,
497 "inputs": [
498 {
499 "label": "Keep the original sound",
500 "localized_name": "value",
501 "name": "value",
502 "type": "BOOLEAN",
503 "widget": {
504 "name": "value"
505 },
506 "link": null
507 }
508 ],
509 "outputs": [
510 {
511 "localized_name": "BOOLEAN",
512 "name": "BOOLEAN",
513 "type": "BOOLEAN",
514 "links": [
515 131
516 ]
517 }
518 ],
519 "title": "Keep the original sound",
520 "properties": {
521 "Node name for S&R": "PrimitiveBoolean"
522 },
523 "widgets_values": [
524 true
525 ],
526 "widgets_values_named": {
527 "value": true
528 },
529 "color": "#232",
530 "bgcolor": "#353"
531 },
532 {
533 "id": 11,
534 "type": "PrimitiveInt",
535 "pos": [
536 2304.798828125,
537 758
538 ],
539 "size": [
540 270,
541 82
542 ],
543 "flags": [],
544 "order": 10,
545 "mode": 0,
546 "inputs": [
547 {
548 "label": "Seed",
549 "localized_name": "value",
550 "name": "value",
551 "type": "INT",
552 "widget": {
553 "name": "value"
554 },
555 "link": null
556 }
557 ],
558 "outputs": [
559 {
560 "localized_name": "INT",
561 "name": "INT",
562 "type": "INT",
563 "links": [
564 106
565 ]
566 }
567 ],
568 "title": "Seed",
569 "properties": {
570 "Node name for S&R": "PrimitiveInt"
571 },
572 "widgets_values": [
573 42,
574 "fixed"
575 ],
576 "widgets_values_named": {
577 "value": 42,
578 "control_after_generate": "fixed"
579 },
580 "color": "#232",
581 "bgcolor": "#353"
582 },
583 {
584 "id": 12,
585 "type": "PrimitiveString",
586 "pos": [
587 1858.798828125,
588 604
589 ],
590 "size": [
591 365.005859375,
592 58
593 ],
594 "flags": [],
595 "order": 11,
596 "mode": 0,
597 "inputs": [
598 {
599 "label": "Which person (0 = left, 1 = next, empty = everyone)",
600 "localized_name": "value",
601 "name": "value",
602 "type": "STRING",
603 "widget": {
604 "name": "value"
605 },
606 "link": null
607 }
608 ],
609 "outputs": [
610 {
611 "localized_name": "STRING",
612 "name": "STRING",
613 "type": "STRING",
614 "links": [
615 72
616 ]
617 }
618 ],
619 "title": "Which person (0 = left, 1 = next, empty = everyone)",
620 "properties": {
621 "Node name for S&R": "PrimitiveString"
622 },
623 "widgets_values": [
624 ""
625 ],
626 "widgets_values_named": {
627 "value": ""
628 },
629 "color": "#232",
630 "bgcolor": "#353"
631 },
632 {
633 "id": 20,
634 "type": "GetVideoComponents",
635 "pos": [
636 5331.52734375,
637 90
638 ],
639 "size": [
640 193.530859375,
641 106
642 ],
643 "flags": [],
644 "order": 20,
645 "mode": 0,
646 "inputs": [
647 {
648 "localized_name": "video",
649 "name": "video",
650 "type": "VIDEO",
651 "link": 10
652 }
653 ],
654 "outputs": [
655 {
656 "localized_name": "images",
657 "name": "images",
658 "type": "IMAGE",
659 "links": [
660 11,
661 19
662 ]
663 },
664 {
665 "localized_name": "audio",
666 "name": "audio",
667 "type": "AUDIO",
668 "links": [
669 129
670 ]
671 },
672 {
673 "localized_name": "fps",
674 "name": "fps",
675 "type": "FLOAT",
676 "links": [
677 14,
678 128,
679 134
680 ]
681 },
682 {
683 "localized_name": "bit_depth",
684 "name": "bit_depth",
685 "type": "COMBO",
686 "links": null
687 },
688 {
689 "localized_name": "color_space",
690 "name": "color_space",
691 "type": "COMBO",
692 "links": null
693 }
694 ],
695 "properties": {
696 "Node name for S&R": "GetVideoComponents"
697 },
698 "title": "Split video (frames · sound · fps)"
699 },
700 {
701 "id": 21,
702 "type": "GetImageSize",
703 "pos": [
704 5571.058203125,
705 90
706 ],
707 "size": [
708 140,
709 66
710 ],
711 "flags": [],
712 "order": 28,
713 "mode": 0,
714 "inputs": [
715 {
716 "localized_name": "image",
717 "name": "image",
718 "type": "IMAGE",
719 "link": 11
720 }
721 ],
722 "outputs": [
723 {
724 "localized_name": "width",
725 "name": "width",
726 "type": "INT",
727 "links": [
728 30,
729 33
730 ]
731 },
732 {
733 "localized_name": "height",
734 "name": "height",
735 "type": "INT",
736 "links": [
737 31,
738 34
739 ]
740 },
741 {
742 "localized_name": "batch_size",
743 "name": "batch_size",
744 "type": "INT",
745 "links": [
746 12
747 ]
748 }
749 ],
750 "properties": {
751 "Node name for S&R": "GetImageSize"
752 },
753 "title": "Clip size + frame count"
754 },
755 {
756 "id": 22,
757 "type": "ComfyMathExpression",
758 "pos": [
759 5757.058203125,
760 90
761 ],
762 "size": [
763 400,
764 200
765 ],
766 "flags": [],
767 "order": 33,
768 "mode": 0,
769 "inputs": [
770 {
771 "localized_name": "a",
772 "name": "values.a",
773 "type": "FLOAT,INT,BOOLEAN",
774 "link": 12
775 },
776 {
777 "localized_name": "b",
778 "name": "values.b",
779 "shape": 7,
780 "type": "FLOAT,INT,BOOLEAN",
781 "link": 13
782 },
783 {
784 "localized_name": "c",
785 "name": "values.c",
786 "shape": 7,
787 "type": "FLOAT,INT,BOOLEAN",
788 "link": 14
789 },
790 {
791 "localized_name": "d",
792 "name": "values.d",
793 "shape": 7,
794 "type": "FLOAT,INT,BOOLEAN",
795 "link": null
796 },
797 {
798 "localized_name": "expression",
799 "name": "expression",
800 "type": "STRING",
801 "widget": {
802 "name": "expression"
803 },
804 "link": null
805 }
806 ],
807 "outputs": [
808 {
809 "localized_name": "FLOAT",
810 "name": "FLOAT",
811 "type": "FLOAT",
812 "links": null
813 },
814 {
815 "localized_name": "INT",
816 "name": "INT",
817 "type": "INT",
818 "links": [
819 15,
820 17,
821 20,
822 21,
823 126,
824 127
825 ]
826 },
827 {
828 "localized_name": "BOOL",
829 "name": "BOOL",
830 "type": "BOOLEAN",
831 "links": null
832 }
833 ],
834 "properties": {
835 "Node name for S&R": "ComfyMathExpression"
836 },
837 "widgets_values": [
838 "a if b <= 0 else max(9, min(a, round(b * c)))"
839 ],
840 "widgets_values_named": {
841 "expression": "a if b <= 0 else max(9, min(a, round(b * c)))"
842 },
843 "title": "Frames used (Seconds × fps)"
844 },
845 {
846 "id": 23,
847 "type": "ComfyMathExpression",
848 "pos": [
849 6203.058203125,
850 90
851 ],
852 "size": [
853 400,
854 200
855 ],
856 "flags": [],
857 "order": 35,
858 "mode": 0,
859 "inputs": [
860 {
861 "localized_name": "a",
862 "name": "values.a",
863 "type": "FLOAT,INT,BOOLEAN",
864 "link": 15
865 },
866 {
867 "localized_name": "b",
868 "name": "values.b",
869 "shape": 7,
870 "type": "FLOAT,INT,BOOLEAN",
871 "link": null
872 },
873 {
874 "localized_name": "expression",
875 "name": "expression",
876 "type": "STRING",
877 "widget": {
878 "name": "expression"
879 },
880 "link": null
881 }
882 ],
883 "outputs": [
884 {
885 "localized_name": "FLOAT",
886 "name": "FLOAT",
887 "type": "FLOAT",
888 "links": null
889 },
890 {
891 "localized_name": "INT",
892 "name": "INT",
893 "type": "INT",
894 "links": [
895 16,
896 18,
897 59
898 ]
899 },
900 {
901 "localized_name": "BOOL",
902 "name": "BOOL",
903 "type": "BOOLEAN",
904 "links": null
905 }
906 ],
907 "properties": {
908 "Node name for S&R": "ComfyMathExpression"
909 },
910 "widgets_values": [
911 "max(1, ceil((a - 5) / 76))"
912 ],
913 "widgets_values_named": {
914 "expression": "max(1, ceil((a - 5) / 76))"
915 },
916 "title": "Rounds (81-frame segments)"
917 },
918 {
919 "id": 24,
920 "type": "ComfyMathExpression",
921 "pos": [
922 6649.058203125,
923 90
924 ],
925 "size": [
926 400,
927 200
928 ],
929 "flags": [],
930 "order": 41,
931 "mode": 0,
932 "inputs": [
933 {
934 "localized_name": "a",
935 "name": "values.a",
936 "type": "FLOAT,INT,BOOLEAN",
937 "link": 16
938 },
939 {
940 "localized_name": "b",
941 "name": "values.b",
942 "shape": 7,
943 "type": "FLOAT,INT,BOOLEAN",
944 "link": null
945 },
946 {
947 "localized_name": "expression",
948 "name": "expression",
949 "type": "STRING",
950 "widget": {
951 "name": "expression"
952 },
953 "link": null
954 }
955 ],
956 "outputs": [
957 {
958 "localized_name": "FLOAT",
959 "name": "FLOAT",
960 "type": "FLOAT",
961 "links": null
962 },
963 {
964 "localized_name": "INT",
965 "name": "INT",
966 "type": "INT",
967 "links": [
968 29
969 ]
970 },
971 {
972 "localized_name": "BOOL",
973 "name": "BOOL",
974 "type": "BOOLEAN",
975 "links": null
976 }
977 ],
978 "properties": {
979 "Node name for S&R": "ComfyMathExpression"
980 },
981 "widgets_values": [
982 "a * 76 + 5"
983 ],
984 "widgets_values_named": {
985 "expression": "a * 76 + 5"
986 },
987 "title": "Length padded to whole segments"
988 },
989 {
990 "id": 25,
991 "type": "ComfyMathExpression",
992 "pos": [
993 6649.058203125,
994 356
995 ],
996 "size": [
997 400,
998 200
999 ],
1000 "flags": [],
1001 "order": 42,
1002 "mode": 0,
1003 "inputs": [
1004 {
1005 "localized_name": "a",
1006 "name": "values.a",
1007 "type": "FLOAT,INT,BOOLEAN",
1008 "link": 17
1009 },
1010 {
1011 "localized_name": "b",
1012 "name": "values.b",
1013 "shape": 7,
1014 "type": "FLOAT,INT,BOOLEAN",
1015 "link": 18
1016 },
1017 {
1018 "localized_name": "c",
1019 "name": "values.c",
1020 "shape": 7,
1021 "type": "FLOAT,INT,BOOLEAN",
1022 "link": null
1023 },
1024 {
1025 "localized_name": "expression",
1026 "name": "expression",
1027 "type": "STRING",
1028 "widget": {
1029 "name": "expression"
1030 },
1031 "link": null
1032 }
1033 ],
1034 "outputs": [
1035 {
1036 "localized_name": "FLOAT",
1037 "name": "FLOAT",
1038 "type": "FLOAT",
1039 "links": null
1040 },
1041 {
1042 "localized_name": "INT",
1043 "name": "INT",
1044 "type": "INT",
1045 "links": [
1046 25
1047 ]
1048 },
1049 {
1050 "localized_name": "BOOL",
1051 "name": "BOOL",
1052 "type": "BOOLEAN",
1053 "links": null
1054 }
1055 ],
1056 "properties": {
1057 "Node name for S&R": "ComfyMathExpression"
1058 },
1059 "widgets_values": [
1060 "max(1, b * 76 + 5 - a)"
1061 ],
1062 "widgets_values_named": {
1063 "expression": "max(1, b * 76 + 5 - a)"
1064 },
1065 "title": "Padding frames needed"
1066 },
1067 {
1068 "id": 26,
1069 "type": "ImageFromBatch",
1070 "pos": [
1071 6203.058203125,
1072 356
1073 ],
1074 "size": [
1075 270,
1076 82
1077 ],
1078 "flags": [],
1079 "order": 36,
1080 "mode": 0,
1081 "inputs": [
1082 {
1083 "localized_name": "image",
1084 "name": "image",
1085 "type": "IMAGE",
1086 "link": 19
1087 },
1088 {
1089 "localized_name": "batch_index",
1090 "name": "batch_index",
1091 "type": "INT",
1092 "widget": {
1093 "name": "batch_index"
1094 },
1095 "link": null
1096 },
1097 {
1098 "localized_name": "length",
1099 "name": "length",
1100 "type": "INT",
1101 "widget": {
1102 "name": "length"
1103 },
1104 "link": 20
1105 }
1106 ],
1107 "outputs": [
1108 {
1109 "localized_name": "IMAGE",
1110 "name": "IMAGE",
1111 "type": "IMAGE",
1112 "links": [
1113 22,
1114 26
1115 ]
1116 }
1117 ],
1118 "properties": {
1119 "Node name for S&R": "ImageFromBatch"
1120 },
1121 "widgets_values": [
1122 0,
1123 1
1124 ],
1125 "widgets_values_named": {
1126 "batch_index": 0,
1127 "length": 1
1128 },
1129 "title": "Frames used"
1130 },
1131 {
1132 "id": 27,
1133 "type": "ComfyMathExpression",
1134 "pos": [
1135 6203.058203125,
1136 504
1137 ],
1138 "size": [
1139 400,
1140 200
1141 ],
1142 "flags": [],
1143 "order": 37,
1144 "mode": 0,
1145 "inputs": [
1146 {
1147 "localized_name": "a",
1148 "name": "values.a",
1149 "type": "FLOAT,INT,BOOLEAN",
1150 "link": 21
1151 },
1152 {
1153 "localized_name": "b",
1154 "name": "values.b",
1155 "shape": 7,
1156 "type": "FLOAT,INT,BOOLEAN",
1157 "link": null
1158 },
1159 {
1160 "localized_name": "expression",
1161 "name": "expression",
1162 "type": "STRING",
1163 "widget": {
1164 "name": "expression"
1165 },
1166 "link": null
1167 }
1168 ],
1169 "outputs": [
1170 {
1171 "localized_name": "FLOAT",
1172 "name": "FLOAT",
1173 "type": "FLOAT",
1174 "links": null
1175 },
1176 {
1177 "localized_name": "INT",
1178 "name": "INT",
1179 "type": "INT",
1180 "links": [
1181 23
1182 ]
1183 },
1184 {
1185 "localized_name": "BOOL",
1186 "name": "BOOL",
1187 "type": "BOOLEAN",
1188 "links": null
1189 }
1190 ],
1191 "properties": {
1192 "Node name for S&R": "ComfyMathExpression"
1193 },
1194 "widgets_values": [
1195 "a - 1"
1196 ],
1197 "widgets_values_named": {
1198 "expression": "a - 1"
1199 },
1200 "title": "Index of the last frame"
1201 },
1202 {
1203 "id": 28,
1204 "type": "ImageFromBatch",
1205 "pos": [
1206 6649.058203125,
1207 622
1208 ],
1209 "size": [
1210 270,
1211 82
1212 ],
1213 "flags": [],
1214 "order": 44,
1215 "mode": 0,
1216 "inputs": [
1217 {
1218 "localized_name": "image",
1219 "name": "image",
1220 "type": "IMAGE",
1221 "link": 22
1222 },
1223 {
1224 "localized_name": "batch_index",
1225 "name": "batch_index",
1226 "type": "INT",
1227 "widget": {
1228 "name": "batch_index"
1229 },
1230 "link": 23
1231 },
1232 {
1233 "localized_name": "length",
1234 "name": "length",
1235 "type": "INT",
1236 "widget": {
1237 "name": "length"
1238 },
1239 "link": null
1240 }
1241 ],
1242 "outputs": [
1243 {
1244 "localized_name": "IMAGE",
1245 "name": "IMAGE",
1246 "type": "IMAGE",
1247 "links": [
1248 24
1249 ]
1250 }
1251 ],
1252 "properties": {
1253 "Node name for S&R": "ImageFromBatch"
1254 },
1255 "widgets_values": [
1256 0,
1257 1
1258 ],
1259 "widgets_values_named": {
1260 "batch_index": 0,
1261 "length": 1
1262 },
1263 "title": "Last frame"
1264 },
1265 {
1266 "id": 29,
1267 "type": "RepeatImageBatch",
1268 "pos": [
1269 7095.058203125,
1270 90
1271 ],
1272 "size": [
1273 270,
1274 58
1275 ],
1276 "flags": [],
1277 "order": 48,
1278 "mode": 0,
1279 "inputs": [
1280 {
1281 "localized_name": "image",
1282 "name": "image",
1283 "type": "IMAGE",
1284 "link": 24
1285 },
1286 {
1287 "localized_name": "amount",
1288 "name": "amount",
1289 "type": "INT",
1290 "widget": {
1291 "name": "amount"
1292 },
1293 "link": 25
1294 }
1295 ],
1296 "outputs": [
1297 {
1298 "localized_name": "IMAGE",
1299 "name": "IMAGE",
1300 "type": "IMAGE",
1301 "links": [
1302 27
1303 ]
1304 }
1305 ],
1306 "properties": {
1307 "Node name for S&R": "RepeatImageBatch"
1308 },
1309 "widgets_values": [
1310 1
1311 ],
1312 "widgets_values_named": {
1313 "amount": 1
1314 },
1315 "title": "Repeat last frame (padding)"
1316 },
1317 {
1318 "id": 30,
1319 "type": "BatchImagesNode",
1320 "pos": [
1321 7411.058203125,
1322 90
1323 ],
1324 "size": [
1325 140,
1326 86
1327 ],
1328 "flags": [],
1329 "order": 50,
1330 "mode": 0,
1331 "inputs": [
1332 {
1333 "localized_name": "image0",
1334 "name": "images.image0",
1335 "type": "IMAGE",
1336 "link": 26
1337 },
1338 {
1339 "localized_name": "image1",
1340 "name": "images.image1",
1341 "shape": 7,
1342 "type": "IMAGE",
1343 "link": 27
1344 },
1345 {
1346 "localized_name": "image2",
1347 "name": "images.image2",
1348 "shape": 7,
1349 "type": "IMAGE",
1350 "link": null
1351 }
1352 ],
1353 "outputs": [
1354 {
1355 "localized_name": "IMAGE",
1356 "name": "IMAGE",
1357 "type": "IMAGE",
1358 "links": [
1359 28
1360 ]
1361 }
1362 ],
1363 "properties": {
1364 "Node name for S&R": "BatchImagesNode"
1365 },
1366 "title": "Frames + padding"
1367 },
1368 {
1369 "id": 31,
1370 "type": "ImageFromBatch",
1371 "pos": [
1372 7597.058203125,
1373 90
1374 ],
1375 "size": [
1376 270,
1377 82
1378 ],
1379 "flags": [],
1380 "order": 51,
1381 "mode": 0,
1382 "inputs": [
1383 {
1384 "localized_name": "image",
1385 "name": "image",
1386 "type": "IMAGE",
1387 "link": 28
1388 },
1389 {
1390 "localized_name": "batch_index",
1391 "name": "batch_index",
1392 "type": "INT",
1393 "widget": {
1394 "name": "batch_index"
1395 },
1396 "link": null
1397 },
1398 {
1399 "localized_name": "length",
1400 "name": "length",
1401 "type": "INT",
1402 "widget": {
1403 "name": "length"
1404 },
1405 "link": 29
1406 }
1407 ],
1408 "outputs": [
1409 {
1410 "localized_name": "IMAGE",
1411 "name": "IMAGE",
1412 "type": "IMAGE",
1413 "links": [
1414 61
1415 ]
1416 }
1417 ],
1418 "properties": {
1419 "Node name for S&R": "ImageFromBatch"
1420 },
1421 "widgets_values": [
1422 0,
1423 1
1424 ],
1425 "widgets_values_named": {
1426 "batch_index": 0,
1427 "length": 1
1428 },
1429 "title": "Padded clip"
1430 },
1431 {
1432 "id": 32,
1433 "type": "ComfyMathExpression",
1434 "pos": [
1435 5757.058203125,
1436 356
1437 ],
1438 "size": [
1439 400,
1440 200
1441 ],
1442 "flags": [],
1443 "order": 31,
1444 "mode": 0,
1445 "inputs": [
1446 {
1447 "localized_name": "a",
1448 "name": "values.a",
1449 "type": "FLOAT,INT,BOOLEAN",
1450 "link": 30
1451 },
1452 {
1453 "localized_name": "b",
1454 "name": "values.b",
1455 "shape": 7,
1456 "type": "FLOAT,INT,BOOLEAN",
1457 "link": 31
1458 },
1459 {
1460 "localized_name": "c",
1461 "name": "values.c",
1462 "shape": 7,
1463 "type": "FLOAT,INT,BOOLEAN",
1464 "link": 32
1465 },
1466 {
1467 "localized_name": "d",
1468 "name": "values.d",
1469 "shape": 7,
1470 "type": "FLOAT,INT,BOOLEAN",
1471 "link": null
1472 },
1473 {
1474 "localized_name": "expression",
1475 "name": "expression",
1476 "type": "STRING",
1477 "widget": {
1478 "name": "expression"
1479 },
1480 "link": null
1481 }
1482 ],
1483 "outputs": [
1484 {
1485 "localized_name": "FLOAT",
1486 "name": "FLOAT",
1487 "type": "FLOAT",
1488 "links": null
1489 },
1490 {
1491 "localized_name": "INT",
1492 "name": "INT",
1493 "type": "INT",
1494 "links": [
1495 64
1496 ]
1497 },
1498 {
1499 "localized_name": "BOOL",
1500 "name": "BOOL",
1501 "type": "BOOLEAN",
1502 "links": null
1503 }
1504 ],
1505 "properties": {
1506 "Node name for S&R": "ComfyMathExpression"
1507 },
1508 "widgets_values": [
1509 "c if b >= a else (c * a // b) // 32 * 32"
1510 ],
1511 "widgets_values_named": {
1512 "expression": "c if b >= a else (c * a // b) // 32 * 32"
1513 },
1514 "title": "Output width (÷32)"
1515 },
1516 {
1517 "id": 33,
1518 "type": "ComfyMathExpression",
1519 "pos": [
1520 5757.058203125,
1521 622
1522 ],
1523 "size": [
1524 400,
1525 200
1526 ],
1527 "flags": [],
1528 "order": 32,
1529 "mode": 0,
1530 "inputs": [
1531 {
1532 "localized_name": "a",
1533 "name": "values.a",
1534 "type": "FLOAT,INT,BOOLEAN",
1535 "link": 33
1536 },
1537 {
1538 "localized_name": "b",
1539 "name": "values.b",
1540 "shape": 7,
1541 "type": "FLOAT,INT,BOOLEAN",
1542 "link": 34
1543 },
1544 {
1545 "localized_name": "c",
1546 "name": "values.c",
1547 "shape": 7,
1548 "type": "FLOAT,INT,BOOLEAN",
1549 "link": 35
1550 },
1551 {
1552 "localized_name": "d",
1553 "name": "values.d",
1554 "shape": 7,
1555 "type": "FLOAT,INT,BOOLEAN",
1556 "link": null
1557 },
1558 {
1559 "localized_name": "expression",
1560 "name": "expression",
1561 "type": "STRING",
1562 "widget": {
1563 "name": "expression"
1564 },
1565 "link": null
1566 }
1567 ],
1568 "outputs": [
1569 {
1570 "localized_name": "FLOAT",
1571 "name": "FLOAT",
1572 "type": "FLOAT",
1573 "links": null
1574 },
1575 {
1576 "localized_name": "INT",
1577 "name": "INT",
1578 "type": "INT",
1579 "links": [
1580 65
1581 ]
1582 },
1583 {
1584 "localized_name": "BOOL",
1585 "name": "BOOL",
1586 "type": "BOOLEAN",
1587 "links": null
1588 }
1589 ],
1590 "properties": {
1591 "Node name for S&R": "ComfyMathExpression"
1592 },
1593 "widgets_values": [
1594 "(c * b // a) // 32 * 32 if b >= a else c"
1595 ],
1596 "widgets_values_named": {
1597 "expression": "(c * b // a) // 32 * 32 if b >= a else c"
1598 },
1599 "title": "Output height (÷32)"
1600 },
1601 {
1602 "id": 40,
1603 "type": "UNETLoader",
1604 "pos": [
1605 2783.71875,
1606 90
1607 ],
1608 "size": [
1609 270,
1610 82
1611 ],
1612 "flags": [],
1613 "order": 12,
1614 "mode": 0,
1615 "inputs": [
1616 {
1617 "localized_name": "unet_name",
1618 "name": "unet_name",
1619 "type": "COMBO",
1620 "widget": {
1621 "name": "unet_name"
1622 },
1623 "link": null
1624 },
1625 {
1626 "localized_name": "weight_dtype",
1627 "name": "weight_dtype",
1628 "type": "COMBO",
1629 "widget": {
1630 "name": "weight_dtype"
1631 },
1632 "link": null
1633 }
1634 ],
1635 "outputs": [
1636 {
1637 "localized_name": "MODEL",
1638 "name": "MODEL",
1639 "type": "MODEL",
1640 "links": [
1641 36
1642 ]
1643 }
1644 ],
1645 "properties": {
1646 "Node name for S&R": "UNETLoader",
1647 "models": [
1648 {
1649 "name": "wan2.1_14B_SCAIL_2_int8_convrot.safetensors",
1650 "url": "https://huggingface.co/Comfy-Org/SCAIL-2/resolve/main/diffusion_models/wan2.1_14B_SCAIL_2_int8_convrot.safetensors",
1651 "directory": "diffusion_models"
1652 }
1653 ]
1654 },
1655 "widgets_values": [
1656 "wan2.1_14B_SCAIL_2_int8_convrot.safetensors",
1657 "default"
1658 ],
1659 "widgets_values_named": {
1660 "unet_name": "wan2.1_14B_SCAIL_2_int8_convrot.safetensors",
1661 "weight_dtype": "default"
1662 },
1663 "title": "SCAIL-2 14B int8 (diffusion model)"
1664 },
1665 {
1666 "id": 41,
1667 "type": "LoraLoaderModelOnly",
1668 "pos": [
1669 3099.71875,
1670 90
1671 ],
1672 "size": [
1673 270,
1674 82
1675 ],
1676 "flags": [],
1677 "order": 21,
1678 "mode": 0,
1679 "inputs": [
1680 {
1681 "localized_name": "model",
1682 "name": "model",
1683 "type": "MODEL",
1684 "link": 36
1685 },
1686 {
1687 "localized_name": "lora_name",
1688 "name": "lora_name",
1689 "type": "COMBO",
1690 "widget": {
1691 "name": "lora_name"
1692 },
1693 "link": null
1694 },
1695 {
1696 "localized_name": "strength_model",
1697 "name": "strength_model",
1698 "type": "FLOAT",
1699 "widget": {
1700 "name": "strength_model"
1701 },
1702 "link": null
1703 }
1704 ],
1705 "outputs": [
1706 {
1707 "localized_name": "MODEL",
1708 "name": "MODEL",
1709 "type": "MODEL",
1710 "links": [
1711 37,
1712 40
1713 ]
1714 }
1715 ],
1716 "properties": {
1717 "Node name for S&R": "LoraLoaderModelOnly",
1718 "models": [
1719 {
1720 "name": "wan2.1_SCAIL_2_DPO_lora_bf16.safetensors",
1721 "url": "https://huggingface.co/Comfy-Org/SCAIL-2/resolve/main/loras/wan2.1_SCAIL_2_DPO_lora_bf16.safetensors",
1722 "directory": "loras"
1723 }
1724 ]
1725 },
1726 "widgets_values": [
1727 "wan2.1_SCAIL_2_DPO_lora_bf16.safetensors",
1728 1
1729 ],
1730 "widgets_values_named": {
1731 "lora_name": "wan2.1_SCAIL_2_DPO_lora_bf16.safetensors",
1732 "strength_model": 1
1733 },
1734 "title": "SCAIL-2 DPO LoRA (quality, 1.0)"
1735 },
1736 {
1737 "id": 42,
1738 "type": "LoraLoaderModelOnly",
1739 "pos": [
1740 3415.71875,
1741 90
1742 ],
1743 "size": [
1744 270,
1745 82
1746 ],
1747 "flags": [],
1748 "order": 29,
1749 "mode": 0,
1750 "inputs": [
1751 {
1752 "localized_name": "model",
1753 "name": "model",
1754 "type": "MODEL",
1755 "link": 37
1756 },
1757 {
1758 "localized_name": "lora_name",
1759 "name": "lora_name",
1760 "type": "COMBO",
1761 "widget": {
1762 "name": "lora_name"
1763 },
1764 "link": null
1765 },
1766 {
1767 "localized_name": "strength_model",
1768 "name": "strength_model",
1769 "type": "FLOAT",
1770 "widget": {
1771 "name": "strength_model"
1772 },
1773 "link": null
1774 }
1775 ],
1776 "outputs": [
1777 {
1778 "localized_name": "MODEL",
1779 "name": "MODEL",
1780 "type": "MODEL",
1781 "links": [
1782 39
1783 ]
1784 }
1785 ],
1786 "properties": {
1787 "Node name for S&R": "LoraLoaderModelOnly",
1788 "models": [
1789 {
1790 "name": "lightx2v_I2V_14B_480p_cfg_step_distill_rank64_bf16.safetensors",
1791 "url": "https://huggingface.co/Kijai/WanVideo_comfy/resolve/main/Lightx2v/lightx2v_I2V_14B_480p_cfg_step_distill_rank64_bf16.safetensors",
1792 "directory": "loras"
1793 }
1794 ]
1795 },
1796 "widgets_values": [
1797 "lightx2v_I2V_14B_480p_cfg_step_distill_rank64_bf16.safetensors",
1798 0.8
1799 ],
1800 "widgets_values_named": {
1801 "lora_name": "lightx2v_I2V_14B_480p_cfg_step_distill_rank64_bf16.safetensors",
1802 "strength_model": 0.8
1803 },
1804 "title": "lightx2v distill LoRA (speed, 0.8)"
1805 },
1806 {
1807 "id": 43,
1808 "type": "ComfySwitchNode",
1809 "pos": [
1810 3731.71875,
1811 90
1812 ],
1813 "size": [
1814 270,
1815 78
1816 ],
1817 "flags": [],
1818 "order": 34,
1819 "mode": 0,
1820 "inputs": [
1821 {
1822 "localized_name": "on_false",
1823 "name": "on_false",
1824 "shape": 7,
1825 "type": "MODEL",
1826 "link": 40
1827 },
1828 {
1829 "localized_name": "on_true",
1830 "name": "on_true",
1831 "shape": 7,
1832 "type": "MODEL",
1833 "link": 39
1834 },
1835 {
1836 "localized_name": "switch",
1837 "name": "switch",
1838 "type": "BOOLEAN",
1839 "widget": {
1840 "name": "switch"
1841 },
1842 "link": 38
1843 }
1844 ],
1845 "outputs": [
1846 {
1847 "localized_name": "output",
1848 "name": "output",
1849 "type": "MODEL",
1850 "links": [
1851 41,
1852 57
1853 ]
1854 }
1855 ],
1856 "properties": {
1857 "Node name for S&R": "ComfySwitchNode"
1858 },
1859 "widgets_values": [
1860 false
1861 ],
1862 "widgets_values_named": {
1863 "switch": false
1864 },
1865 "title": "Speed LoRA on / off"
1866 },
1867 {
1868 "id": 44,
1869 "type": "ModelSamplingSD3",
1870 "pos": [
1871 4047.71875,
1872 90
1873 ],
1874 "size": [
1875 270,
1876 58
1877 ],
1878 "flags": [],
1879 "order": 39,
1880 "mode": 0,
1881 "inputs": [
1882 {
1883 "localized_name": "model",
1884 "name": "model",
1885 "type": "MODEL",
1886 "link": 41
1887 },
1888 {
1889 "localized_name": "shift",
1890 "name": "shift",
1891 "type": "FLOAT",
1892 "widget": {
1893 "name": "shift"
1894 },
1895 "link": null
1896 }
1897 ],
1898 "outputs": [
1899 {
1900 "localized_name": "MODEL",
1901 "name": "MODEL",
1902 "type": "MODEL",
1903 "links": [
1904 105
1905 ]
1906 }
1907 ],
1908 "properties": {
1909 "Node name for S&R": "ModelSamplingSD3"
1910 },
1911 "widgets_values": [
1912 5
1913 ],
1914 "widgets_values_named": {
1915 "shift": 5
1916 },
1917 "title": "Model sampling (shift 5)"
1918 },
1919 {
1920 "id": 45,
1921 "type": "PrimitiveFloat",
1922 "pos": [
1923 2783.71875,
1924 238
1925 ],
1926 "size": [
1927 270,
1928 58
1929 ],
1930 "flags": [],
1931 "order": 13,
1932 "mode": 0,
1933 "inputs": [
1934 {
1935 "localized_name": "value",
1936 "name": "value",
1937 "type": "FLOAT",
1938 "widget": {
1939 "name": "value"
1940 },
1941 "link": null
1942 }
1943 ],
1944 "outputs": [
1945 {
1946 "localized_name": "FLOAT",
1947 "name": "FLOAT",
1948 "type": "FLOAT",
1949 "links": [
1950 43
1951 ]
1952 }
1953 ],
1954 "properties": {
1955 "Node name for S&R": "PrimitiveFloat"
1956 },
1957 "widgets_values": [
1958 1
1959 ],
1960 "widgets_values_named": {
1961 "value": 1
1962 },
1963 "title": "CFG with speed LoRA (1.0)"
1964 },
1965 {
1966 "id": 46,
1967 "type": "PrimitiveFloat",
1968 "pos": [
1969 2783.71875,
1970 362
1971 ],
1972 "size": [
1973 270,
1974 58
1975 ],
1976 "flags": [],
1977 "order": 14,
1978 "mode": 0,
1979 "inputs": [
1980 {
1981 "localized_name": "value",
1982 "name": "value",
1983 "type": "FLOAT",
1984 "widget": {
1985 "name": "value"
1986 },
1987 "link": null
1988 }
1989 ],
1990 "outputs": [
1991 {
1992 "localized_name": "FLOAT",
1993 "name": "FLOAT",
1994 "type": "FLOAT",
1995 "links": [
1996 44
1997 ]
1998 }
1999 ],
2000 "properties": {
2001 "Node name for S&R": "PrimitiveFloat"
2002 },
2003 "widgets_values": [
2004 5
2005 ],
2006 "widgets_values_named": {
2007 "value": 5
2008 },
2009 "title": "CFG without speed LoRA (5.0)"
2010 },
2011 {
2012 "id": 47,
2013 "type": "ComfySwitchNode",
2014 "pos": [
2015 3099.71875,
2016 238
2017 ],
2018 "size": [
2019 270,
2020 78
2021 ],
2022 "flags": [],
2023 "order": 22,
2024 "mode": 0,
2025 "inputs": [
2026 {
2027 "localized_name": "on_false",
2028 "name": "on_false",
2029 "shape": 7,
2030 "type": "FLOAT",
2031 "link": 44
2032 },
2033 {
2034 "localized_name": "on_true",
2035 "name": "on_true",
2036 "shape": 7,
2037 "type": "FLOAT",
2038 "link": 43
2039 },
2040 {
2041 "localized_name": "switch",
2042 "name": "switch",
2043 "type": "BOOLEAN",
2044 "widget": {
2045 "name": "switch"
2046 },
2047 "link": 42
2048 }
2049 ],
2050 "outputs": [
2051 {
2052 "localized_name": "output",
2053 "name": "output",
2054 "type": "FLOAT",
2055 "links": [
2056 107
2057 ]
2058 }
2059 ],
2060 "properties": {
2061 "Node name for S&R": "ComfySwitchNode"
2062 },
2063 "widgets_values": [
2064 false
2065 ],
2066 "widgets_values_named": {
2067 "switch": false
2068 },
2069 "title": "CFG on / off"
2070 },
2071 {
2072 "id": 48,
2073 "type": "CLIPLoader",
2074 "pos": [
2075 2783.71875,
2076 486
2077 ],
2078 "size": [
2079 270,
2080 106
2081 ],
2082 "flags": [],
2083 "order": 15,
2084 "mode": 0,
2085 "inputs": [
2086 {
2087 "localized_name": "clip_name",
2088 "name": "clip_name",
2089 "type": "COMBO",
2090 "widget": {
2091 "name": "clip_name"
2092 },
2093 "link": null
2094 },
2095 {
2096 "localized_name": "type",
2097 "name": "type",
2098 "type": "COMBO",
2099 "widget": {
2100 "name": "type"
2101 },
2102 "link": null
2103 },
2104 {
2105 "localized_name": "device",
2106 "name": "device",
2107 "shape": 7,
2108 "type": "COMBO",
2109 "widget": {
2110 "name": "device"
2111 },
2112 "link": null
2113 }
2114 ],
2115 "outputs": [
2116 {
2117 "localized_name": "CLIP",
2118 "name": "CLIP",
2119 "type": "CLIP",
2120 "links": [
2121 45,
2122 47
2123 ]
2124 }
2125 ],
2126 "properties": {
2127 "Node name for S&R": "CLIPLoader",
2128 "models": [
2129 {
2130 "name": "umt5_xxl_fp8_e4m3fn_scaled.safetensors",
2131 "url": "https://huggingface.co/Comfy-Org/Wan_2.1_ComfyUI_repackaged/resolve/main/split_files/text_encoders/umt5_xxl_fp8_e4m3fn_scaled.safetensors",
2132 "directory": "text_encoders"
2133 }
2134 ]
2135 },
2136 "widgets_values": [
2137 "umt5_xxl_fp8_e4m3fn_scaled.safetensors",
2138 "wan",
2139 "default"
2140 ],
2141 "widgets_values_named": {
2142 "clip_name": "umt5_xxl_fp8_e4m3fn_scaled.safetensors",
2143 "type": "wan",
2144 "device": "default"
2145 },
2146 "title": "Text encoder (umt5 xxl fp8)"
2147 },
2148 {
2149 "id": 49,
2150 "type": "VAELoader",
2151 "pos": [
2152 2783.71875,
2153 658
2154 ],
2155 "size": [
2156 270,
2157 58
2158 ],
2159 "flags": [],
2160 "order": 16,
2161 "mode": 0,
2162 "inputs": [
2163 {
2164 "localized_name": "vae_name",
2165 "name": "vae_name",
2166 "type": "COMBO",
2167 "widget": {
2168 "name": "vae_name"
2169 },
2170 "link": null
2171 }
2172 ],
2173 "outputs": [
2174 {
2175 "localized_name": "VAE",
2176 "name": "VAE",
2177 "type": "VAE",
2178 "links": [
2179 75,
2180 87,
2181 114
2182 ]
2183 }
2184 ],
2185 "properties": {
2186 "Node name for S&R": "VAELoader",
2187 "models": [
2188 {
2189 "name": "Wan2_1_VAE_bf16.safetensors",
2190 "url": "https://huggingface.co/Kijai/WanVideo_comfy/resolve/main/Wan2_1_VAE_bf16.safetensors",
2191 "directory": "vae"
2192 }
2193 ]
2194 },
2195 "widgets_values": [
2196 "Wan2_1_VAE_bf16.safetensors"
2197 ],
2198 "widgets_values_named": {
2199 "vae_name": "Wan2_1_VAE_bf16.safetensors"
2200 },
2201 "title": "Wan 2.1 VAE"
2202 },
2203 {
2204 "id": 50,
2205 "type": "CLIPVisionLoader",
2206 "pos": [
2207 2783.71875,
2208 782
2209 ],
2210 "size": [
2211 270,
2212 58
2213 ],
2214 "flags": [],
2215 "order": 17,
2216 "mode": 0,
2217 "inputs": [
2218 {
2219 "localized_name": "clip_name",
2220 "name": "clip_name",
2221 "type": "COMBO",
2222 "widget": {
2223 "name": "clip_name"
2224 },
2225 "link": null
2226 }
2227 ],
2228 "outputs": [
2229 {
2230 "localized_name": "CLIP_VISION",
2231 "name": "CLIP_VISION",
2232 "type": "CLIP_VISION",
2233 "links": [
2234 48
2235 ]
2236 }
2237 ],
2238 "properties": {
2239 "Node name for S&R": "CLIPVisionLoader",
2240 "models": [
2241 {
2242 "name": "clip_vision_h.safetensors",
2243 "url": "https://huggingface.co/Comfy-Org/Wan_2.1_ComfyUI_repackaged/resolve/main/split_files/clip_vision/clip_vision_h.safetensors",
2244 "directory": "clip_vision"
2245 }
2246 ]
2247 },
2248 "widgets_values": [
2249 "clip_vision_h.safetensors"
2250 ],
2251 "widgets_values_named": {
2252 "clip_name": "clip_vision_h.safetensors"
2253 },
2254 "title": "CLIP Vision H"
2255 },
2256 {
2257 "id": 51,
2258 "type": "CheckpointLoaderSimple",
2259 "pos": [
2260 2783.71875,
2261 906
2262 ],
2263 "size": [
2264 270,
2265 98
2266 ],
2267 "flags": [],
2268 "order": 18,
2269 "mode": 0,
2270 "inputs": [
2271 {
2272 "localized_name": "ckpt_name",
2273 "name": "ckpt_name",
2274 "type": "COMBO",
2275 "widget": {
2276 "name": "ckpt_name"
2277 },
2278 "link": null
2279 }
2280 ],
2281 "outputs": [
2282 {
2283 "localized_name": "MODEL",
2284 "name": "MODEL",
2285 "type": "MODEL",
2286 "links": [
2287 55,
2288 68
2289 ]
2290 },
2291 {
2292 "localized_name": "CLIP",
2293 "name": "CLIP",
2294 "type": "CLIP",
2295 "links": [
2296 50,
2297 52
2298 ]
2299 },
2300 {
2301 "localized_name": "VAE",
2302 "name": "VAE",
2303 "type": "VAE",
2304 "links": null
2305 }
2306 ],
2307 "properties": {
2308 "Node name for S&R": "CheckpointLoaderSimple",
2309 "models": [
2310 {
2311 "name": "sam3.1_multiplex_fp16.safetensors",
2312 "url": "https://huggingface.co/Comfy-Org/sam3.1/resolve/main/checkpoints/sam3.1_multiplex_fp16.safetensors",
2313 "directory": "checkpoints"
2314 }
2315 ]
2316 },
2317 "widgets_values": [
2318 "sam3.1_multiplex_fp16.safetensors"
2319 ],
2320 "widgets_values_named": {
2321 "ckpt_name": "sam3.1_multiplex_fp16.safetensors"
2322 },
2323 "title": "SAM 3.1 (tracks people)"
2324 },
2325 {
2326 "id": 52,
2327 "type": "CLIPTextEncode",
2328 "pos": [
2329 4463.71875,
2330 90
2331 ],
2332 "size": [
2333 400,
2334 200
2335 ],
2336 "flags": [],
2337 "order": 23,
2338 "mode": 0,
2339 "inputs": [
2340 {
2341 "localized_name": "clip",
2342 "name": "clip",
2343 "type": "CLIP",
2344 "link": 45
2345 },
2346 {
2347 "localized_name": "text",
2348 "name": "text",
2349 "type": "STRING",
2350 "widget": {
2351 "name": "text"
2352 },
2353 "link": 46
2354 }
2355 ],
2356 "outputs": [
2357 {
2358 "localized_name": "CONDITIONING",
2359 "name": "CONDITIONING",
2360 "type": "CONDITIONING",
2361 "links": [
2362 73,
2363 85
2364 ]
2365 }
2366 ],
2367 "properties": {
2368 "Node name for S&R": "CLIPTextEncode"
2369 },
2370 "widgets_values": [
2371 ""
2372 ],
2373 "widgets_values_named": {
2374 "text": ""
2375 },
2376 "title": "Prompt"
2377 },
2378 {
2379 "id": 53,
2380 "type": "CLIPTextEncode",
2381 "pos": [
2382 4463.71875,
2383 356
2384 ],
2385 "size": [
2386 400,
2387 200
2388 ],
2389 "flags": [],
2390 "order": 24,
2391 "mode": 0,
2392 "inputs": [
2393 {
2394 "localized_name": "clip",
2395 "name": "clip",
2396 "type": "CLIP",
2397 "link": 47
2398 },
2399 {
2400 "localized_name": "text",
2401 "name": "text",
2402 "type": "STRING",
2403 "widget": {
2404 "name": "text"
2405 },
2406 "link": null
2407 }
2408 ],
2409 "outputs": [
2410 {
2411 "localized_name": "CONDITIONING",
2412 "name": "CONDITIONING",
2413 "type": "CONDITIONING",
2414 "links": [
2415 74,
2416 86
2417 ]
2418 }
2419 ],
2420 "properties": {
2421 "Node name for S&R": "CLIPTextEncode"
2422 },
2423 "widgets_values": [
2424 ""
2425 ],
2426 "widgets_values_named": {
2427 "text": ""
2428 },
2429 "title": "Negative prompt (empty)"
2430 },
2431 {
2432 "id": 54,
2433 "type": "CLIPVisionEncode",
2434 "pos": [
2435 4463.71875,
2436 622
2437 ],
2438 "size": [
2439 289.505859375,
2440 78
2441 ],
2442 "flags": [],
2443 "order": 25,
2444 "mode": 0,
2445 "inputs": [
2446 {
2447 "localized_name": "clip_vision",
2448 "name": "clip_vision",
2449 "type": "CLIP_VISION",
2450 "link": 48
2451 },
2452 {
2453 "localized_name": "image",
2454 "name": "image",
2455 "type": "IMAGE",
2456 "link": 49
2457 },
2458 {
2459 "localized_name": "crop",
2460 "name": "crop",
2461 "type": "COMBO",
2462 "widget": {
2463 "name": "crop"
2464 },
2465 "link": null
2466 }
2467 ],
2468 "outputs": [
2469 {
2470 "localized_name": "CLIP_VISION_OUTPUT",
2471 "name": "CLIP_VISION_OUTPUT",
2472 "type": "CLIP_VISION_OUTPUT",
2473 "links": [
2474 83,
2475 95
2476 ]
2477 }
2478 ],
2479 "properties": {
2480 "Node name for S&R": "CLIPVisionEncode"
2481 },
2482 "widgets_values": [
2483 "none"
2484 ],
2485 "widgets_values_named": {
2486 "crop": "none"
2487 },
2488 "title": "Character picture → CLIP Vision"
2489 },
2490 {
2491 "id": 55,
2492 "type": "CLIPTextEncode",
2493 "pos": [
2494 4463.71875,
2495 766
2496 ],
2497 "size": [
2498 400,
2499 200
2500 ],
2501 "flags": [],
2502 "order": 26,
2503 "mode": 0,
2504 "inputs": [
2505 {
2506 "localized_name": "clip",
2507 "name": "clip",
2508 "type": "CLIP",
2509 "link": 50
2510 },
2511 {
2512 "localized_name": "text",
2513 "name": "text",
2514 "type": "STRING",
2515 "widget": {
2516 "name": "text"
2517 },
2518 "link": 51
2519 }
2520 ],
2521 "outputs": [
2522 {
2523 "localized_name": "CONDITIONING",
2524 "name": "CONDITIONING",
2525 "type": "CONDITIONING",
2526 "links": [
2527 69
2528 ]
2529 }
2530 ],
2531 "properties": {
2532 "Node name for S&R": "CLIPTextEncode"
2533 },
2534 "widgets_values": [
2535 ""
2536 ],
2537 "widgets_values_named": {
2538 "text": ""
2539 },
2540 "title": "SAM text: who in the clip"
2541 },
2542 {
2543 "id": 56,
2544 "type": "CLIPTextEncode",
2545 "pos": [
2546 4463.71875,
2547 1032
2548 ],
2549 "size": [
2550 400,
2551 200
2552 ],
2553 "flags": [],
2554 "order": 27,
2555 "mode": 0,
2556 "inputs": [
2557 {
2558 "localized_name": "clip",
2559 "name": "clip",
2560 "type": "CLIP",
2561 "link": 52
2562 },
2563 {
2564 "localized_name": "text",
2565 "name": "text",
2566 "type": "STRING",
2567 "widget": {
2568 "name": "text"
2569 },
2570 "link": 53
2571 }
2572 ],
2573 "outputs": [
2574 {
2575 "localized_name": "CONDITIONING",
2576 "name": "CONDITIONING",
2577 "type": "CONDITIONING",
2578 "links": [
2579 56
2580 ]
2581 }
2582 ],
2583 "properties": {
2584 "Node name for S&R": "CLIPTextEncode"
2585 },
2586 "widgets_values": [
2587 ""
2588 ],
2589 "widgets_values_named": {
2590 "text": ""
2591 },
2592 "title": "SAM text: what in the picture"
2593 },
2594 {
2595 "id": 57,
2596 "type": "SAM3_VideoTrack",
2597 "pos": [
2598 4909.71875,
2599 90
2600 ],
2601 "size": [
2602 275.80859375,
2603 166
2604 ],
2605 "flags": [],
2606 "order": 30,
2607 "mode": 0,
2608 "inputs": [
2609 {
2610 "localized_name": "images",
2611 "name": "images",
2612 "type": "IMAGE",
2613 "link": 137
2614 },
2615 {
2616 "localized_name": "model",
2617 "name": "model",
2618 "type": "MODEL",
2619 "link": 55
2620 },
2621 {
2622 "localized_name": "initial_mask",
2623 "name": "initial_mask",
2624 "shape": 7,
2625 "type": "MASK",
2626 "link": null
2627 },
2628 {
2629 "localized_name": "conditioning",
2630 "name": "conditioning",
2631 "shape": 7,
2632 "type": "CONDITIONING",
2633 "link": 56
2634 },
2635 {
2636 "localized_name": "detection_threshold",
2637 "name": "detection_threshold",
2638 "type": "FLOAT",
2639 "widget": {
2640 "name": "detection_threshold"
2641 },
2642 "link": null
2643 },
2644 {
2645 "localized_name": "max_objects",
2646 "name": "max_objects",
2647 "type": "INT",
2648 "widget": {
2649 "name": "max_objects"
2650 },
2651 "link": null
2652 },
2653 {
2654 "localized_name": "detect_interval",
2655 "name": "detect_interval",
2656 "type": "INT",
2657 "widget": {
2658 "name": "detect_interval"
2659 },
2660 "link": null
2661 }
2662 ],
2663 "outputs": [
2664 {
2665 "localized_name": "track_data",
2666 "name": "track_data",
2667 "type": "SAM3_TRACK_DATA",
2668 "links": [
2669 71
2670 ]
2671 }
2672 ],
2673 "properties": {
2674 "Node name for S&R": "SAM3_VideoTrack"
2675 },
2676 "widgets_values": [
2677 0.5,
2678 4,
2679 1
2680 ],
2681 "widgets_values_named": {
2682 "detection_threshold": 0.5,
2683 "max_objects": 4,
2684 "detect_interval": 1
2685 },
2686 "title": "Find your character in the picture"
2687 },
2688 {
2689 "id": 58,
2690 "type": "KSamplerSelect",
2691 "pos": [
2692 2783.71875,
2693 1070
2694 ],
2695 "size": [
2696 270,
2697 58
2698 ],
2699 "flags": [],
2700 "order": 19,
2701 "mode": 0,
2702 "inputs": [
2703 {
2704 "localized_name": "sampler_name",
2705 "name": "sampler_name",
2706 "type": "COMBO",
2707 "widget": {
2708 "name": "sampler_name"
2709 },
2710 "link": null
2711 }
2712 ],
2713 "outputs": [
2714 {
2715 "localized_name": "SAMPLER",
2716 "name": "SAMPLER",
2717 "type": "SAMPLER",
2718 "links": [
2719 110
2720 ]
2721 }
2722 ],
2723 "properties": {
2724 "Node name for S&R": "KSamplerSelect"
2725 },
2726 "widgets_values": [
2727 "euler"
2728 ],
2729 "widgets_values_named": {
2730 "sampler_name": "euler"
2731 },
2732 "title": "Sampler (euler)"
2733 },
2734 {
2735 "id": 59,
2736 "type": "BasicScheduler",
2737 "pos": [
2738 4047.71875,
2739 214
2740 ],
2741 "size": [
2742 270,
2743 106
2744 ],
2745 "flags": [],
2746 "order": 40,
2747 "mode": 0,
2748 "inputs": [
2749 {
2750 "localized_name": "model",
2751 "name": "model",
2752 "type": "MODEL",
2753 "link": 57
2754 },
2755 {
2756 "localized_name": "scheduler",
2757 "name": "scheduler",
2758 "type": "COMBO",
2759 "widget": {
2760 "name": "scheduler"
2761 },
2762 "link": null
2763 },
2764 {
2765 "localized_name": "steps",
2766 "name": "steps",
2767 "type": "INT",
2768 "widget": {
2769 "name": "steps"
2770 },
2771 "link": 58
2772 },
2773 {
2774 "localized_name": "denoise",
2775 "name": "denoise",
2776 "type": "FLOAT",
2777 "widget": {
2778 "name": "denoise"
2779 },
2780 "link": null
2781 }
2782 ],
2783 "outputs": [
2784 {
2785 "localized_name": "SIGMAS",
2786 "name": "SIGMAS",
2787 "type": "SIGMAS",
2788 "links": [
2789 111
2790 ]
2791 }
2792 ],
2793 "properties": {
2794 "Node name for S&R": "BasicScheduler"
2795 },
2796 "widgets_values": [
2797 "simple",
2798 20,
2799 1
2800 ],
2801 "widgets_values_named": {
2802 "scheduler": "simple",
2803 "steps": 20,
2804 "denoise": 1
2805 },
2806 "title": "Scheduler (simple)"
2807 },
2808 {
2809 "id": 60,
2810 "type": "StartLoop",
2811 "pos": [
2812 8013.058203125,
2813 90
2814 ],
2815 "size": [
2816 349.177734375,
2817 186
2818 ],
2819 "flags": [],
2820 "order": 43,
2821 "mode": 0,
2822 "inputs": [
2823 {
2824 "localized_name": "parent_iteration",
2825 "name": "parent_iteration",
2826 "shape": 7,
2827 "type": "INT",
2828 "link": null
2829 },
2830 {
2831 "localized_name": "initial_iteration_value",
2832 "name": "initial_iteration_value",
2833 "shape": 7,
2834 "type": "*",
2835 "link": null
2836 },
2837 {
2838 "localized_name": "mode",
2839 "name": "mode",
2840 "type": "COMFY_DYNAMICCOMBO_V3",
2841 "widget": {
2842 "name": "mode"
2843 },
2844 "link": null
2845 },
2846 {
2847 "localized_name": "num_iterations",
2848 "name": "mode.num_iterations",
2849 "type": "INT",
2850 "widget": {
2851 "name": "mode.num_iterations"
2852 },
2853 "link": 59
2854 },
2855 {
2856 "localized_name": "cache_iterations",
2857 "name": "cache_iterations",
2858 "type": "BOOLEAN",
2859 "widget": {
2860 "name": "cache_iterations"
2861 },
2862 "link": null
2863 }
2864 ],
2865 "outputs": [
2866 {
2867 "localized_name": "iteration_index",
2868 "name": "iteration_index",
2869 "type": "INT",
2870 "links": [
2871 60
2872 ]
2873 },
2874 {
2875 "localized_name": "is_first",
2876 "name": "is_first",
2877 "type": "BOOLEAN",
2878 "links": [
2879 96,
2880 99,
2881 102,
2882 119
2883 ]
2884 },
2885 {
2886 "localized_name": "is_last",
2887 "name": "is_last",
2888 "type": "BOOLEAN",
2889 "links": null
2890 },
2891 {
2892 "localized_name": "list_item",
2893 "name": "list_item",
2894 "type": "*",
2895 "links": null
2896 },
2897 {
2898 "localized_name": "current_iteration_value",
2899 "name": "current_iteration_value",
2900 "type": "*",
2901 "links": [
2902 84,
2903 116
2904 ]
2905 }
2906 ],
2907 "title": "Loop start (one round = one segment)",
2908 "properties": {
2909 "Node name for S&R": "StartLoop"
2910 },
2911 "widgets_values": [
2912 "simple",
2913 4,
2914 false
2915 ],
2916 "widgets_values_named": {
2917 "mode": "simple",
2918 "mode.num_iterations": 4,
2919 "cache_iterations": false
2920 }
2921 },
2922 {
2923 "id": 61,
2924 "type": "ComfyMathExpression",
2925 "pos": [
2926 8408.2359375,
2927 90
2928 ],
2929 "size": [
2930 400,
2931 200
2932 ],
2933 "flags": [],
2934 "order": 46,
2935 "mode": 0,
2936 "inputs": [
2937 {
2938 "localized_name": "a",
2939 "name": "values.a",
2940 "type": "FLOAT,INT,BOOLEAN",
2941 "link": 60
2942 },
2943 {
2944 "localized_name": "b",
2945 "name": "values.b",
2946 "shape": 7,
2947 "type": "FLOAT,INT,BOOLEAN",
2948 "link": null
2949 },
2950 {
2951 "localized_name": "expression",
2952 "name": "expression",
2953 "type": "STRING",
2954 "widget": {
2955 "name": "expression"
2956 },
2957 "link": null
2958 }
2959 ],
2960 "outputs": [
2961 {
2962 "localized_name": "FLOAT",
2963 "name": "FLOAT",
2964 "type": "FLOAT",
2965 "links": null
2966 },
2967 {
2968 "localized_name": "INT",
2969 "name": "INT",
2970 "type": "INT",
2971 "links": [
2972 62
2973 ]
2974 },
2975 {
2976 "localized_name": "BOOL",
2977 "name": "BOOL",
2978 "type": "BOOLEAN",
2979 "links": null
2980 }
2981 ],
2982 "properties": {
2983 "Node name for S&R": "ComfyMathExpression"
2984 },
2985 "widgets_values": [
2986 "a * 76"
2987 ],
2988 "widgets_values_named": {
2989 "expression": "a * 76"
2990 },
2991 "title": "First frame of this round (round × 76)"
2992 },
2993 {
2994 "id": 62,
2995 "type": "ImageFromBatch",
2996 "pos": [
2997 8854.2359375,
2998 90
2999 ],
3000 "size": [
3001 270,
3002 82
3003 ],
3004 "flags": [],
3005 "order": 52,
3006 "mode": 0,
3007 "inputs": [
3008 {
3009 "localized_name": "image",
3010 "name": "image",
3011 "type": "IMAGE",
3012 "link": 61
3013 },
3014 {
3015 "localized_name": "batch_index",
3016 "name": "batch_index",
3017 "type": "INT",
3018 "widget": {
3019 "name": "batch_index"
3020 },
3021 "link": 62
3022 },
3023 {
3024 "localized_name": "length",
3025 "name": "length",
3026 "type": "INT",
3027 "widget": {
3028 "name": "length"
3029 },
3030 "link": null
3031 }
3032 ],
3033 "outputs": [
3034 {
3035 "localized_name": "IMAGE",
3036 "name": "IMAGE",
3037 "type": "IMAGE",
3038 "links": [
3039 63
3040 ]
3041 }
3042 ],
3043 "properties": {
3044 "Node name for S&R": "ImageFromBatch"
3045 },
3046 "widgets_values": [
3047 0,
3048 81
3049 ],
3050 "widgets_values_named": {
3051 "batch_index": 0,
3052 "length": 81
3053 },
3054 "title": "This round's 81 frames"
3055 },
3056 {
3057 "id": 63,
3058 "type": "ResizeImageMaskNode",
3059 "pos": [
3060 9170.2359375,
3061 90
3062 ],
3063 "size": [
3064 270,
3065 154
3066 ],
3067 "flags": [],
3068 "order": 53,
3069 "mode": 0,
3070 "inputs": [
3071 {
3072 "localized_name": "input",
3073 "name": "input",
3074 "type": "IMAGE,MASK",
3075 "link": 63
3076 },
3077 {
3078 "localized_name": "resize_type",
3079 "name": "resize_type",
3080 "type": "COMFY_DYNAMICCOMBO_V3",
3081 "widget": {
3082 "name": "resize_type"
3083 },
3084 "link": null
3085 },
3086 {
3087 "localized_name": "width",
3088 "name": "resize_type.width",
3089 "type": "INT",
3090 "widget": {
3091 "name": "resize_type.width"
3092 },
3093 "link": 64
3094 },
3095 {
3096 "localized_name": "height",
3097 "name": "resize_type.height",
3098 "type": "INT",
3099 "widget": {
3100 "name": "resize_type.height"
3101 },
3102 "link": 65
3103 },
3104 {
3105 "localized_name": "crop",
3106 "name": "resize_type.crop",
3107 "type": "COMBO",
3108 "widget": {
3109 "name": "resize_type.crop"
3110 },
3111 "link": null
3112 },
3113 {
3114 "localized_name": "scale_method",
3115 "name": "scale_method",
3116 "type": "COMBO",
3117 "widget": {
3118 "name": "scale_method"
3119 },
3120 "link": null
3121 }
3122 ],
3123 "outputs": [
3124 {
3125 "localized_name": "resized",
3126 "name": "resized",
3127 "type": "IMAGE",
3128 "links": [
3129 66,
3130 67,
3131 79,
3132 91
3133 ]
3134 }
3135 ],
3136 "properties": {
3137 "Node name for S&R": "ResizeImageMaskNode"
3138 },
3139 "widgets_values": [
3140 "scale dimensions",
3141 512,
3142 512,
3143 "center",
3144 "area"
3145 ],
3146 "widgets_values_named": {
3147 "resize_type": "scale dimensions",
3148 "resize_type.width": 512,
3149 "resize_type.height": 512,
3150 "resize_type.crop": "center",
3151 "scale_method": "area"
3152 },
3153 "title": "Resize to output size"
3154 },
3155 {
3156 "id": 64,
3157 "type": "GetImageSize",
3158 "pos": [
3159 9486.2359375,
3160 90
3161 ],
3162 "size": [
3163 140,
3164 66
3165 ],
3166 "flags": [],
3167 "order": 54,
3168 "mode": 0,
3169 "inputs": [
3170 {
3171 "localized_name": "image",
3172 "name": "image",
3173 "type": "IMAGE",
3174 "link": 66
3175 }
3176 ],
3177 "outputs": [
3178 {
3179 "localized_name": "width",
3180 "name": "width",
3181 "type": "INT",
3182 "links": [
3183 76,
3184 88
3185 ]
3186 },
3187 {
3188 "localized_name": "height",
3189 "name": "height",
3190 "type": "INT",
3191 "links": [
3192 77,
3193 89
3194 ]
3195 },
3196 {
3197 "localized_name": "batch_size",
3198 "name": "batch_size",
3199 "type": "INT",
3200 "links": [
3201 78,
3202 90
3203 ]
3204 }
3205 ],
3206 "properties": {
3207 "Node name for S&R": "GetImageSize"
3208 },
3209 "title": "Segment size"
3210 },
3211 {
3212 "id": 65,
3213 "type": "SAM3_VideoTrack",
3214 "pos": [
3215 9486.2359375,
3216 222
3217 ],
3218 "size": [
3219 275.80859375,
3220 166
3221 ],
3222 "flags": [],
3223 "order": 55,
3224 "mode": 0,
3225 "inputs": [
3226 {
3227 "localized_name": "images",
3228 "name": "images",
3229 "type": "IMAGE",
3230 "link": 67
3231 },
3232 {
3233 "localized_name": "model",
3234 "name": "model",
3235 "type": "MODEL",
3236 "link": 68
3237 },
3238 {
3239 "localized_name": "initial_mask",
3240 "name": "initial_mask",
3241 "shape": 7,
3242 "type": "MASK",
3243 "link": null
3244 },
3245 {
3246 "localized_name": "conditioning",
3247 "name": "conditioning",
3248 "shape": 7,
3249 "type": "CONDITIONING",
3250 "link": 69
3251 },
3252 {
3253 "localized_name": "detection_threshold",
3254 "name": "detection_threshold",
3255 "type": "FLOAT",
3256 "widget": {
3257 "name": "detection_threshold"
3258 },
3259 "link": null
3260 },
3261 {
3262 "localized_name": "max_objects",
3263 "name": "max_objects",
3264 "type": "INT",
3265 "widget": {
3266 "name": "max_objects"
3267 },
3268 "link": null
3269 },
3270 {
3271 "localized_name": "detect_interval",
3272 "name": "detect_interval",
3273 "type": "INT",
3274 "widget": {
3275 "name": "detect_interval"
3276 },
3277 "link": null
3278 }
3279 ],
3280 "outputs": [
3281 {
3282 "localized_name": "track_data",
3283 "name": "track_data",
3284 "type": "SAM3_TRACK_DATA",
3285 "links": [
3286 70
3287 ]
3288 }
3289 ],
3290 "properties": {
3291 "Node name for S&R": "SAM3_VideoTrack"
3292 },
3293 "widgets_values": [
3294 0.5,
3295 4,
3296 1
3297 ],
3298 "widgets_values_named": {
3299 "detection_threshold": 0.5,
3300 "max_objects": 4,
3301 "detect_interval": 1
3302 },
3303 "title": "Track people (SAM 3.1)"
3304 },
3305 {
3306 "id": 66,
3307 "type": "SCAIL2ColoredMask",
3308 "pos": [
3309 9808.04453125,
3310 90
3311 ],
3312 "size": [
3313 339.45703125,
3314 126
3315 ],
3316 "flags": [],
3317 "order": 56,
3318 "mode": 0,
3319 "inputs": [
3320 {
3321 "localized_name": "driving_track_data",
3322 "name": "driving_track_data",
3323 "type": "SAM3_TRACK_DATA",
3324 "link": 70
3325 },
3326 {
3327 "localized_name": "reference_masks",
3328 "name": "ref_track_data",
3329 "shape": 7,
3330 "type": "SAM3_TRACK_DATA,MASK",
3331 "link": 71
3332 },
3333 {
3334 "localized_name": "object_indices",
3335 "name": "object_indices",
3336 "type": "STRING",
3337 "widget": {
3338 "name": "object_indices"
3339 },
3340 "link": 72
3341 },
3342 {
3343 "localized_name": "sort_by",
3344 "name": "sort_by",
3345 "type": "COMBO",
3346 "widget": {
3347 "name": "sort_by"
3348 },
3349 "link": null
3350 },
3351 {
3352 "localized_name": "replacement_mode",
3353 "name": "replacement_mode",
3354 "type": "BOOLEAN",
3355 "widget": {
3356 "name": "replacement_mode"
3357 },
3358 "link": null
3359 }
3360 ],
3361 "outputs": [
3362 {
3363 "localized_name": "pose_video_mask",
3364 "name": "pose_video_mask",
3365 "type": "IMAGE",
3366 "links": [
3367 80,
3368 92
3369 ]
3370 },
3371 {
3372 "localized_name": "reference_image_mask",
3373 "name": "reference_image_mask",
3374 "type": "IMAGE",
3375 "links": [
3376 82,
3377 94
3378 ]
3379 }
3380 ],
3381 "properties": {
3382 "Node name for S&R": "SCAIL2ColoredMask"
3383 },
3384 "widgets_values": [
3385 "",
3386 "left_to_right",
3387 true
3388 ],
3389 "widgets_values_named": {
3390 "object_indices": "",
3391 "sort_by": "left_to_right",
3392 "replacement_mode": true
3393 },
3394 "title": "SCAIL-2 coloured mask (which person)"
3395 },
3396 {
3397 "id": 67,
3398 "type": "WanSCAILToVideo",
3399 "pos": [
3400 10193.5015625,
3401 90
3402 ],
3403 "size": [
3404 344.02734375,
3405 434
3406 ],
3407 "flags": [],
3408 "order": 57,
3409 "mode": 0,
3410 "inputs": [
3411 {
3412 "localized_name": "positive",
3413 "name": "positive",
3414 "type": "CONDITIONING",
3415 "link": 73
3416 },
3417 {
3418 "localized_name": "negative",
3419 "name": "negative",
3420 "type": "CONDITIONING",
3421 "link": 74
3422 },
3423 {
3424 "localized_name": "vae",
3425 "name": "vae",
3426 "type": "VAE",
3427 "link": 75
3428 },
3429 {
3430 "localized_name": "pose_video",
3431 "name": "pose_video",
3432 "shape": 7,
3433 "type": "IMAGE",
3434 "link": 79
3435 },
3436 {
3437 "localized_name": "pose_video_mask",
3438 "name": "pose_video_mask",
3439 "shape": 7,
3440 "type": "IMAGE",
3441 "link": 80
3442 },
3443 {
3444 "localized_name": "reference_image",
3445 "name": "reference_image",
3446 "shape": 7,
3447 "type": "IMAGE",
3448 "link": 138
3449 },
3450 {
3451 "localized_name": "reference_image_mask",
3452 "name": "reference_image_mask",
3453 "shape": 7,
3454 "type": "IMAGE",
3455 "link": 82
3456 },
3457 {
3458 "localized_name": "clip_vision_output",
3459 "name": "clip_vision_output",
3460 "shape": 7,
3461 "type": "CLIP_VISION_OUTPUT",
3462 "link": 83
3463 },
3464 {
3465 "localized_name": "previous_frames",
3466 "name": "previous_frames",
3467 "shape": 7,
3468 "type": "IMAGE",
3469 "link": null
3470 },
3471 {
3472 "localized_name": "width",
3473 "name": "width",
3474 "type": "INT",
3475 "widget": {
3476 "name": "width"
3477 },
3478 "link": 76
3479 },
3480 {
3481 "localized_name": "height",
3482 "name": "height",
3483 "type": "INT",
3484 "widget": {
3485 "name": "height"
3486 },
3487 "link": 77
3488 },
3489 {
3490 "localized_name": "length",
3491 "name": "length",
3492 "type": "INT",
3493 "widget": {
3494 "name": "length"
3495 },
3496 "link": 78
3497 },
3498 {
3499 "localized_name": "batch_size",
3500 "name": "batch_size",
3501 "type": "INT",
3502 "widget": {
3503 "name": "batch_size"
3504 },
3505 "link": null
3506 },
3507 {
3508 "localized_name": "pose_strength",
3509 "name": "pose_strength",
3510 "type": "FLOAT",
3511 "widget": {
3512 "name": "pose_strength"
3513 },
3514 "link": null
3515 },
3516 {
3517 "localized_name": "pose_start",
3518 "name": "pose_start",
3519 "type": "FLOAT",
3520 "widget": {
3521 "name": "pose_start"
3522 },
3523 "link": null
3524 },
3525 {
3526 "localized_name": "pose_end",
3527 "name": "pose_end",
3528 "type": "FLOAT",
3529 "widget": {
3530 "name": "pose_end"
3531 },
3532 "link": null
3533 },
3534 {
3535 "localized_name": "video_frame_offset",
3536 "name": "video_frame_offset",
3537 "type": "INT",
3538 "widget": {
3539 "name": "video_frame_offset"
3540 },
3541 "link": null
3542 },
3543 {
3544 "localized_name": "previous_frame_count",
3545 "name": "previous_frame_count",
3546 "type": "INT",
3547 "widget": {
3548 "name": "previous_frame_count"
3549 },
3550 "link": null
3551 },
3552 {
3553 "localized_name": "replacement_mode",
3554 "name": "replacement_mode",
3555 "shape": 7,
3556 "type": "BOOLEAN",
3557 "widget": {
3558 "name": "replacement_mode"
3559 },
3560 "link": null
3561 }
3562 ],
3563 "outputs": [
3564 {
3565 "localized_name": "positive",
3566 "name": "positive",
3567 "type": "CONDITIONING",
3568 "links": [
3569 97
3570 ]
3571 },
3572 {
3573 "localized_name": "negative",
3574 "name": "negative",
3575 "type": "CONDITIONING",
3576 "links": [
3577 100
3578 ]
3579 },
3580 {
3581 "localized_name": "latent",
3582 "name": "latent",
3583 "type": "LATENT",
3584 "links": [
3585 103
3586 ]
3587 },
3588 {
3589 "localized_name": "video_frame_offset",
3590 "name": "video_frame_offset",
3591 "type": "INT",
3592 "links": null
3593 }
3594 ],
3595 "properties": {
3596 "Node name for S&R": "WanSCAILToVideo"
3597 },
3598 "widgets_values": [
3599 512,
3600 896,
3601 81,
3602 1,
3603 1,
3604 0,
3605 1,
3606 0,
3607 5,
3608 true
3609 ],
3610 "widgets_values_named": {
3611 "width": 512,
3612 "height": 896,
3613 "length": 81,
3614 "batch_size": 1,
3615 "pose_strength": 1,
3616 "pose_start": 0,
3617 "pose_end": 1,
3618 "video_frame_offset": 0,
3619 "previous_frame_count": 5,
3620 "replacement_mode": true
3621 },
3622 "title": "SCAIL-2 · first round"
3623 },
3624 {
3625 "id": 68,
3626 "type": "WanSCAILToVideo",
3627 "pos": [
3628 10193.5015625,
3629 590
3630 ],
3631 "size": [
3632 344.02734375,
3633 434
3634 ],
3635 "flags": [],
3636 "order": 58,
3637 "mode": 0,
3638 "inputs": [
3639 {
3640 "localized_name": "positive",
3641 "name": "positive",
3642 "type": "CONDITIONING",
3643 "link": 85
3644 },
3645 {
3646 "localized_name": "negative",
3647 "name": "negative",
3648 "type": "CONDITIONING",
3649 "link": 86
3650 },
3651 {
3652 "localized_name": "vae",
3653 "name": "vae",
3654 "type": "VAE",
3655 "link": 87
3656 },
3657 {
3658 "localized_name": "pose_video",
3659 "name": "pose_video",
3660 "shape": 7,
3661 "type": "IMAGE",
3662 "link": 91
3663 },
3664 {
3665 "localized_name": "pose_video_mask",
3666 "name": "pose_video_mask",
3667 "shape": 7,
3668 "type": "IMAGE",
3669 "link": 92
3670 },
3671 {
3672 "localized_name": "reference_image",
3673 "name": "reference_image",
3674 "shape": 7,
3675 "type": "IMAGE",
3676 "link": 139
3677 },
3678 {
3679 "localized_name": "reference_image_mask",
3680 "name": "reference_image_mask",
3681 "shape": 7,
3682 "type": "IMAGE",
3683 "link": 94
3684 },
3685 {
3686 "localized_name": "clip_vision_output",
3687 "name": "clip_vision_output",
3688 "shape": 7,
3689 "type": "CLIP_VISION_OUTPUT",
3690 "link": 95
3691 },
3692 {
3693 "localized_name": "previous_frames",
3694 "name": "previous_frames",
3695 "shape": 7,
3696 "type": "IMAGE",
3697 "link": 84
3698 },
3699 {
3700 "localized_name": "width",
3701 "name": "width",
3702 "type": "INT",
3703 "widget": {
3704 "name": "width"
3705 },
3706 "link": 88
3707 },
3708 {
3709 "localized_name": "height",
3710 "name": "height",
3711 "type": "INT",
3712 "widget": {
3713 "name": "height"
3714 },
3715 "link": 89
3716 },
3717 {
3718 "localized_name": "length",
3719 "name": "length",
3720 "type": "INT",
3721 "widget": {
3722 "name": "length"
3723 },
3724 "link": 90
3725 },
3726 {
3727 "localized_name": "batch_size",
3728 "name": "batch_size",
3729 "type": "INT",
3730 "widget": {
3731 "name": "batch_size"
3732 },
3733 "link": null
3734 },
3735 {
3736 "localized_name": "pose_strength",
3737 "name": "pose_strength",
3738 "type": "FLOAT",
3739 "widget": {
3740 "name": "pose_strength"
3741 },
3742 "link": null
3743 },
3744 {
3745 "localized_name": "pose_start",
3746 "name": "pose_start",
3747 "type": "FLOAT",
3748 "widget": {
3749 "name": "pose_start"
3750 },
3751 "link": null
3752 },
3753 {
3754 "localized_name": "pose_end",
3755 "name": "pose_end",
3756 "type": "FLOAT",
3757 "widget": {
3758 "name": "pose_end"
3759 },
3760 "link": null
3761 },
3762 {
3763 "localized_name": "video_frame_offset",
3764 "name": "video_frame_offset",
3765 "type": "INT",
3766 "widget": {
3767 "name": "video_frame_offset"
3768 },
3769 "link": null
3770 },
3771 {
3772 "localized_name": "previous_frame_count",
3773 "name": "previous_frame_count",
3774 "type": "INT",
3775 "widget": {
3776 "name": "previous_frame_count"
3777 },
3778 "link": null
3779 },
3780 {
3781 "localized_name": "replacement_mode",
3782 "name": "replacement_mode",
3783 "shape": 7,
3784 "type": "BOOLEAN",
3785 "widget": {
3786 "name": "replacement_mode"
3787 },
3788 "link": null
3789 }
3790 ],
3791 "outputs": [
3792 {
3793 "localized_name": "positive",
3794 "name": "positive",
3795 "type": "CONDITIONING",
3796 "links": [
3797 98
3798 ]
3799 },
3800 {
3801 "localized_name": "negative",
3802 "name": "negative",
3803 "type": "CONDITIONING",
3804 "links": [
3805 101
3806 ]
3807 },
3808 {
3809 "localized_name": "latent",
3810 "name": "latent",
3811 "type": "LATENT",
3812 "links": [
3813 104
3814 ]
3815 },
3816 {
3817 "localized_name": "video_frame_offset",
3818 "name": "video_frame_offset",
3819 "type": "INT",
3820 "links": null
3821 }
3822 ],
3823 "properties": {
3824 "Node name for S&R": "WanSCAILToVideo"
3825 },
3826 "widgets_values": [
3827 512,
3828 896,
3829 81,
3830 1,
3831 1,
3832 0,
3833 1,
3834 0,
3835 5,
3836 true
3837 ],
3838 "widgets_values_named": {
3839 "width": 512,
3840 "height": 896,
3841 "length": 81,
3842 "batch_size": 1,
3843 "pose_strength": 1,
3844 "pose_start": 0,
3845 "pose_end": 1,
3846 "video_frame_offset": 0,
3847 "previous_frame_count": 5,
3848 "replacement_mode": true
3849 },
3850 "title": "SCAIL-2 · next rounds (5-frame overlap)"
3851 },
3852 {
3853 "id": 69,
3854 "type": "ComfySwitchNode",
3855 "pos": [
3856 10583.52890625,
3857 90
3858 ],
3859 "size": [
3860 270,
3861 78
3862 ],
3863 "flags": [],
3864 "order": 59,
3865 "mode": 0,
3866 "inputs": [
3867 {
3868 "localized_name": "on_false",
3869 "name": "on_false",
3870 "shape": 7,
3871 "type": "CONDITIONING",
3872 "link": 98
3873 },
3874 {
3875 "localized_name": "on_true",
3876 "name": "on_true",
3877 "shape": 7,
3878 "type": "CONDITIONING",
3879 "link": 97
3880 },
3881 {
3882 "localized_name": "switch",
3883 "name": "switch",
3884 "type": "BOOLEAN",
3885 "widget": {
3886 "name": "switch"
3887 },
3888 "link": 96
3889 }
3890 ],
3891 "outputs": [
3892 {
3893 "localized_name": "output",
3894 "name": "output",
3895 "type": "CONDITIONING",
3896 "links": [
3897 108
3898 ]
3899 }
3900 ],
3901 "properties": {
3902 "Node name for S&R": "ComfySwitchNode"
3903 },
3904 "widgets_values": [
3905 false
3906 ],
3907 "widgets_values_named": {
3908 "switch": false
3909 },
3910 "title": "First round? → positive"
3911 },
3912 {
3913 "id": 70,
3914 "type": "ComfySwitchNode",
3915 "pos": [
3916 10583.52890625,
3917 234
3918 ],
3919 "size": [
3920 270,
3921 78
3922 ],
3923 "flags": [],
3924 "order": 60,
3925 "mode": 0,
3926 "inputs": [
3927 {
3928 "localized_name": "on_false",
3929 "name": "on_false",
3930 "shape": 7,
3931 "type": "CONDITIONING",
3932 "link": 101
3933 },
3934 {
3935 "localized_name": "on_true",
3936 "name": "on_true",
3937 "shape": 7,
3938 "type": "CONDITIONING",
3939 "link": 100
3940 },
3941 {
3942 "localized_name": "switch",
3943 "name": "switch",
3944 "type": "BOOLEAN",
3945 "widget": {
3946 "name": "switch"
3947 },
3948 "link": 99
3949 }
3950 ],
3951 "outputs": [
3952 {
3953 "localized_name": "output",
3954 "name": "output",
3955 "type": "CONDITIONING",
3956 "links": [
3957 109
3958 ]
3959 }
3960 ],
3961 "properties": {
3962 "Node name for S&R": "ComfySwitchNode"
3963 },
3964 "widgets_values": [
3965 false
3966 ],
3967 "widgets_values_named": {
3968 "switch": false
3969 },
3970 "title": "First round? → negative"
3971 },
3972 {
3973 "id": 71,
3974 "type": "ComfySwitchNode",
3975 "pos": [
3976 10583.52890625,
3977 378
3978 ],
3979 "size": [
3980 270,
3981 78
3982 ],
3983 "flags": [],
3984 "order": 61,
3985 "mode": 0,
3986 "inputs": [
3987 {
3988 "localized_name": "on_false",
3989 "name": "on_false",
3990 "shape": 7,
3991 "type": "LATENT",
3992 "link": 104
3993 },
3994 {
3995 "localized_name": "on_true",
3996 "name": "on_true",
3997 "shape": 7,
3998 "type": "LATENT",
3999 "link": 103
4000 },
4001 {
4002 "localized_name": "switch",
4003 "name": "switch",
4004 "type": "BOOLEAN",
4005 "widget": {
4006 "name": "switch"
4007 },
4008 "link": 102
4009 }
4010 ],
4011 "outputs": [
4012 {
4013 "localized_name": "output",
4014 "name": "output",
4015 "type": "LATENT",
4016 "links": [
4017 112
4018 ]
4019 }
4020 ],
4021 "properties": {
4022 "Node name for S&R": "ComfySwitchNode"
4023 },
4024 "widgets_values": [
4025 false
4026 ],
4027 "widgets_values_named": {
4028 "switch": false
4029 },
4030 "title": "First round? → latent"
4031 },
4032 {
4033 "id": 72,
4034 "type": "SamplerCustom",
4035 "pos": [
4036 10899.52890625,
4037 90
4038 ],
4039 "size": [
4040 271.125,
4041 230
4042 ],
4043 "flags": [],
4044 "order": 62,
4045 "mode": 0,
4046 "inputs": [
4047 {
4048 "localized_name": "model",
4049 "name": "model",
4050 "type": "MODEL",
4051 "link": 105
4052 },
4053 {
4054 "localized_name": "positive",
4055 "name": "positive",
4056 "type": "CONDITIONING",
4057 "link": 108
4058 },
4059 {
4060 "localized_name": "negative",
4061 "name": "negative",
4062 "type": "CONDITIONING",
4063 "link": 109
4064 },
4065 {
4066 "localized_name": "sampler",
4067 "name": "sampler",
4068 "type": "SAMPLER",
4069 "link": 110
4070 },
4071 {
4072 "localized_name": "sigmas",
4073 "name": "sigmas",
4074 "type": "SIGMAS",
4075 "link": 111
4076 },
4077 {
4078 "localized_name": "latent_image",
4079 "name": "latent_image",
4080 "type": "LATENT",
4081 "link": 112
4082 },
4083 {
4084 "localized_name": "add_noise",
4085 "name": "add_noise",
4086 "type": "BOOLEAN",
4087 "widget": {
4088 "name": "add_noise"
4089 },
4090 "link": null
4091 },
4092 {
4093 "localized_name": "noise_seed",
4094 "name": "noise_seed",
4095 "type": "INT",
4096 "widget": {
4097 "name": "noise_seed"
4098 },
4099 "link": 106
4100 },
4101 {
4102 "localized_name": "cfg",
4103 "name": "cfg",
4104 "type": "FLOAT",
4105 "widget": {
4106 "name": "cfg"
4107 },
4108 "link": 107
4109 }
4110 ],
4111 "outputs": [
4112 {
4113 "localized_name": "output",
4114 "name": "output",
4115 "type": "LATENT",
4116 "links": null
4117 },
4118 {
4119 "localized_name": "denoised_output",
4120 "name": "denoised_output",
4121 "type": "LATENT",
4122 "links": [
4123 113
4124 ]
4125 }
4126 ],
4127 "properties": {
4128 "Node name for S&R": "SamplerCustom"
4129 },
4130 "widgets_values": [
4131 true,
4132 0,
4133 "randomize",
4134 8
4135 ],
4136 "widgets_values_named": {
4137 "add_noise": true,
4138 "noise_seed": 0,
4139 "control_after_generate": "randomize",
4140 "cfg": 8
4141 },
4142 "title": "Sample"
4143 },
4144 {
4145 "id": 73,
4146 "type": "VAEDecode",
4147 "pos": [
4148 11216.65390625,
4149 90
4150 ],
4151 "size": [
4152 140,
4153 46
4154 ],
4155 "flags": [],
4156 "order": 63,
4157 "mode": 0,
4158 "inputs": [
4159 {
4160 "localized_name": "samples",
4161 "name": "samples",
4162 "type": "LATENT",
4163 "link": 113
4164 },
4165 {
4166 "localized_name": "vae",
4167 "name": "vae",
4168 "type": "VAE",
4169 "link": 114
4170 }
4171 ],
4172 "outputs": [
4173 {
4174 "localized_name": "IMAGE",
4175 "name": "IMAGE",
4176 "type": "IMAGE",
4177 "links": [
4178 115,
4179 120,
4180 123
4181 ]
4182 }
4183 ],
4184 "properties": {
4185 "Node name for S&R": "VAEDecode"
4186 },
4187 "title": "Decode"
4188 },
4189 {
4190 "id": 74,
4191 "type": "ImageFromBatch",
4192 "pos": [
4193 11402.65390625,
4194 90
4195 ],
4196 "size": [
4197 270,
4198 82
4199 ],
4200 "flags": [],
4201 "order": 64,
4202 "mode": 0,
4203 "inputs": [
4204 {
4205 "localized_name": "image",
4206 "name": "image",
4207 "type": "IMAGE",
4208 "link": 115
4209 },
4210 {
4211 "localized_name": "batch_index",
4212 "name": "batch_index",
4213 "type": "INT",
4214 "widget": {
4215 "name": "batch_index"
4216 },
4217 "link": null
4218 },
4219 {
4220 "localized_name": "length",
4221 "name": "length",
4222 "type": "INT",
4223 "widget": {
4224 "name": "length"
4225 },
4226 "link": null
4227 }
4228 ],
4229 "outputs": [
4230 {
4231 "localized_name": "IMAGE",
4232 "name": "IMAGE",
4233 "type": "IMAGE",
4234 "links": [
4235 117
4236 ]
4237 }
4238 ],
4239 "properties": {
4240 "Node name for S&R": "ImageFromBatch"
4241 },
4242 "widgets_values": [
4243 5,
4244 4096
4245 ],
4246 "widgets_values_named": {
4247 "batch_index": 5,
4248 "length": 4096
4249 },
4250 "title": "Drop the 5 overlap frames"
4251 },
4252 {
4253 "id": 75,
4254 "type": "ImageFromBatch",
4255 "pos": [
4256 8408.2359375,
4257 356
4258 ],
4259 "size": [
4260 270,
4261 82
4262 ],
4263 "flags": [],
4264 "order": 47,
4265 "mode": 0,
4266 "inputs": [
4267 {
4268 "localized_name": "image",
4269 "name": "image",
4270 "type": "IMAGE",
4271 "link": 116
4272 },
4273 {
4274 "localized_name": "batch_index",
4275 "name": "batch_index",
4276 "type": "INT",
4277 "widget": {
4278 "name": "batch_index"
4279 },
4280 "link": null
4281 },
4282 {
4283 "localized_name": "length",
4284 "name": "length",
4285 "type": "INT",
4286 "widget": {
4287 "name": "length"
4288 },
4289 "link": null
4290 }
4291 ],
4292 "outputs": [
4293 {
4294 "localized_name": "IMAGE",
4295 "name": "IMAGE",
4296 "type": "IMAGE",
4297 "links": [
4298 118
4299 ]
4300 }
4301 ],
4302 "properties": {
4303 "Node name for S&R": "ImageFromBatch"
4304 },
4305 "widgets_values": [
4306 -1,
4307 1
4308 ],
4309 "widgets_values_named": {
4310 "batch_index": -1,
4311 "length": 1
4312 },
4313 "title": "Last frame of the previous round"
4314 },
4315 {
4316 "id": 76,
4317 "type": "ColorTransfer",
4318 "pos": [
4319 11718.65390625,
4320 90
4321 ],
4322 "size": [
4323 270,
4324 126
4325 ],
4326 "flags": [],
4327 "order": 65,
4328 "mode": 0,
4329 "inputs": [
4330 {
4331 "localized_name": "image_target",
4332 "name": "image_target",
4333 "type": "IMAGE",
4334 "link": 117
4335 },
4336 {
4337 "localized_name": "image_ref",
4338 "name": "image_ref",
4339 "type": "IMAGE",
4340 "link": 118
4341 },
4342 {
4343 "localized_name": "method",
4344 "name": "method",
4345 "type": "COMBO",
4346 "widget": {
4347 "name": "method"
4348 },
4349 "link": null
4350 },
4351 {
4352 "localized_name": "source_stats",
4353 "name": "source_stats",
4354 "type": "COMFY_DYNAMICCOMBO_V3",
4355 "widget": {
4356 "name": "source_stats"
4357 },
4358 "link": null
4359 },
4360 {
4361 "localized_name": "strength",
4362 "name": "strength",
4363 "type": "FLOAT",
4364 "widget": {
4365 "name": "strength"
4366 },
4367 "link": null
4368 }
4369 ],
4370 "outputs": [
4371 {
4372 "localized_name": "image",
4373 "name": "image",
4374 "type": "IMAGE",
4375 "links": [
4376 121
4377 ]
4378 }
4379 ],
4380 "properties": {
4381 "Node name for S&R": "ColorTransfer"
4382 },
4383 "widgets_values": [
4384 "reinhard_lab",
4385 "per_frame",
4386 1
4387 ],
4388 "widgets_values_named": {
4389 "method": "reinhard_lab",
4390 "source_stats": "per_frame",
4391 "strength": 1
4392 },
4393 "title": "Colour match (reinhard_lab)"
4394 },
4395 {
4396 "id": 77,
4397 "type": "ComfySwitchNode",
4398 "pos": [
4399 12034.65390625,
4400 90
4401 ],
4402 "size": [
4403 270,
4404 78
4405 ],
4406 "flags": [],
4407 "order": 66,
4408 "mode": 0,
4409 "inputs": [
4410 {
4411 "localized_name": "on_false",
4412 "name": "on_false",
4413 "shape": 7,
4414 "type": "IMAGE",
4415 "link": 121
4416 },
4417 {
4418 "localized_name": "on_true",
4419 "name": "on_true",
4420 "shape": 7,
4421 "type": "IMAGE",
4422 "link": 120
4423 },
4424 {
4425 "localized_name": "switch",
4426 "name": "switch",
4427 "type": "BOOLEAN",
4428 "widget": {
4429 "name": "switch"
4430 },
4431 "link": 119
4432 }
4433 ],
4434 "outputs": [
4435 {
4436 "localized_name": "output",
4437 "name": "output",
4438 "type": "IMAGE",
4439 "links": [
4440 122
4441 ]
4442 }
4443 ],
4444 "properties": {
4445 "Node name for S&R": "ComfySwitchNode"
4446 },
4447 "widgets_values": [
4448 false
4449 ],
4450 "widgets_values_named": {
4451 "switch": false
4452 },
4453 "title": "First round? → keep every frame"
4454 },
4455 {
4456 "id": 78,
4457 "type": "EndLoop",
4458 "pos": [
4459 12350.65390625,
4460 90
4461 ],
4462 "size": [
4463 270,
4464 98
4465 ],
4466 "flags": [],
4467 "order": 67,
4468 "mode": 0,
4469 "inputs": [
4470 {
4471 "localized_name": "output_value",
4472 "name": "output_value",
4473 "shape": 7,
4474 "type": "*",
4475 "link": 122
4476 },
4477 {
4478 "localized_name": "next_iteration_value",
4479 "name": "next_iteration_value",
4480 "shape": 7,
4481 "type": "*",
4482 "link": 123
4483 },
4484 {
4485 "localized_name": "termination0",
4486 "name": "terminations.termination0",
4487 "shape": 7,
4488 "type": "*",
4489 "link": null
4490 },
4491 {
4492 "localized_name": "accumulate",
4493 "name": "accumulate",
4494 "type": "BOOLEAN",
4495 "widget": {
4496 "name": "accumulate"
4497 },
4498 "link": null
4499 }
4500 ],
4501 "outputs": [
4502 {
4503 "localized_name": "outputs",
4504 "name": "outputs",
4505 "shape": 6,
4506 "type": "IMAGE",
4507 "links": [
4508 124
4509 ]
4510 }
4511 ],
4512 "title": "Loop end (joins every round)",
4513 "properties": {
4514 "Node name for S&R": "EndLoop"
4515 },
4516 "widgets_values": [
4517 true
4518 ],
4519 "widgets_values_named": {
4520 "accumulate": true
4521 }
4522 },
4523 {
4524 "id": 79,
4525 "type": "RebatchImages",
4526 "pos": [
4527 12666.65390625,
4528 90
4529 ],
4530 "size": [
4531 270,
4532 58
4533 ],
4534 "flags": [],
4535 "order": 68,
4536 "mode": 0,
4537 "inputs": [
4538 {
4539 "localized_name": "images",
4540 "name": "images",
4541 "type": "IMAGE",
4542 "link": 124
4543 },
4544 {
4545 "localized_name": "batch_size",
4546 "name": "batch_size",
4547 "type": "INT",
4548 "widget": {
4549 "name": "batch_size"
4550 },
4551 "link": null
4552 }
4553 ],
4554 "outputs": [
4555 {
4556 "localized_name": "IMAGE",
4557 "name": "IMAGE",
4558 "shape": 6,
4559 "type": "IMAGE",
4560 "links": [
4561 125
4562 ]
4563 }
4564 ],
4565 "properties": {
4566 "Node name for S&R": "RebatchImages"
4567 },
4568 "widgets_values": [
4569 4096
4570 ],
4571 "widgets_values_named": {
4572 "batch_size": 4096
4573 },
4574 "title": "All rounds as one batch"
4575 },
4576 {
4577 "id": 81,
4578 "type": "ImageFromBatch",
4579 "pos": [
4580 13082.65390625,
4581 90
4582 ],
4583 "size": [
4584 270,
4585 82
4586 ],
4587 "flags": [],
4588 "order": 69,
4589 "mode": 0,
4590 "inputs": [
4591 {
4592 "localized_name": "image",
4593 "name": "image",
4594 "type": "IMAGE",
4595 "link": 125
4596 },
4597 {
4598 "localized_name": "batch_index",
4599 "name": "batch_index",
4600 "type": "INT",
4601 "widget": {
4602 "name": "batch_index"
4603 },
4604 "link": null
4605 },
4606 {
4607 "localized_name": "length",
4608 "name": "length",
4609 "type": "INT",
4610 "widget": {
4611 "name": "length"
4612 },
4613 "link": 126
4614 }
4615 ],
4616 "outputs": [
4617 {
4618 "localized_name": "IMAGE",
4619 "name": "IMAGE",
4620 "type": "IMAGE",
4621 "links": [
4622 133
4623 ]
4624 }
4625 ],
4626 "properties": {
4627 "Node name for S&R": "ImageFromBatch"
4628 },
4629 "widgets_values": [
4630 0,
4631 1
4632 ],
4633 "widgets_values_named": {
4634 "batch_index": 0,
4635 "length": 1
4636 },
4637 "title": "Cut the padding off"
4638 },
4639 {
4640 "id": 82,
4641 "type": "ComfyMathExpression",
4642 "pos": [
4643 6203.058203125,
4644 770
4645 ],
4646 "size": [
4647 400,
4648 200
4649 ],
4650 "flags": [],
4651 "order": 38,
4652 "mode": 0,
4653 "inputs": [
4654 {
4655 "localized_name": "a",
4656 "name": "values.a",
4657 "type": "FLOAT,INT,BOOLEAN",
4658 "link": 127
4659 },
4660 {
4661 "localized_name": "b",
4662 "name": "values.b",
4663 "shape": 7,
4664 "type": "FLOAT,INT,BOOLEAN",
4665 "link": 128
4666 },
4667 {
4668 "localized_name": "c",
4669 "name": "values.c",
4670 "shape": 7,
4671 "type": "FLOAT,INT,BOOLEAN",
4672 "link": null
4673 },
4674 {
4675 "localized_name": "expression",
4676 "name": "expression",
4677 "type": "STRING",
4678 "widget": {
4679 "name": "expression"
4680 },
4681 "link": null
4682 }
4683 ],
4684 "outputs": [
4685 {
4686 "localized_name": "FLOAT",
4687 "name": "FLOAT",
4688 "type": "FLOAT",
4689 "links": [
4690 130
4691 ]
4692 },
4693 {
4694 "localized_name": "INT",
4695 "name": "INT",
4696 "type": "INT",
4697 "links": null
4698 },
4699 {
4700 "localized_name": "BOOL",
4701 "name": "BOOL",
4702 "type": "BOOLEAN",
4703 "links": null
4704 }
4705 ],
4706 "properties": {
4707 "Node name for S&R": "ComfyMathExpression"
4708 },
4709 "widgets_values": [
4710 "a / b"
4711 ],
4712 "widgets_values_named": {
4713 "expression": "a / b"
4714 },
4715 "title": "Clip length in seconds"
4716 },
4717 {
4718 "id": 83,
4719 "type": "TrimAudioDuration",
4720 "pos": [
4721 6649.058203125,
4722 770
4723 ],
4724 "size": [
4725 270,
4726 82
4727 ],
4728 "flags": [],
4729 "order": 45,
4730 "mode": 0,
4731 "inputs": [
4732 {
4733 "localized_name": "audio",
4734 "name": "audio",
4735 "type": "AUDIO",
4736 "link": 129
4737 },
4738 {
4739 "localized_name": "start_index",
4740 "name": "start_index",
4741 "type": "FLOAT",
4742 "widget": {
4743 "name": "start_index"
4744 },
4745 "link": null
4746 },
4747 {
4748 "localized_name": "duration",
4749 "name": "duration",
4750 "type": "FLOAT",
4751 "widget": {
4752 "name": "duration"
4753 },
4754 "link": 130
4755 }
4756 ],
4757 "outputs": [
4758 {
4759 "localized_name": "AUDIO",
4760 "name": "AUDIO",
4761 "type": "AUDIO",
4762 "links": [
4763 132
4764 ]
4765 }
4766 ],
4767 "properties": {
4768 "Node name for S&R": "TrimAudioDuration"
4769 },
4770 "widgets_values": [
4771 0,
4772 60
4773 ],
4774 "widgets_values_named": {
4775 "start_index": 0,
4776 "duration": 60
4777 },
4778 "title": "Sound cut to the clip"
4779 },
4780 {
4781 "id": 84,
4782 "type": "ComfySwitchNode",
4783 "pos": [
4784 7095.058203125,
4785 214
4786 ],
4787 "size": [
4788 270,
4789 78
4790 ],
4791 "flags": [],
4792 "order": 49,
4793 "mode": 0,
4794 "inputs": [
4795 {
4796 "localized_name": "on_false",
4797 "name": "on_false",
4798 "shape": 7,
4799 "type": "AUDIO",
4800 "link": null
4801 },
4802 {
4803 "localized_name": "on_true",
4804 "name": "on_true",
4805 "shape": 7,
4806 "type": "*",
4807 "link": 132
4808 },
4809 {
4810 "localized_name": "switch",
4811 "name": "switch",
4812 "type": "BOOLEAN",
4813 "widget": {
4814 "name": "switch"
4815 },
4816 "link": 131
4817 }
4818 ],
4819 "outputs": [
4820 {
4821 "localized_name": "output",
4822 "name": "output",
4823 "type": "AUDIO",
4824 "links": [
4825 135
4826 ]
4827 }
4828 ],
4829 "properties": {
4830 "Node name for S&R": "ComfySwitchNode"
4831 },
4832 "widgets_values": [
4833 false
4834 ],
4835 "widgets_values_named": {
4836 "switch": false
4837 },
4838 "title": "Sound on / off"
4839 },
4840 {
4841 "id": 85,
4842 "type": "CreateVideo",
4843 "pos": [
4844 13398.65390625,
4845 90
4846 ],
4847 "size": [
4848 270,
4849 150
4850 ],
4851 "flags": [],
4852 "order": 70,
4853 "mode": 0,
4854 "inputs": [
4855 {
4856 "localized_name": "images",
4857 "name": "images",
4858 "type": "IMAGE",
4859 "link": 133
4860 },
4861 {
4862 "localized_name": "audio",
4863 "name": "audio",
4864 "shape": 7,
4865 "type": "AUDIO",
4866 "link": 135
4867 },
4868 {
4869 "localized_name": "fps",
4870 "name": "fps",
4871 "type": "FLOAT",
4872 "widget": {
4873 "name": "fps"
4874 },
4875 "link": 134
4876 },
4877 {
4878 "localized_name": "bit_depth",
4879 "name": "bit_depth",
4880 "shape": 7,
4881 "type": "COMBO",
4882 "widget": {
4883 "name": "bit_depth"
4884 },
4885 "link": null
4886 },
4887 {
4888 "localized_name": "color_space",
4889 "name": "color_space",
4890 "shape": 7,
4891 "type": "COMBO",
4892 "widget": {
4893 "name": "color_space"
4894 },
4895 "link": null
4896 },
4897 {
4898 "localized_name": "codec",
4899 "name": "codec",
4900 "shape": 7,
4901 "type": "COMBO",
4902 "widget": {
4903 "name": "codec"
4904 },
4905 "link": null
4906 }
4907 ],
4908 "outputs": [
4909 {
4910 "localized_name": "VIDEO",
4911 "name": "VIDEO",
4912 "type": "VIDEO",
4913 "links": [
4914 136
4915 ]
4916 }
4917 ],
4918 "properties": {
4919 "Node name for S&R": "CreateVideo"
4920 },
4921 "widgets_values": [
4922 30,
4923 "auto",
4924 "sRGB",
4925 "none"
4926 ],
4927 "widgets_values_named": {
4928 "fps": 30,
4929 "bit_depth": "auto",
4930 "color_space": "sRGB",
4931 "codec": "none"
4932 },
4933 "title": "Make the video (fps + sound)"
4934 },
4935 {
4936 "id": 86,
4937 "type": "SaveVideo",
4938 "pos": [
4939 13714.65390625,
4940 90
4941 ],
4942 "size": [
4943 270,
4944 106
4945 ],
4946 "flags": [],
4947 "order": 71,
4948 "mode": 0,
4949 "inputs": [
4950 {
4951 "localized_name": "video",
4952 "name": "video",
4953 "type": "VIDEO",
4954 "link": 136
4955 },
4956 {
4957 "localized_name": "filename_prefix",
4958 "name": "filename_prefix",
4959 "type": "STRING",
4960 "widget": {
4961 "name": "filename_prefix"
4962 },
4963 "link": null
4964 },
4965 {
4966 "localized_name": "format",
4967 "name": "format",
4968 "type": "COMFY_DYNAMICCOMBO_V3",
4969 "widget": {
4970 "name": "format"
4971 },
4972 "link": null
4973 },
4974 {
4975 "localized_name": "codec",
4976 "name": "format.codec",
4977 "type": "COMFY_DYNAMICCOMBO_V3",
4978 "widget": {
4979 "name": "format.codec"
4980 },
4981 "link": null
4982 },
4983 {
4984 "localized_name": "codec",
4985 "name": "codec",
4986 "shape": 7,
4987 "type": "COMFY_DYNAMICCOMBO_V3",
4988 "widget": {
4989 "name": "codec"
4990 },
4991 "link": null
4992 }
4993 ],
4994 "outputs": [
4995 {
4996 "localized_name": "video",
4997 "name": "video",
4998 "type": "VIDEO",
4999 "links": null
5000 }
5001 ],
5002 "title": "Result",
5003 "properties": [],
5004 "widgets_values": [
5005 "SCAIL2 swap/swap",
5006 "auto",
5007 "auto",
5008 "auto"
5009 ],
5010 "widgets_values_named": {
5011 "filename_prefix": "SCAIL2 swap/swap",
5012 "format": "auto",
5013 "format.codec": "auto",
5014 "codec": "auto"
5015 },
5016 "color": "#232",
5017 "bgcolor": "#353"
5018 },
5019 {
5020 "id": 87,
5021 "type": "MarkdownNote",
5022 "pos": [
5023 0,
5024 0
5025 ],
5026 "size": [
5027 620,
5028 720
5029 ],
5030 "flags": [],
5031 "order": 0,
5032 "mode": 0,
5033 "inputs": [],
5034 "outputs": [],
5035 "title": "How to use · v1.1.0",
5036 "properties": [],
5037 "widgets_values": [
5038 "# The_frizzy1 · SCAIL-2 Character Swap · 12 GB · v1.1.0\n\nSwaps **one person** in your video for **your character** (a person, an animal, a cartoon) with SCAIL-2.\nCore ComfyUI nodes only, no custom nodes.\n\n## How to use (App mode)\nThis workflow opens in **App mode**: you only see the inputs. Switch to the graph with the toggle at the top.\n\n1. **Your video**: the clip with the person to replace.\n2. **Character picture**: your character, front view, full body if you can.\n3. **Describe the result**: one sentence, e.g. *A realistic golden retriever dances in a bright room.*\n4. **Who is in the clip**: what SAM 3.1 should look for in the video, e.g. *man in red t-shirt*.\n5. **What your character is**: what SAM 3.1 should look for in the picture, e.g. *dog*.\n6. **Which person**: `0` = the left one, `1` = the next one to the right, empty = everyone it found.\n7. **Seconds**: `0` = the whole clip. Try 3 s first.\n8. Press **Run**. The video lands in `output/SCAIL2 swap/`.\n\n## Which person\nSAM 3.1 finds up to 4 people that match **Who is in the clip** and sorts them **left to right**.\n`0` is the left one, `1` the next one. Empty swaps all of them for the same character.\n**One character per run.**\n\n## How it works\nSCAIL-2 makes 81 frames at a time. The loop (core **Start Loop / End Loop**) runs one segment per round.\nEvery next round starts 76 frames later, gets the last 5 frames of the round before (overlap),\ndrops them again and colour-matches to the previous round (**reinhard_lab**), so a long clip stays one take.\nThe clip is padded to whole segments and cut back at the end. The sound is kept if you want.\n\n## Settings (tested)\nint8 model · DPO LoRA 1.0 · lightx2v distill LoRA 0.8 · 6 steps · CFG 1 · shift 5 · euler / simple · short side 512.\nSpeed LoRA off switches CFG to 5 (two model passes per step) and needs more steps. Only the settings above were benchmarked.\n\n## Speed\nRTX 3060 12 GB: a **9.4 s** clip at **512×896** took **24:09** (whole clip, sound kept).\n\n## Left out on purpose\nTwo characters in one run and a face fix pass: not reliable enough in my tests, so they are not in v1.1.0.\n"
5039 ],
5040 "color": "#432",
5041 "bgcolor": "#653"
5042 },
5043 {
5044 "id": 88,
5045 "type": "MarkdownNote",
5046 "pos": [
5047 660,
5048 0
5049 ],
5050 "size": [
5051 760,
5052 720
5053 ],
5054 "flags": [],
5055 "order": 0,
5056 "mode": 0,
5057 "inputs": [],
5058 "outputs": [],
5059 "title": "Downloads + requirements",
5060 "properties": [],
5061 "widgets_values": [
5062 "# Downloads · put each file in the folder shown\n\nInside `ComfyUI/models/`. Click a file name to download it. ComfyUI also offers these in its **Missing models** window.\n\n| Folder | File (click = download) | Size |\n|---|---|---|\n| `diffusion_models/` | [wan2.1_14B_SCAIL_2_int8_convrot.safetensors](https://huggingface.co/Comfy-Org/SCAIL-2/resolve/main/diffusion_models/wan2.1_14B_SCAIL_2_int8_convrot.safetensors) | 16.65 GB |\n| `loras/` | [wan2.1_SCAIL_2_DPO_lora_bf16.safetensors](https://huggingface.co/Comfy-Org/SCAIL-2/resolve/main/loras/wan2.1_SCAIL_2_DPO_lora_bf16.safetensors) | 1.23 GB |\n| `loras/` | [lightx2v_I2V_14B_480p_cfg_step_distill_rank64_bf16.safetensors](https://huggingface.co/Kijai/WanVideo_comfy/resolve/main/Lightx2v/lightx2v_I2V_14B_480p_cfg_step_distill_rank64_bf16.safetensors) | 0.74 GB |\n| `text_encoders/` | [umt5_xxl_fp8_e4m3fn_scaled.safetensors](https://huggingface.co/Comfy-Org/Wan_2.1_ComfyUI_repackaged/resolve/main/split_files/text_encoders/umt5_xxl_fp8_e4m3fn_scaled.safetensors) | 6.74 GB |\n| `vae/` | [Wan2_1_VAE_bf16.safetensors](https://huggingface.co/Kijai/WanVideo_comfy/resolve/main/Wan2_1_VAE_bf16.safetensors) | 0.25 GB |\n| `clip_vision/` | [clip_vision_h.safetensors](https://huggingface.co/Comfy-Org/Wan_2.1_ComfyUI_repackaged/resolve/main/split_files/clip_vision/clip_vision_h.safetensors) | 1.26 GB |\n| `checkpoints/` | [sam3.1_multiplex_fp16.safetensors](https://huggingface.co/Comfy-Org/sam3.1/resolve/main/checkpoints/sam3.1_multiplex_fp16.safetensors) | 1.75 GB |\n\nTotal: 28.6 GB.\n\n## Requirements\n- **GPU:** 12 GB VRAM (tested). The 16.7 GB int8 model does not fit in 12 GB: ComfyUI streams the rest from system RAM.\n- **RAM:** tested with 32 GB.\n- **ComfyUI:** tested on **0.43.1**. Older versions may not have Start Loop / End Loop or the SCAIL-2 nodes: update first.\n- **Custom nodes:** none.\n\n_Tested on: RTX 3060 12 GB · Ryzen 5 5600X · 32 GB RAM · ComfyUI 0.43.1 (frontend 1.57.4) · Windows 11._\n\n## Credits & licence\nSCAIL-2 by [zai-org](https://huggingface.co/zai-org/SCAIL-2) (MIT), built on Wan 2.1 14B. ComfyUI files + int8 by\n[Comfy-Org](https://huggingface.co/Comfy-Org/SCAIL-2). Speed LoRA by lightx2v (repack by Kijai). SAM 3.1 by Meta\n([Comfy-Org/sam3.1](https://huggingface.co/Comfy-Org/sam3.1)). Loop + segment settings from the official ComfyUI\nSCAIL-2 template. Workflow by **The_frizzy1** (MIT): [YouTube](https://www.youtube.com/@the_frizzy1) ·\n[workflows](https://github.com/Thefrizzy1/The_frizzy1-Workflows).\n"
5063 ],
5064 "color": "#432",
5065 "bgcolor": "#653"
5066 },
5067 {
5068 "id": 89,
5069 "type": "MarkdownNote",
5070 "pos": [
5071 8013.058203125,
5072 1120
5073 ],
5074 "size": [
5075 520,
5076 150
5077 ],
5078 "flags": [],
5079 "order": 0,
5080 "mode": 0,
5081 "inputs": [],
5082 "outputs": [],
5083 "title": "Why a loop?",
5084 "properties": [],
5085 "widgets_values": [
5086 "**Why a loop?** SCAIL-2 makes 81 frames per go. Every round = one segment.\nRound 2+ starts 76 frames later and sees the last 5 frames of the round before.\nThose 5 are dropped again and the colours are matched to the previous round."
5087 ],
5088 "color": "#222",
5089 "bgcolor": "#000"
5090 }
5091 ],
5092 "links": [
5093 [
5094 10,
5095 1,
5096 0,
5097 20,
5098 0,
5099 "VIDEO"
5100 ],
5101 [
5102 11,
5103 20,
5104 0,
5105 21,
5106 0,
5107 "IMAGE"
5108 ],
5109 [
5110 19,
5111 20,
5112 0,
5113 26,
5114 0,
5115 "IMAGE"
5116 ],
5117 [
5118 20,
5119 22,
5120 1,
5121 26,
5122 2,
5123 "INT"
5124 ],
5125 [
5126 22,
5127 26,
5128 0,
5129 28,
5130 0,
5131 "IMAGE"
5132 ],
5133 [
5134 23,
5135 27,
5136 1,
5137 28,
5138 1,
5139 "INT"
5140 ],
5141 [
5142 24,
5143 28,
5144 0,
5145 29,
5146 0,
5147 "IMAGE"
5148 ],
5149 [
5150 25,
5151 25,
5152 1,
5153 29,
5154 1,
5155 "INT"
5156 ],
5157 [
5158 28,
5159 30,
5160 0,
5161 31,
5162 0,
5163 "IMAGE"
5164 ],
5165 [
5166 29,
5167 24,
5168 1,
5169 31,
5170 2,
5171 "INT"
5172 ],
5173 [
5174 36,
5175 40,
5176 0,
5177 41,
5178 0,
5179 "MODEL"
5180 ],
5181 [
5182 37,
5183 41,
5184 0,
5185 42,
5186 0,
5187 "MODEL"
5188 ],
5189 [
5190 38,
5191 9,
5192 0,
5193 43,
5194 2,
5195 "BOOLEAN"
5196 ],
5197 [
5198 39,
5199 42,
5200 0,
5201 43,
5202 1,
5203 "MODEL"
5204 ],
5205 [
5206 40,
5207 41,
5208 0,
5209 43,
5210 0,
5211 "MODEL"
5212 ],
5213 [
5214 41,
5215 43,
5216 0,
5217 44,
5218 0,
5219 "MODEL"
5220 ],
5221 [
5222 42,
5223 9,
5224 0,
5225 47,
5226 2,
5227 "BOOLEAN"
5228 ],
5229 [
5230 43,
5231 45,
5232 0,
5233 47,
5234 1,
5235 "FLOAT"
5236 ],
5237 [
5238 44,
5239 46,
5240 0,
5241 47,
5242 0,
5243 "FLOAT"
5244 ],
5245 [
5246 45,
5247 48,
5248 0,
5249 52,
5250 0,
5251 "CLIP"
5252 ],
5253 [
5254 46,
5255 3,
5256 0,
5257 52,
5258 1,
5259 "STRING"
5260 ],
5261 [
5262 47,
5263 48,
5264 0,
5265 53,
5266 0,
5267 "CLIP"
5268 ],
5269 [
5270 48,
5271 50,
5272 0,
5273 54,
5274 0,
5275 "CLIP_VISION"
5276 ],
5277 [
5278 49,
5279 2,
5280 0,
5281 54,
5282 1,
5283 "IMAGE"
5284 ],
5285 [
5286 50,
5287 51,
5288 1,
5289 55,
5290 0,
5291 "CLIP"
5292 ],
5293 [
5294 51,
5295 4,
5296 0,
5297 55,
5298 1,
5299 "STRING"
5300 ],
5301 [
5302 52,
5303 51,
5304 1,
5305 56,
5306 0,
5307 "CLIP"
5308 ],
5309 [
5310 53,
5311 5,
5312 0,
5313 56,
5314 1,
5315 "STRING"
5316 ],
5317 [
5318 55,
5319 51,
5320 0,
5321 57,
5322 1,
5323 "MODEL"
5324 ],
5325 [
5326 56,
5327 56,
5328 0,
5329 57,
5330 3,
5331 "CONDITIONING"
5332 ],
5333 [
5334 57,
5335 43,
5336 0,
5337 59,
5338 0,
5339 "MODEL"
5340 ],
5341 [
5342 58,
5343 8,
5344 0,
5345 59,
5346 2,
5347 "INT"
5348 ],
5349 [
5350 61,
5351 31,
5352 0,
5353 62,
5354 0,
5355 "IMAGE"
5356 ],
5357 [
5358 62,
5359 61,
5360 1,
5361 62,
5362 1,
5363 "INT"
5364 ],
5365 [
5366 66,
5367 63,
5368 0,
5369 64,
5370 0,
5371 "IMAGE"
5372 ],
5373 [
5374 67,
5375 63,
5376 0,
5377 65,
5378 0,
5379 "IMAGE"
5380 ],
5381 [
5382 68,
5383 51,
5384 0,
5385 65,
5386 1,
5387 "MODEL"
5388 ],
5389 [
5390 69,
5391 55,
5392 0,
5393 65,
5394 3,
5395 "CONDITIONING"
5396 ],
5397 [
5398 70,
5399 65,
5400 0,
5401 66,
5402 0,
5403 "SAM3_TRACK_DATA"
5404 ],
5405 [
5406 71,
5407 57,
5408 0,
5409 66,
5410 1,
5411 "SAM3_TRACK_DATA"
5412 ],
5413 [
5414 72,
5415 12,
5416 0,
5417 66,
5418 2,
5419 "STRING"
5420 ],
5421 [
5422 73,
5423 52,
5424 0,
5425 67,
5426 0,
5427 "CONDITIONING"
5428 ],
5429 [
5430 74,
5431 53,
5432 0,
5433 67,
5434 1,
5435 "CONDITIONING"
5436 ],
5437 [
5438 75,
5439 49,
5440 0,
5441 67,
5442 2,
5443 "VAE"
5444 ],
5445 [
5446 76,
5447 64,
5448 0,
5449 67,
5450 9,
5451 "INT"
5452 ],
5453 [
5454 77,
5455 64,
5456 1,
5457 67,
5458 10,
5459 "INT"
5460 ],
5461 [
5462 78,
5463 64,
5464 2,
5465 67,
5466 11,
5467 "INT"
5468 ],
5469 [
5470 79,
5471 63,
5472 0,
5473 67,
5474 3,
5475 "IMAGE"
5476 ],
5477 [
5478 80,
5479 66,
5480 0,
5481 67,
5482 4,
5483 "IMAGE"
5484 ],
5485 [
5486 82,
5487 66,
5488 1,
5489 67,
5490 6,
5491 "IMAGE"
5492 ],
5493 [
5494 83,
5495 54,
5496 0,
5497 67,
5498 7,
5499 "CLIP_VISION_OUTPUT"
5500 ],
5501 [
5502 84,
5503 60,
5504 4,
5505 68,
5506 8,
5507 "IMAGE"
5508 ],
5509 [
5510 85,
5511 52,
5512 0,
5513 68,
5514 0,
5515 "CONDITIONING"
5516 ],
5517 [
5518 86,
5519 53,
5520 0,
5521 68,
5522 1,
5523 "CONDITIONING"
5524 ],
5525 [
5526 87,
5527 49,
5528 0,
5529 68,
5530 2,
5531 "VAE"
5532 ],
5533 [
5534 88,
5535 64,
5536 0,
5537 68,
5538 9,
5539 "INT"
5540 ],
5541 [
5542 89,
5543 64,
5544 1,
5545 68,
5546 10,
5547 "INT"
5548 ],
5549 [
5550 90,
5551 64,
5552 2,
5553 68,
5554 11,
5555 "INT"
5556 ],
5557 [
5558 91,
5559 63,
5560 0,
5561 68,
5562 3,
5563 "IMAGE"
5564 ],
5565 [
5566 92,
5567 66,
5568 0,
5569 68,
5570 4,
5571 "IMAGE"
5572 ],
5573 [
5574 94,
5575 66,
5576 1,
5577 68,
5578 6,
5579 "IMAGE"
5580 ],
5581 [
5582 95,
5583 54,
5584 0,
5585 68,
5586 7,
5587 "CLIP_VISION_OUTPUT"
5588 ],
5589 [
5590 96,
5591 60,
5592 1,
5593 69,
5594 2,
5595 "BOOLEAN"
5596 ],
5597 [
5598 97,
5599 67,
5600 0,
5601 69,
5602 1,
5603 "CONDITIONING"
5604 ],
5605 [
5606 98,
5607 68,
5608 0,
5609 69,
5610 0,
5611 "CONDITIONING"
5612 ],
5613 [
5614 99,
5615 60,
5616 1,
5617 70,
5618 2,
5619 "BOOLEAN"
5620 ],
5621 [
5622 100,
5623 67,
5624 1,
5625 70,
5626 1,
5627 "CONDITIONING"
5628 ],
5629 [
5630 101,
5631 68,
5632 1,
5633 70,
5634 0,
5635 "CONDITIONING"
5636 ],
5637 [
5638 102,
5639 60,
5640 1,
5641 71,
5642 2,
5643 "BOOLEAN"
5644 ],
5645 [
5646 103,
5647 67,
5648 2,
5649 71,
5650 1,
5651 "LATENT"
5652 ],
5653 [
5654 104,
5655 68,
5656 2,
5657 71,
5658 0,
5659 "LATENT"
5660 ],
5661 [
5662 105,
5663 44,
5664 0,
5665 72,
5666 0,
5667 "MODEL"
5668 ],
5669 [
5670 106,
5671 11,
5672 0,
5673 72,
5674 7,
5675 "INT"
5676 ],
5677 [
5678 107,
5679 47,
5680 0,
5681 72,
5682 8,
5683 "FLOAT"
5684 ],
5685 [
5686 108,
5687 69,
5688 0,
5689 72,
5690 1,
5691 "CONDITIONING"
5692 ],
5693 [
5694 109,
5695 70,
5696 0,
5697 72,
5698 2,
5699 "CONDITIONING"
5700 ],
5701 [
5702 110,
5703 58,
5704 0,
5705 72,
5706 3,
5707 "SAMPLER"
5708 ],
5709 [
5710 111,
5711 59,
5712 0,
5713 72,
5714 4,
5715 "SIGMAS"
5716 ],
5717 [
5718 112,
5719 71,
5720 0,
5721 72,
5722 5,
5723 "LATENT"
5724 ],
5725 [
5726 113,
5727 72,
5728 1,
5729 73,
5730 0,
5731 "LATENT"
5732 ],
5733 [
5734 114,
5735 49,
5736 0,
5737 73,
5738 1,
5739 "VAE"
5740 ],
5741 [
5742 115,
5743 73,
5744 0,
5745 74,
5746 0,
5747 "IMAGE"
5748 ],
5749 [
5750 116,
5751 60,
5752 4,
5753 75,
5754 0,
5755 "IMAGE"
5756 ],
5757 [
5758 119,
5759 60,
5760 1,
5761 77,
5762 2,
5763 "BOOLEAN"
5764 ],
5765 [
5766 120,
5767 73,
5768 0,
5769 77,
5770 1,
5771 "IMAGE"
5772 ],
5773 [
5774 121,
5775 76,
5776 0,
5777 77,
5778 0,
5779 "IMAGE"
5780 ],
5781 [
5782 122,
5783 77,
5784 0,
5785 78,
5786 0,
5787 "IMAGE"
5788 ],
5789 [
5790 123,
5791 73,
5792 0,
5793 78,
5794 1,
5795 "IMAGE"
5796 ],
5797 [
5798 124,
5799 78,
5800 0,
5801 79,
5802 0,
5803 "IMAGE"
5804 ],
5805 [
5806 125,
5807 79,
5808 0,
5809 81,
5810 0,
5811 "IMAGE"
5812 ],
5813 [
5814 126,
5815 22,
5816 1,
5817 81,
5818 2,
5819 "INT"
5820 ],
5821 [
5822 129,
5823 20,
5824 1,
5825 83,
5826 0,
5827 "AUDIO"
5828 ],
5829 [
5830 130,
5831 82,
5832 0,
5833 83,
5834 2,
5835 "FLOAT"
5836 ],
5837 [
5838 131,
5839 10,
5840 0,
5841 84,
5842 2,
5843 "BOOLEAN"
5844 ],
5845 [
5846 132,
5847 83,
5848 0,
5849 84,
5850 1,
5851 "AUDIO"
5852 ],
5853 [
5854 133,
5855 81,
5856 0,
5857 85,
5858 0,
5859 "IMAGE"
5860 ],
5861 [
5862 134,
5863 20,
5864 2,
5865 85,
5866 2,
5867 "FLOAT"
5868 ],
5869 [
5870 135,
5871 84,
5872 0,
5873 85,
5874 1,
5875 "AUDIO"
5876 ],
5877 [
5878 15,
5879 22,
5880 1,
5881 23,
5882 0,
5883 "INT"
5884 ],
5885 [
5886 16,
5887 23,
5888 1,
5889 24,
5890 0,
5891 "INT"
5892 ],
5893 [
5894 17,
5895 22,
5896 1,
5897 25,
5898 0,
5899 "INT"
5900 ],
5901 [
5902 18,
5903 23,
5904 1,
5905 25,
5906 1,
5907 "INT"
5908 ],
5909 [
5910 21,
5911 22,
5912 1,
5913 27,
5914 0,
5915 "INT"
5916 ],
5917 [
5918 26,
5919 26,
5920 0,
5921 30,
5922 0,
5923 "IMAGE"
5924 ],
5925 [
5926 27,
5927 29,
5928 0,
5929 30,
5930 1,
5931 "IMAGE"
5932 ],
5933 [
5934 59,
5935 23,
5936 1,
5937 60,
5938 3,
5939 "INT"
5940 ],
5941 [
5942 60,
5943 60,
5944 0,
5945 61,
5946 0,
5947 "INT"
5948 ],
5949 [
5950 63,
5951 62,
5952 0,
5953 63,
5954 0,
5955 "IMAGE"
5956 ],
5957 [
5958 64,
5959 32,
5960 1,
5961 63,
5962 2,
5963 "INT"
5964 ],
5965 [
5966 65,
5967 33,
5968 1,
5969 63,
5970 3,
5971 "INT"
5972 ],
5973 [
5974 117,
5975 74,
5976 0,
5977 76,
5978 0,
5979 "IMAGE"
5980 ],
5981 [
5982 118,
5983 75,
5984 0,
5985 76,
5986 1,
5987 "IMAGE"
5988 ],
5989 [
5990 127,
5991 22,
5992 1,
5993 82,
5994 0,
5995 "INT"
5996 ],
5997 [
5998 128,
5999 20,
6000 2,
6001 82,
6002 1,
6003 "FLOAT"
6004 ],
6005 [
6006 136,
6007 85,
6008 0,
6009 86,
6010 0,
6011 "VIDEO"
6012 ],
6013 [
6014 12,
6015 21,
6016 2,
6017 22,
6018 0,
6019 "INT"
6020 ],
6021 [
6022 13,
6023 6,
6024 0,
6025 22,
6026 1,
6027 "FLOAT"
6028 ],
6029 [
6030 14,
6031 20,
6032 2,
6033 22,
6034 2,
6035 "FLOAT"
6036 ],
6037 [
6038 30,
6039 21,
6040 0,
6041 32,
6042 0,
6043 "INT"
6044 ],
6045 [
6046 31,
6047 21,
6048 1,
6049 32,
6050 1,
6051 "INT"
6052 ],
6053 [
6054 32,
6055 7,
6056 0,
6057 32,
6058 2,
6059 "INT"
6060 ],
6061 [
6062 33,
6063 21,
6064 0,
6065 33,
6066 0,
6067 "INT"
6068 ],
6069 [
6070 34,
6071 21,
6072 1,
6073 33,
6074 1,
6075 "INT"
6076 ],
6077 [
6078 35,
6079 7,
6080 0,
6081 33,
6082 2,
6083 "INT"
6084 ],
6085 [
6086 137,
6087 2,
6088 0,
6089 57,
6090 0,
6091 "IMAGE"
6092 ],
6093 [
6094 138,
6095 2,
6096 0,
6097 67,
6098 5,
6099 "IMAGE"
6100 ],
6101 [
6102 139,
6103 2,
6104 0,
6105 68,
6106 5,
6107 "IMAGE"
6108 ]
6109 ],
6110 "groups": [
6111 {
6112 "id": 1,
6113 "title": "1 · Your inputs (App mode shows these)",
6114 "color": "#8A8",
6115 "font_size": 28,
6116 "flags": [],
6117 "bounding": [
6118 1500,
6119 0,
6120 1177.71875,
6121 1142.7534722222222
6122 ]
6123 },
6124 {
6125 "id": 2,
6126 "title": "2 · Models (loaded once)",
6127 "color": "#b58b2a",
6128 "font_size": 28,
6129 "flags": [],
6130 "bounding": [
6131 2753.71875,
6132 0,
6133 1604,
6134 1224
6135 ]
6136 },
6137 {
6138 "id": 3,
6139 "title": "3 · Prompt + who to swap",
6140 "color": "#a1309b",
6141 "font_size": 28,
6142 "flags": [],
6143 "bounding": [
6144 4433.71875,
6145 0,
6146 791.80859375,
6147 1328
6148 ]
6149 },
6150 {
6151 "id": 4,
6152 "title": "4 · Clip: length, padding, size",
6153 "color": "#3f789e",
6154 "font_size": 28,
6155 "flags": [],
6156 "bounding": [
6157 5301.52734375,
6158 0,
6159 2605.5308593749996,
6160 1066
6161 ]
6162 },
6163 {
6164 "id": 5,
6165 "title": "5 · The loop: one 81-frame SCAIL-2 segment per round",
6166 "color": "#88A",
6167 "font_size": 28,
6168 "flags": [],
6169 "bounding": [
6170 7983.058203125,
6171 0,
6172 4993.595703125,
6173 1336
6174 ]
6175 },
6176 {
6177 "id": 6,
6178 "title": "6 · Save",
6179 "color": "#b06634",
6180 "font_size": 28,
6181 "flags": [],
6182 "bounding": [
6183 13052.65390625,
6184 0,
6185 972,
6186 336
6187 ]
6188 }
6189 ],
6190 "config": [],
6191 "extra": {
6192 "linearMode": true,
6193 "linearData": {
6194 "inputs": [
6195 [
6196 "1",
6197 "file"
6198 ],
6199 [
6200 "2",
6201 "image"
6202 ],
6203 [
6204 "4",
6205 "value"
6206 ],
6207 [
6208 "5",
6209 "value"
6210 ],
6211 [
6212 "3",
6213 "value"
6214 ],
6215 [
6216 "6",
6217 "value"
6218 ],
6219 [
6220 "12",
6221 "value"
6222 ],
6223 [
6224 "8",
6225 "value"
6226 ],
6227 [
6228 "10",
6229 "value"
6230 ],
6231 [
6232 "11",
6233 "value"
6234 ]
6235 ],
6236 "outputs": [
6237 "86"
6238 ]
6239 },
6240 "ds": {
6241 "scale": 0.45,
6242 "offset": [
6243 60,
6244 80
6245 ]
6246 },
6247 "frizzy": {
6248 "name": "The_frizzy1 · SCAIL-2 Character Swap · 12 GB",
6249 "version": "1.1.0",
6250 "tested_on": "RTX 3060 12 GB · Ryzen 5 5600X · 32 GB RAM · ComfyUI 0.43.1 (frontend 1.57.4) · Windows 11"
6251 }
6252 },
6253 "extensions": {
6254 "models": [
6255 {
6256 "name": "wan2.1_14B_SCAIL_2_int8_convrot.safetensors",
6257 "url": "https://huggingface.co/Comfy-Org/SCAIL-2/resolve/main/diffusion_models/wan2.1_14B_SCAIL_2_int8_convrot.safetensors",
6258 "directory": "diffusion_models"
6259 },
6260 {
6261 "name": "wan2.1_SCAIL_2_DPO_lora_bf16.safetensors",
6262 "url": "https://huggingface.co/Comfy-Org/SCAIL-2/resolve/main/loras/wan2.1_SCAIL_2_DPO_lora_bf16.safetensors",
6263 "directory": "loras"
6264 },
6265 {
6266 "name": "lightx2v_I2V_14B_480p_cfg_step_distill_rank64_bf16.safetensors",
6267 "url": "https://huggingface.co/Kijai/WanVideo_comfy/resolve/main/Lightx2v/lightx2v_I2V_14B_480p_cfg_step_distill_rank64_bf16.safetensors",
6268 "directory": "loras"
6269 },
6270 {
6271 "name": "umt5_xxl_fp8_e4m3fn_scaled.safetensors",
6272 "url": "https://huggingface.co/Comfy-Org/Wan_2.1_ComfyUI_repackaged/resolve/main/split_files/text_encoders/umt5_xxl_fp8_e4m3fn_scaled.safetensors",
6273 "directory": "text_encoders"
6274 },
6275 {
6276 "name": "Wan2_1_VAE_bf16.safetensors",
6277 "url": "https://huggingface.co/Kijai/WanVideo_comfy/resolve/main/Wan2_1_VAE_bf16.safetensors",
6278 "directory": "vae"
6279 },
6280 {
6281 "name": "clip_vision_h.safetensors",
6282 "url": "https://huggingface.co/Comfy-Org/Wan_2.1_ComfyUI_repackaged/resolve/main/split_files/clip_vision/clip_vision_h.safetensors",
6283 "directory": "clip_vision"
6284 },
6285 {
6286 "name": "sam3.1_multiplex_fp16.safetensors",
6287 "url": "https://huggingface.co/Comfy-Org/sam3.1/resolve/main/checkpoints/sam3.1_multiplex_fp16.safetensors",
6288 "directory": "checkpoints"
6289 }
6290 ]
6291 },
6292 "version": 0.4,
6293 "models": [
6294 {
6295 "name": "wan2.1_14B_SCAIL_2_int8_convrot.safetensors",
6296 "url": "https://huggingface.co/Comfy-Org/SCAIL-2/resolve/main/diffusion_models/wan2.1_14B_SCAIL_2_int8_convrot.safetensors",
6297 "directory": "diffusion_models"
6298 },
6299 {
6300 "name": "wan2.1_SCAIL_2_DPO_lora_bf16.safetensors",
6301 "url": "https://huggingface.co/Comfy-Org/SCAIL-2/resolve/main/loras/wan2.1_SCAIL_2_DPO_lora_bf16.safetensors",
6302 "directory": "loras"
6303 },
6304 {
6305 "name": "lightx2v_I2V_14B_480p_cfg_step_distill_rank64_bf16.safetensors",
6306 "url": "https://huggingface.co/Kijai/WanVideo_comfy/resolve/main/Lightx2v/lightx2v_I2V_14B_480p_cfg_step_distill_rank64_bf16.safetensors",
6307 "directory": "loras"
6308 },
6309 {
6310 "name": "umt5_xxl_fp8_e4m3fn_scaled.safetensors",
6311 "url": "https://huggingface.co/Comfy-Org/Wan_2.1_ComfyUI_repackaged/resolve/main/split_files/text_encoders/umt5_xxl_fp8_e4m3fn_scaled.safetensors",
6312 "directory": "text_encoders"
6313 },
6314 {
6315 "name": "Wan2_1_VAE_bf16.safetensors",
6316 "url": "https://huggingface.co/Kijai/WanVideo_comfy/resolve/main/Wan2_1_VAE_bf16.safetensors",
6317 "directory": "vae"
6318 },
6319 {
6320 "name": "clip_vision_h.safetensors",
6321 "url": "https://huggingface.co/Comfy-Org/Wan_2.1_ComfyUI_repackaged/resolve/main/split_files/clip_vision/clip_vision_h.safetensors",
6322 "directory": "clip_vision"
6323 },
6324 {
6325 "name": "sam3.1_multiplex_fp16.safetensors",
6326 "url": "https://huggingface.co/Comfy-Org/sam3.1/resolve/main/checkpoints/sam3.1_multiplex_fp16.safetensors",
6327 "directory": "checkpoints"
6328 }
6329 ]
6330}