ComfyPilotComfyPilot
工作流 / 图像 / SCAIL 2 Single-Reference Edit Long Video (Episode 261)
SCAIL 2 Single-Reference Edit Long Video (Episode 261)

SCAIL 2 Single-Reference Edit Long Video (Episode 261)

SCAIL 2 Single-Reference Edit Long Video (Episode 261)

# SCAIL 2 Single-Reference Edit Long Video (Episode 261) ComfyUI workflow exported from **AI-KSK episode 261**. **File:** `SCAIL 2 单人参考编辑长视频.json` ## What it does SCAIL 2 Single-Reference Edit Long Video. The episode wal…

图像 58 个节点 3 次使用 AIKSK 96 KB

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

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

需要的权重

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

50_scail-2-single-reference-edit-long-video-episode-261.json 模型库暂未收录

节点构成

LoraLoaderModelOnly × 9
CLIPTextEncode × 3
easy mathInt × 3
VHS_VideoCombine × 3
Int × 3
easy int × 2
SAM3_VideoTrack × 2
WanSCAILToVideo × 2
SamplerCustom × 2
VAEDecode × 2
GetImageRangeFromBatch × 2
ImageResizeKJv2 × 2
MarkdownNote × 1
PrimitiveNode × 1
UNETLoader × 1
ModelSamplingSD3 × 1

官方标注的模型

FastWan_T2V_14B_480p_lora_rank_128_bf16.safetensorsWan2.2-Fun-A14B-InP-low-noise-HPS2.1.safetensorsWan2.2-Lightning_I2V-A14B-4steps-lora_LOW_fp16.safetensorsWan21_PusaV1_LoRA_14B_rank512_bf16.safetensorsWanAnimate_relight_lora_fp16.safetensorsclip_vision_vit_h.safetensorslightx2v_I2V_14B_480p_cfg_step_distill_rank128_bf16.safetensorssam3.1_multiplex_fp16.safetensorsstage1_480p.safetensorsstage2_480p.safetensorsstage3_720p_beta.safetensorsumt5_xxl_fp8_e4m3fn_scaled.safetensors

工作流 JSON

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

1{
2 "last_link_id": 91,
3 "nodes": [
4 {
5 "outputs": [],
6 "color": "#432",
7 "widgets_values": [
8 "【最终流程 03:单人骨骼引导 + 人物替换】\n单人骨骼引导加人物替换:把参考图人物替换到单人驱动视频目标人物上,最终不做图像复合,直接输出循环生成帧。\n\n硬规则:参考图和驱动视频都统一对齐到 512x896。节点18处理驱动视频;节点60处理参考图。两者必须同尺寸后再进入 SAM3、CLIPVision、SCAIL。\n\n主体设置:SAM3 max_objects=1;SCAIL2ColoredMask object_indices=0;sort_by=left_to_right;replacement_mode=true。\n\n循环规则:首段65帧;循环体81帧;每轮去掉5帧重叠,所以每轮有效新增76帧。循环次数 N=max(1, ceil((F-65)/76))。\n\n合并视频规则:最终 VHS_VideoCombine 的 images 直接接循环出口生成帧,audio 接原视频音频,frame_rate 接统一帧率节点;不再接 ImageCompositeMasked。\n\n废弃规则:不使用 Set/Get,不使用 TensorLoop,不使用 GIMMVFI 插帧。\n\n模型与 LoRA:主模型为 `wan2.1_14B_SCAIL_2_fp8_scaled.safetensors`。保留多 LoRA 串联加载。"
9 ],
10 "inputs": [],
11 "flags": [],
12 "type": "MarkdownNote",
13 "title": "最终流程 03:单人骨骼引导 + 人物替换",
14 "mode": 0,
15 "bgcolor": "#653",
16 "size": [
17 560,
18 360
19 ],
20 "pos": [
21 120,
22 10
23 ],
24 "id": 1,
25 "properties": {
26 "widget_ue_connectable": [],
27 "Node name for S&R": "最终流程 03:单人骨骼引导 + 人物替换"
28 },
29 "order": 0
30 },
31 {
32 "outputs": [
33 {
34 "name": "CONDITIONING",
35 "links": [
36 29,
37 52
38 ],
39 "label": "CONDITIONING",
40 "type": "CONDITIONING",
41 "localized_name": "CONDITIONING"
42 }
43 ],
44 "color": "#322",
45 "widgets_values": [
46 "replace the selected single target person, one person pose guidance, keep original scene structure, consistent identity, natural motion, coherent lighting, smooth temporal consistency"
47 ],
48 "inputs": [
49 {
50 "name": "clip",
51 "link": 8,
52 "label": "clip",
53 "type": "CLIP",
54 "localized_name": "clip"
55 },
56 {
57 "widget": {
58 "name": "text"
59 },
60 "name": "text",
61 "label": "text",
62 "type": "STRING",
63 "localized_name": "text"
64 }
65 ],
66 "flags": [],
67 "type": "CLIPTextEncode",
68 "mode": 0,
69 "bgcolor": "#533",
70 "size": [
71 400,
72 200
73 ],
74 "pos": [
75 680,
76 1060
77 ],
78 "id": 4,
79 "properties": {
80 "note": "正向提示词保持通用低干扰,用于稳定角色一致性和时间连续性。",
81 "widget_ue_connectable": [],
82 "Node name for S&R": "Positive Prompt"
83 },
84 "order": 15
85 },
86 {
87 "outputs": [
88 {
89 "name": "CONDITIONING",
90 "links": [
91 30,
92 53
93 ],
94 "label": "CONDITIONING",
95 "type": "CONDITIONING",
96 "localized_name": "CONDITIONING"
97 }
98 ],
99 "color": "#322",
100 "widgets_values": [
101 "bad video, flicker, replacing wrong area, identity drift, deformed body, distorted face, extra limbs, missing hands, warped hands, broken anatomy, blurry, low quality"
102 ],
103 "inputs": [
104 {
105 "name": "clip",
106 "link": 9,
107 "label": "clip",
108 "type": "CLIP",
109 "localized_name": "clip"
110 },
111 {
112 "widget": {
113 "name": "text"
114 },
115 "name": "text",
116 "label": "text",
117 "type": "STRING",
118 "localized_name": "text"
119 }
120 ],
121 "flags": [],
122 "type": "CLIPTextEncode",
123 "mode": 0,
124 "bgcolor": "#533",
125 "size": [
126 400,
127 200
128 ],
129 "pos": [
130 680,
131 1280
132 ],
133 "id": 5,
134 "properties": {
135 "note": "负向提示词抑制闪烁、身份漂移、肢体和背景不稳定。",
136 "widget_ue_connectable": [],
137 "Node name for S&R": "Negative Prompt"
138 },
139 "order": 16
140 },
141 {
142 "mode": 0,
143 "outputs": [
144 {
145 "name": "CONDITIONING",
146 "links": [
147 13,
148 16
149 ],
150 "label": "CONDITIONING",
151 "type": "CONDITIONING",
152 "localized_name": "CONDITIONING"
153 }
154 ],
155 "size": [
156 235.296875,
157 115.328125
158 ],
159 "pos": [
160 2140,
161 520
162 ],
163 "widgets_values": [
164 "person"
165 ],
166 "inputs": [
167 {
168 "name": "clip",
169 "link": 10,
170 "label": "clip",
171 "type": "CLIP",
172 "localized_name": "clip"
173 },
174 {
175 "widget": {
176 "name": "text"
177 },
178 "name": "text",
179 "label": "text",
180 "type": "STRING",
181 "localized_name": "text"
182 }
183 ],
184 "flags": [],
185 "id": 6,
186 "type": "CLIPTextEncode",
187 "properties": {
188 "note": "描述需要追踪的人物主体,供 SAM3 在参考图与驱动视频中定位同一类目标。",
189 "widget_ue_connectable": [],
190 "Node name for S&R": "SAM3 Subject Prompt"
191 },
192 "order": 17
193 },
194 {
195 "mode": 0,
196 "outputs": [
197 {
198 "widget": {
199 "name": "replacement_mode"
200 },
201 "name": "BOOLEAN",
202 "links": [
203 19,
204 39,
205 108
206 ],
207 "label": "BOOLEAN",
208 "type": "BOOLEAN"
209 }
210 ],
211 "size": [
212 229.74765014648438,
213 60
214 ],
215 "pos": [
216 2820,
217 810
218 ],
219 "widgets_values": [
220 true
221 ],
222 "inputs": [],
223 "flags": [],
224 "id": 7,
225 "type": "PrimitiveNode",
226 "properties": {
227 "note": "False=骨骼引导动画;True=骨骼引导加人物替换。首段、循环体、彩色遮罩必须共用同一个开关。",
228 "widget_ue_connectable": [],
229 "Run widget replace on values": false,
230 "Node name for S&R": "统一开关:replacement_mode"
231 },
232 "order": 1
233 },
234 {
235 "mode": 0,
236 "outputs": [
237 {
238 "name": "int",
239 "links": [
240 1,
241 83,
242 86,
243 89
244 ],
245 "label": "int",
246 "type": "INT",
247 "localized_name": "int"
248 }
249 ],
250 "size": [
251 220,
252 90
253 ],
254 "pos": [
255 430,
256 840
257 ],
258 "widgets_values": [
259 24
260 ],
261 "inputs": [
262 {
263 "widget": {
264 "name": "value"
265 },
266 "name": "value",
267 "label": "value",
268 "type": "INT",
269 "localized_name": "value"
270 }
271 ],
272 "flags": [],
273 "id": 8,
274 "type": "easy int",
275 "properties": {
276 "note": "统一控制加载视频 force_rate 和合并视频 frame_rate。默认 24fps;改这里一个值即可同步全流程。",
277 "widget_ue_connectable": {
278 "value": true
279 },
280 "Node name for S&R": "统一帧率 FPS"
281 },
282 "order": 2
283 },
284 {
285 "mode": 0,
286 "outputs": [
287 {
288 "name": "MODEL",
289 "links": [
290 2
291 ],
292 "label": "MODEL",
293 "type": "MODEL",
294 "localized_name": "MODEL"
295 }
296 ],
297 "size": [
298 340,
299 82
300 ],
301 "pos": [
302 720,
303 -280
304 ],
305 "widgets_values": [
306 "wan2.1_14B_SCAIL_2_fp8_scaled.safetensors",
307 "default"
308 ],
309 "inputs": [
310 {
311 "widget": {
312 "name": "unet_name"
313 },
314 "name": "unet_name",
315 "label": "unet_name",
316 "type": "COMBO",
317 "localized_name": "unet_name"
318 },
319 {
320 "widget": {
321 "name": "weight_dtype"
322 },
323 "name": "weight_dtype",
324 "label": "weight_dtype",
325 "type": "COMBO",
326 "localized_name": "weight_dtype"
327 }
328 ],
329 "flags": [],
330 "id": 9,
331 "type": "UNETLoader",
332 "properties": {
333 "note": "主模型:wan2.1_14B_SCAIL_2_fp8_scaled.safetensors。",
334 "widget_ue_connectable": {
335 "weight_dtype": true,
336 "unet_name": true
337 },
338 "Node name for S&R": "SCAIL-2 大模型 UNETLoader"
339 },
340 "order": 3
341 },
342 {
343 "outputs": [
344 {
345 "name": "MODEL",
346 "links": [
347 200
348 ],
349 "label": "MODEL",
350 "type": "MODEL",
351 "localized_name": "MODEL"
352 }
353 ],
354 "color": "#223",
355 "widgets_values": [
356 "lightx2v_I2V_14B_480p_cfg_step_distill_rank128_bf16.safetensors",
357 0.8
358 ],
359 "inputs": [
360 {
361 "name": "model",
362 "link": 2,
363 "label": "model",
364 "type": "MODEL",
365 "localized_name": "model"
366 },
367 {
368 "widget": {
369 "name": "lora_name"
370 },
371 "name": "lora_name",
372 "label": "lora_name",
373 "type": "COMBO",
374 "localized_name": "lora_name"
375 },
376 {
377 "widget": {
378 "name": "strength_model"
379 },
380 "name": "strength_model",
381 "label": "strength_model",
382 "type": "FLOAT",
383 "localized_name": "strength_model"
384 }
385 ],
386 "flags": [],
387 "type": "LoraLoaderModelOnly",
388 "mode": 0,
389 "bgcolor": "#335",
390 "size": [
391 360,
392 100
393 ],
394 "pos": [
395 1100,
396 -280
397 ],
398 "id": 10,
399 "properties": {
400 "note": "多 LoRA 串联加载。已按最终 LoRA 链加载。",
401 "widget_ue_connectable": [],
402 "Node name for S&R": "LoRA 01:LightX2V rank128"
403 },
404 "order": 14
405 },
406 {
407 "outputs": [
408 {
409 "name": "MODEL",
410 "links": [
411 40,
412 64
413 ],
414 "label": "MODEL",
415 "type": "MODEL",
416 "localized_name": "MODEL"
417 }
418 ],
419 "color": "#223",
420 "widgets_values": [
421 5
422 ],
423 "inputs": [
424 {
425 "name": "model",
426 "link": 3,
427 "label": "model",
428 "type": "MODEL",
429 "localized_name": "model"
430 },
431 {
432 "widget": {
433 "name": "shift"
434 },
435 "name": "shift",
436 "label": "shift",
437 "type": "FLOAT",
438 "localized_name": "shift"
439 }
440 ],
441 "flags": [],
442 "type": "ModelSamplingSD3",
443 "mode": 0,
444 "bgcolor": "#335",
445 "size": [
446 300,
447 80
448 ],
449 "pos": [
450 2620,
451 -120
452 ],
453 "id": 11,
454 "properties": {
455 "note": "接在 9 个 LoRA 串联之后;两个 SamplerCustom 的 model 都吃这里的输出。",
456 "widget_ue_connectable": [],
457 "Node name for S&R": "ModelSamplingSD3:shift=5"
458 },
459 "order": 43
460 },
461 {
462 "outputs": [
463 {
464 "name": "VAE",
465 "links": [
466 31,
467 47,
468 54,
469 71
470 ],
471 "label": "VAE",
472 "type": "VAE",
473 "localized_name": "VAE"
474 }
475 ],
476 "color": "#322",
477 "widgets_values": [
478 "wan_2.1_vae_Comfy-Org.safetensors"
479 ],
480 "inputs": [
481 {
482 "widget": {
483 "name": "vae_name"
484 },
485 "name": "vae_name",
486 "label": "vae_name",
487 "type": "COMBO",
488 "localized_name": "vae_name"
489 }
490 ],
491 "flags": [],
492 "type": "VAELoader",
493 "mode": 0,
494 "bgcolor": "#533",
495 "size": [
496 263.3166809082031,
497 60.2781867980957
498 ],
499 "pos": [
500 1400,
501 80
502 ],
503 "id": 12,
504 "properties": {
505 "note": "按 RunningHub 范式对齐 VAE 文件名。",
506 "widget_ue_connectable": [],
507 "Node name for S&R": "WAN VAE"
508 },
509 "order": 4
510 },
511 {
512 "outputs": [
513 {
514 "name": "CLIP",
515 "links": [
516 8,
517 9
518 ],
519 "label": "CLIP",
520 "type": "CLIP",
521 "localized_name": "CLIP"
522 }
523 ],
524 "color": "#432",
525 "widgets_values": [
526 "umt5_xxl_fp8_e4m3fn_scaled.safetensors",
527 "wan",
528 "default"
529 ],
530 "inputs": [
531 {
532 "widget": {
533 "name": "clip_name"
534 },
535 "name": "clip_name",
536 "label": "clip_name",
537 "type": "COMBO",
538 "localized_name": "clip_name"
539 },
540 {
541 "widget": {
542 "name": "type"
543 },
544 "name": "type",
545 "label": "type",
546 "type": "COMBO",
547 "localized_name": "type"
548 },
549 {
550 "widget": {
551 "name": "device"
552 },
553 "shape": 7,
554 "name": "device",
555 "label": "device",
556 "type": "COMBO",
557 "localized_name": "device"
558 }
559 ],
560 "flags": [],
561 "type": "CLIPLoader",
562 "mode": 0,
563 "bgcolor": "#653",
564 "size": [
565 270,
566 141.328125
567 ],
568 "pos": [
569 1040,
570 510
571 ],
572 "id": 13,
573 "properties": {
574 "note": "按 RunningHub 范式加载 WAN 文本编码器。",
575 "widget_ue_connectable": [],
576 "Node name for S&R": "WAN Text Encoder"
577 },
578 "order": 5
579 },
580 {
581 "outputs": [
582 {
583 "name": "CLIP_VISION",
584 "links": [
585 6
586 ],
587 "label": "CLIP_VISION",
588 "type": "CLIP_VISION",
589 "localized_name": "CLIP_VISION"
590 }
591 ],
592 "color": "#233",
593 "widgets_values": [
594 "clip_vision_vit_h.safetensors"
595 ],
596 "inputs": [
597 {
598 "widget": {
599 "name": "clip_name"
600 },
601 "name": "clip_name",
602 "label": "clip_name",
603 "type": "COMBO",
604 "localized_name": "clip_name"
605 }
606 ],
607 "flags": [],
608 "type": "CLIPVisionLoader",
609 "mode": 0,
610 "bgcolor": "#355",
611 "size": [
612 270,
613 80.328125
614 ],
615 "pos": [
616 1040,
617 150
618 ],
619 "id": 14,
620 "properties": {
621 "note": "按 RunningHub 范式对齐 CLIP Vision 文件名。",
622 "widget_ue_connectable": [],
623 "Node name for S&R": "CLIP Vision"
624 },
625 "order": 6
626 },
627 {
628 "outputs": [
629 {
630 "name": "MODEL",
631 "links": [
632 12,
633 15
634 ],
635 "label": "MODEL",
636 "type": "MODEL",
637 "localized_name": "MODEL"
638 },
639 {
640 "name": "CLIP",
641 "links": [
642 10
643 ],
644 "label": "CLIP",
645 "type": "CLIP",
646 "localized_name": "CLIP"
647 },
648 {
649 "name": "VAE",
650 "links": [],
651 "label": "VAE",
652 "type": "VAE",
653 "localized_name": "VAE"
654 }
655 ],
656 "color": "#223",
657 "widgets_values": [
658 "sam3.1_multiplex_fp16.safetensors"
659 ],
660 "inputs": [
661 {
662 "widget": {
663 "name": "ckpt_name"
664 },
665 "name": "ckpt_name",
666 "label": "ckpt_name",
667 "type": "COMBO",
668 "localized_name": "ckpt_name"
669 }
670 ],
671 "flags": [],
672 "type": "CheckpointLoaderSimple",
673 "mode": 0,
674 "bgcolor": "#335",
675 "size": [
676 270,
677 128.328125
678 ],
679 "pos": [
680 1040,
681 720
682 ],
683 "id": 15,
684 "properties": {
685 "note": "按 RunningHub 范式对齐 SAM3 checkpoint 文件名。",
686 "widget_ue_connectable": [],
687 "Node name for S&R": "SAM3 Model"
688 },
689 "order": 7
690 },
691 {
692 "mode": 0,
693 "outputs": [
694 {
695 "name": "SAMPLER",
696 "links": [
697 43,
698 67
699 ],
700 "label": "SAMPLER",
701 "type": "SAMPLER",
702 "localized_name": "SAMPLER"
703 }
704 ],
705 "size": [
706 260,
707 70
708 ],
709 "pos": [
710 3380,
711 -120
712 ],
713 "widgets_values": [
714 "euler"
715 ],
716 "inputs": [
717 {
718 "widget": {
719 "name": "sampler_name"
720 },
721 "name": "sampler_name",
722 "label": "sampler_name",
723 "type": "COMBO",
724 "localized_name": "sampler_name"
725 }
726 ],
727 "flags": [],
728 "id": 16,
729 "type": "KSamplerSelect",
730 "properties": {
731 "note": "按 RunningHub 范式保留 euler 采样器。",
732 "widget_ue_connectable": [],
733 "Node name for S&R": "Sampler:euler"
734 },
735 "order": 8
736 },
737 {
738 "mode": 0,
739 "outputs": [
740 {
741 "name": "SIGMAS",
742 "links": [
743 44,
744 68
745 ],
746 "label": "SIGMAS",
747 "type": "SIGMAS",
748 "localized_name": "SIGMAS"
749 }
750 ],
751 "size": [
752 300,
753 114
754 ],
755 "pos": [
756 3000,
757 -120
758 ],
759 "widgets_values": [
760 "simple",
761 8,
762 1
763 ],
764 "inputs": [
765 {
766 "name": "model",
767 "link": 4,
768 "label": "model",
769 "type": "MODEL",
770 "localized_name": "model"
771 },
772 {
773 "widget": {
774 "name": "scheduler"
775 },
776 "name": "scheduler",
777 "label": "scheduler",
778 "type": "COMBO",
779 "localized_name": "scheduler"
780 },
781 {
782 "widget": {
783 "name": "steps"
784 },
785 "name": "steps",
786 "label": "steps",
787 "type": "INT",
788 "localized_name": "steps"
789 },
790 {
791 "widget": {
792 "name": "denoise"
793 },
794 "name": "denoise",
795 "label": "denoise",
796 "type": "FLOAT",
797 "localized_name": "denoise"
798 }
799 ],
800 "flags": [],
801 "id": 17,
802 "type": "BasicScheduler",
803 "properties": {
804 "note": "Scheduler 使用同一套多 LoRA 模型,保持首段和循环体一致。",
805 "widget_ue_connectable": [],
806 "Node name for S&R": "Steps / CFG Scheduler"
807 },
808 "order": 44
809 },
810 {
811 "outputs": [
812 {
813 "name": "CLIP_VISION_OUTPUT",
814 "links": [
815 36,
816 59
817 ],
818 "label": "CLIP_VISION_OUTPUT",
819 "type": "CLIP_VISION_OUTPUT",
820 "localized_name": "CLIP_VISION_OUTPUT"
821 }
822 ],
823 "color": "#233",
824 "widgets_values": [
825 "none"
826 ],
827 "inputs": [
828 {
829 "name": "clip_vision",
830 "link": 6,
831 "label": "clip_vision",
832 "type": "CLIP_VISION",
833 "localized_name": "clip_vision"
834 },
835 {
836 "name": "image",
837 "link": 105,
838 "label": "image",
839 "type": "IMAGE",
840 "localized_name": "image"
841 },
842 {
843 "widget": {
844 "name": "crop"
845 },
846 "name": "crop",
847 "label": "crop",
848 "type": "COMBO",
849 "localized_name": "crop"
850 }
851 ],
852 "flags": [],
853 "type": "CLIPVisionEncode",
854 "mode": 0,
855 "bgcolor": "#355",
856 "size": [
857 289.5,
858 104.328125
859 ],
860 "pos": [
861 1540,
862 220
863 ],
864 "id": 19,
865 "properties": {
866 "note": "对参考图主体做视觉编码,用于稳定角色身份。",
867 "widget_ue_connectable": [],
868 "Node name for S&R": "Encode Reference Identity"
869 },
870 "order": 36
871 },
872 {
873 "mode": 0,
874 "outputs": [
875 {
876 "name": "track_data",
877 "links": [
878 17
879 ],
880 "label": "track_data",
881 "type": "SAM3_TRACK_DATA",
882 "localized_name": "track_data"
883 }
884 ],
885 "size": [
886 275.796875,
887 218.328125
888 ],
889 "pos": [
890 2140,
891 220
892 ],
893 "widgets_values": [
894 0.45,
895 1,
896 1
897 ],
898 "inputs": [
899 {
900 "name": "images",
901 "link": 11,
902 "label": "images",
903 "type": "IMAGE",
904 "localized_name": "images"
905 },
906 {
907 "name": "model",
908 "link": 12,
909 "label": "model",
910 "type": "MODEL",
911 "localized_name": "model"
912 },
913 {
914 "shape": 7,
915 "name": "initial_mask",
916 "label": "initial_mask",
917 "type": "MASK",
918 "localized_name": "initial_mask"
919 },
920 {
921 "shape": 7,
922 "name": "conditioning",
923 "link": 13,
924 "label": "conditioning",
925 "type": "CONDITIONING",
926 "localized_name": "conditioning"
927 },
928 {
929 "widget": {
930 "name": "detection_threshold"
931 },
932 "name": "detection_threshold",
933 "label": "detection_threshold",
934 "type": "FLOAT",
935 "localized_name": "detection_threshold"
936 },
937 {
938 "widget": {
939 "name": "max_objects"
940 },
941 "name": "max_objects",
942 "label": "max_objects",
943 "type": "INT",
944 "localized_name": "max_objects"
945 },
946 {
947 "widget": {
948 "name": "detect_interval"
949 },
950 "name": "detect_interval",
951 "label": "detect_interval",
952 "type": "INT",
953 "localized_name": "detect_interval"
954 }
955 ],
956 "flags": [],
957 "id": 20,
958 "type": "SAM3_VideoTrack",
959 "title": "SAM3 追踪驱动主体",
960 "properties": {
961 "note": "SAM3 追踪主体数 max_objects=1。单人用 1,双人用 2。",
962 "widget_ue_connectable": [],
963 "Node name for S&R": "Track Driving Subject"
964 },
965 "order": 25
966 },
967 {
968 "mode": 0,
969 "outputs": [
970 {
971 "name": "track_data",
972 "links": [
973 18,
974 99
975 ],
976 "label": "track_data",
977 "type": "SAM3_TRACK_DATA",
978 "localized_name": "track_data"
979 }
980 ],
981 "size": [
982 275.796875,
983 218.328125
984 ],
985 "pos": [
986 2140,
987 700
988 ],
989 "widgets_values": [
990 0.45,
991 1,
992 1
993 ],
994 "inputs": [
995 {
996 "name": "images",
997 "link": 14,
998 "label": "images",
999 "type": "IMAGE",
1000 "localized_name": "images"
1001 },
1002 {
1003 "name": "model",
1004 "link": 15,
1005 "label": "model",
1006 "type": "MODEL",
1007 "localized_name": "model"
1008 },
1009 {
1010 "shape": 7,
1011 "name": "initial_mask",
1012 "label": "initial_mask",
1013 "type": "MASK",
1014 "localized_name": "initial_mask"
1015 },
1016 {
1017 "shape": 7,
1018 "name": "conditioning",
1019 "link": 16,
1020 "label": "conditioning",
1021 "type": "CONDITIONING",
1022 "localized_name": "conditioning"
1023 },
1024 {
1025 "widget": {
1026 "name": "detection_threshold"
1027 },
1028 "name": "detection_threshold",
1029 "label": "detection_threshold",
1030 "type": "FLOAT",
1031 "localized_name": "detection_threshold"
1032 },
1033 {
1034 "widget": {
1035 "name": "max_objects"
1036 },
1037 "name": "max_objects",
1038 "label": "max_objects",
1039 "type": "INT",
1040 "localized_name": "max_objects"
1041 },
1042 {
1043 "widget": {
1044 "name": "detect_interval"
1045 },
1046 "name": "detect_interval",
1047 "label": "detect_interval",
1048 "type": "INT",
1049 "localized_name": "detect_interval"
1050 }
1051 ],
1052 "flags": [],
1053 "id": 21,
1054 "type": "SAM3_VideoTrack",
1055 "title": "SAM3 追踪参考主体",
1056 "properties": {
1057 "note": "SAM3 追踪主体数 max_objects=1。单人用 1,双人用 2。",
1058 "widget_ue_connectable": [],
1059 "Node name for S&R": "Track Reference Subject"
1060 },
1061 "order": 23
1062 },
1063 {
1064 "mode": 0,
1065 "outputs": [
1066 {
1067 "name": "pose_video_mask",
1068 "links": [
1069 34,
1070 57,
1071 85
1072 ],
1073 "label": "pose_video_mask",
1074 "type": "IMAGE",
1075 "localized_name": "pose_video_mask"
1076 },
1077 {
1078 "name": "reference_image_mask",
1079 "links": [
1080 35,
1081 58
1082 ],
1083 "label": "reference_image_mask",
1084 "type": "IMAGE",
1085 "localized_name": "reference_image_mask"
1086 }
1087 ],
1088 "size": [
1089 415.160400390625,
1090 146.04640197753906
1091 ],
1092 "pos": [
1093 2820,
1094 360
1095 ],
1096 "widgets_values": [
1097 "0",
1098 "left_to_right",
1099 true
1100 ],
1101 "inputs": [
1102 {
1103 "name": "driving_track_data",
1104 "link": 17,
1105 "label": "driving_track_data",
1106 "type": "SAM3_TRACK_DATA",
1107 "localized_name": "driving_track_data"
1108 },
1109 {
1110 "shape": 7,
1111 "name": "ref_track_data",
1112 "link": 18,
1113 "label": "ref_track_data",
1114 "type": "SAM3_TRACK_DATA",
1115 "localized_name": "ref_track_data"
1116 },
1117 {
1118 "widget": {
1119 "name": "object_indices"
1120 },
1121 "name": "object_indices",
1122 "label": "object_indices",
1123 "type": "STRING",
1124 "localized_name": "object_indices"
1125 },
1126 {
1127 "widget": {
1128 "name": "sort_by"
1129 },
1130 "name": "sort_by",
1131 "label": "sort_by",
1132 "type": "COMBO",
1133 "localized_name": "sort_by"
1134 },
1135 {
1136 "widget": {
1137 "name": "replacement_mode"
1138 },
1139 "name": "replacement_mode",
1140 "link": 19,
1141 "label": "replacement_mode",
1142 "type": "BOOLEAN",
1143 "localized_name": "replacement_mode"
1144 }
1145 ],
1146 "flags": [],
1147 "id": 22,
1148 "type": "SCAIL2ColoredMask",
1149 "title": "SCAIL-2 双路遮罩:骨骼/参考两路都接",
1150 "properties": {
1151 "note": "object_indices=0;sort_by=left_to_right;replacement_mode=true。pose_video_mask 和 reference_image_mask 两个输出都必须接到 WanSCAILToVideo。",
1152 "widget_ue_connectable": {
1153 "replacement_mode": true
1154 },
1155 "Node name for S&R": "SCAIL-2 双路遮罩:骨骼/参考两路都接"
1156 },
1157 "order": 30
1158 },
1159 {
1160 "mode": 0,
1161 "outputs": [
1162 {
1163 "name": "INT",
1164 "links": [
1165 21
1166 ],
1167 "label": "INT",
1168 "type": "INT",
1169 "localized_name": "INT"
1170 }
1171 ],
1172 "size": [
1173 260,
1174 110
1175 ],
1176 "pos": [
1177 120,
1178 1720
1179 ],
1180 "widgets_values": [
1181 0,
1182 65,
1183 "subtract"
1184 ],
1185 "inputs": [
1186 {
1187 "widget": {
1188 "name": "a"
1189 },
1190 "name": "a",
1191 "link": 20,
1192 "label": "a",
1193 "type": "INT",
1194 "localized_name": "a"
1195 },
1196 {
1197 "widget": {
1198 "name": "b"
1199 },
1200 "name": "b",
1201 "label": "b",
1202 "type": "INT",
1203 "localized_name": "b"
1204 },
1205 {
1206 "widget": {
1207 "name": "operation"
1208 },
1209 "name": "operation",
1210 "label": "operation",
1211 "type": "COMBO",
1212 "localized_name": "operation"
1213 }
1214 ],
1215 "flags": [],
1216 "id": 23,
1217 "type": "easy mathInt",
1218 "properties": {
1219 "note": "F 为驱动视频实际加载帧数;先计算 F - 65,65 是首段生成长度。",
1220 "widget_ue_connectable": {
1221 "a": true,
1222 "b": true,
1223 "operation": true
1224 },
1225 "Node name for S&R": "循环次数计算 1:总帧数减首段"
1226 },
1227 "order": 22
1228 },
1229 {
1230 "mode": 0,
1231 "outputs": [
1232 {
1233 "name": "INT",
1234 "links": [
1235 22
1236 ],
1237 "label": "INT",
1238 "type": "INT",
1239 "localized_name": "INT"
1240 }
1241 ],
1242 "size": [
1243 260,
1244 110
1245 ],
1246 "pos": [
1247 120,
1248 1860
1249 ],
1250 "widgets_values": [
1251 0,
1252 75,
1253 "add"
1254 ],
1255 "inputs": [
1256 {
1257 "widget": {
1258 "name": "a"
1259 },
1260 "name": "a",
1261 "link": 21,
1262 "label": "a",
1263 "type": "INT",
1264 "localized_name": "a"
1265 },
1266 {
1267 "widget": {
1268 "name": "b"
1269 },
1270 "name": "b",
1271 "label": "b",
1272 "type": "INT",
1273 "localized_name": "b"
1274 },
1275 {
1276 "widget": {
1277 "name": "operation"
1278 },
1279 "name": "operation",
1280 "label": "operation",
1281 "type": "COMBO",
1282 "localized_name": "operation"
1283 }
1284 ],
1285 "flags": [],
1286 "id": 24,
1287 "type": "easy mathInt",
1288 "properties": {
1289 "note": "整数除法前加 75,相当于对除以 76 做向上取整。",
1290 "widget_ue_connectable": {
1291 "a": true,
1292 "b": true,
1293 "operation": true
1294 },
1295 "Node name for S&R": "循环次数计算 2:补齐向上取整"
1296 },
1297 "order": 27
1298 },
1299 {
1300 "mode": 0,
1301 "outputs": [
1302 {
1303 "name": "INT",
1304 "links": [
1305 23,
1306 27
1307 ],
1308 "label": "INT",
1309 "type": "INT",
1310 "localized_name": "INT"
1311 }
1312 ],
1313 "size": [
1314 260,
1315 110
1316 ],
1317 "pos": [
1318 120,
1319 2000
1320 ],
1321 "widgets_values": [
1322 0,
1323 76,
1324 "divide"
1325 ],
1326 "inputs": [
1327 {
1328 "widget": {
1329 "name": "a"
1330 },
1331 "name": "a",
1332 "link": 22,
1333 "label": "a",
1334 "type": "INT",
1335 "localized_name": "a"
1336 },
1337 {
1338 "widget": {
1339 "name": "b"
1340 },
1341 "name": "b",
1342 "label": "b",
1343 "type": "INT",
1344 "localized_name": "b"
1345 },
1346 {
1347 "widget": {
1348 "name": "operation"
1349 },
1350 "name": "operation",
1351 "label": "operation",
1352 "type": "COMBO",
1353 "localized_name": "operation"
1354 }
1355 ],
1356 "flags": [],
1357 "id": 25,
1358 "type": "easy mathInt",
1359 "properties": {
1360 "note": "每轮续写 81 帧,但前 5 帧会作为重叠历史删掉,所以每轮实际新增 76 帧。",
1361 "widget_ue_connectable": {
1362 "a": true,
1363 "b": true,
1364 "operation": true
1365 },
1366 "Node name for S&R": "循环次数计算 3:除以每轮新增帧"
1367 },
1368 "order": 31
1369 },
1370 {
1371 "mode": 0,
1372 "outputs": [
1373 {
1374 "name": "int",
1375 "links": [
1376 24,
1377 26
1378 ],
1379 "label": "int",
1380 "type": "INT",
1381 "localized_name": "int"
1382 }
1383 ],
1384 "size": [
1385 220,
1386 90
1387 ],
1388 "pos": [
1389 440,
1390 2140
1391 ],
1392 "widgets_values": [
1393 1
1394 ],
1395 "inputs": [
1396 {
1397 "widget": {
1398 "name": "value"
1399 },
1400 "name": "value",
1401 "label": "value",
1402 "type": "INT",
1403 "localized_name": "value"
1404 }
1405 ],
1406 "flags": [],
1407 "id": 26,
1408 "type": "easy int",
1409 "properties": {
1410 "note": "短视频保护用常量。长视频会走自动计算出来的循环次数。",
1411 "widget_ue_connectable": {
1412 "value": true
1413 },
1414 "Node name for S&R": "常量:最小循环 1 次"
1415 },
1416 "order": 9
1417 },
1418 {
1419 "mode": 0,
1420 "outputs": [
1421 {
1422 "name": "boolean",
1423 "links": [
1424 25
1425 ],
1426 "label": "boolean",
1427 "type": "BOOLEAN",
1428 "localized_name": "boolean"
1429 }
1430 ],
1431 "size": [
1432 260,
1433 110
1434 ],
1435 "pos": [
1436 440,
1437 2000
1438 ],
1439 "widgets_values": [
1440 "a < b"
1441 ],
1442 "inputs": [
1443 {
1444 "name": "a",
1445 "link": 23,
1446 "label": "a",
1447 "type": "*",
1448 "localized_name": "a"
1449 },
1450 {
1451 "name": "b",
1452 "link": 24,
1453 "label": "b",
1454 "type": "*",
1455 "localized_name": "b"
1456 },
1457 {
1458 "widget": {
1459 "name": "comparison"
1460 },
1461 "name": "comparison",
1462 "label": "comparison",
1463 "type": "COMBO",
1464 "localized_name": "comparison"
1465 }
1466 ],
1467 "flags": [],
1468 "id": 27,
1469 "type": "easy compare",
1470 "properties": {
1471 "note": "如果计算出来的 N 小于 1,就强制至少循环 1 次,避免 For Loop 输入为 0。",
1472 "widget_ue_connectable": {
1473 "comparison": true
1474 },
1475 "Node name for S&R": "循环次数保护:是否小于 1"
1476 },
1477 "order": 35
1478 },
1479 {
1480 "mode": 0,
1481 "outputs": [
1482 {
1483 "name": "*",
1484 "links": [
1485 48
1486 ],
1487 "label": "*",
1488 "type": "*",
1489 "localized_name": "*"
1490 }
1491 ],
1492 "size": [
1493 260,
1494 120
1495 ],
1496 "pos": [
1497 760,
1498 2040
1499 ],
1500 "widgets_values": [
1501 false
1502 ],
1503 "inputs": [
1504 {
1505 "name": "on_true",
1506 "link": 26,
1507 "label": "on_true",
1508 "type": "*",
1509 "localized_name": "on_true"
1510 },
1511 {
1512 "name": "on_false",
1513 "link": 27,
1514 "label": "on_false",
1515 "type": "*",
1516 "localized_name": "on_false"
1517 },
1518 {
1519 "widget": {
1520 "name": "boolean"
1521 },
1522 "name": "boolean",
1523 "link": 25,
1524 "label": "boolean",
1525 "type": "BOOLEAN",
1526 "localized_name": "boolean"
1527 }
1528 ],
1529 "flags": [],
1530 "id": 28,
1531 "type": "easy ifElse",
1532 "title": "最终循环次数 N",
1533 "properties": {
1534 "note": "输出给 For Loop Start 的 total:N = max(1, ceil((F - 65) / 76))。",
1535 "widget_ue_connectable": {
1536 "boolean": true
1537 },
1538 "Node name for S&R": "最终循环次数 N"
1539 },
1540 "order": 38
1541 },
1542 {
1543 "outputs": [
1544 {
1545 "name": "positive",
1546 "links": [
1547 41
1548 ],
1549 "label": "positive",
1550 "type": "CONDITIONING",
1551 "localized_name": "positive"
1552 },
1553 {
1554 "name": "negative",
1555 "links": [
1556 42
1557 ],
1558 "label": "negative",
1559 "type": "CONDITIONING",
1560 "localized_name": "negative"
1561 },
1562 {
1563 "name": "latent",
1564 "links": [
1565 45
1566 ],
1567 "label": "latent",
1568 "type": "LATENT",
1569 "localized_name": "latent"
1570 },
1571 {
1572 "name": "video_frame_offset",
1573 "links": [
1574 50
1575 ],
1576 "label": "video_frame_offset",
1577 "type": "INT",
1578 "localized_name": "video_frame_offset"
1579 }
1580 ],
1581 "color": "#332922",
1582 "widgets_values": [
1583 512,
1584 896,
1585 65,
1586 1,
1587 1,
1588 0,
1589 1,
1590 0,
1591 5,
1592 true
1593 ],
1594 "inputs": [
1595 {
1596 "name": "positive",
1597 "link": 29,
1598 "label": "positive",
1599 "type": "CONDITIONING",
1600 "localized_name": "positive"
1601 },
1602 {
1603 "name": "negative",
1604 "link": 30,
1605 "label": "negative",
1606 "type": "CONDITIONING",
1607 "localized_name": "negative"
1608 },
1609 {
1610 "name": "vae",
1611 "link": 31,
1612 "label": "vae",
1613 "type": "VAE",
1614 "localized_name": "vae"
1615 },
1616 {
1617 "shape": 7,
1618 "name": "pose_video",
1619 "link": 32,
1620 "label": "pose_video",
1621 "type": "IMAGE",
1622 "localized_name": "pose_video"
1623 },
1624 {
1625 "shape": 7,
1626 "name": "pose_video_mask",
1627 "link": 34,
1628 "label": "pose_video_mask",
1629 "type": "IMAGE",
1630 "localized_name": "pose_video_mask"
1631 },
1632 {
1633 "shape": 7,
1634 "name": "reference_image",
1635 "link": 106,
1636 "label": "reference_image",
1637 "type": "IMAGE",
1638 "localized_name": "reference_image"
1639 },
1640 {
1641 "shape": 7,
1642 "name": "reference_image_mask",
1643 "link": 35,
1644 "label": "reference_image_mask",
1645 "type": "IMAGE",
1646 "localized_name": "reference_image_mask"
1647 },
1648 {
1649 "shape": 7,
1650 "name": "clip_vision_output",
1651 "link": 36,
1652 "label": "clip_vision_output",
1653 "type": "CLIP_VISION_OUTPUT",
1654 "localized_name": "clip_vision_output"
1655 },
1656 {
1657 "shape": 7,
1658 "name": "previous_frames",
1659 "label": "previous_frames",
1660 "type": "IMAGE",
1661 "localized_name": "previous_frames"
1662 },
1663 {
1664 "widget": {
1665 "name": "width"
1666 },
1667 "name": "width",
1668 "link": 37,
1669 "label": "width",
1670 "type": "INT",
1671 "localized_name": "width"
1672 },
1673 {
1674 "widget": {
1675 "name": "height"
1676 },
1677 "name": "height",
1678 "link": 38,
1679 "label": "height",
1680 "type": "INT",
1681 "localized_name": "height"
1682 },
1683 {
1684 "widget": {
1685 "name": "length"
1686 },
1687 "name": "length",
1688 "label": "length",
1689 "type": "INT",
1690 "localized_name": "length"
1691 },
1692 {
1693 "widget": {
1694 "name": "batch_size"
1695 },
1696 "name": "batch_size",
1697 "label": "batch_size",
1698 "type": "INT",
1699 "localized_name": "batch_size"
1700 },
1701 {
1702 "widget": {
1703 "name": "pose_strength"
1704 },
1705 "name": "pose_strength",
1706 "label": "pose_strength",
1707 "type": "FLOAT",
1708 "localized_name": "pose_strength"
1709 },
1710 {
1711 "widget": {
1712 "name": "pose_start"
1713 },
1714 "name": "pose_start",
1715 "label": "pose_start",
1716 "type": "FLOAT",
1717 "localized_name": "pose_start"
1718 },
1719 {
1720 "widget": {
1721 "name": "pose_end"
1722 },
1723 "name": "pose_end",
1724 "label": "pose_end",
1725 "type": "FLOAT",
1726 "localized_name": "pose_end"
1727 },
1728 {
1729 "widget": {
1730 "name": "video_frame_offset"
1731 },
1732 "name": "video_frame_offset",
1733 "label": "video_frame_offset",
1734 "type": "INT",
1735 "localized_name": "video_frame_offset"
1736 },
1737 {
1738 "widget": {
1739 "name": "previous_frame_count"
1740 },
1741 "name": "previous_frame_count",
1742 "label": "previous_frame_count",
1743 "type": "INT",
1744 "localized_name": "previous_frame_count"
1745 },
1746 {
1747 "widget": {
1748 "name": "replacement_mode"
1749 },
1750 "shape": 7,
1751 "name": "replacement_mode",
1752 "link": 39,
1753 "label": "replacement_mode",
1754 "type": "BOOLEAN",
1755 "localized_name": "replacement_mode"
1756 }
1757 ],
1758 "flags": [],
1759 "type": "WanSCAILToVideo",
1760 "title": "首段生成:建立角色关系",
1761 "mode": 0,
1762 "bgcolor": "#593930",
1763 "size": [
1764 309.68511962890625,
1765 474
1766 ],
1767 "pos": [
1768 3400,
1769 210
1770 ],
1771 "id": 30,
1772 "properties": {
1773 "note": "首段生成:用一张单人参考图,只替换双人或多人驱动视频中的一个目标人物。 首段负责建立 reference、pose_video、mask 与文本条件之间的关系。",
1774 "widget_ue_connectable": {
1775 "replacement_mode": true,
1776 "width": true,
1777 "height": true
1778 },
1779 "Node name for S&R": "Segment 01 - Initial Replacement"
1780 },
1781 "order": 39
1782 },
1783 {
1784 "mode": 0,
1785 "outputs": [
1786 {
1787 "name": "output",
1788 "links": [],
1789 "label": "output",
1790 "type": "LATENT",
1791 "localized_name": "output"
1792 },
1793 {
1794 "name": "denoised_output",
1795 "links": [
1796 46
1797 ],
1798 "label": "denoised_output",
1799 "type": "LATENT",
1800 "localized_name": "denoised_output"
1801 }
1802 ],
1803 "size": [
1804 262.98541259765625,
1805 667.0980834960938
1806 ],
1807 "pos": [
1808 3710,
1809 210
1810 ],
1811 "widgets_values": [
1812 true,
1813 1,
1814 "fixed",
1815 1
1816 ],
1817 "inputs": [
1818 {
1819 "name": "model",
1820 "link": 40,
1821 "label": "model",
1822 "type": "MODEL",
1823 "localized_name": "model"
1824 },
1825 {
1826 "name": "positive",
1827 "link": 41,
1828 "label": "positive",
1829 "type": "CONDITIONING",
1830 "localized_name": "positive"
1831 },
1832 {
1833 "name": "negative",
1834 "link": 42,
1835 "label": "negative",
1836 "type": "CONDITIONING",
1837 "localized_name": "negative"
1838 },
1839 {
1840 "name": "sampler",
1841 "link": 43,
1842 "label": "sampler",
1843 "type": "SAMPLER",
1844 "localized_name": "sampler"
1845 },
1846 {
1847 "name": "sigmas",
1848 "link": 44,
1849 "label": "sigmas",
1850 "type": "SIGMAS",
1851 "localized_name": "sigmas"
1852 },
1853 {
1854 "name": "latent_image",
1855 "link": 45,
1856 "label": "latent_image",
1857 "type": "LATENT",
1858 "localized_name": "latent_image"
1859 },
1860 {
1861 "widget": {
1862 "name": "add_noise"
1863 },
1864 "name": "add_noise",
1865 "label": "add_noise",
1866 "type": "BOOLEAN",
1867 "localized_name": "add_noise"
1868 },
1869 {
1870 "widget": {
1871 "name": "noise_seed"
1872 },
1873 "name": "noise_seed",
1874 "label": "noise_seed",
1875 "type": "INT",
1876 "localized_name": "noise_seed"
1877 },
1878 {
1879 "widget": {
1880 "name": "cfg"
1881 },
1882 "name": "cfg",
1883 "label": "cfg",
1884 "type": "FLOAT",
1885 "localized_name": "cfg"
1886 }
1887 ],
1888 "flags": [],
1889 "id": 31,
1890 "type": "SamplerCustom",
1891 "properties": {
1892 "note": "执行第 01 段采样,seed 作为开放参数保留在采样节点上。",
1893 "widget_ue_connectable": [],
1894 "Node name for S&R": "Sample Segment 01"
1895 },
1896 "order": 45
1897 },
1898 {
1899 "outputs": [
1900 {
1901 "name": "IMAGE",
1902 "links": [
1903 49,
1904 51,
1905 87
1906 ],
1907 "label": "IMAGE",
1908 "type": "IMAGE",
1909 "localized_name": "IMAGE"
1910 }
1911 ],
1912 "color": "#322",
1913 "widgets_values": [],
1914 "inputs": [
1915 {
1916 "name": "samples",
1917 "link": 46,
1918 "label": "samples",
1919 "type": "LATENT",
1920 "localized_name": "samples"
1921 },
1922 {
1923 "name": "vae",
1924 "link": 47,
1925 "label": "vae",
1926 "type": "VAE",
1927 "localized_name": "vae"
1928 }
1929 ],
1930 "flags": {
1931 "collapsed": true
1932 },
1933 "type": "VAEDecode",
1934 "mode": 0,
1935 "bgcolor": "#533",
1936 "size": [
1937 225,
1938 71.328125
1939 ],
1940 "pos": [
1941 3710,
1942 930
1943 ],
1944 "id": 32,
1945 "properties": {
1946 "note": "解码第 01 段采样 latent,输出当前段生成图像。",
1947 "widget_ue_connectable": [],
1948 "Node name for S&R": "Decode Segment 01"
1949 },
1950 "order": 46
1951 },
1952 {
1953 "outputs": [
1954 {
1955 "shape": 5,
1956 "name": "flow",
1957 "links": [
1958 78
1959 ],
1960 "label": "flow",
1961 "type": "FLOW_CONTROL",
1962 "localized_name": "flow"
1963 },
1964 {
1965 "name": "index",
1966 "links": [],
1967 "label": "index",
1968 "type": "INT",
1969 "localized_name": "index"
1970 },
1971 {
1972 "name": "value1",
1973 "links": [
1974 60,
1975 73
1976 ],
1977 "label": "value1",
1978 "type": "*",
1979 "localized_name": "value1"
1980 },
1981 {
1982 "name": "value2",
1983 "links": [
1984 63
1985 ],
1986 "label": "value2",
1987 "type": "*"
1988 },
1989 {
1990 "name": "value3",
1991 "links": [
1992 76
1993 ],
1994 "label": "value3",
1995 "type": "*"
1996 },
1997 {
1998 "name": "value4",
1999 "label": "value4",
2000 "type": "*"
2001 },
2002 {
2003 "name": "value5",
2004 "label": "value5",
2005 "type": "*"
2006 },
2007 {
2008 "name": "value6",
2009 "label": "value6",
2010 "type": "*"
2011 }
2012 ],
2013 "color": "#223",
2014 "widgets_values": [
2015 4
2016 ],
2017 "inputs": [
2018 {
2019 "shape": 7,
2020 "name": "initial_value1",
2021 "link": 49,
2022 "label": "initial_value1",
2023 "type": "*",
2024 "localized_name": "initial_value1"
2025 },
2026 {
2027 "widget": {
2028 "name": "total"
2029 },
2030 "name": "total",
2031 "link": 48,
2032 "label": "total",
2033 "type": "INT",
2034 "localized_name": "total"
2035 },
2036 {
2037 "name": "initial_value2",
2038 "link": 50,
2039 "label": "initial_value2",
2040 "type": "*"
2041 },
2042 {
2043 "name": "initial_value3",
2044 "link": 51,
2045 "label": "initial_value3",
2046 "type": "*"
2047 },
2048 {
2049 "name": "initial_value4",
2050 "label": "initial_value4",
2051 "type": "*"
2052 },
2053 {
2054 "name": "initial_value5",
2055 "label": "initial_value5",
2056 "type": "*"
2057 },
2058 {
2059 "name": "initial_value6",
2060 "label": "initial_value6",
2061 "type": "*"
2062 }
2063 ],
2064 "flags": [],
2065 "type": "easy forLoopStart",
2066 "mode": 0,
2067 "bgcolor": "#335",
2068 "size": [
2069 330,
2070 198
2071 ],
2072 "pos": [
2073 4080,
2074 180
2075 ],
2076 "id": 33,
2077 "properties": {
2078 "note": "循环入口:total 由左侧“最终循环次数 N”自动输入。N = max(1, ceil((驱动视频帧数 - 65) / 76))。value1=上一段图像,value2=video_frame_offset,value3=累计视频帧。",
2079 "widget_ue_connectable": {
2080 "total": true
2081 },
2082 "Node name for S&R": "循环入口 For Loop Start"
2083 },
2084 "order": 47
2085 },
2086 {
2087 "outputs": [
2088 {
2089 "name": "positive",
2090 "links": [
2091 65
2092 ],
2093 "label": "positive",
2094 "type": "CONDITIONING",
2095 "localized_name": "positive"
2096 },
2097 {
2098 "name": "negative",
2099 "links": [
2100 66
2101 ],
2102 "label": "negative",
2103 "type": "CONDITIONING",
2104 "localized_name": "negative"
2105 },
2106 {
2107 "name": "latent",
2108 "links": [
2109 69
2110 ],
2111 "label": "latent",
2112 "type": "LATENT",
2113 "localized_name": "latent"
2114 },
2115 {
2116 "name": "video_frame_offset",
2117 "links": [
2118 80
2119 ],
2120 "label": "video_frame_offset",
2121 "type": "INT",
2122 "localized_name": "video_frame_offset"
2123 }
2124 ],
2125 "color": "#332922",
2126 "widgets_values": [
2127 512,
2128 896,
2129 81,
2130 1,
2131 1,
2132 0,
2133 1,
2134 0,
2135 5,
2136 true
2137 ],
2138 "inputs": [
2139 {
2140 "name": "positive",
2141 "link": 52,
2142 "label": "positive",
2143 "type": "CONDITIONING",
2144 "localized_name": "positive"
2145 },
2146 {
2147 "name": "negative",
2148 "link": 53,
2149 "label": "negative",
2150 "type": "CONDITIONING",
2151 "localized_name": "negative"
2152 },
2153 {
2154 "name": "vae",
2155 "link": 54,
2156 "label": "vae",
2157 "type": "VAE",
2158 "localized_name": "vae"
2159 },
2160 {
2161 "shape": 7,
2162 "name": "pose_video",
2163 "link": 55,
2164 "label": "pose_video",
2165 "type": "IMAGE",
2166 "localized_name": "pose_video"
2167 },
2168 {
2169 "shape": 7,
2170 "name": "pose_video_mask",
2171 "link": 57,
2172 "label": "pose_video_mask",
2173 "type": "IMAGE",
2174 "localized_name": "pose_video_mask"
2175 },
2176 {
2177 "shape": 7,
2178 "name": "reference_image",
2179 "link": 107,
2180 "label": "reference_image",
2181 "type": "IMAGE",
2182 "localized_name": "reference_image"
2183 },
2184 {
2185 "shape": 7,
2186 "name": "reference_image_mask",
2187 "link": 58,
2188 "label": "reference_image_mask",
2189 "type": "IMAGE",
2190 "localized_name": "reference_image_mask"
2191 },
2192 {
2193 "shape": 7,
2194 "name": "clip_vision_output",
2195 "link": 59,
2196 "label": "clip_vision_output",
2197 "type": "CLIP_VISION_OUTPUT",
2198 "localized_name": "clip_vision_output"
2199 },
2200 {
2201 "shape": 7,
2202 "name": "previous_frames",
2203 "link": 60,
2204 "label": "previous_frames",
2205 "type": "IMAGE",
2206 "localized_name": "previous_frames"
2207 },
2208 {
2209 "widget": {
2210 "name": "width"
2211 },
2212 "name": "width",
2213 "link": 61,
2214 "label": "width",
2215 "type": "INT",
2216 "localized_name": "width"
2217 },
2218 {
2219 "widget": {
2220 "name": "height"
2221 },
2222 "name": "height",
2223 "link": 62,
2224 "label": "height",
2225 "type": "INT",
2226 "localized_name": "height"
2227 },
2228 {
2229 "widget": {
2230 "name": "length"
2231 },
2232 "name": "length",
2233 "label": "length",
2234 "type": "INT",
2235 "localized_name": "length"
2236 },
2237 {
2238 "widget": {
2239 "name": "batch_size"
2240 },
2241 "name": "batch_size",
2242 "label": "batch_size",
2243 "type": "INT",
2244 "localized_name": "batch_size"
2245 },
2246 {
2247 "widget": {
2248 "name": "pose_strength"
2249 },
2250 "name": "pose_strength",
2251 "label": "pose_strength",
2252 "type": "FLOAT",
2253 "localized_name": "pose_strength"
2254 },
2255 {
2256 "widget": {
2257 "name": "pose_start"
2258 },
2259 "name": "pose_start",
2260 "label": "pose_start",
2261 "type": "FLOAT",
2262 "localized_name": "pose_start"
2263 },
2264 {
2265 "widget": {
2266 "name": "pose_end"
2267 },
2268 "name": "pose_end",
2269 "label": "pose_end",
2270 "type": "FLOAT",
2271 "localized_name": "pose_end"
2272 },
2273 {
2274 "widget": {
2275 "name": "video_frame_offset"
2276 },
2277 "name": "video_frame_offset",
2278 "link": 63,
2279 "label": "video_frame_offset",
2280 "type": "INT",
2281 "localized_name": "video_frame_offset"
2282 },
2283 {
2284 "widget": {
2285 "name": "previous_frame_count"
2286 },
2287 "name": "previous_frame_count",
2288 "label": "previous_frame_count",
2289 "type": "INT",
2290 "localized_name": "previous_frame_count"
2291 },
2292 {
2293 "widget": {
2294 "name": "replacement_mode"
2295 },
2296 "shape": 7,
2297 "name": "replacement_mode",
2298 "link": 108,
2299 "label": "replacement_mode",
2300 "type": "BOOLEAN",
2301 "localized_name": "replacement_mode"
2302 }
2303 ],
2304 "flags": [],
2305 "type": "WanSCAILToVideo",
2306 "title": "循环体:续写当前段",
2307 "mode": 0,
2308 "bgcolor": "#593930",
2309 "size": [
2310 312.703125,
2311 566.328125
2312 ],
2313 "pos": [
2314 4560,
2315 180
2316 ],
2317 "id": 34,
2318 "properties": {
2319 "note": "循环体续写段:用一张单人参考图,只替换双人或多人驱动视频中的一个目标人物。 每一轮使用上一轮 decoded frames 和 video_frame_offset 接续动作。\n循环体已补上 replacement_mode 开关输入,与首段共用同一个开关节点。这样首段和循环续写段的替换模式一致。",
2320 "widget_ue_connectable": {
2321 "replacement_mode": true,
2322 "width": true,
2323 "video_frame_offset": true,
2324 "height": true
2325 },
2326 "Node name for S&R": "循环体:续写当前段"
2327 },
2328 "order": 49
2329 },
2330 {
2331 "mode": 0,
2332 "outputs": [
2333 {
2334 "name": "output",
2335 "links": [],
2336 "label": "output",
2337 "type": "LATENT",
2338 "localized_name": "output"
2339 },
2340 {
2341 "name": "denoised_output",
2342 "links": [
2343 70
2344 ],
2345 "label": "denoised_output",
2346 "type": "LATENT",
2347 "localized_name": "denoised_output"
2348 }
2349 ],
2350 "size": [
2351 262.98541259765625,
2352 667.0980834960938
2353 ],
2354 "pos": [
2355 4880,
2356 180
2357 ],
2358 "widgets_values": [
2359 true,
2360 4,
2361 "increment",
2362 1
2363 ],
2364 "inputs": [
2365 {
2366 "name": "model",
2367 "link": 64,
2368 "label": "model",
2369 "type": "MODEL",
2370 "localized_name": "model"
2371 },
2372 {
2373 "name": "positive",
2374 "link": 65,
2375 "label": "positive",
2376 "type": "CONDITIONING",
2377 "localized_name": "positive"
2378 },
2379 {
2380 "name": "negative",
2381 "link": 66,
2382 "label": "negative",
2383 "type": "CONDITIONING",
2384 "localized_name": "negative"
2385 },
2386 {
2387 "name": "sampler",
2388 "link": 67,
2389 "label": "sampler",
2390 "type": "SAMPLER",
2391 "localized_name": "sampler"
2392 },
2393 {
2394 "name": "sigmas",
2395 "link": 68,
2396 "label": "sigmas",
2397 "type": "SIGMAS",
2398 "localized_name": "sigmas"
2399 },
2400 {
2401 "name": "latent_image",
2402 "link": 69,
2403 "label": "latent_image",
2404 "type": "LATENT",
2405 "localized_name": "latent_image"
2406 },
2407 {
2408 "widget": {
2409 "name": "add_noise"
2410 },
2411 "name": "add_noise",
2412 "label": "add_noise",
2413 "type": "BOOLEAN",
2414 "localized_name": "add_noise"
2415 },
2416 {
2417 "widget": {
2418 "name": "noise_seed"
2419 },
2420 "name": "noise_seed",
2421 "label": "noise_seed",
2422 "type": "INT",
2423 "localized_name": "noise_seed"
2424 },
2425 {
2426 "widget": {
2427 "name": "cfg"
2428 },
2429 "name": "cfg",
2430 "label": "cfg",
2431 "type": "FLOAT",
2432 "localized_name": "cfg"
2433 }
2434 ],
2435 "flags": [],
2436 "id": 35,
2437 "type": "SamplerCustom",
2438 "properties": {
2439 "note": "循环体采样节点。seed 使用 increment,便于每一轮续写时保持连续但不完全重复。",
2440 "widget_ue_connectable": [],
2441 "Node name for S&R": "循环体:采样当前段"
2442 },
2443 "order": 50
2444 },
2445 {
2446 "outputs": [
2447 {
2448 "name": "IMAGE",
2449 "links": [
2450 72,
2451 79
2452 ],
2453 "label": "IMAGE",
2454 "type": "IMAGE",
2455 "localized_name": "IMAGE"
2456 }
2457 ],
2458 "color": "#322",
2459 "widgets_values": [],
2460 "inputs": [
2461 {
2462 "name": "samples",
2463 "link": 70,
2464 "label": "samples",
2465 "type": "LATENT",
2466 "localized_name": "samples"
2467 },
2468 {
2469 "name": "vae",
2470 "link": 71,
2471 "label": "vae",
2472 "type": "VAE",
2473 "localized_name": "vae"
2474 }
2475 ],
2476 "flags": {
2477 "collapsed": true
2478 },
2479 "type": "VAEDecode",
2480 "mode": 0,
2481 "bgcolor": "#533",
2482 "size": [
2483 225,
2484 71.328125
2485 ],
2486 "pos": [
2487 4880,
2488 900
2489 ],
2490 "id": 36,
2491 "properties": {
2492 "note": "解码当前循环段。它既是本轮输出,也会作为下一轮 previous_frames。",
2493 "widget_ue_connectable": [],
2494 "Node name for S&R": "循环体:解码当前段"
2495 },
2496 "order": 51
2497 },
2498 {
2499 "mode": 0,
2500 "outputs": [
2501 {
2502 "name": "IMAGE",
2503 "links": [
2504 74
2505 ],
2506 "label": "IMAGE",
2507 "type": "IMAGE",
2508 "localized_name": "IMAGE"
2509 },
2510 {
2511 "name": "MASK",
2512 "links": [],
2513 "label": "MASK",
2514 "type": "MASK",
2515 "localized_name": "MASK"
2516 }
2517 ],
2518 "size": [
2519 349.6875,
2520 161.328125
2521 ],
2522 "pos": [
2523 5240,
2524 900
2525 ],
2526 "widgets_values": [
2527 5,
2528 4096
2529 ],
2530 "inputs": [
2531 {
2532 "shape": 7,
2533 "name": "images",
2534 "link": 72,
2535 "label": "images",
2536 "type": "IMAGE",
2537 "localized_name": "images"
2538 },
2539 {
2540 "shape": 7,
2541 "name": "masks",
2542 "label": "masks",
2543 "type": "MASK",
2544 "localized_name": "masks"
2545 },
2546 {
2547 "widget": {
2548 "name": "start_index"
2549 },
2550 "name": "start_index",
2551 "label": "start_index",
2552 "type": "INT",
2553 "localized_name": "start_index"
2554 },
2555 {
2556 "widget": {
2557 "name": "num_frames"
2558 },
2559 "name": "num_frames",
2560 "label": "num_frames",
2561 "type": "INT",
2562 "localized_name": "num_frames"
2563 }
2564 ],
2565 "flags": {
2566 "collapsed": true
2567 },
2568 "id": 37,
2569 "type": "GetImageRangeFromBatch",
2570 "properties": {
2571 "note": "删除续写段前 5 帧重叠帧,避免循环拼接时出现重复动作。",
2572 "widget_ue_connectable": [],
2573 "Node name for S&R": "循环体:去掉重叠帧"
2574 },
2575 "order": 52
2576 },
2577 {
2578 "mode": 0,
2579 "outputs": [
2580 {
2581 "name": "IMAGE",
2582 "links": [
2583 75
2584 ],
2585 "label": "IMAGE",
2586 "type": "IMAGE",
2587 "localized_name": "IMAGE"
2588 },
2589 {
2590 "name": "MASK",
2591 "links": [],
2592 "label": "MASK",
2593 "type": "MASK",
2594 "localized_name": "MASK"
2595 }
2596 ],
2597 "size": [
2598 349.6875,
2599 161.328125
2600 ],
2601 "pos": [
2602 5240,
2603 1080
2604 ],
2605 "widgets_values": [
2606 -1,
2607 1
2608 ],
2609 "inputs": [
2610 {
2611 "shape": 7,
2612 "name": "images",
2613 "link": 73,
2614 "label": "images",
2615 "type": "IMAGE",
2616 "localized_name": "images"
2617 },
2618 {
2619 "shape": 7,
2620 "name": "masks",
2621 "label": "masks",
2622 "type": "MASK",
2623 "localized_name": "masks"
2624 },
2625 {
2626 "widget": {
2627 "name": "start_index"
2628 },
2629 "name": "start_index",
2630 "label": "start_index",
2631 "type": "INT",
2632 "localized_name": "start_index"
2633 },
2634 {
2635 "widget": {
2636 "name": "num_frames"
2637 },
2638 "name": "num_frames",
2639 "label": "num_frames",
2640 "type": "INT",
2641 "localized_name": "num_frames"
2642 }
2643 ],
2644 "flags": {
2645 "collapsed": true
2646 },
2647 "id": 38,
2648 "type": "GetImageRangeFromBatch",
2649 "properties": {
2650 "note": "从上一轮 previous_frames 取尾帧,供颜色匹配参考。",
2651 "widget_ue_connectable": [],
2652 "Node name for S&R": "循环体:取上一段尾帧"
2653 },
2654 "order": 48
2655 },
2656 {
2657 "mode": 0,
2658 "outputs": [
2659 {
2660 "name": "image",
2661 "links": [
2662 77
2663 ],
2664 "label": "image",
2665 "type": "IMAGE",
2666 "localized_name": "image"
2667 }
2668 ],
2669 "size": [
2670 210,
2671 126
2672 ],
2673 "pos": [
2674 5600,
2675 900
2676 ],
2677 "widgets_values": [
2678 "reinhard_lab",
2679 "per_frame",
2680 1
2681 ],
2682 "inputs": [
2683 {
2684 "name": "image_target",
2685 "link": 74,
2686 "label": "image_target",
2687 "type": "IMAGE",
2688 "localized_name": "image_target"
2689 },
2690 {
2691 "name": "image_ref",
2692 "link": 75,
2693 "label": "image_ref",
2694 "type": "IMAGE",
2695 "localized_name": "image_ref"
2696 },
2697 {
2698 "widget": {
2699 "name": "method"
2700 },
2701 "name": "method",
2702 "label": "method",
2703 "type": "COMBO",
2704 "localized_name": "method"
2705 },
2706 {
2707 "widget": {
2708 "name": "source_stats"
2709 },
2710 "name": "source_stats",
2711 "label": "source_stats",
2712 "type": "COMFY_DYNAMICCOMBO_V3",
2713 "localized_name": "source_stats"
2714 },
2715 {
2716 "widget": {
2717 "name": "strength"
2718 },
2719 "name": "strength",
2720 "label": "strength",
2721 "type": "FLOAT",
2722 "localized_name": "strength"
2723 }
2724 ],
2725 "flags": [],
2726 "id": 39,
2727 "type": "ColorTransfer",
2728 "title": "循环体:颜色匹配",
2729 "properties": {
2730 "note": "循环体颜色匹配,保证后续段接入最终累积帧时色调更连续。",
2731 "widget_ue_connectable": [],
2732 "Node name for S&R": "循环体:颜色匹配"
2733 },
2734 "order": 53
2735 },
2736 {
2737 "outputs": [
2738 {
2739 "name": "value1",
2740 "links": [],
2741 "label": "value1",
2742 "type": "*",
2743 "localized_name": "value1"
2744 },
2745 {
2746 "name": "value2",
2747 "links": [],
2748 "label": "value2",
2749 "type": "*"
2750 },
2751 {
2752 "name": "value3",
2753 "links": [
2754 98
2755 ],
2756 "label": "value3",
2757 "type": "*"
2758 },
2759 {
2760 "name": "value4",
2761 "label": "value4",
2762 "type": "*"
2763 },
2764 {
2765 "name": "value5",
2766 "label": "value5",
2767 "type": "*"
2768 },
2769 {
2770 "name": "value6",
2771 "label": "value6",
2772 "type": "*"
2773 }
2774 ],
2775 "color": "#223",
2776 "widgets_values": [],
2777 "inputs": [
2778 {
2779 "shape": 5,
2780 "name": "flow",
2781 "link": 78,
2782 "label": "flow",
2783 "type": "FLOW_CONTROL",
2784 "localized_name": "flow"
2785 },
2786 {
2787 "shape": 7,
2788 "name": "initial_value1",
2789 "link": 79,
2790 "label": "initial_value1",
2791 "type": "*",
2792 "localized_name": "initial_value1"
2793 },
2794 {
2795 "name": "initial_value2",
2796 "link": 80,
2797 "label": "initial_value2",
2798 "type": "*"
2799 },
2800 {
2801 "name": "initial_value3",
2802 "link": 81,
2803 "label": "initial_value3",
2804 "type": "*"
2805 },
2806 {
2807 "name": "initial_value4",
2808 "label": "initial_value4",
2809 "type": "*"
2810 },
2811 {
2812 "name": "initial_value5",
2813 "label": "initial_value5",
2814 "type": "*"
2815 },
2816 {
2817 "name": "initial_value6",
2818 "label": "initial_value6",
2819 "type": "*"
2820 }
2821 ],
2822 "flags": [],
2823 "type": "easy forLoopEnd",
2824 "mode": 0,
2825 "bgcolor": "#335",
2826 "size": [
2827 330,
2828 170
2829 ],
2830 "pos": [
2831 6240,
2832 250
2833 ],
2834 "id": 41,
2835 "properties": {
2836 "note": "循环出口:把当前段 decoded frames、video_frame_offset、累积帧送回下一轮。",
2837 "widget_ue_connectable": [],
2838 "Node name for S&R": "循环出口 For Loop End"
2839 },
2840 "order": 55
2841 },
2842 {
2843 "mode": 0,
2844 "outputs": [
2845 {
2846 "name": "Filenames",
2847 "links": [],
2848 "label": "Filenames",
2849 "type": "VHS_FILENAMES",
2850 "localized_name": "Filenames"
2851 }
2852 ],
2853 "size": [
2854 399.9375,
2855 358
2856 ],
2857 "pos": [
2858 4080,
2859 1040
2860 ],
2861 "widgets_values": {
2862 "save_output": false,
2863 "filename_prefix": "SCAIL2_FINAL_03_single_skeleton_replacement_512x896_first_segment_preview",
2864 "loop_count": 0,
2865 "pix_fmt": "yuv420p",
2866 "save_metadata": true,
2867 "crf": 19,
2868 "trim_to_audio": false,
2869 "videopreview": {
2870 "paused": false,
2871 "hidden": false,
2872 "params": {
2873 "score": "0",
2874 "filename": "SCAIL2_FINAL_03_single_skeleton_replacement_512x896_first_segment_preview_00001_p80-audio_yxlcu_1781168914.mp4",
2875 "cos_url": "https://rh-images.xiaoyaoyou.com//13dcf312769df1f67d43587074ec18c2/temp/SCAIL2_FINAL_03_single_skeleton_replacement_512x896_first_segment_preview_00001_p80-audio_yxlcu_1781168914.mp4",
2876 "workflow": "SCAIL2_FINAL_03_single_skeleton_replacement_512x896_first_segment_preview_00001_p80.png",
2877 "fullpath": "/data/ComfyUI/personal/13dcf312769df1f67d43587074ec18c2/temp/SCAIL2_FINAL_03_single_skeleton_replacement_512x896_first_segment_preview_00001_p80-audio.mp4",
2878 "format": "video/h264-mp4",
2879 "subfolder": "",
2880 "label": "Normal",
2881 "type": "temp",
2882 "frame_rate": 24
2883 }
2884 },
2885 "format": "video/h264-mp4",
2886 "no_preview": false,
2887 "frame_rate": 24,
2888 "pingpong": false
2889 },
2890 "inputs": [
2891 {
2892 "name": "images",
2893 "link": 87,
2894 "label": "images",
2895 "type": "IMAGE",
2896 "localized_name": "images"
2897 },
2898 {
2899 "shape": 7,
2900 "name": "audio",
2901 "link": 88,
2902 "label": "audio",
2903 "type": "AUDIO",
2904 "localized_name": "audio"
2905 },
2906 {
2907 "shape": 7,
2908 "name": "meta_batch",
2909 "label": "meta_batch",
2910 "type": "VHS_BatchManager",
2911 "localized_name": "meta_batch"
2912 },
2913 {
2914 "shape": 7,
2915 "name": "vae",
2916 "label": "vae",
2917 "type": "VAE",
2918 "localized_name": "vae"
2919 },
2920 {
2921 "widget": {
2922 "name": "frame_rate"
2923 },
2924 "name": "frame_rate",
2925 "link": 89,
2926 "label": "frame_rate",
2927 "type": "FLOAT",
2928 "localized_name": "frame_rate"
2929 },
2930 {
2931 "widget": {
2932 "name": "loop_count"
2933 },
2934 "name": "loop_count",
2935 "label": "loop_count",
2936 "type": "INT",
2937 "localized_name": "loop_count"
2938 },
2939 {
2940 "widget": {
2941 "name": "filename_prefix"
2942 },
2943 "name": "filename_prefix",
2944 "label": "filename_prefix",
2945 "type": "STRING",
2946 "localized_name": "filename_prefix"
2947 },
2948 {
2949 "widget": {
2950 "name": "format"
2951 },
2952 "name": "format",
2953 "label": "format",
2954 "type": "COMBO",
2955 "localized_name": "format"
2956 },
2957 {
2958 "widget": {
2959 "name": "pingpong"
2960 },
2961 "name": "pingpong",
2962 "label": "pingpong",
2963 "type": "BOOLEAN",
2964 "localized_name": "pingpong"
2965 },
2966 {
2967 "widget": {
2968 "name": "save_output"
2969 },
2970 "name": "save_output",
2971 "label": "save_output",
2972 "type": "BOOLEAN",
2973 "localized_name": "save_output"
2974 },
2975 {
2976 "widget": {
2977 "name": "no_preview"
2978 },
2979 "shape": 7,
2980 "name": "no_preview",
2981 "label": "no_preview",
2982 "type": "BOOLEAN",
2983 "localized_name": "no_preview"
2984 }
2985 ],
2986 "flags": [],
2987 "id": 44,
2988 "type": "VHS_VideoCombine",
2989 "properties": {
2990 "note": "入循环前的首段视频预览:images 必须接首段解码后的图像,frame_rate 必须接统一帧率节点,不要接到开关或其他线。",
2991 "widget_ue_connectable": {
2992 "frame_rate": true
2993 },
2994 "Node name for S&R": "入循环前:首段视频合并预览"
2995 },
2996 "order": 57
2997 },
2998 {
2999 "mode": 0,
3000 "outputs": [
3001 {
3002 "name": "masks",
3003 "links": [
3004 104
3005 ],
3006 "label": "masks",
3007 "type": "MASK",
3008 "localized_name": "masks"
3009 }
3010 ],
3011 "size": [
3012 360,
3013 100
3014 ],
3015 "pos": [
3016 3040,
3017 940
3018 ],
3019 "widgets_values": [
3020 "0"
3021 ],
3022 "inputs": [
3023 {
3024 "name": "track_data",
3025 "link": 99,
3026 "label": "track_data",
3027 "type": "SAM3_TRACK_DATA",
3028 "localized_name": "track_data"
3029 },
3030 {
3031 "widget": {
3032 "name": "object_indices"
3033 },
3034 "name": "object_indices",
3035 "label": "object_indices",
3036 "type": "STRING",
3037 "localized_name": "object_indices"
3038 }
3039 ],
3040 "flags": [],
3041 "id": 50,
3042 "type": "SAM3_TrackToMask",
3043 "title": "参考主体 mask:只取要替换的人物",
3044 "properties": {
3045 "note": "参考图抠图对象:0。必须和节点22的 object_indices 保持一致。",
3046 "widget_ue_connectable": {
3047 "object_indices": true
3048 },
3049 "Node name for S&R": "参考主体 mask:只取要替换的人物"
3050 },
3051 "order": 28
3052 },
3053 {
3054 "mode": 0,
3055 "outputs": [
3056 {
3057 "name": "IMAGE",
3058 "links": [
3059 102
3060 ],
3061 "label": "IMAGE",
3062 "type": "IMAGE",
3063 "localized_name": "IMAGE"
3064 }
3065 ],
3066 "size": [
3067 300,
3068 130
3069 ],
3070 "pos": [
3071 3360,
3072 1180
3073 ],
3074 "widgets_values": [
3075 512,
3076 896,
3077 1,
3078 0
3079 ],
3080 "inputs": [
3081 {
3082 "widget": {
3083 "name": "width"
3084 },
3085 "name": "width",
3086 "link": 100,
3087 "label": "width",
3088 "type": "INT",
3089 "localized_name": "width"
3090 },
3091 {
3092 "widget": {
3093 "name": "height"
3094 },
3095 "name": "height",
3096 "link": 101,
3097 "label": "height",
3098 "type": "INT",
3099 "localized_name": "height"
3100 },
3101 {
3102 "widget": {
3103 "name": "batch_size"
3104 },
3105 "name": "batch_size",
3106 "label": "batch_size",
3107 "type": "INT",
3108 "localized_name": "batch_size"
3109 },
3110 {
3111 "widget": {
3112 "name": "color"
3113 },
3114 "name": "color",
3115 "label": "color",
3116 "type": "INT",
3117 "localized_name": "color"
3118 }
3119 ],
3120 "flags": [],
3121 "id": 51,
3122 "type": "EmptyImage",
3123 "properties": {
3124 "note": "生成 512x896 黑色底图,用来承接参考人物抠图。",
3125 "widget_ue_connectable": {
3126 "batch_size": true,
3127 "color": true,
3128 "width": true,
3129 "height": true
3130 },
3131 "Node name for S&R": "黑底参考画布 512x896"
3132 },
3133 "order": 26
3134 },
3135 {
3136 "mode": 0,
3137 "outputs": [
3138 {
3139 "name": "IMAGE",
3140 "links": [
3141 105,
3142 106,
3143 107
3144 ],
3145 "label": "IMAGE",
3146 "type": "IMAGE",
3147 "localized_name": "IMAGE"
3148 }
3149 ],
3150 "size": [
3151 360,
3152 180
3153 ],
3154 "pos": [
3155 3720,
3156 1020
3157 ],
3158 "widgets_values": [
3159 0,
3160 0,
3161 true
3162 ],
3163 "inputs": [
3164 {
3165 "name": "destination",
3166 "link": 102,
3167 "label": "destination",
3168 "type": "IMAGE",
3169 "localized_name": "destination"
3170 },
3171 {
3172 "name": "source",
3173 "link": 103,
3174 "label": "source",
3175 "type": "IMAGE",
3176 "localized_name": "source"
3177 },
3178 {
3179 "shape": 7,
3180 "name": "mask",
3181 "link": 104,
3182 "label": "mask",
3183 "type": "MASK",
3184 "localized_name": "mask"
3185 },
3186 {
3187 "widget": {
3188 "name": "x"
3189 },
3190 "name": "x",
3191 "label": "x",
3192 "type": "INT",
3193 "localized_name": "x"
3194 },
3195 {
3196 "widget": {
3197 "name": "y"
3198 },
3199 "name": "y",
3200 "label": "y",
3201 "type": "INT",
3202 "localized_name": "y"
3203 },
3204 {
3205 "widget": {
3206 "name": "resize_source"
3207 },
3208 "name": "resize_source",
3209 "label": "resize_source",
3210 "type": "BOOLEAN",
3211 "localized_name": "resize_source"
3212 }
3213 ],
3214 "flags": [],
3215 "id": 52,
3216 "type": "ImageCompositeMasked",
3217 "properties": {
3218 "note": "把已经 512x896 对齐后的参考图按 mask 贴到黑底,输出给 CLIPVisionEncode 和所有 WanSCAILToVideo.reference_image。",
3219 "widget_ue_connectable": {
3220 "x": true,
3221 "resize_source": true,
3222 "y": true
3223 },
3224 "Node name for S&R": "参考人物抠图:512x896 后送入 SCAIL"
3225 },
3226 "order": 32
3227 },
3228 {
3229 "mode": 0,
3230 "outputs": [
3231 {
3232 "name": "MODEL",
3233 "links": [
3234 201
3235 ],
3236 "label": "MODEL",
3237 "type": "MODEL",
3238 "localized_name": "MODEL"
3239 }
3240 ],
3241 "size": [
3242 360,
3243 100
3244 ],
3245 "pos": [
3246 1480,
3247 -280
3248 ],
3249 "widgets_values": [
3250 "WanAnimate_relight_lora_fp16.safetensors",
3251 1
3252 ],
3253 "inputs": [
3254 {
3255 "name": "model",
3256 "link": 200,
3257 "label": "model",
3258 "type": "MODEL",
3259 "localized_name": "model"
3260 },
3261 {
3262 "widget": {
3263 "name": "lora_name"
3264 },
3265 "name": "lora_name",
3266 "label": "lora_name",
3267 "type": "COMBO",
3268 "localized_name": "lora_name"
3269 },
3270 {
3271 "widget": {
3272 "name": "strength_model"
3273 },
3274 "name": "strength_model",
3275 "label": "strength_model",
3276 "type": "FLOAT",
3277 "localized_name": "strength_model"
3278 }
3279 ],
3280 "flags": [],
3281 "id": 61,
3282 "type": "LoraLoaderModelOnly",
3283 "properties": {
3284 "note": "多 LoRA 串联加载。已按最终 LoRA 链加载。",
3285 "widget_ue_connectable": [],
3286 "Node name for S&R": "LoRA 02:WanAnimate relight"
3287 },
3288 "order": 20
3289 },
3290 {
3291 "mode": 0,
3292 "outputs": [
3293 {
3294 "name": "MODEL",
3295 "links": [
3296 202
3297 ],
3298 "label": "MODEL",
3299 "type": "MODEL",
3300 "localized_name": "MODEL"
3301 }
3302 ],
3303 "size": [
3304 360,
3305 100
3306 ],
3307 "pos": [
3308 1860,
3309 -280
3310 ],
3311 "widgets_values": [
3312 "Wan2.2-Lightning_I2V-A14B-4steps-lora_LOW_fp16.safetensors",
3313 1
3314 ],
3315 "inputs": [
3316 {
3317 "name": "model",
3318 "link": 201,
3319 "label": "model",
3320 "type": "MODEL",
3321 "localized_name": "model"
3322 },
3323 {
3324 "widget": {
3325 "name": "lora_name"
3326 },
3327 "name": "lora_name",
3328 "label": "lora_name",
3329 "type": "COMBO",
3330 "localized_name": "lora_name"
3331 },
3332 {
3333 "widget": {
3334 "name": "strength_model"
3335 },
3336 "name": "strength_model",
3337 "label": "strength_model",
3338 "type": "FLOAT",
3339 "localized_name": "strength_model"
3340 }
3341 ],
3342 "flags": [],
3343 "id": 62,
3344 "type": "LoraLoaderModelOnly",
3345 "properties": {
3346 "note": "多 LoRA 串联加载。已按最终 LoRA 链加载。",
3347 "widget_ue_connectable": [],
3348 "Node name for S&R": "LoRA 03:Wan2.2 Lightning I2V"
3349 },
3350 "order": 24
3351 },
3352 {
3353 "mode": 0,
3354 "outputs": [
3355 {
3356 "name": "MODEL",
3357 "links": [
3358 203
3359 ],
3360 "label": "MODEL",
3361 "type": "MODEL",
3362 "localized_name": "MODEL"
3363 }
3364 ],
3365 "size": [
3366 360,
3367 100
3368 ],
3369 "pos": [
3370 2240,
3371 -280
3372 ],
3373 "widgets_values": [
3374 "FastWan_T2V_14B_480p_lora_rank_128_bf16.safetensors",
3375 1
3376 ],
3377 "inputs": [
3378 {
3379 "name": "model",
3380 "link": 202,
3381 "label": "model",
3382 "type": "MODEL",
3383 "localized_name": "model"
3384 },
3385 {
3386 "widget": {
3387 "name": "lora_name"
3388 },
3389 "name": "lora_name",
3390 "label": "lora_name",
3391 "type": "COMBO",
3392 "localized_name": "lora_name"
3393 },
3394 {
3395 "widget": {
3396 "name": "strength_model"
3397 },
3398 "name": "strength_model",
3399 "label": "strength_model",
3400 "type": "FLOAT",
3401 "localized_name": "strength_model"
3402 }
3403 ],
3404 "flags": [],
3405 "id": 63,
3406 "type": "LoraLoaderModelOnly",
3407 "properties": {
3408 "note": "多 LoRA 串联加载。已按最终 LoRA 链加载。",
3409 "widget_ue_connectable": [],
3410 "Node name for S&R": "LoRA 04:FastWan 480p"
3411 },
3412 "order": 29
3413 },
3414 {
3415 "mode": 0,
3416 "outputs": [
3417 {
3418 "name": "MODEL",
3419 "links": [
3420 204
3421 ],
3422 "label": "MODEL",
3423 "type": "MODEL",
3424 "localized_name": "MODEL"
3425 }
3426 ],
3427 "size": [
3428 360,
3429 100
3430 ],
3431 "pos": [
3432 2620,
3433 -280
3434 ],
3435 "widgets_values": [
3436 "Wan21_PusaV1_LoRA_14B_rank512_bf16.safetensors",
3437 1
3438 ],
3439 "inputs": [
3440 {
3441 "name": "model",
3442 "link": 203,
3443 "label": "model",
3444 "type": "MODEL",
3445 "localized_name": "model"
3446 },
3447 {
3448 "widget": {
3449 "name": "lora_name"
3450 },
3451 "name": "lora_name",
3452 "label": "lora_name",
3453 "type": "COMBO",
3454 "localized_name": "lora_name"
3455 },
3456 {
3457 "widget": {
3458 "name": "strength_model"
3459 },
3460 "name": "strength_model",
3461 "label": "strength_model",
3462 "type": "FLOAT",
3463 "localized_name": "strength_model"
3464 }
3465 ],
3466 "flags": [],
3467 "id": 64,
3468 "type": "LoraLoaderModelOnly",
3469 "properties": {
3470 "note": "多 LoRA 串联加载。已按最终 LoRA 链加载。",
3471 "widget_ue_connectable": [],
3472 "Node name for S&R": "LoRA 05:Wan21 PusaV1"
3473 },
3474 "order": 33
3475 },
3476 {
3477 "mode": 0,
3478 "outputs": [
3479 {
3480 "name": "MODEL",
3481 "links": [
3482 206
3483 ],
3484 "label": "MODEL",
3485 "type": "MODEL",
3486 "localized_name": "MODEL"
3487 }
3488 ],
3489 "size": [
3490 360,
3491 100
3492 ],
3493 "pos": [
3494 1480,
3495 -120
3496 ],
3497 "widgets_values": [
3498 "stage1_480p.safetensors",
3499 1
3500 ],
3501 "inputs": [
3502 {
3503 "name": "model",
3504 "link": 205,
3505 "label": "model",
3506 "type": "MODEL",
3507 "localized_name": "model"
3508 },
3509 {
3510 "widget": {
3511 "name": "lora_name"
3512 },
3513 "name": "lora_name",
3514 "label": "lora_name",
3515 "type": "COMBO",
3516 "localized_name": "lora_name"
3517 },
3518 {
3519 "widget": {
3520 "name": "strength_model"
3521 },
3522 "name": "strength_model",
3523 "label": "strength_model",
3524 "type": "FLOAT",
3525 "localized_name": "strength_model"
3526 }
3527 ],
3528 "flags": [],
3529 "id": 66,
3530 "type": "LoraLoaderModelOnly",
3531 "properties": {
3532 "note": "多 LoRA 串联加载。已按最终 LoRA 链加载。",
3533 "widget_ue_connectable": [],
3534 "Node name for S&R": "LoRA 07:stage1 480p"
3535 },
3536 "order": 40
3537 },
3538 {
3539 "mode": 0,
3540 "outputs": [
3541 {
3542 "name": "MODEL",
3543 "links": [
3544 207
3545 ],
3546 "label": "MODEL",
3547 "type": "MODEL",
3548 "localized_name": "MODEL"
3549 }
3550 ],
3551 "size": [
3552 360,
3553 100
3554 ],
3555 "pos": [
3556 1860,
3557 -120
3558 ],
3559 "widgets_values": [
3560 "stage2_480p.safetensors",
3561 1
3562 ],
3563 "inputs": [
3564 {
3565 "name": "model",
3566 "link": 206,
3567 "label": "model",
3568 "type": "MODEL",
3569 "localized_name": "model"
3570 },
3571 {
3572 "widget": {
3573 "name": "lora_name"
3574 },
3575 "name": "lora_name",
3576 "label": "lora_name",
3577 "type": "COMBO",
3578 "localized_name": "lora_name"
3579 },
3580 {
3581 "widget": {
3582 "name": "strength_model"
3583 },
3584 "name": "strength_model",
3585 "label": "strength_model",
3586 "type": "FLOAT",
3587 "localized_name": "strength_model"
3588 }
3589 ],
3590 "flags": [],
3591 "id": 67,
3592 "type": "LoraLoaderModelOnly",
3593 "properties": {
3594 "note": "多 LoRA 串联加载。已按最终 LoRA 链加载。",
3595 "widget_ue_connectable": [],
3596 "Node name for S&R": "LoRA 08:stage2 480p"
3597 },
3598 "order": 41
3599 },
3600 {
3601 "mode": 0,
3602 "outputs": [
3603 {
3604 "name": "MODEL",
3605 "links": [
3606 3,
3607 4
3608 ],
3609 "label": "MODEL",
3610 "type": "MODEL",
3611 "localized_name": "MODEL"
3612 }
3613 ],
3614 "size": [
3615 360,
3616 100
3617 ],
3618 "pos": [
3619 2240,
3620 -120
3621 ],
3622 "widgets_values": [
3623 "stage3_720p_beta.safetensors",
3624 1
3625 ],
3626 "inputs": [
3627 {
3628 "name": "model",
3629 "link": 207,
3630 "label": "model",
3631 "type": "MODEL",
3632 "localized_name": "model"
3633 },
3634 {
3635 "widget": {
3636 "name": "lora_name"
3637 },
3638 "name": "lora_name",
3639 "label": "lora_name",
3640 "type": "COMBO",
3641 "localized_name": "lora_name"
3642 },
3643 {
3644 "widget": {
3645 "name": "strength_model"
3646 },
3647 "name": "strength_model",
3648 "label": "strength_model",
3649 "type": "FLOAT",
3650 "localized_name": "strength_model"
3651 }
3652 ],
3653 "flags": [],
3654 "id": 68,
3655 "type": "LoraLoaderModelOnly",
3656 "properties": {
3657 "note": "多 LoRA 串联加载。已按最终 LoRA 链加载。",
3658 "widget_ue_connectable": [],
3659 "Node name for S&R": "LoRA 09:stage3 720p beta"
3660 },
3661 "order": 42
3662 },
3663 {
3664 "mode": 4,
3665 "outputs": [
3666 {
3667 "name": "MODEL",
3668 "links": [
3669 205
3670 ],
3671 "label": "MODEL",
3672 "type": "MODEL",
3673 "localized_name": "MODEL"
3674 }
3675 ],
3676 "size": [
3677 360,
3678 100
3679 ],
3680 "pos": [
3681 1100,
3682 -120
3683 ],
3684 "widgets_values": [
3685 "Wan2.2-Fun-A14B-InP-low-noise-HPS2.1.safetensors",
3686 1
3687 ],
3688 "inputs": [
3689 {
3690 "name": "model",
3691 "link": 204,
3692 "label": "model",
3693 "type": "MODEL",
3694 "localized_name": "model"
3695 },
3696 {
3697 "widget": {
3698 "name": "lora_name"
3699 },
3700 "name": "lora_name",
3701 "label": "lora_name",
3702 "type": "COMBO",
3703 "localized_name": "lora_name"
3704 },
3705 {
3706 "widget": {
3707 "name": "strength_model"
3708 },
3709 "name": "strength_model",
3710 "label": "strength_model",
3711 "type": "FLOAT",
3712 "localized_name": "strength_model"
3713 }
3714 ],
3715 "flags": [],
3716 "id": 65,
3717 "type": "LoraLoaderModelOnly",
3718 "properties": {
3719 "note": "多 LoRA 串联加载。已按最终 LoRA 链加载。",
3720 "widget_ue_connectable": [],
3721 "Node name for S&R": "LoRA 06:Wan2.2 Fun InP"
3722 },
3723 "order": 37
3724 },
3725 {
3726 "mode": 0,
3727 "outputs": [
3728 {
3729 "name": "IMAGE",
3730 "links": [
3731 109
3732 ],
3733 "label": "IMAGE",
3734 "type": "IMAGE",
3735 "localized_name": "IMAGE"
3736 },
3737 {
3738 "name": "MASK",
3739 "links": [],
3740 "label": "MASK",
3741 "type": "MASK",
3742 "localized_name": "MASK"
3743 }
3744 ],
3745 "size": [
3746 298.331298828125,
3747 377.6947326660156
3748 ],
3749 "pos": [
3750 130,
3751 380
3752 ],
3753 "widgets_values": [
3754 "ba6fbd6434578192c46dfd40620fb229c1d34b036f49ad06ad14616246c44c44.png",
3755 "image"
3756 ],
3757 "inputs": [
3758 {
3759 "widget": {
3760 "name": "image"
3761 },
3762 "name": "image",
3763 "label": "image",
3764 "type": "COMBO",
3765 "localized_name": "image"
3766 },
3767 {
3768 "widget": {
3769 "name": "upload"
3770 },
3771 "name": "upload",
3772 "label": "upload",
3773 "type": "IMAGEUPLOAD",
3774 "localized_name": "choose file to upload"
3775 }
3776 ],
3777 "flags": [],
3778 "id": 2,
3779 "type": "LoadImage",
3780 "properties": {
3781 "note": "读取待替换角色参考图。参考图主体越清晰,CLIP Vision 与参考 mask 越稳定。",
3782 "widget_ue_connectable": {
3783 "image": true,
3784 "upload": true
3785 },
3786 "Node name for S&R": "Reference Image"
3787 },
3788 "order": 10
3789 },
3790 {
3791 "mode": 0,
3792 "outputs": [
3793 {
3794 "name": "IMAGE",
3795 "links": [
3796 81
3797 ],
3798 "label": "IMAGE",
3799 "type": "IMAGE",
3800 "localized_name": "IMAGE"
3801 }
3802 ],
3803 "size": [
3804 225,
3805 95.328125
3806 ],
3807 "pos": [
3808 5935.72216796875,
3809 793.6572875976562
3810 ],
3811 "widgets_values": [],
3812 "inputs": [
3813 {
3814 "name": "images.image0",
3815 "link": 76,
3816 "label": "images.image0",
3817 "type": "IMAGE",
3818 "localized_name": "image0"
3819 },
3820 {
3821 "shape": 7,
3822 "name": "images.image1",
3823 "link": 77,
3824 "label": "images.image1",
3825 "type": "IMAGE",
3826 "localized_name": "image1"
3827 },
3828 {
3829 "shape": 7,
3830 "name": "images.image2",
3831 "label": "images.image2",
3832 "type": "IMAGE",
3833 "localized_name": "image2"
3834 }
3835 ],
3836 "flags": [],
3837 "id": 40,
3838 "type": "BatchImagesNode",
3839 "title": "循环体:追加到累计帧",
3840 "properties": {
3841 "note": "把上一轮累计帧和本轮去重叠、颜色匹配后的帧拼成新的 IMAGE 批次,再送回下一轮。",
3842 "widget_ue_connectable": [],
3843 "Node name for S&R": "循环体:追加到累计帧"
3844 },
3845 "order": 54
3846 },
3847 {
3848 "mode": 0,
3849 "outputs": [
3850 {
3851 "name": "Filenames",
3852 "links": [],
3853 "label": "Filenames",
3854 "type": "VHS_FILENAMES",
3855 "localized_name": "Filenames"
3856 }
3857 ],
3858 "size": [
3859 399.93743896484375,
3860 358
3861 ],
3862 "pos": [
3863 4704.84033203125,
3864 1125.8447265625
3865 ],
3866 "widgets_values": {
3867 "save_output": true,
3868 "filename_prefix": "SCAIL2_FINAL_03_single_skeleton_replacement_512x896_no_composite",
3869 "loop_count": 0,
3870 "pix_fmt": "yuv420p",
3871 "save_metadata": true,
3872 "crf": 19,
3873 "trim_to_audio": false,
3874 "videopreview": {
3875 "paused": false,
3876 "hidden": false,
3877 "params": {
3878 "score": "0",
3879 "filename": "SCAIL2_FINAL_03_single_skeleton_replacement_512x896_no_composite_00001_p80-audio_faxoh_1781169274.mp4",
3880 "cos_url": "https://rh-images.xiaoyaoyou.com//13dcf312769df1f67d43587074ec18c2/output/SCAIL2_FINAL_03_single_skeleton_replacement_512x896_no_composite_00001_p80-audio_faxoh_1781169274.mp4",
3881 "workflow": "SCAIL2_FINAL_03_single_skeleton_replacement_512x896_no_composite_00001_p80.png",
3882 "fullpath": "/data/ComfyUI/personal/13dcf312769df1f67d43587074ec18c2/output/SCAIL2_FINAL_03_single_skeleton_replacement_512x896_no_composite_00001_p80-audio.mp4",
3883 "format": "video/h264-mp4",
3884 "subfolder": "",
3885 "label": "Normal",
3886 "type": "output",
3887 "frame_rate": 24
3888 }
3889 },
3890 "format": "video/h264-mp4",
3891 "no_preview": false,
3892 "frame_rate": 24,
3893 "pingpong": false
3894 },
3895 "inputs": [
3896 {
3897 "name": "images",
3898 "link": 98,
3899 "label": "images",
3900 "type": "IMAGE",
3901 "localized_name": "images"
3902 },
3903 {
3904 "shape": 7,
3905 "name": "audio",
3906 "link": 84,
3907 "label": "audio",
3908 "type": "AUDIO",
3909 "localized_name": "audio"
3910 },
3911 {
3912 "shape": 7,
3913 "name": "meta_batch",
3914 "label": "meta_batch",
3915 "type": "VHS_BatchManager",
3916 "localized_name": "meta_batch"
3917 },
3918 {
3919 "shape": 7,
3920 "name": "vae",
3921 "label": "vae",
3922 "type": "VAE",
3923 "localized_name": "vae"
3924 },
3925 {
3926 "widget": {
3927 "name": "frame_rate"
3928 },
3929 "name": "frame_rate",
3930 "link": 83,
3931 "label": "frame_rate",
3932 "type": "FLOAT",
3933 "localized_name": "frame_rate"
3934 },
3935 {
3936 "widget": {
3937 "name": "loop_count"
3938 },
3939 "name": "loop_count",
3940 "label": "loop_count",
3941 "type": "INT",
3942 "localized_name": "loop_count"
3943 },
3944 {
3945 "widget": {
3946 "name": "filename_prefix"
3947 },
3948 "name": "filename_prefix",
3949 "label": "filename_prefix",
3950 "type": "STRING",
3951 "localized_name": "filename_prefix"
3952 },
3953 {
3954 "widget": {
3955 "name": "format"
3956 },
3957 "name": "format",
3958 "label": "format",
3959 "type": "COMBO",
3960 "localized_name": "format"
3961 },
3962 {
3963 "widget": {
3964 "name": "pingpong"
3965 },
3966 "name": "pingpong",
3967 "label": "pingpong",
3968 "type": "BOOLEAN",
3969 "localized_name": "pingpong"
3970 },
3971 {
3972 "widget": {
3973 "name": "save_output"
3974 },
3975 "name": "save_output",
3976 "label": "save_output",
3977 "type": "BOOLEAN",
3978 "localized_name": "save_output"
3979 },
3980 {
3981 "widget": {
3982 "name": "no_preview"
3983 },
3984 "shape": 7,
3985 "name": "no_preview",
3986 "label": "no_preview",
3987 "type": "BOOLEAN",
3988 "localized_name": "no_preview"
3989 }
3990 ],
3991 "flags": [],
3992 "id": 42,
3993 "type": "VHS_VideoCombine",
3994 "properties": {
3995 "note": "输出硬合成后的替换结果。非目标区域来自原驱动视频,目标区域来自 SCAIL 生成结果。",
3996 "widget_ue_connectable": {
3997 "frame_rate": true
3998 },
3999 "Node name for S&R": "最终输出视频:硬合成替换结果"
4000 },
4001 "order": 56
4002 },
4003 {
4004 "mode": 0,
4005 "outputs": [
4006 {
4007 "name": "Filenames",
4008 "links": [],
4009 "label": "Filenames",
4010 "type": "VHS_FILENAMES",
4011 "localized_name": "Filenames"
4012 }
4013 ],
4014 "size": [
4015 399.93743896484375,
4016 358
4017 ],
4018 "pos": [
4019 3406.814453125,
4020 1200.296630859375
4021 ],
4022 "widgets_values": {
4023 "save_output": false,
4024 "filename_prefix": "SCAIL2_FINAL_03_single_skeleton_replacement_512x896_pose_mask_preview",
4025 "loop_count": 0,
4026 "pix_fmt": "yuv420p",
4027 "save_metadata": true,
4028 "crf": 19,
4029 "trim_to_audio": false,
4030 "videopreview": {
4031 "paused": false,
4032 "hidden": false,
4033 "params": {
4034 "score": "0",
4035 "filename": "SCAIL2_FINAL_03_single_skeleton_replacement_512x896_pose_mask_preview_00001_p80_xrjki_1781168775.mp4",
4036 "cos_url": "https://rh-images.xiaoyaoyou.com//13dcf312769df1f67d43587074ec18c2/temp/SCAIL2_FINAL_03_single_skeleton_replacement_512x896_pose_mask_preview_00001_p80_xrjki_1781168775.mp4",
4037 "workflow": "SCAIL2_FINAL_03_single_skeleton_replacement_512x896_pose_mask_preview_00001_p80.png",
4038 "fullpath": "/data/ComfyUI/personal/13dcf312769df1f67d43587074ec18c2/temp/SCAIL2_FINAL_03_single_skeleton_replacement_512x896_pose_mask_preview_00001_p80.mp4",
4039 "format": "video/h264-mp4",
4040 "subfolder": "",
4041 "label": "Normal",
4042 "type": "temp",
4043 "frame_rate": 24
4044 }
4045 },
4046 "format": "video/h264-mp4",
4047 "no_preview": false,
4048 "frame_rate": 24,
4049 "pingpong": false
4050 },
4051 "inputs": [
4052 {
4053 "name": "images",
4054 "link": 85,
4055 "label": "images",
4056 "type": "IMAGE",
4057 "localized_name": "images"
4058 },
4059 {
4060 "shape": 7,
4061 "name": "audio",
4062 "label": "audio",
4063 "type": "AUDIO",
4064 "localized_name": "audio"
4065 },
4066 {
4067 "shape": 7,
4068 "name": "meta_batch",
4069 "label": "meta_batch",
4070 "type": "VHS_BatchManager",
4071 "localized_name": "meta_batch"
4072 },
4073 {
4074 "shape": 7,
4075 "name": "vae",
4076 "label": "vae",
4077 "type": "VAE",
4078 "localized_name": "vae"
4079 },
4080 {
4081 "widget": {
4082 "name": "frame_rate"
4083 },
4084 "name": "frame_rate",
4085 "link": 86,
4086 "label": "frame_rate",
4087 "type": "FLOAT",
4088 "localized_name": "frame_rate"
4089 },
4090 {
4091 "widget": {
4092 "name": "loop_count"
4093 },
4094 "name": "loop_count",
4095 "label": "loop_count",
4096 "type": "INT",
4097 "localized_name": "loop_count"
4098 },
4099 {
4100 "widget": {
4101 "name": "filename_prefix"
4102 },
4103 "name": "filename_prefix",
4104 "label": "filename_prefix",
4105 "type": "STRING",
4106 "localized_name": "filename_prefix"
4107 },
4108 {
4109 "widget": {
4110 "name": "format"
4111 },
4112 "name": "format",
4113 "label": "format",
4114 "type": "COMBO",
4115 "localized_name": "format"
4116 },
4117 {
4118 "widget": {
4119 "name": "pingpong"
4120 },
4121 "name": "pingpong",
4122 "label": "pingpong",
4123 "type": "BOOLEAN",
4124 "localized_name": "pingpong"
4125 },
4126 {
4127 "widget": {
4128 "name": "save_output"
4129 },
4130 "name": "save_output",
4131 "label": "save_output",
4132 "type": "BOOLEAN",
4133 "localized_name": "save_output"
4134 },
4135 {
4136 "widget": {
4137 "name": "no_preview"
4138 },
4139 "shape": 7,
4140 "name": "no_preview",
4141 "label": "no_preview",
4142 "type": "BOOLEAN",
4143 "localized_name": "no_preview"
4144 }
4145 ],
4146 "flags": [],
4147 "id": 43,
4148 "type": "VHS_VideoCombine",
4149 "properties": {
4150 "note": "调试用:预览 pose_video_mask。正式出片时可不运行或忽略。",
4151 "widget_ue_connectable": {
4152 "frame_rate": true
4153 },
4154 "Node name for S&R": "调试预览:Pose Mask"
4155 },
4156 "order": 34
4157 },
4158 {
4159 "mode": 0,
4160 "outputs": [
4161 {
4162 "name": "INT",
4163 "links": [
4164 87
4165 ],
4166 "label": "INT",
4167 "type": "INT",
4168 "localized_name": "INT"
4169 }
4170 ],
4171 "size": [
4172 270,
4173 58
4174 ],
4175 "pos": [
4176 -360.2248229980469,
4177 961.6268310546875
4178 ],
4179 "widgets_values": [
4180 217
4181 ],
4182 "inputs": [
4183 {
4184 "widget": {
4185 "name": "value"
4186 },
4187 "name": "value",
4188 "label": "value",
4189 "type": "INT",
4190 "localized_name": "value"
4191 }
4192 ],
4193 "flags": [],
4194 "id": 69,
4195 "type": "Int",
4196 "properties": {
4197 "widget_ue_connectable": [],
4198 "Node name for S&R": "Int"
4199 },
4200 "order": 11
4201 },
4202 {
4203 "mode": 0,
4204 "outputs": [
4205 {
4206 "name": "IMAGE",
4207 "links": [
4208 5
4209 ],
4210 "label": "IMAGE",
4211 "type": "IMAGE",
4212 "localized_name": "IMAGE"
4213 },
4214 {
4215 "name": "frame_count",
4216 "links": [
4217 20
4218 ],
4219 "label": "frame_count",
4220 "type": "INT",
4221 "localized_name": "frame_count"
4222 },
4223 {
4224 "name": "audio",
4225 "links": [
4226 84,
4227 88
4228 ],
4229 "label": "audio",
4230 "type": "AUDIO",
4231 "localized_name": "audio"
4232 },
4233 {
4234 "name": "video_info",
4235 "links": [],
4236 "label": "video_info",
4237 "type": "VHS_VIDEOINFO",
4238 "localized_name": "video_info"
4239 }
4240 ],
4241 "size": [
4242 255.8291015625,
4243 767.251708984375
4244 ],
4245 "pos": [
4246 130,
4247 840
4248 ],
4249 "widgets_values": {
4250 "custom_height": 0,
4251 "force_rate": 24,
4252 "custom_width": 0,
4253 "select_every_nth": 1,
4254 "frame_load_cap": 217,
4255 "videopreview": {
4256 "paused": false,
4257 "hidden": false,
4258 "params": {
4259 "custom_height": 0,
4260 "filename": "2cf9fb652275bde099c9ab275ded9554cae5a4298a4a62a92b0923d48bee7045.mp4",
4261 "force_rate": 24,
4262 "custom_width": 0,
4263 "select_every_nth": 1,
4264 "frame_load_cap": 217,
4265 "format": "video/mp4",
4266 "skip_first_frames": 0,
4267 "type": "input"
4268 }
4269 },
4270 "format": "AnimateDiff",
4271 "video": "2cf9fb652275bde099c9ab275ded9554cae5a4298a4a62a92b0923d48bee7045.mp4",
4272 "skip_first_frames": 0,
4273 "force_size": "Disabled",
4274 "choose video to upload": "image"
4275 },
4276 "inputs": [
4277 {
4278 "shape": 7,
4279 "name": "meta_batch",
4280 "label": "meta_batch",
4281 "type": "VHS_BatchManager",
4282 "localized_name": "meta_batch"
4283 },
4284 {
4285 "shape": 7,
4286 "name": "vae",
4287 "label": "vae",
4288 "type": "VAE",
4289 "localized_name": "vae"
4290 },
4291 {
4292 "widget": {
4293 "name": "video"
4294 },
4295 "name": "video",
4296 "label": "video",
4297 "type": "STRING",
4298 "localized_name": "video"
4299 },
4300 {
4301 "widget": {
4302 "name": "force_rate"
4303 },
4304 "name": "force_rate",
4305 "link": 1,
4306 "label": "force_rate",
4307 "type": "INT",
4308 "localized_name": "force_rate"
4309 },
4310 {
4311 "widget": {
4312 "name": "force_size"
4313 },
4314 "name": "force_size",
4315 "label": "force_size",
4316 "type": "COMBO",
4317 "localized_name": "force_size"
4318 },
4319 {
4320 "widget": {
4321 "name": "custom_width"
4322 },
4323 "name": "custom_width",
4324 "label": "custom_width",
4325 "type": "INT",
4326 "localized_name": "custom_width"
4327 },
4328 {
4329 "widget": {
4330 "name": "custom_height"
4331 },
4332 "name": "custom_height",
4333 "label": "custom_height",
4334 "type": "INT",
4335 "localized_name": "custom_height"
4336 },
4337 {
4338 "widget": {
4339 "name": "frame_load_cap"
4340 },
4341 "name": "frame_load_cap",
4342 "link": 87,
4343 "label": "frame_load_cap",
4344 "type": "INT",
4345 "localized_name": "frame_load_cap"
4346 },
4347 {
4348 "widget": {
4349 "name": "skip_first_frames"
4350 },
4351 "name": "skip_first_frames",
4352 "label": "skip_first_frames",
4353 "type": "INT",
4354 "localized_name": "skip_first_frames"
4355 },
4356 {
4357 "widget": {
4358 "name": "select_every_nth"
4359 },
4360 "name": "select_every_nth",
4361 "label": "select_every_nth",
4362 "type": "INT",
4363 "localized_name": "select_every_nth"
4364 },
4365 {
4366 "widget": {
4367 "name": "format"
4368 },
4369 "shape": 7,
4370 "name": "format",
4371 "label": "format",
4372 "type": "COMBO",
4373 "localized_name": "format"
4374 }
4375 ],
4376 "flags": [],
4377 "id": 3,
4378 "type": "VHS_LoadVideo",
4379 "properties": {
4380 "note": "读取驱动视频。frame_load_cap 默认 0,表示加载全视频;循环次数会依据本节点输出的 frame_count 自动计算。",
4381 "widget_ue_connectable": {
4382 "custom_height": true,
4383 "force_rate": true,
4384 "custom_width": true,
4385 "select_every_nth": true,
4386 "frame_load_cap": true,
4387 "format": true,
4388 "video": true,
4389 "skip_first_frames": true,
4390 "force_size": true
4391 },
4392 "Node name for S&R": "Driving Video"
4393 },
4394 "order": 18
4395 },
4396 {
4397 "mode": 0,
4398 "outputs": [
4399 {
4400 "name": "IMAGE",
4401 "links": [
4402 11,
4403 32,
4404 55
4405 ],
4406 "label": "IMAGE",
4407 "type": "IMAGE",
4408 "localized_name": "IMAGE"
4409 },
4410 {
4411 "name": "width",
4412 "links": [
4413 37,
4414 61,
4415 100
4416 ],
4417 "label": "width",
4418 "type": "INT",
4419 "localized_name": "width"
4420 },
4421 {
4422 "name": "height",
4423 "links": [
4424 38,
4425 62,
4426 101
4427 ],
4428 "label": "height",
4429 "type": "INT",
4430 "localized_name": "height"
4431 },
4432 {
4433 "name": "mask",
4434 "links": [],
4435 "label": "mask",
4436 "type": "MASK",
4437 "localized_name": "mask"
4438 }
4439 ],
4440 "size": [
4441 239.06893920898438,
4442 348
4443 ],
4444 "pos": [
4445 1540,
4446 650
4447 ],
4448 "widgets_values": [
4449 512,
4450 896,
4451 "lanczos",
4452 "crop",
4453 "0, 0, 0",
4454 "center",
4455 16,
4456 "cpu"
4457 ],
4458 "inputs": [
4459 {
4460 "name": "image",
4461 "link": 5,
4462 "label": "image",
4463 "type": "IMAGE",
4464 "localized_name": "image"
4465 },
4466 {
4467 "shape": 7,
4468 "name": "mask",
4469 "label": "mask",
4470 "type": "MASK",
4471 "localized_name": "mask"
4472 },
4473 {
4474 "widget": {
4475 "name": "width"
4476 },
4477 "name": "width",
4478 "link": 89,
4479 "label": "width",
4480 "type": "INT",
4481 "localized_name": "width"
4482 },
4483 {
4484 "widget": {
4485 "name": "height"
4486 },
4487 "name": "height",
4488 "link": 88,
4489 "label": "height",
4490 "type": "INT",
4491 "localized_name": "height"
4492 },
4493 {
4494 "widget": {
4495 "name": "upscale_method"
4496 },
4497 "name": "upscale_method",
4498 "label": "upscale_method",
4499 "type": "COMBO",
4500 "localized_name": "upscale_method"
4501 },
4502 {
4503 "widget": {
4504 "name": "keep_proportion"
4505 },
4506 "name": "keep_proportion",
4507 "label": "keep_proportion",
4508 "type": "COMBO",
4509 "localized_name": "keep_proportion"
4510 },
4511 {
4512 "widget": {
4513 "name": "pad_color"
4514 },
4515 "name": "pad_color",
4516 "label": "pad_color",
4517 "type": "STRING",
4518 "localized_name": "pad_color"
4519 },
4520 {
4521 "widget": {
4522 "name": "crop_position"
4523 },
4524 "name": "crop_position",
4525 "label": "crop_position",
4526 "type": "COMBO",
4527 "localized_name": "crop_position"
4528 },
4529 {
4530 "widget": {
4531 "name": "divisible_by"
4532 },
4533 "name": "divisible_by",
4534 "label": "divisible_by",
4535 "type": "INT",
4536 "localized_name": "divisible_by"
4537 },
4538 {
4539 "widget": {
4540 "name": "device"
4541 },
4542 "shape": 7,
4543 "name": "device",
4544 "label": "device",
4545 "type": "COMBO",
4546 "localized_name": "device"
4547 }
4548 ],
4549 "flags": [],
4550 "id": 18,
4551 "type": "ImageResizeKJv2",
4552 "title": "统一驱动视频尺寸 512x896",
4553 "properties": {
4554 "note": "驱动视频统一缩放/裁切到 512x896。参考图也必须经“统一参考图尺寸 512x896”节点对齐。",
4555 "widget_ue_connectable": [],
4556 "Node name for S&R": "统一驱动视频尺寸 512x896"
4557 },
4558 "order": 21
4559 },
4560 {
4561 "mode": 0,
4562 "outputs": [
4563 {
4564 "name": "INT",
4565 "links": [
4566 89,
4567 90
4568 ],
4569 "label": "INT",
4570 "type": "INT",
4571 "localized_name": "INT"
4572 }
4573 ],
4574 "size": [
4575 270,
4576 58
4577 ],
4578 "pos": [
4579 1198.5838623046875,
4580 317.6058654785156
4581 ],
4582 "widgets_values": [
4583 512
4584 ],
4585 "inputs": [
4586 {
4587 "widget": {
4588 "name": "value"
4589 },
4590 "name": "value",
4591 "label": "value",
4592 "type": "INT",
4593 "localized_name": "value"
4594 }
4595 ],
4596 "flags": [],
4597 "id": 70,
4598 "type": "Int",
4599 "properties": {
4600 "widget_ue_connectable": [],
4601 "Node name for S&R": "Int"
4602 },
4603 "order": 12
4604 },
4605 {
4606 "mode": 0,
4607 "outputs": [
4608 {
4609 "name": "INT",
4610 "links": [
4611 88,
4612 91
4613 ],
4614 "label": "INT",
4615 "type": "INT",
4616 "localized_name": "INT"
4617 }
4618 ],
4619 "size": [
4620 270,
4621 58
4622 ],
4623 "pos": [
4624 1193.427490234375,
4625 404.2130126953125
4626 ],
4627 "widgets_values": [
4628 896
4629 ],
4630 "inputs": [
4631 {
4632 "widget": {
4633 "name": "value"
4634 },
4635 "name": "value",
4636 "label": "value",
4637 "type": "INT",
4638 "localized_name": "value"
4639 }
4640 ],
4641 "flags": [],
4642 "id": 71,
4643 "type": "Int",
4644 "properties": {
4645 "widget_ue_connectable": [],
4646 "Node name for S&R": "Int"
4647 },
4648 "order": 13
4649 },
4650 {
4651 "mode": 0,
4652 "outputs": [
4653 {
4654 "name": "IMAGE",
4655 "links": [
4656 14,
4657 103
4658 ],
4659 "label": "IMAGE",
4660 "type": "IMAGE",
4661 "localized_name": "IMAGE"
4662 },
4663 {
4664 "name": "width",
4665 "links": [],
4666 "label": "width",
4667 "type": "INT",
4668 "localized_name": "width"
4669 },
4670 {
4671 "name": "height",
4672 "links": [],
4673 "label": "height",
4674 "type": "INT",
4675 "localized_name": "height"
4676 },
4677 {
4678 "name": "mask",
4679 "links": [],
4680 "label": "mask",
4681 "type": "MASK",
4682 "localized_name": "mask"
4683 }
4684 ],
4685 "size": [
4686 239.06893920898438,
4687 348
4688 ],
4689 "pos": [
4690 1840,
4691 350
4692 ],
4693 "widgets_values": [
4694 512,
4695 896,
4696 "lanczos",
4697 "crop",
4698 "0, 0, 0",
4699 "center",
4700 16,
4701 "cpu"
4702 ],
4703 "inputs": [
4704 {
4705 "name": "image",
4706 "link": 109,
4707 "label": "image",
4708 "type": "IMAGE",
4709 "localized_name": "image"
4710 },
4711 {
4712 "shape": 7,
4713 "name": "mask",
4714 "label": "mask",
4715 "type": "MASK",
4716 "localized_name": "mask"
4717 },
4718 {
4719 "widget": {
4720 "name": "width"
4721 },
4722 "name": "width",
4723 "link": 90,
4724 "label": "width",
4725 "type": "INT",
4726 "localized_name": "width"
4727 },
4728 {
4729 "widget": {
4730 "name": "height"
4731 },
4732 "name": "height",
4733 "link": 91,
4734 "label": "height",
4735 "type": "INT",
4736 "localized_name": "height"
4737 },
4738 {
4739 "widget": {
4740 "name": "upscale_method"
4741 },
4742 "name": "upscale_method",
4743 "label": "upscale_method",
4744 "type": "COMBO",
4745 "localized_name": "upscale_method"
4746 },
4747 {
4748 "widget": {
4749 "name": "keep_proportion"
4750 },
4751 "name": "keep_proportion",
4752 "label": "keep_proportion",
4753 "type": "COMBO",
4754 "localized_name": "keep_proportion"
4755 },
4756 {
4757 "widget": {
4758 "name": "pad_color"
4759 },
4760 "name": "pad_color",
4761 "label": "pad_color",
4762 "type": "STRING",
4763 "localized_name": "pad_color"
4764 },
4765 {
4766 "widget": {
4767 "name": "crop_position"
4768 },
4769 "name": "crop_position",
4770 "label": "crop_position",
4771 "type": "COMBO",
4772 "localized_name": "crop_position"
4773 },
4774 {
4775 "widget": {
4776 "name": "divisible_by"
4777 },
4778 "name": "divisible_by",
4779 "label": "divisible_by",
4780 "type": "INT",
4781 "localized_name": "divisible_by"
4782 },
4783 {
4784 "widget": {
4785 "name": "device"
4786 },
4787 "shape": 7,
4788 "name": "device",
4789 "label": "device",
4790 "type": "COMBO",
4791 "localized_name": "device"
4792 }
4793 ],
4794 "flags": [],
4795 "id": 60,
4796 "type": "ImageResizeKJv2",
4797 "title": "统一参考图尺寸 512x896",
4798 "properties": {
4799 "note": "参考图必须先对齐到 512x896,再进入 SAM3、CLIPVision 和 SCAIL。这样参考图与驱动视频处在同一尺寸体系。",
4800 "widget_ue_connectable": {
4801 "crop_position": true,
4802 "pad_color": true,
4803 "divisible_by": true,
4804 "width": true,
4805 "keep_proportion": true,
4806 "upscale_method": true,
4807 "device": true,
4808 "height": true
4809 },
4810 "Node name for S&R": "统一参考图尺寸 512x896"
4811 },
4812 "order": 19
4813 }
4814 ],
4815 "extra": {
4816 "links_added_by_ue": [],
4817 "VHS_KeepIntermediate": true,
4818 "ue_links": [],
4819 "VHS_MetadataImage": true,
4820 "0246.VERSION": [
4821 0,
4822 0,
4823 4
4824 ],
4825 "VHS_latentpreviewrate": 0,
4826 "frontendVersion": "1.23.0",
4827 "VHS_latentpreview": false,
4828 "ds": {
4829 "offset": [
4830 -911.1892066846444,
4831 -162.64696613502167
4832 ],
4833 "scale": 1.5535220464768966
4834 }
4835 },
4836 "groups": [
4837 {
4838 "color": "#44607a",
4839 "font_size": 24,
4840 "flags": [],
4841 "id": 1,
4842 "title": "① 用户输入",
4843 "bounding": [
4844 100,
4845 100,
4846 520,
4847 1550
4848 ]
4849 },
4850 {
4851 "color": "#5d6f8f",
4852 "font_size": 24,
4853 "flags": [],
4854 "id": 2,
4855 "title": "② 模型加载",
4856 "bounding": [
4857 680,
4858 100,
4859 820,
4860 900
4861 ]
4862 },
4863 {
4864 "color": "#4d7f73",
4865 "font_size": 24,
4866 "flags": [],
4867 "id": 3,
4868 "title": "③ 参考图预处理",
4869 "bounding": [
4870 1500,
4871 100,
4872 520,
4873 420
4874 ]
4875 },
4876 {
4877 "color": "#4d7f73",
4878 "font_size": 24,
4879 "flags": [],
4880 "id": 4,
4881 "title": "④ 驱动视频预处理",
4882 "bounding": [
4883 1500,
4884 560,
4885 520,
4886 440
4887 ]
4888 },
4889 {
4890 "color": "#6d7550",
4891 "font_size": 24,
4892 "flags": [],
4893 "id": 5,
4894 "title": "⑤ SAM3 主体追踪",
4895 "bounding": [
4896 2080,
4897 100,
4898 640,
4899 900
4900 ]
4901 },
4902 {
4903 "color": "#806b54",
4904 "font_size": 24,
4905 "flags": [],
4906 "id": 6,
4907 "title": "⑥ SCAIL-2 条件准备",
4908 "bounding": [
4909 2780,
4910 100,
4911 520,
4912 900
4913 ]
4914 },
4915 {
4916 "color": "#806070",
4917 "font_size": 24,
4918 "flags": [],
4919 "id": 7,
4920 "title": "⑦ 首段生成",
4921 "bounding": [
4922 3360,
4923 100,
4924 640,
4925 1080
4926 ]
4927 },
4928 {
4929 "color": "#806070",
4930 "font_size": 24,
4931 "flags": [],
4932 "id": 8,
4933 "title": "⑧ 循环续写段 02",
4934 "bounding": [
4935 4060,
4936 100,
4937 640,
4938 1080
4939 ]
4940 },
4941 {
4942 "color": "#667064",
4943 "font_size": 24,
4944 "flags": [],
4945 "id": 9,
4946 "title": "⑨ 循环续写段 03",
4947 "bounding": [
4948 4760,
4949 100,
4950 620,
4951 1080
4952 ]
4953 },
4954 {
4955 "color": "#705d74",
4956 "font_size": 24,
4957 "flags": [],
4958 "id": 10,
4959 "title": "⑩ 循环续写段 04",
4960 "bounding": [
4961 5440,
4962 100,
4963 560,
4964 900
4965 ]
4966 },
4967 {
4968 "color": "#555",
4969 "font_size": 24,
4970 "flags": [],
4971 "id": 11,
4972 "title": "⑪ 循环续写段 05",
4973 "bounding": [
4974 2080,
4975 1060,
4976 1200,
4977 460
4978 ]
4979 },
4980 {
4981 "color": "#4f6470",
4982 "font_size": 24,
4983 "flags": [],
4984 "id": 12,
4985 "title": "提示词输入区",
4986 "bounding": [
4987 660,
4988 1020,
4989 620,
4990 560
4991 ]
4992 },
4993 {
4994 "color": "#51616f",
4995 "font_size": 24,
4996 "flags": [],
4997 "id": 13,
4998 "title": "自动循环次数计算",
4999 "bounding": [
5000 100,
5001 1680,
5002 1160,
5003 620
5004 ]
5005 }
5006 ],
5007 "links": [
5008 [
5009 1,
5010 8,
5011 0,
5012 3,
5013 3,
5014 "INT"
5015 ],
5016 [
5017 2,
5018 9,
5019 0,
5020 10,
5021 0,
5022 "MODEL"
5023 ],
5024 [
5025 3,
5026 68,
5027 0,
5028 11,
5029 0,
5030 "MODEL"
5031 ],
5032 [
5033 4,
5034 68,
5035 0,
5036 17,
5037 0,
5038 "MODEL"
5039 ],
5040 [
5041 5,
5042 3,
5043 0,
5044 18,
5045 0,
5046 "IMAGE"
5047 ],
5048 [
5049 6,
5050 14,
5051 0,
5052 19,
5053 0,
5054 "CLIP_VISION"
5055 ],
5056 [
5057 8,
5058 13,
5059 0,
5060 4,
5061 0,
5062 "CLIP"
5063 ],
5064 [
5065 9,
5066 13,
5067 0,
5068 5,
5069 0,
5070 "CLIP"
5071 ],
5072 [
5073 10,
5074 15,
5075 1,
5076 6,
5077 0,
5078 "CLIP"
5079 ],
5080 [
5081 11,
5082 18,
5083 0,
5084 20,
5085 0,
5086 "IMAGE"
5087 ],
5088 [
5089 12,
5090 15,
5091 0,
5092 20,
5093 1,
5094 "MODEL"
5095 ],
5096 [
5097 13,
5098 6,
5099 0,
5100 20,
5101 3,
5102 "CONDITIONING"
5103 ],
5104 [
5105 14,
5106 60,
5107 0,
5108 21,
5109 0,
5110 "IMAGE"
5111 ],
5112 [
5113 15,
5114 15,
5115 0,
5116 21,
5117 1,
5118 "MODEL"
5119 ],
5120 [
5121 16,
5122 6,
5123 0,
5124 21,
5125 3,
5126 "CONDITIONING"
5127 ],
5128 [
5129 17,
5130 20,
5131 0,
5132 22,
5133 0,
5134 "SAM3_TRACK_DATA"
5135 ],
5136 [
5137 18,
5138 21,
5139 0,
5140 22,
5141 1,
5142 "SAM3_TRACK_DATA"
5143 ],
5144 [
5145 19,
5146 7,
5147 0,
5148 22,
5149 4,
5150 "BOOLEAN"
5151 ],
5152 [
5153 20,
5154 3,
5155 1,
5156 23,
5157 0,
5158 "INT"
5159 ],
5160 [
5161 21,
5162 23,
5163 0,
5164 24,
5165 0,
5166 "INT"
5167 ],
5168 [
5169 22,
5170 24,
5171 0,
5172 25,
5173 0,
5174 "INT"
5175 ],
5176 [
5177 23,
5178 25,
5179 0,
5180 27,
5181 0,
5182 "INT"
5183 ],
5184 [
5185 24,
5186 26,
5187 0,
5188 27,
5189 1,
5190 "INT"
5191 ],
5192 [
5193 25,
5194 27,
5195 0,
5196 28,
5197 2,
5198 "BOOLEAN"
5199 ],
5200 [
5201 26,
5202 26,
5203 0,
5204 28,
5205 0,
5206 "INT"
5207 ],
5208 [
5209 27,
5210 25,
5211 0,
5212 28,
5213 1,
5214 "INT"
5215 ],
5216 [
5217 29,
5218 4,
5219 0,
5220 30,
5221 0,
5222 "CONDITIONING"
5223 ],
5224 [
5225 30,
5226 5,
5227 0,
5228 30,
5229 1,
5230 "CONDITIONING"
5231 ],
5232 [
5233 31,
5234 12,
5235 0,
5236 30,
5237 2,
5238 "VAE"
5239 ],
5240 [
5241 32,
5242 18,
5243 0,
5244 30,
5245 3,
5246 "IMAGE"
5247 ],
5248 [
5249 34,
5250 22,
5251 0,
5252 30,
5253 4,
5254 "IMAGE"
5255 ],
5256 [
5257 35,
5258 22,
5259 1,
5260 30,
5261 6,
5262 "IMAGE"
5263 ],
5264 [
5265 36,
5266 19,
5267 0,
5268 30,
5269 7,
5270 "CLIP_VISION_OUTPUT"
5271 ],
5272 [
5273 37,
5274 18,
5275 1,
5276 30,
5277 9,
5278 "INT"
5279 ],
5280 [
5281 38,
5282 18,
5283 2,
5284 30,
5285 10,
5286 "INT"
5287 ],
5288 [
5289 39,
5290 7,
5291 0,
5292 30,
5293 18,
5294 "BOOLEAN"
5295 ],
5296 [
5297 40,
5298 11,
5299 0,
5300 31,
5301 0,
5302 "MODEL"
5303 ],
5304 [
5305 41,
5306 30,
5307 0,
5308 31,
5309 1,
5310 "CONDITIONING"
5311 ],
5312 [
5313 42,
5314 30,
5315 1,
5316 31,
5317 2,
5318 "CONDITIONING"
5319 ],
5320 [
5321 43,
5322 16,
5323 0,
5324 31,
5325 3,
5326 "SAMPLER"
5327 ],
5328 [
5329 44,
5330 17,
5331 0,
5332 31,
5333 4,
5334 "SIGMAS"
5335 ],
5336 [
5337 45,
5338 30,
5339 2,
5340 31,
5341 5,
5342 "LATENT"
5343 ],
5344 [
5345 46,
5346 31,
5347 1,
5348 32,
5349 0,
5350 "LATENT"
5351 ],
5352 [
5353 47,
5354 12,
5355 0,
5356 32,
5357 1,
5358 "VAE"
5359 ],
5360 [
5361 48,
5362 28,
5363 0,
5364 33,
5365 1,
5366 "*"
5367 ],
5368 [
5369 49,
5370 32,
5371 0,
5372 33,
5373 0,
5374 "IMAGE"
5375 ],
5376 [
5377 50,
5378 30,
5379 3,
5380 33,
5381 2,
5382 "INT"
5383 ],
5384 [
5385 51,
5386 32,
5387 0,
5388 33,
5389 3,
5390 "IMAGE"
5391 ],
5392 [
5393 52,
5394 4,
5395 0,
5396 34,
5397 0,
5398 "CONDITIONING"
5399 ],
5400 [
5401 53,
5402 5,
5403 0,
5404 34,
5405 1,
5406 "CONDITIONING"
5407 ],
5408 [
5409 54,
5410 12,
5411 0,
5412 34,
5413 2,
5414 "VAE"
5415 ],
5416 [
5417 55,
5418 18,
5419 0,
5420 34,
5421 3,
5422 "IMAGE"
5423 ],
5424 [
5425 57,
5426 22,
5427 0,
5428 34,
5429 4,
5430 "IMAGE"
5431 ],
5432 [
5433 58,
5434 22,
5435 1,
5436 34,
5437 6,
5438 "IMAGE"
5439 ],
5440 [
5441 59,
5442 19,
5443 0,
5444 34,
5445 7,
5446 "CLIP_VISION_OUTPUT"
5447 ],
5448 [
5449 60,
5450 33,
5451 2,
5452 34,
5453 8,
5454 "*"
5455 ],
5456 [
5457 61,
5458 18,
5459 1,
5460 34,
5461 9,
5462 "INT"
5463 ],
5464 [
5465 62,
5466 18,
5467 2,
5468 34,
5469 10,
5470 "INT"
5471 ],
5472 [
5473 63,
5474 33,
5475 3,
5476 34,
5477 16,
5478 "*"
5479 ],
5480 [
5481 64,
5482 11,
5483 0,
5484 35,
5485 0,
5486 "MODEL"
5487 ],
5488 [
5489 65,
5490 34,
5491 0,
5492 35,
5493 1,
5494 "CONDITIONING"
5495 ],
5496 [
5497 66,
5498 34,
5499 1,
5500 35,
5501 2,
5502 "CONDITIONING"
5503 ],
5504 [
5505 67,
5506 16,
5507 0,
5508 35,
5509 3,
5510 "SAMPLER"
5511 ],
5512 [
5513 68,
5514 17,
5515 0,
5516 35,
5517 4,
5518 "SIGMAS"
5519 ],
5520 [
5521 69,
5522 34,
5523 2,
5524 35,
5525 5,
5526 "LATENT"
5527 ],
5528 [
5529 70,
5530 35,
5531 1,
5532 36,
5533 0,
5534 "LATENT"
5535 ],
5536 [
5537 71,
5538 12,
5539 0,
5540 36,
5541 1,
5542 "VAE"
5543 ],
5544 [
5545 72,
5546 36,
5547 0,
5548 37,
5549 0,
5550 "IMAGE"
5551 ],
5552 [
5553 73,
5554 33,
5555 2,
5556 38,
5557 0,
5558 "*"
5559 ],
5560 [
5561 74,
5562 37,
5563 0,
5564 39,
5565 0,
5566 "IMAGE"
5567 ],
5568 [
5569 75,
5570 38,
5571 0,
5572 39,
5573 1,
5574 "IMAGE"
5575 ],
5576 [
5577 76,
5578 33,
5579 4,
5580 40,
5581 0,
5582 "*"
5583 ],
5584 [
5585 77,
5586 39,
5587 0,
5588 40,
5589 1,
5590 "IMAGE"
5591 ],
5592 [
5593 78,
5594 33,
5595 0,
5596 41,
5597 0,
5598 "FLOW_CONTROL"
5599 ],
5600 [
5601 79,
5602 36,
5603 0,
5604 41,
5605 1,
5606 "IMAGE"
5607 ],
5608 [
5609 80,
5610 34,
5611 3,
5612 41,
5613 2,
5614 "INT"
5615 ],
5616 [
5617 81,
5618 40,
5619 0,
5620 41,
5621 3,
5622 "IMAGE"
5623 ],
5624 [
5625 83,
5626 8,
5627 0,
5628 42,
5629 4,
5630 "INT"
5631 ],
5632 [
5633 84,
5634 3,
5635 2,
5636 42,
5637 1,
5638 "AUDIO"
5639 ],
5640 [
5641 85,
5642 22,
5643 0,
5644 43,
5645 0,
5646 "IMAGE"
5647 ],
5648 [
5649 86,
5650 8,
5651 0,
5652 43,
5653 4,
5654 "INT"
5655 ],
5656 [
5657 87,
5658 69,
5659 0,
5660 3,
5661 7,
5662 "INT"
5663 ],
5664 [
5665 88,
5666 71,
5667 0,
5668 18,
5669 3,
5670 "INT"
5671 ],
5672 [
5673 89,
5674 70,
5675 0,
5676 18,
5677 2,
5678 "INT"
5679 ],
5680 [
5681 98,
5682 41,
5683 2,
5684 42,
5685 0,
5686 "*"
5687 ],
5688 [
5689 99,
5690 21,
5691 0,
5692 50,
5693 0,
5694 "SAM3_TRACK_DATA"
5695 ],
5696 [
5697 100,
5698 18,
5699 1,
5700 51,
5701 0,
5702 "INT"
5703 ],
5704 [
5705 101,
5706 18,
5707 2,
5708 51,
5709 1,
5710 "INT"
5711 ],
5712 [
5713 102,
5714 51,
5715 0,
5716 52,
5717 0,
5718 "IMAGE"
5719 ],
5720 [
5721 103,
5722 60,
5723 0,
5724 52,
5725 1,
5726 "IMAGE"
5727 ],
5728 [
5729 104,
5730 50,
5731 0,
5732 52,
5733 2,
5734 "MASK"
5735 ],
5736 [
5737 105,
5738 52,
5739 0,
5740 19,
5741 1,
5742 "IMAGE"
5743 ],
5744 [
5745 106,
5746 52,
5747 0,
5748 30,
5749 5,
5750 "IMAGE"
5751 ],
5752 [
5753 107,
5754 52,
5755 0,
5756 34,
5757 5,
5758 "IMAGE"
5759 ],
5760 [
5761 108,
5762 7,
5763 0,
5764 34,
5765 18,
5766 "BOOLEAN"
5767 ],
5768 [
5769 109,
5770 2,
5771 0,
5772 60,
5773 0,
5774 "IMAGE"
5775 ],
5776 [
5777 200,
5778 10,
5779 0,
5780 61,
5781 0,
5782 "MODEL"
5783 ],
5784 [
5785 201,
5786 61,
5787 0,
5788 62,
5789 0,
5790 "MODEL"
5791 ],
5792 [
5793 202,
5794 62,
5795 0,
5796 63,
5797 0,
5798 "MODEL"
5799 ],
5800 [
5801 203,
5802 63,
5803 0,
5804 64,
5805 0,
5806 "MODEL"
5807 ],
5808 [
5809 204,
5810 64,
5811 0,
5812 65,
5813 0,
5814 "MODEL"
5815 ],
5816 [
5817 205,
5818 65,
5819 0,
5820 66,
5821 0,
5822 "MODEL"
5823 ],
5824 [
5825 206,
5826 66,
5827 0,
5828 67,
5829 0,
5830 "MODEL"
5831 ],
5832 [
5833 207,
5834 67,
5835 0,
5836 68,
5837 0,
5838 "MODEL"
5839 ],
5840 [
5841 90,
5842 70,
5843 0,
5844 60,
5845 2,
5846 "INT"
5847 ],
5848 [
5849 91,
5850 71,
5851 0,
5852 60,
5853 3,
5854 "INT"
5855 ]
5856 ],
5857 "id": "02_SCAIL2_CharacterReplacement_Loop",
5858 "config": [],
5859 "version": 0.4,
5860 "last_node_id": 74,
5861 "revision": 0
5862}