VAE 파일을 다운로드했는데 어디에 넣어야 하는지, VAELoader를 추가한 다음 어느 노드에 연결해야 하는지 막히는 경우가 있다. ComfyUI에서 외부 VAE를 사용하는 과정 자체는 복잡하지 않다.
핵심은 세 단계다. VAE 파일을 models/vae에 넣고, VAELoader에서 해당 파일을 선택한 뒤, VAEDecode의 VAE 입력을 외부 VAE로 연결하면 된다. 이번 글에서는 VAE 선택 기준이나 Tiled VAE가 아니라 실제 설치와 연결 방법만 다룬다.
vae 사용법에서 가장 먼저 볼 변화
VAE 파일은 models/vae 폴더에 넣는다
ComfyUI 기본 구성에서는 외부 VAE 모델을 ComfyUI/models/vae 폴더에서 읽는다. 따라서 다운로드한 VAE 파일을 우선 이 위치에 넣으면 된다.
구조는 다음처럼 보면 된다.
ComfyUI/models/vae/
이 폴더에 VAE 파일을 넣은 뒤 ComfyUI에서 VAELoader를 추가하면 vae_name 목록에서 사용할 모델을 선택할 수 있다.
목록에 VAE가 보이지 않을 때
파일을 넣은 상태에서 ComfyUI가 이미 실행 중이었다면 목록이 즉시 갱신되지 않을 수 있다. 이 경우 인터페이스를 새로고침해 모델 목록을 다시 확인한다.
ComfyUI는 extra_model_paths.yaml에 별도의 모델 경로를 설정한 환경에서도 추가 VAE 경로를 읽을 수 있다. 여러 ComfyUI 설치본에서 모델 폴더를 공유하고 있다면 반드시 기본 models/vae 안에 파일을 복사해야 하는 것은 아니다.

중요한 것은 VAE 파일과 체크포인트 파일의 위치를 혼동하지 않는 것이다. 체크포인트는 일반적으로 models/checkpoints, VAE는 models/vae에서 관리한다.
VAELoader에서 사용할 VAE를 선택한다
vae 사용법가 ComfyUI 워크플로우에 미치는 영향
파일 준비가 끝났다면 워크플로우에 VAELoader 노드를 추가한다. 이 노드의 vae_name에서 ComfyUI가 인식한 VAE를 선택하면 출력 단자에서 VAE 객체가 나온다.
기존 방식과 비교해야 할 부분
여기까지만 해서는 생성 결과에 VAE가 적용되지 않는다. VAELoader는 말 그대로 VAE를 메모리에 불러오는 역할을 하며, 실제 인코딩이나 디코딩 노드에 연결해야 한다.
text-to-image에서는 VAEDecode에 연결한다
일반적인 text-to-image 워크플로우에서는 KSampler가 최종 이미지 자체를 출력하지 않는다. 출력은 latent이므로 이를 픽셀 이미지로 변환해야 한다.
연결 구조를 단순화하면 다음과 같다.
KSampler samples → VAEDecode samples
VAELoader VAE → VAEDecode vae
VAEDecode IMAGE → Save Image
즉 외부 VAE를 사용하고 싶다면 기존 VAEDecode의 VAE 입력에 체크포인트에서 나온 VAE 대신 VAELoader의 출력을 연결하면 된다.

여기서 많이 헷갈리는 부분이 있다. VAELoader를 CheckpointLoaderSimple의 MODEL이나 CLIP 쪽에 연결하는 것이 아니다. 외부 VAE는 VAE 타입을 받는 노드의 입력으로 들어간다.
성능과 결과 품질에서 확인할 차이
CheckpointLoaderSimple의 VAE 연결만 바꾸면 된다
워크플로우 구성에서 놓치기 쉬운 부분
기본 ComfyUI text-to-image 워크플로우에서는 CheckpointLoaderSimple이 MODEL, CLIP, VAE를 함께 출력한다.
MODEL은 KSampler 쪽으로, CLIP은 프롬프트 인코딩 쪽으로 연결되고, VAE는 VAEDecode에 사용된다. 외부 VAE를 적용할 때 바꾸는 것은 이 가운데 마지막 VAE 연결이다.
기존 구성이 다음과 같았다면,
CheckpointLoaderSimple VAE → VAEDecode
외부 VAE 사용 시에는 다음처럼 바뀐다.
VAELoader VAE → VAEDecode
MODEL과 CLIP 연결을 다시 구성할 필요는 없다. 외부 VAE 사용을 위해 체크포인트 전체를 다른 방식으로 로딩해야 하는 것도 아니다.

그래서 동일한 체크포인트와 동일한 샘플링 조건을 유지한 채 VAE 연결만 바꾸어 결과를 비교하는 것도 가능하다. 어느 VAE를 사용했는지 확인하려면 VAEDecode의 vae 입력이 실제로 어느 노드에서 들어오는지 보면 된다.
img2img에서는 VAEEncode 연결도 확인한다
실제로 적용할 때 체크할 점
외부 이미지를 latent로 바꾸는 img2img 워크플로우에서는 VAEEncode도 사용된다. VAEEncode는 이미지 데이터를 latent 표현으로 변환하는 반대 방향의 작업을 담당한다.
이 경우 VAELoader에서 불러온 VAE를 VAEEncode의 VAE 입력에도 연결할 수 있다. 이후 생성된 latent를 KSampler에 전달하는 구조로 워크플로우가 이어진다.
따라서 text-to-image에서 결과 이미지를 복원하는 경우에는 VAEDecode 연결을 먼저 확인하고, 이미지 입력까지 사용하는 워크플로우라면 VAEEncode 쪽도 함께 살펴보는 것이 좋다.
VAE 연결 후 오류가 나면 호환성을 확인한다
파일이 VAELoader 목록에 나타난다고 해서 현재 사용하는 모델과 반드시 호환된다는 의미는 아니다. 서로 다른 모델 아키텍처에서 사용하는 latent 구조가 맞지 않으면 특히 VAE Decode 단계에서 채널 수와 관련된 오류가 발생할 수 있다.
따라서 외부 VAE를 적용한 직후부터 오류가 발생했다면 노드를 계속 추가하기보다 VAE와 현재 모델의 조합부터 확인하는 것이 빠르다.
권장 VAE와 예제 워크플로우를 먼저 확인한다
특정 모델 패키지가 별도의 VAE를 제공한다면 해당 모델과 함께 제공되거나 권장된 파일을 우선 확인하는 방식이 안전하다. 특히 새로운 모델 계열을 처음 사용할 때는 공식 예제 워크플로우의 VAE 구성과 자신의 연결을 비교하면 원인을 찾기 쉽다.
외부 VAE 사용 순서만 다시 정리하면
ComfyUI에서 외부 VAE를 적용하는 흐름은 어렵지 않다. VAE 파일을 ComfyUI/models/vae에 넣고, VAELoader에서 파일을 선택한 다음, 그 VAE 출력을 VAEDecode의 VAE 입력에 연결하면 된다.
img2img처럼 이미지 인코딩이 필요한 구성이라면 VAEEncode 연결도 함께 확인한다. 적용 후 오류가 발생하면 가장 먼저 모델과 VAE의 아키텍처 호환성을 확인하자. 단순히 VAELoader 노드를 추가하는 것보다 실제 Encode·Decode 노드가 어느 VAE를 받고 있는지 확인하는 것이 핵심이다.