Wan VACE 2.1 & 2.2 - Seamlessly Extend, Join, and Auto-Fill Existing Videos While Maintaining Motion
세부 정보
파일 다운로드
모델 설명
Wan 2.2는 모델 로더 노드에 wan2.2_t2v_low_noise_14B 파일을 사용하면 대부분 잘 작동하며, 훨씬 더 사진처럼 사실적인 결과를 제공합니다. 또한 해상도를 720p 이상으로 유지하면 색상 드리프트가 상당히 줄어드는 것으로 보입니다. 그러나 Wan 2.1은 LoRA에 더 적합하고 더 중립적인 룩을 제공합니다. 특히 극도로 다른 결과를 내고자 한다면 Wan 2.1 1.3B가 가장 좋습니다. 더 높은 모델들은 더 딱딱하고 제한적이기 때문입니다.
이것은 제가 이전에 Reddit/Github에 게시한 워크플로입니다:
https://www.reddit.com/r/StableDiffusion/comments/1k83h9e/seamlessly_extending_and_joining_existing_videos/
이 워크플로는 WAN VACE의 다소 간과된 기능인 시간적 확장 기능을 노출합니다. 이 기능은 "첫 번째 클립 확장"이라고 낮게 설명되어 있지만, 실제로는 동영상 내의 거의 모든 누락된 장면을 자동으로 채울 수 있습니다. 기존 클립 사이에 전체 프레임이 누락되었거나, 얼굴이나 객체가 마스킹된 경우에도 마찬가지입니다.
이 기능은 이미지-동영상/시작-종료 프레임보다 우수합니다. 왜냐하면 기존 영상의 움직임을 유지할 뿐만 아니라, 이후 클립의 움직임과도 자연스럽게 연결하기 때문입니다.
아래 영상을 보세요. 소스 영상(왼쪽)과 마스크 영상(오른쪽)의 모습을 확인할 수 있습니다. 누락된 장면(회색)은 여러 곳에 존재하며, 얼굴이 사라진 부분 등도 VACE가 한 번에 모두 채워줍니다.
이 워크플로는 Kijai의 WAN VACE 워크플로를 기반으로 구축되었습니다. 저는 이 시간적 확장 기능을 하단 오른쪽에 4번째 그룹으로 추가했습니다. (원래 워크플로는 Kijai에게 감사드립니다.)
이 워크플로는 두 개의 동영상을 입력받습니다. 하나는 누락된 프레임/내용이 회색으로 표시된 소스 영상, 다른 하나는 흑백 마스크 영상입니다(누락된 회색 내용을 흰색으로 재색상화한 것). 일반적으로 저는 원본 영상의 밝기를 -999 정도로 낮추고 회색을 흰색으로 바꾸어 마스크 영상을 만듭니다.
Wan의 기본 출력 길이(16fps 기준 81프레임, 또는 다른 FPS일 경우 그에 해당하는 길이)와 일치하도록 약 5초로 유지하세요. 소스 영상에 정확한 길이와 회색 색상(#7F7F7F)을 사용하려면 VACE의 예제 클립을 여기서 다운로드할 수 있습니다: https://huggingface.co/datasets/ali-vilab/VACE-Benchmark/blob/main/assets/examples/firstframe/src_video.mp4
워크플로 내부에서는 Shift를 1로, CFG를 2-3으로 설정하여 기존 영상 간의 부드러운 연결에 집중하는 것을 권장합니다. 더 높은 숫자를 사용하면 때로 아티팩트가 발생하는 것을 확인했습니다.
동영상 품질을 극대화하고 세부 정보 손실 또는 색상 드리프트를 최소화하기 위한 팁:
가능한 한 기존 영상의 세부 정보를 유지하려면 CFG를 2-3, Shift를 1로 설정하세요.
색상 드리프트를 최소화하기 위해 1080p 해상도로 렌더링하세요. CausVid는 렌더링 시간을 5배 이상 단축시켜줍니다(50스텝 대신 8스텝만 사용).
ComfyUI의 Color Match 노드를 MKL 설정으로 사용하면 드리프트를 줄일 수 있습니다(장면이 자주 변경되면 항상 적용되지 않을 수 있음).
비디오 편집기에서 후처리로 색조를 약 2-7 정도 조정하고 채도를 약간 낮춰 드리프트를 보정하세요.
가능하면 초기 장면을 일반적인 I2V로 시작하여 색상 드리프트 없이 생성한 후, VACE로 새 변경 사항을 마스킹하여(페더링으로 부드럽게 연결하고, 가능한 한 I2V 장면을 많이 활용) 추가하세요. 또는 FramePack의 Video Input이나 SkyReels V2를 사용하여 색상 드리프트 없는 장면의 "골격"을 구성한 후, VACE로 변경 사항을 패치하는 것도 좋습니다.
다운로드할 모델:
models/diffusion_models: Wan 2.1/2.2 T2V (1개 선택, VACE의 14B/1.3B와 일치시켜야 함):
Wan 2.2 T2V Low Noise 14B FP16: https://huggingface.co/Comfy-Org/Wan_2.2_ComfyUI_Repackaged/blob/main/split_files/diffusion_models/wan2.2_t2v_low_noise_14B_fp16.safetensors
Wan 2.2 T2V Low Noise 14B FP8: https://huggingface.co/Comfy-Org/Wan_2.2_ComfyUI_Repackaged/blob/main/split_files/diffusion_models/wan2.2_t2v_low_noise_14B_fp8_scaled.safetensors
Wan 2.1 14B FP16: https://huggingface.co/Comfy-Org/Wan_2.1_ComfyUI_repackaged/blob/main/split_files/diffusion_models/wan2.1_t2v_14B_fp16.safetensors
Wan 2.1 14B FP8: https://huggingface.co/Kijai/WanVideo_comfy/blob/main/Wan2_1-T2V-14B_fp8_e4m3fn.safetensors
Wan 2.1 1.3B FP16: https://huggingface.co/IntervitensInc/Wan2.1-T2V-1.3B-FP16/blob/main/diffusion_pytorch_model.safetensors
Wan 2.1 1.3B FP8: https://huggingface.co/Kijai/WanVideo_comfy/blob/main/Wan2_1-T2V-1_3B_fp8_e4m3fn.safetensorsmodels/diffusion_models: WAN VACE (1개 선택, 위 Wan의 14B/1.3B와 일치시켜야 함)
14B BF16: https://huggingface.co/Kijai/WanVideo_comfy/blob/main/Wan2_1-VACE_module_14B_bf16.safetensors
14B FP8: https://huggingface.co/Kijai/WanVideo_comfy/blob/main/Wan2_1-VACE_module_14B_fp8_e4m3fn.safetensors
1.3B BF16: https://huggingface.co/Kijai/WanVideo_comfy/blob/main/Wan2_1-VACE_module_1_3B_bf16.safetensorsmodels/text_encoders: umt5-xxl-enc (1개 선택):
BF16: https://huggingface.co/Kijai/WanVideo_comfy/blob/main/umt5-xxl-enc-bf16.safetensors
FP8: https://huggingface.co/Kijai/WanVideo_comfy/blob/main/umt5-xxl-enc-fp8_e4m3fn.safetensorsmodels/vae: WAN 2.1 VAE (모든 WAN 버전):
https://huggingface.co/Comfy-Org/Wan_2.1_ComfyUI_repackaged/blob/main/split_files/vae/wan_2.1_vae.safetensorsmodels/loras: WAN CausVid V2 14B T2V, 스텝을 8로 줄임 (Wan 2.1 14B 전용): https://huggingface.co/Kijai/WanVideo_comfy/blob/main/Wan21_CausVid_14B_T2V_lora_rank32_v2.safetensors
동영상 입력을 로드했을 때의 모습을 보여주는 추가 영상입니다.