WAN 2.5 ComfyUI 워크플로우: 안정적인 결과를 위한 최고의 노드 그래프 + 설정
안녕, 친구! 나는 도라야. 그날, 나는 데모를 위해 짧은 제품 루프들을 편집하고 있었는데, 내 평소 셋업이 계속 흔들렸다. 캐릭터 소매가 변하고, 배경이 맥박치고, 모션이 가장자리에서 흔들렸다. 끔찍하지는 않았지만, 정말 산만했다. 나는 추측 게임이 아니라 정상적인 손처럼 행동하는 비디오 워크플로우를 원했다.
이번 달(2026년 1월) 몇 저녁을 ComfyUI에서 WAN 2.5를 깔끔하게 실행하는 데 썼다. 거창한 건 없다. 그래프를 최소한으로 유지하고, 몇 가지 설정을 고정하고, 흥미로운 부분을 깎아내지 않으면서 모션을 안정적으로 유지하는 다양한 방법을 테스트했다. 여기 정착된 것들과 그렇지 않은 것들이 있다. “WAN 2.5 ComfyUI”를 검색하는 이유가 멋진 것이 아니라 작동하는 것이기 때문이라면, 이 버전이 커피 한 잔과 함께 너에게 건네주고 싶은 것이다.
최소한의 노드 그래프
처음에는 몇 가지 복잡한 그래프를 시도했다. 캔버스에서는 강력해 보였지만 실제로는 불안정했다. 적어도 내 컴퓨터(RTX 4090, 24GB VRAM)에서 WAN 2.5를 위한 가장 안정적인 셋업은 의도적으로 지루했다.
내가 결국 간것:
- WAN 2.5 모델 로더(공식 가중치 + 설정: 시작 시 한 번 로드)
- 텍스트 인코더(하나의 프롬프트, 하나의 네거티브 프롬프트)
- 시드 노드(프레임당 시드가 아니라 단일 시드)
- 비디오용 샘플러(WAN의 샘플러 또는 ComfyUI의 호환 비디오 샘플러)
- VAE(끝에서 디코딩: 그래프 중간의 재인코딩 없음)
- 비디오 저장
이게 전부다. 추가 업스케일러, 가이던스 어댑터, 디노이즈 분기 없음. 나쁘기 때문이 아니라 WAN 2.5가 도움 없이 무엇을 하는지 보고 싶었기 때문이다. 장점은 명확했다: 움직이는 부분이 적고, 놀라움이 적다. 무언가가 깜빡일 때, 나는 외부 노드가 아니라는 것을 알았다.
처음부터 시작한다면, ComfyUI를 깨끗하게 설치하고 ComfyUI Manager를 추가하여 더 쉬운 노드 관리를 하고, 공식 소스에서 WAN 2.5 노드 팩을 추가할 것이다. 그 후, 그래프를 장식하려는 충동을 참아라. 한 개의 3-4초 클립이 적당한 해상도에서 깔끔하게 렌더링되도록 한다. 여전히 필요하면 그 후 복잡성을 추가한다.
설정 기준
나는 몇 가지 기준을 테스트하고, 클립이 흔들리지 않을 때까지 위아래로 조정했다.
내 안정적인 시작점:
- 해상도: 896×504(16:9). 16으로 나누어떨어짐, VRAM에 가벼움, 모션을 판단하기에 충분.
- 지속 시간: 12fps에서 48프레임(약 4초). 드리프트를 발견하기에 충분히 길고, 반복하기에 충분히 짧음.
- 스텝: 28-32. 24 이하는 모션을 흐리게 하는 경향이 있었다: 약 36 이상은 많은 것을 주지 않았다.
- CFG 가이던스: 4.0-6.0. 나는 주로 5.0에 앉았다. 높은 값은 스타일을 밀었지만 미세한 깜빡임을 높였다.
- 샘플러: Euler 또는 DPM++ 2M SDE(비디오 호환 빌드). DPM++는 프레임 간에 약간 더 안정적으로 느껴졌다.
- 디노이즈 강도: 텍스트-비디오의 경우 0.85-0.9. 이미지를 기반으로 조건을 지정하면, 나는 0.7-0.8로 떨어뜨렸다.
- 시드: 고정. 전체 클립에 걸쳐 동일한 시드.
4090에서, 이 기준은 약 2-3분 정도에 약 4초를 렌더링했다. 오후에 빌린 4080 Super에서는 3-4분 정도였다. 1024×576으로 범프하면 렌더 시간은 약 20-30% 올라갔고 VRAM 사용량은 17GB를 넘었다.
작은 주석: 더 높은 fps를 재생하려고 할 때(예: 24), 직접 24에서 렌더링하려고 하는 것보다 12fps에서 생성하고 나중에 보간하는 것이 더 나은 결과를 얻었다. 샘플러는 일관성을 유지하기가 더 쉬웠다.
일관성 전략
모양의 일관성을 유지하는 것은 기본적으로 세 가지 레버다: 시드, 컨디셔닝, 그리고 얼마나 공격적으로 프롬프트를 밀 것인가.
나를 위해 일한 것:
- 시드를 고정하고 건드리지 말자. 한 번의 실행에서, 나는 실수로 프레임당 시딩을 활성화했고, 즉시 의류 혼란.
- 프롬프트를 짧게 유지하자. WAN 2.5는 명확한 명사와 부드러운 스타일 힌트로 더 행복해 보이는 것 같다. “종이 배가 빗 내리는 거리에, 부드러운 빛, 음소거된 색상”은 단락보다 더 잘했다.
- 필요할 때만 참조 이미지를 사용하자. 이미지 컨디셔닝은 캐릭터 디자인(머리, 옷)을 고정하는 데 도움이 되었지만 때로는 모션을 과도하게 제약했다. 사용했을 때, 나는 디노이즈 강도와 CFG를 약 0.5 낮췄다.
- 네거티브 프롬프트는 깜빡임을 진정시킬 수 있다: “가혹한 조명, 깜박거리는 하이라이트, 렌즈 왜곡.” 단지 싫어하는 모든 것을 퍼붓지 말자: 3-6개 항목이 충분하다.
나는 또한 프레임 전체의 포즈를 잠그기 위해 IP-Adapter 분기를 시도했다. “여전히 작은 모션” 장면(증기, 파도)에 도움이 되었지만, 캐릭터 모션의 경우 때때로 제스처를 꼬집었다. 좋은 도구, 상황에 따른 보수.
모션 안정성
이것이 가장 까다로운 부분이었다. 부드러운 모션인데 모든 것을 젤리로 바꾸지 않았다.
중요했던 작은 조정:
- 가이던스 절제. CFG를 5.0 근처로 유지하면 프레임 간의 작은 조명 튀김이 줄어들었다.
- 스텝 수 상한. 약 36 스텝을 넘으면 더 선명한 정지 이미지를 얻었지만 시간이 지남에 따라 더 많은 미세 지터.
- 샘플러 선택. DPM++ 2M SDE는 팬과 느린 줌에서 일관되게 더 침착했다: Euler는 더 빠르게 느껴졌지만 고대비 모서리에서 깜빡였다.
- 프롬프트 동사. “흔들리는, 핸드헬드, 혼란스러운”과 같은 단어가 그들이 말하는 것을 한다. 그 모양을 원하지 않는 한 피했다.
- 광원. 딱딱한 포인트 라이트와 스펙큘러 하이라이트는 반짝임을 권장했다. “흐린 날씨” 또는 “소프트박스 조명”은 표면을 안정적으로 유지했다.
더 많은 그립이 필요했을 때, 나는 그래프 내부가 아니라 렌더 후에 두 가지를 추가했다:
- 가벼운 강도의 디플리커 패스(DaVinci Resolve의 디플리커 또는 FFmpeg 필터).

- 12→24fps 프레임 보간으로 동작 보상 보간. 생성 중에 모델을 혼동하지 않으면서 인지된 모션을 부드럽게 했다.
한 가지 놀라움: 카메라 푸시(느린 돌리 인)는 측면 팬보다 더 잘 유지되었다. 왼쪽에서 오른쪽으로의 팬이 신호 부분에서 계속 찢어지면, 나는 프롬프트를 “카메라가 천천히 앞으로 이동”으로 바꾸고 유사한 느낌으로 더 깔끔한 결과를 얻었다.
배치 렌더링
나는 배칭이 도움이 될 것으로 예상하지 못했지만 의사 결정 측면에서 그렇게 했다. 4-8개의 시드를 연달아 실행하면 어떤 프롬프트가 실제로 다리가 있는지가 노출되었다.
내가 사용한 것:
- 동일한 그래프에 공급하는 간단한 “Seed (batch)” 노드.
- 4-6개 작업의 큐 길이. 그 이상이면, 나는 아무 좋은 이유 없이 열을 돌보기 시작했다.
- 배치 전체의 동일한 기준 설정: 시드만 변함.
몇 밤의 실행에서의 팁:
- 배치에서 짧은 지속 시간 유지(2-3초). 시드가 유망한지 1초 안에 알 수 있다.
- 정보 파일 이름으로 저장: 프롬프트 슬러그 + 시드 + 해상도 + fps. 나는 또한 비디오 메타데이터에 시드를 추가했다. 미래의 나는 현재의 나에게 감사할 것이다.
- VRAM이 스파이크하면 배치 크기를 1로 줄이되 시드 목록을 유지하자. 정신적으로는 여전히 배치다.
나는 한 번에 다른 CFG 값들을 배칭해보려고 시도했다. 작동했지만 비교를 흐렸다. 배치당 한 변수를 분리하여 더 깔끔한 읽기를 얻었다.
공통 오류
몇 가지 반복적인 문제가 나타났다. 극적이지는 않았지만 내가 적어둘 때까지 시간을 먹었다.
- CUDA 메모리 부족. 보통 해상도를 절벽 바로 지나까지 밀었다는 신호. 수정: 너비/높이를 64px 떨어뜨리고, 스텝을 4-6 줄이고, VRAM을 물어뜯는 모든 것을 닫자(브라우저 탭도 포함). 반 정밀도(fp16)가 도움이 되었다.
- 불일치하는 모델/설정. WAN 2.5 로더와 해당 설정이 불일치하면 형태 또는 dtype 오류가 발생한다. 노드 팩을 재설치하고 정확한 설정을 다시 선택하면 고정되었다.
- 나누어떨어지지 않는 치수. 비디오 디코더는 까다롭다. 나는 너비와 높이의 16의 배수를 고수한다.
- 지원되지 않는 코덱. Save Video 노드는 때때로 시스템 FFmpeg가 좋아하지 않는 코덱으로 기본값을 설정했다. 녹색 프레임을 피하기 위해 명시적으로 H.264를 yuv420p로 설정했다.
- 깨진 프롬프트. 과도하게 지정된 부정적인 것들은 얼굴을 붕괴시켰다. “변형된, 훼손된, 못생긴”을 제거하면(일반적인 보일러플레이트) 실제로 여러 클립에서 안정성이 향상되었다.
로그가 시끄러워졌을 때, 나는 두 가지를 먼저 확인했다: ComfyUI 버전(몇 주 뒤처진 경우 업데이트)과 NVIDIA 드라이버. 내 이상의 3분의 2가 그곳에 살았다. 막혀있으면, ComfyUI GitHub issues가 오류 패턴에 대해 놀랍도록 명확하다.
드라이버와 VRAM 제한 대신 프롬프트와 모션에 집중하고 싶다면, 그것은 우리가 WaveSpeed를 만든 한 가지 이유다. 우리는 안정적인 API 계층을 통해 WAN 2.5와 같은 모델에 대한 관리되는 접근을 제공한다. 그래서 로컬 스택을 유지하지 않고도 생성할 수 있다.
내보내기
한 번 깔끔한 경로를 선택한 후 내보내기를 과도하게 생각하는 것을 멈췄다.
초안용으로 내가 사용하는 것:
- 코덱: H.264
- 픽셀 형식: yuv420p
- FPS: 생성 일치(보통 12)
- 비트레이트: 896×504의 경우 상수 8-12Mbps
편집을 위해, 나는 먼저 손실이 더 크게 내보내고, 보관자만 변환한다:
- 12→24fps를 후처리에서 보간하자.
- 등급 친화적인 파일이 필요하면, 나는 최종본을 ProRes 422 LT로 다시 렌더링한다. 더 무겁지만 컬러 패스에 훨씬 더 좋다.
나를 재렌더링에서 구한 두 가지 작은 주석:
- 컬러 시프트: 일부 플레이어는 yuv420p에서 검은색을 들어올린다. VLC에서는 잘못 보이지만 Resolve에서는 좋으면 플레이어다.
- 오디오: Save Video 노드는 추가하지 않는다. 임시 사운드트랙이 필요하면, FFmpeg로 후처리한다.
나는 또한 시드, 스텝, CFG, 해상도를 파일 이름과 사이드카 JSON에 포함한다. 미래의 고고학을 방지하는 지루한 기록이다.
템플릿 아이디어
나는 지금 보관하는 템플릿은 작고 세 가지 토글이 있다.
그래프 골격:
- WAN 2.5 로더 → 텍스트 인코딩 → 고정 시드 → 비디오 샘플러 → VAE 디코딩 → Save Video
켜고 끌 수 있는 세 가지 선택 분기:
- 참조 이미지 컨디셔닝. 안정적인 캐릭터를 원할 때. 디노이즈 및 CFG의 자동 드롭과 함께 온다.
- 프롬프트 스케줄. 간단한 비트가 있는 클립을 위한 부드러운 2단계 프롬프트(예: 1초 후 “비가 시작”). 깜빡임을 피하기 위해 전환을 부드럽게 유지한다.
- 배치 시드 목록. 3-8개의 시드를 붙여넣을 수 있는 단일 필드.
기본값이 구워진:
- 896×504 12fps, 48프레임, CFG 5.0, 스텝 30
- yuv420p가 있는 H.264 내보내기, 시드를 포함하는 파일 이름 템플릿
거창함의 반대이고, 그것이 요점이다. 나는 매번 동일한 습관으로 나를 밀어붙이는 템플릿을 원한다: 먼저 짧은 클립, 한 번에 한 변수, 진행 중 메모.
이것이 맞는 사람: 놀라움보다 안정성을 값하는 사람, 반복 가능한 샷을 만드는 제품 팀, 예측 가능한 모양이 필요한 독립 제작자, 거대한 그래프가 권한보다 더 피곤하다고 생각하는 사람들.
싫어할 사람: 최대 슬라이더와 혼란스러운 신흥 모양을 좋아하면, 당신은 이것에서 튀어나올 것이다. 괜찮다.
내게 왜 중요한지: WAN 2.5가 ComfyUI에서 드디어 나의 주의를 존중하는 것처럼 느껴졌다. 더 적은 노브, 더 명확한 트레이드오프, 그리고 내가 구축하기에 충분히 신뢰할 수 있는 결과.
나는 여전히 WAN이 더 높은 해상도와 더 긴 시퀀스에서 어떻게 행동하는지 궁금하지만, 서두르지 않았다. 나를 위한 조용한 승리는 작은 변화, 더 침착한 CFG, 고정된 시드, 더 부드러운 조명이 영웅 노드보다 안정성을 더 많이 한다는 것을 알아차린 것이었다. 나는 계속 트릭을 기대했다. 그것은 시스템으로 판명되었다.







