본문 바로가기
카테고리 없음

ComfyUI VAE 차이, SD1.5·SDXL·FLUX 호환이 다른 이유

by GoingProdo 2026. 8. 22.

ComfyUI의 VAELoader 목록을 보면 여러 VAE 파일을 한곳에서 선택할 수 있다. 그렇다 보니 SD1.5용 VAE, SDXL VAE, FLUX의 ae.safetensors도 결국 같은 VAE이니 서로 바꿔 써도 되는 것처럼 보일 수 있다.

하지만 VAE라는 역할이 같다고 내부 구조까지 같은 것은 아니다. 특히 SD1.5·SDXL과 FLUX는 latent 구성부터 차이가 있기 때문에 파일 이름이나 색감 취향만 보고 다른 모델 계열의 VAE를 연결하는 방식은 피해야 한다.

vae 차이에서 가장 먼저 볼 변화

SD1.5와 SDXL VAE는 같은 4채널 계열이다

Stable Diffusion 1.5의 VAE는 RGB 이미지를 latent 공간으로 압축하고 다시 복원하는 AutoencoderKL 구조를 사용한다. 공개된 설정에서는 latent_channels가 4로 정의되어 있다.

SDXL의 공식 VAE 역시 latent_channels는 4다. 이 부분만 보면 두 VAE가 거의 같은 것처럼 느껴질 수 있다.

같은 4채널이라고 같은 VAE는 아니다

SD1.5 VAE의 기본 이미지 크기 설정은 512를 기준으로 구성되어 있는 반면 SDXL VAE 설정은 1024를 기준으로 한다. SDXL에는 별도의 scaling factor와 force_upcast 설정도 포함된다.

즉 latent 채널 수 하나가 같다고 해서 학습된 가중치와 처리 특성까지 같다는 뜻은 아니다. SD1.5와 SDXL은 각각 자신의 모델 계열에 맞는 VAE 구성을 기준으로 보는 것이 안전하다.

ComfyUI에서 VAE 파일을 선택할 때도 단순히 파일 용량이나 이름보다 현재 사용 중인 체크포인트가 SD1.x 계열인지 SDXL 계열인지 먼저 확인해야 한다.

FLUX VAE는 latent 구조부터 달라진다

FLUX에서는 차이가 더 명확하다. 공식 FLUX 구현에서 autoencoder의 z_channels는 16으로 설정되어 있다.

SD1.5와 SDXL의 4채널 latent와 비교하면 구조 자체가 다르다. FLUX 모델이 사용하는 latent 표현을 기존 Stable Diffusion VAE가 그대로 해석한다고 가정할 수 없는 이유다.

vae 차이가 ComfyUI 워크플로우에 미치는 영향

ae.safetensors는 FLUX 구성 요소다

기존 방식과 비교해야 할 부분

ComfyUI의 공식 FLUX.1 Dev 워크플로우에서는 VAE로 ae.safetensors를 별도로 불러온다.

구조도 명확하게 나뉜다.

FLUX diffusion model → MODEL

T5 + CLIP-L → CLIP

ae.safetensors → VAE

따라서 ae.safetensors는 단순히 “색감이 좋은 다른 VAE”가 아니다. FLUX 모델 구성과 함께 사용하는 autoencoder라는 점에서 접근해야 한다.

ComfyUI 공식 FLUX 워크플로우에서도 ae.safetensors는 models/vae에 배치한 뒤 VAELoader로 읽는 방식이 사용된다.

VAE 차이는 색감보다 latent 호환성이 먼저다

성능과 결과 품질에서 확인할 차이

VAE를 설명할 때 흔히 색감, 채도, 디테일 차이가 먼저 언급된다. 같은 모델 계열 안에서 호환 가능한 VAE를 비교한다면 실제 결과 이미지에서 이런 차이를 확인할 수 있다.

워크플로우 구성에서 놓치기 쉬운 부분

하지만 모델 계열이 달라지는 순간 문제는 단순한 화질 비교가 아니다. VAE가 기대하는 latent의 구조 자체가 현재 diffusion model의 출력과 맞아야 한다.

잘못된 조합에서는 다음처럼 생각해야 한다.

MODEL이 생성한 latent 규격 ≠ VAE가 기대하는 latent 규격

이 경우 정상적인 이미지 복원이 어렵거나 VAE Decode 단계에서 shape·channel 관련 오류가 발생할 수 있다.

따라서 “어떤 VAE가 더 선명한가”라는 질문보다 먼저 “이 VAE가 현재 모델 계열과 호환되는가”를 확인해야 한다.

SD1.5와 SDXL도 권장 VAE를 먼저 확인한다

SD1.5와 SDXL이 모두 4채널 latent를 사용한다고 해서 두 계열의 VAE를 무조건 자유롭게 교환하는 것이 기본 사용법은 아니다.

특정 체크포인트가 VAE를 포함하고 있다면 우선 그 내장 VAE를 사용할 수 있다. 모델 제작자가 별도의 VAE를 지정했다면 해당 권장 구성을 확인하는 방식이 먼저다.

같은 계열에서도 별도 VAE가 존재한다

실제로 적용할 때 체크할 점

VAE 차이는 모델 세대 사이에만 생기는 것이 아니다. 같은 Stable Diffusion 계열 안에서도 별도의 VAE 파일이 배포되거나 체크포인트에 VAE가 포함될 수 있다.

이때는 현재 체크포인트의 배포 설명과 예제 결과를 기준으로 선택하면 된다. 다른 모델 세대의 VAE를 임의로 가져오는 문제와 같은 계열 안에서 권장 VAE를 선택하는 문제는 구분할 필요가 있다.

ComfyUI에서는 노드가 같아도 파일 역할은 다르다

ComfyUI의 VAELoader는 여러 종류의 VAE를 같은 VAE 타입으로 출력하기 때문에 UI만 보면 차이가 잘 드러나지 않는다.

하지만 같은 노드에서 선택할 수 있다는 것은 모든 파일이 모든 모델과 호환된다는 의미가 아니다. ComfyUI는 SD1.x, SDXL, FLUX를 비롯한 여러 모델 아키텍처를 지원하고 있으며 각 워크플로우는 그 모델에 맞는 구성 요소를 사용한다.

특히 FLUX처럼 diffusion model과 text encoder, VAE가 분리된 워크플로우에서는 공식 예제가 지정한 VAE 파일을 확인하는 습관이 중요하다.

VAE 차이는 모델 계열부터 확인하면 된다

ComfyUI에서 VAE를 선택할 때 가장 먼저 볼 것은 이미지 스타일이 아니라 현재 생성 모델의 계열이다. SD1.5와 SDXL은 4채널 latent 기반 VAE를 사용하지만 서로 다른 모델 세대이고, FLUX는 16채널 autoencoder 구조를 사용한다.

따라서 SD1.5 체크포인트라면 SD1.x용 구성, SDXL이라면 SDXL용 구성, FLUX라면 해당 FLUX 워크플로우가 요구하는 ae.safetensors를 먼저 맞추는 것이 기본이다.

VAE를 바꿔 결과 차이를 비교하고 싶다면 그다음 단계에서 같은 모델 계열 안의 호환 가능한 VAE를 비교하자. VAE 차이의 첫 번째 기준은 화질이 아니라 latent 호환성이다.