Wan2.2 - continuous generation (subgraphs)
세부 정보
파일 다운로드
이 버전에 대해
모델 설명
편집 3: I2V lightx2v가 곧 출시될 가능성이 있지만, 네이티브 측에서는 아직 큰 개선이 없습니다. 그때가 되면 v0.4의 2 샘플러 버전을 만들어볼 계획입니다.
편집 2: 추가로 몇 가지 테스트를 해봤습니다. 전이 효과는 현재 상태와 비교해 큰 개선이 없으며, 여전히 대부분의 경우 잘 작동하고 나머지 경우도 그리 나쁘지 않습니다.
저는 ComfyUI가 SI2V 모델에 대해 했던 것처럼 Wan2.2용 네이티브 extend 노드를 추가할 때까지 잠시 휴식을 취할 계획입니다. 그 과정에서 서브그래프 문제도 해결될지도 모릅니다.
여전히 여러분이 창의적인 생성물을 공유해 주길 기다리고 있습니다 :)
편집: Context Windows에서 결과가 일관되지 않아 아직所謂 v0.5를 공유하지는 않습니다.
v0.4;
이 버전을 v0.3.1로 부를지, v0.4로 부를지 망설였지만, 몇 가지 문제를 해결하는 데 시간이 오래 걸렸기 때문에 v0.4로 결정했습니다.
타일링 디코딩이 이토록 많은 문제를 일으킬 줄은 전혀 예상하지 못했습니다. 그런데 지금은 그게 대부분의 눈에 보이는 아티팩트의 원인임이 밝혀졌습니다. 그래서 저는 기본 VAE 디코딩으로 전환했습니다. 또한 관련 변수도 수정했습니다. OOM이 발생하면 타일링을 사용하고 변수를 줄여보세요. 하지만 temporal_size를 생성된 프레임 수보다 작게 설정하면 해당 프레임 주변에서 색상 변화가 발생하므로 건드리지 않는 것이 좋습니다. tile size도 마찬가지로 “타일링” 사각형 버닝 현상을 유발합니다.
가장 품질 손실이 적게 발생하려면 fp32 VAE를 사용하는 것이 좋습니다;
https://huggingface.co/Kijai/WanVideo_comfy/blob/main/Wan2_1_VAE_fp32.safetensors
타임리프에 프레임을 몇 개 더 추가했습니다. 여전히 완벽하지는 않지만, 앞서 말했듯이 가끔 잘 작동합니다. 그리고 잘 작동할 때는 정말 좋습니다.
아직 1분 지점 근처에 블룸 효과가 조금 남아 있습니다. 공식 lightx2v LoRA로 전환해보니 블룸이 약간 줄어들지만, 영상이 진행될수록 과노출 문제가 생깁니다. 그래서 저는 Kijai의 저장소에 있는 LoRA를 사용할 계획입니다. 다만, 중복 영상(ghosting) 문제는 인지해두세요.
양자화 레벨이 영향을 미치는지는 확실하지 않지만, 시스템 사양이 허락한다면 I2V 모델에는 더 높은 품질의 양자화 버전을 사용하는 것이 좋습니다.
서브그래프 업데이트에 대해 ComfyUI-Frontend를 테스트하지 않았기 때문에, 현재는 다음 명령어로 1.26.2 버전을 유지하는 것이 안전합니다:
.\python_embeded\python.exe -m pip install comfyui_frontend_package==1.26.2
T2V 출력을 아무곳에도 연결하지 않으면 워크플로우가 이를 건너뜁니다.
또한 Wan을 위한 새로운 노드가 추가된 것을 확인했습니다. 시간이 되면 확인해보겠습니다.
레딧에 포스팅하지 않으면 생성물 공유가 줄어드는 것 같네요 :) 여러분이 모두 비밀리에 어떤 것들을 만들어내고 있는지, 좀 보여주세요 \o-o/
v0.3;
이전 편집에서 언급했듯, 향후 안정적인 버전을 확인할 때까지 ComfyUI 프론트엔드 1.26.2를 사용해주세요. 명령어는 아래 v0.2 항목이나 v0.3 변경 로그에서 찾을 수 있습니다.
이번에는 최종 병합 저장 기능에 약간의 개선을 추가했습니다. 파트 파일은 개별적으로 저장되며, 전체가 완료된 후에만 병합됩니다. 임시 공간 사용량은 더 최적화되고, 최종 저장 전까지는 메모리 사용량이 줄어들지만 최종 저장 시 모든 데이터가 로드되므로 약간의 메모리 소비가 발생할 수 있습니다. 그러나 파일 크기는 크지 않습니다.
또한 이전 5개 프레임을 다양한 가중치로 블렌딩하여 매우 기본적인 타임리프 모션 블러를 구현했습니다. 모든 문제를 해결하지는 않지만, 전이 효과가 부드러워 보이는 경우가 있습니다. 가중치를 조정해보셨다면, 귀하의 생성물에서 더 나은 결과를 찾으셨다면 공유해주세요.
각 파트에 LoRA 로더 노드 3개를 추가하여, 파트별 LoRA를 로드하는 방법을 보여드렸습니다. 이 부분을 확장해서 사용할 수 있습니다.
또한 최종 저장 서브그래프 내부에 간단한 업스케일 모델 노드를 사용한 업스케일 서브그래프를 추가했습니다. 또는 제가 배치한 기본 업스케일 이미지 노드를 연결해서 사용할 수도 있습니다. 모두 업스케일 시간이 오래 걸리고 기본 업스케일로 큰 차이가 없기 때문에 기본적으로 우회되어 있습니다.
마지막으로 기본 영상 형식이 이제 세로 비율로 변경되었습니다.
결과가 매우 마음에 듭니다만, 마지막 부분에서 프롬프트 준수도가 약간 떨어집니다. 제가 시도한 장면 때문일 수도 있지만, 더 높은 품질의 CLIP을 사용하면 개선될 수 있습니다.
마지막으로 현재 제작자 순위 1위가 되어 매우 기쁩니다 :) 피드백과 흥미로운 생성물을 공유해 주신 모든 분들께 진심으로 감사드립니다.
더 많은 업데이트를 기대하며, 즐겁게 생성하세요!
v0.2;
편집 2:
- 연결된 서브그래프와 우회 기능이 깨진 것 같습니다. 따라서 현재는 ComfyUI 프론트엔드 1.26.2로 롤백하셔야 작동합니다;
.\python_embeded\python.exe -m pip install comfyui_frontend_package==1.26.2
편집:
전이 프레임이 다시 중복되는 문제가 발견되어 수정했습니다.
생성에 실패했을 때 마지막으로 생성된 병합된 .mkv 파일을 더 작은 파일로 변환할 수 있는 MP4 변환 워크플로우를 추가했습니다.
제안된 프레임레이트가 기본값으로 16을 초과하는 문제를 수정했습니다.
몇 가지 추가 실험을 진행했습니다. 서브그래프를 좋아해서, 더 널리 알려지고 일반화되기를 바랐습니다. 그래서 모델 로딩 및 기타 몇 가지 옵션을 서브그래프 내부로 옮겨 커뮤니티가 직접 수정할 수 있도록 했고, 메인 페이지는 더 깔끔하게 유지했습니다. 약간 더 복잡해질 수 있지만, 설명 노트를 추가해두었으니 꼭 확인해보세요.
비디오 병합 기능을 구현했습니다. 그러나 각 파트마다 이전 파일과 동적으로 병합되기 때문에, 처음 부분이 여러 번 압축되면서 압축 아티팩트가 발생했습니다. 이를 방지하기 위해, 이 파트들을 무손실 품질인 ffv1-mkv 형식으로 저장하기로 결정했습니다. 마지막에는 여전히 최종 출력물을 h264 mp4 형식으로 저장하는 final save 노드가 있습니다.
기본 설정에서 832x480x81 x6 I2V 파트로 30초 영상을 생성하면, 임시 폴더에는 1GB 미만의 공간만 사용됩니다(ComfyUI를 재시작할 때마다 이 폴더는 자동으로 지워집니다). 생성 완료 후 수동으로 삭제하시면 됩니다.
또한 최종 출력에 사용할 수 있는 보간 노드(기본적으로 우회됨)를 추가했습니다. 하지만 6x81 프레임에 대해 보간을 처리하는 데 시간이 오래 걸립니다.
또한 마지막 이미지를 outputs 폴더에 저장하는 기능과, 모든 샘플러에 적용되는 글로벌 시드 옵션도 구현했습니다. 이는 이전 생성을 이어가거나, 일부 매개변수만 변경하여 다시 생성하고 싶은 경우 유용합니다.
필요 없으면 outputs 폴더의 해당 파일을 주기적으로 정리하거나 수동으로 비활성화해주세요.
피드백을 이곳과 레딧에 모두 주신 커뮤니티에 감사드립니다. 이곳에도 생성물을 공유해주시면 좋겠습니다 :)
현재로서는, 더 부드러운 전이 효과 같은 실질적인 기능을 구현하지 않는 한 가까운 미래에 또 다른 업데이트를 출시하지 않을 계획입니다.
이 워크플로우는 ComfyUI의 새로운 서브노드를 활용한 단순한 실험입니다.
이 방식은 비디오 생성의 마지막 프레임을 다음 생성의 첫 프레임으로 입력하여 작동합니다. 그러나 복잡한 노드 덩어리 대신, 동일한 KSAMPLER 서브노드를 공유하는 하나의 I2V 노드를 사용해 반복적으로 실행합니다. ComfyUI에서의 프레임팩처럼 생각할 수 있으며, 각 생성을 별도로 프롬프트로 제어할 수 있습니다. 네거티브 프롬프트는 공통으로 유지했지만, 동적으로 변경할 수도 있습니다.
나중에 병합 기능을 구현하지 않기로 결정했기 때문에, 출력 비디오를 outputs 폴더에 저장하는 것을 잊었습니다. 따라서 파일은 comfyui/temp 폴더에 저장됩니다. (이 폴더는 ComfyUI를 다시 실행할 때 자동으로 지워집니다.)
0.1 버전의 첫 번째 비디오는 834x480, 1 3 3 샘플링으로 23분이 걸렸습니다. 두 번째는 624*368, 1 2 2 샘플링으로 13분이 걸렸고, 두 번째 비디오는 마지막 프레임이 두 번 표시되는 문제를 고친 최신 버전으로 생성되었습니다.
오래된 버전은 매우 불안정했기 때문에 ComfyUI 프론트엔드를 업데이트하세요. 아직 일부 버그가 있을 수 있으니 주의하세요. 패키지 업데이트 명령어 (포터블 버전):
.\python_embeded\python.exe -m pip install comfyui_frontend_package --upgrade
샘플링 프로세스는 1 + 3 + 3으로, 첫 번째 단계는 속도 LoRA를 적용하지 않고, 나머지는 기본 고속 + 저속 샘플링에 속도 LoRA를 적용합니다. 거의 모든 설정이 커스텀 가능하지만, "KSAMPLER 서브노드는 모든 메인 노드에서 공유되므로, 변경 사항은 모두 한 번에 적용됩니다!"를 기억하세요. I2V_latent 서브노드도 마찬가지로, 각 파트의 출력 해상도와 길이를 변경하고 싶다면 수정해야 합니다.
생성 기간을 늘리려면, I2V 서브노드 중 하나를 클릭하여 복사한 후, Ctrl+Shift+V를 눌러 연결까지 포함하여 붙여넣으세요. 그런 다음 이전 노드의 마지막 이미지를 새 노드의 start_image 입력에 연결하면 됩니다. 또한 T2V 생성을 건너뛰려면, 초기 I2V의 start_image 입력에 load image를 연결할 수 있습니다. (단, 키보드 단축키로 노드 우회를 하지 마세요. 서브노드가 깨질 수 있습니다.)
네이티브 모델로는 제 시스템에서 계속 충돌하여, 모든 기능을 GGUF 양자화 모델로 구현했습니다. 프로세스를 수정하거나, Patch Sage Attention을 비활성화하고, 모델 로더 서브노드에서 모델 노드를 컴파일하는 것도 가능하지만, 속도 저하가 뚜렷합니다.
Sage++와 Torch Compile을 활성화한 4070ti에서 T2V + 6x I2V(총 30초)는 약 20~25분이 걸렸습니다.
미래에는 커뮤니티로부터 더 나은 워크플로우가 나와주길 기대합니다 :)
