LTX-2.3 ComfyUI 설정: 2단계 파이프라인, VRAM 수정 및 Gemma 인코더
ComfyUI에서 LTX-2.3 설정하기: 체크포인트 배치, Gemma 3 12B 인코더 구성, 2단계 생성 파이프라인, 그리고 소비자용 GPU를 위한 저VRAM 전략.
안녕하세요, 저는 Dora입니다. 사실 처음부터 전환을 계획했던 건 아니에요. ComfyUI에서 LTX-2 설정이 잘 돌아가고 있었고, 저는 “그냥 새로 나왔으니까”라는 이유로 바꾸는 걸 별로 좋아하지 않거든요. 그런데 지난주(2026년 3월), LTX-2.3에 대한 소소한 메모들이 계속 눈에 들어왔습니다: 더 나은 일관성, 새로운 텍스트 인코더(Gemma 3 12B), 그리고 VRAM을 망치지 않으면서 선명한 이미지를 약속하는 2단계 파이프라인.
조용한 아침을 택해 워크플로우를 옮겨봤습니다. 실제로 무엇이 달라졌는지, 어떤 문제가 생겼는지, 그리고 작업을 한결 가볍게 만들어준 부분들을 정리해봤습니다. 설치 단계를 찾고 계신 분들을 위해: 본문에 포함되어 있습니다. 하지만 진짜 유용한 부분은 제가 **LTX-2.3 ComfyUI 워크플로우**를 하루하루 구성하면서 발견한 트레이드오프입니다.

ComfyUI에서 LTX-2.3이 다른 점 (LTX-2 설정 대비)
LTX-2.3 ComfyUI는 도약보다는 안정성을 향한 한 걸음처럼 느껴집니다. 이 모델은 텍스트 인코더로 Gemma 3 12B를 사용하며, 권장 경로는 2단계 파이프라인입니다: 기본 일관성을 위해 절반 해상도로 생성한 후, LTX 전용 업샘플러로 잠재 벡터를 업스케일하는 방식입니다. 실제로 이 변화가 제게 두 가지를 바꿔줬습니다:
- 적당한 스텝 수에서도 프롬프트가 더 잘 유지됐습니다. Stage 1에서 25–35 스텝 이내로 유지했을 때 “흐릿한” 디테일이 눈에 띄게 줄었어요.
- VRAM 사용이 예상보다 덜 들쑥날쑥했습니다. 단계 경계를 지키고 한 번에 풀 해상도를 무리하게 시도하지 않는 한 말이죠.
기존 LTX-2 노드가 대부분 작동하긴 했지만, LTX-2.3은 자체 샘플러/잠재 업샘플러 노드를 더 선호한다는 것도 알게 됐습니다. 체크포인트만 바꾸는 건 충분하지 않았어요. 처음에 제가 걸린 함정이 바로 거기였습니다.
필요한 파일 및 폴더 구조
몇 번의 시행착오 끝에 정착한 설정입니다. 복잡하지 않아요: 빨간 오류 박스를 멈추게 해준 최소한의 구성입니다.
체크포인트 옵션 (dev / fp8 / distilled + distilled LoRA)
- dev: 실험할 때 좋습니다. 약간 무겁지만, 프롬프트가 다소 벗어나도 더 너그럽다는 느낌을 받았어요.
- fp8: VRAM 사용이 적습니다. 12GB 카드에서 fp8 덕분에 디코딩 중 OOM 없이 배치 사이즈 1을 유지할 수 있었습니다. 품질 차이는 약간 있지만, SNS나 마케팅 자료용으로는 크게 문제되지 않았어요.
- distilled + distilled LoRA: 제 테스트에서 제품 사진 같은 결과물에 가장 깔끔한 출력을 보여줬지만, LoRA를 실제로 로드하고 가중치(0.6–0.8이 저한테 맞았습니다)를 설정하는 걸 잊으면 안 됩니다. LoRA 없이는 dev에 더 가까운 결과가 나왔어요.
모든 체크포인트는 ComfyUI/models/checkpoints에 저장했습니다. LoRA는 ComfyUI/models/loras에 두고, 빠르게 쌍을 찾을 수 있도록 기본 체크포인트와 같은 이름으로 명명했습니다.
Gemma 3 12B 텍스트 인코더: 다운로드 및 배치
LTX-2.3은 Gemma 3 12B 텍스트 인코더를 필요로 합니다. 노드 스택에 따라 PyTorch 가중치나 GGUF 파일(llama.cpp 기반 노드용)을 사용하게 됩니다. 둘 다 시도해봤어요.
- PyTorch 방식: ComfyUI/models/clip에 배치했습니다(일부 노드는 여기서 자동 감지합니다). 노드가 다른 폴더를 요구한다면 문서를 따르세요. 억지로 넣으려 하지 마시고요.
- GGUF 방식: ComfyUI/models/llm(또는 노드별 text_encoders 폴더)에 배치했습니다. Q4_K_M이 저한테는 최적의 선택이었어요: Q3는 메모리는 더 아끼지만 긴 프롬프트에서 뉘앙스가 좀 사라졌습니다.
잘 모르겠다면, 노드의 ”?” 도움말이나 README를 확인하세요. 폴더 이름이 중요합니다.
업스케일러 모델: 언제 포함할지
LTX 잠재 업샘플러를 사용한다면 외부 이미지 업스케일러는 필요 없습니다. 그래도 저는 LTX 외 이미지를 위해 **4x ESRGAN**과 SDXL x2 잠재 업스케일러를 ComfyUI/models/upscale_models에 유지했어요. LTX-2.3에서는 내장된 LTXVLatentUpsampler가 엣지와 텍스트 같은 형태에서 ESRGAN보다 더 좋은 결과를 보여줬습니다.

2단계 파이프라인 설명
저는 계속 Stage 1을 건너뛰려 했습니다. 실수였어요. 2단계 방식이 결국 더 이해하기 쉽고 VRAM에도 친절했습니다.
Stage 1, 절반 해상도에서의 기본 일관성
목표 크기의 절반으로 생성합니다(예: 최종 1280×768을 위해 640×384). 이 단계에서 구도와 피사체 디테일이 잡힙니다. 25–35 스텝, CFG는 적당하게(4–6), 배치 사이즈 1. 손, 레이아웃, 색감 등이 잘못됐다면 여기서 고치는 게 비용이 적습니다.
제가 느낀 것: 프롬프트를 단순화하고 스타일 앵커를 최대 한두 개로 줄였을 때 “흔들림”이 줄었습니다. LTX-2.3은 집중된 언어를 더 잘 받아들이는 것 같습니다.
Stage 2, 선명도를 위한 잠재 벡터 업스케일링 (LTXVLatentUpsampler)
그런 다음 Stage 1의 잠재 벡터를 LTXVLatentUpsampler에 전달합니다. 이 단계에서 구도를 다시 만들지 않고 엣지를 선명하게 하고 세밀한 디테일을 복원합니다. 보통 업샘플링에 15–20 스텝을 사용합니다. 마법은 아닙니다: 기본이 잘못됐다면, 업샘플러는 그냥 더 선명하게 잘못된 결과를 만들 뿐이에요.
Dev + Distilled LoRA vs Full Distilled: 무엇을 사용할까
- Dev + Distilled LoRA: 새로운 스타일을 탐색할 때 제 기본 선택입니다. 약간 더 유연해요. LoRA 강도를 0.7 정도로 설정하고 텍스처가 과적합된 느낌이면 조정합니다.
- Full Distilled: 배치 작업에서 빠르고 일관된 출력이 필요할 때. 프롬프트에 더 까다롭지만 정신적 에너지를 아껴줍니다—매번 예상치 못한 결과가 적어요.
막힌 느낌이 든다면, Stage 1에 dev(더 느슨하게), Stage 2에 distilled(더 타이트하게)를 시도해보세요. 이 조합이 제 어두운 분위기의 인물 사진 세트를 살려줬습니다.
Gemma 3 12B 인코더 설정: VRAM 관리
Gemma 3 12B가 가장 걱정됐던 부분이었습니다. 생각보다 나쁘지 않았지만, 가드레일이 필요합니다.
VRAM이 부족할 때 인코더를 CPU/RAM으로 오프로드하기
12GB 카드에서 텍스트 처리를 위해 Gemma 인코더를 CPU로 오프로드했습니다. 실행당 몇 초가 추가됐지만 Stage 1에서의 OOM을 막아줬어요. 노드가 **혼합 디바이스 로딩**을 지원한다면, 어텐션 레이어는 GPU, 나머지는 CPU로 설정하세요. 느낌: 빠르지는 않지만 안정적입니다—아이디어 중간에 하드 크래시가 없어요.

—novram 플래그 및 기타 시작 옵션
ComfyUI를 커맨드 플래그로 실행한다면, —novram이 모델 교체 중 메모리 스파이크를 완화하는 데 도움이 됐습니다. 추가로:
- 테스트 실행 사이에 큰 모델의 “keep loaded”를 비활성화했습니다.
- (설정이 허용한다면) 작은 커스텀 초기화에 torch.set_grad_enabled(False)를 설정해 불필요한 그래디언트를 피했어요.
- LoRA를 쌓을 걸 알 때는 더 작은 안전망을 사용했습니다: 16비트 또는 fp8 체크포인트.
소비자용 GPU를 위한 저 VRAM 전략 (12GB / 16GB / 24GB)
제가 시도한 세 대의 머신(RTX 3060 12GB, 4070 12GB, 4090 24GB)에서 효과가 있었던 것들입니다.
GGUF 양자화 모델: Q3 vs Q4 트레이드오프
- Q3: 가장 낮은 메모리, 가장 빠른 로딩. 하지만 프롬프트 뉘앙스가 줄어들고 설명어에서 반복이 더 많이 보였습니다.
- Q4: 약간 더 무겁지만 일관성이 눈에 띄게 좋아집니다. 12–16GB 카드에 대한 제 선택이에요. 24GB에서는 양자화를 건너뛰거나 Q5가 있다면 사용합니다.
메모리 스파이크를 줄이기 위한 VAE 오프로드
디코딩 단계에서 가장 많이 OOM이 발생했습니다. VAE를 CPU로 오프로드하거나 더 가벼운 VAE를 사용하면 Stage 2 말미의 스파이크가 줄었어요. 12GB에서는 앞 노드에서 배치 처리를 하더라도 최종 디코딩은 단일 이미지로 설정했습니다—훨씬 안정적이었어요.
기타 소소한 개선:
- Stage 1에서는 해상도를 낮게 유지하고 나중에 업스케일합니다.
- 여러 가이던스 기법을 동시에 쌓지 마세요. CFG 하나, LoRA 하나씩.
첫 실행 시 발생하는 일반적인 오류 및 해결책
익숙한 빨간 박스들을 만났습니다. 효과가 있었던 수정 방법들을 정리했어요.
로드 후 노드 누락 오류

ComfyUI가 LTX-2.3 노드를 찾지 못한다면, **커스텀 노드 레포**를 업데이트하고 재시작하세요. 일부 LTX 노드는 더 최신 버전의 ComfyUI 코어를 필요로 합니다. 노드의 캐시 폴더를 삭제하고 실행 시 재생성되도록 하여 고집스러운 오류 하나를 해결했습니다.
디코딩 중 OOM
즉시 도움이 된 두 가지 방법: 체크포인트를 fp8로 전환하거나 VAE를 CPU로 오프로드하기. 마지막 단계 배치도 1로 낮추세요. 그래도 크래시가 난다면, 목표 해상도를 절반으로 줄이고 외부 이미지 업스케일러로 마무리하세요.
Gemma 인코더 크래시
대부분 폴더 불일치이거나 노드가 지원하지 않는 양자화 파일 때문이었습니다. 노드 README에 명시된 소스에서 Gemma 3 12B를 다시 다운로드하고, 체크섬을 확인한 후, 노드가 기대하는 위치(clip vs llm)에 배치했습니다. Q4는 작동했습니다: Q3는 최신 llama.cpp 빌드로 업데이트하기 전까지 4070에서 간헐적으로 로드 실패가 있었습니다.

FAQ
LTX-2.3 ComfyUI 노드를 별도로 설치해야 하나요?
보통 그렇습니다. 모델만 업데이트하는 것으로는 충분하지 않아요. 최신 LTX 노드 레포를 가져오고 ComfyUI를 재시작해서 새 샘플러와 잠재 업샘플러가 등록되도록 하세요.
LTX-2.3 체크포인트로 기존 LTX-2 워크플로우를 사용할 수 있나요?
부분적으로 가능합니다. 레이아웃은 재사용할 수 있었지만, LTX-2.3 샘플러와 LTXVLatentUpsampler를 교체하고 프롬프트를 **Gemma 3 12B**로 연결해야 했습니다. 그 후에는 대부분의 컨트롤이 잘 작동했어요.
ComfyUI에서 LTX-2.3을 실행하기 위한 최소 VRAM은?
인코더에 fp8 또는 GGUF Q4를 사용하고, Stage 1을 절반 해상도로, VAE를 오프로드하면 12GB에서 단일 이미지 실행이 가능했습니다. 16GB에서는 더 원활합니다. 24GB에서는 PyTorch 그대로 사용하며 더 빠르게 작업할 수 있어요.
2단계 파이프라인이 단일 단계보다 빠른가요, 느린가요?
실제 시간은 비슷할 수 있지만, 더 가볍게 느껴집니다. 풀 해상도 실패를 다시 시도하는 데 시간을 덜 씁니다. Stage 1에서 아이디어를 정리하고, Stage 2에서 다듬는 방식이에요. 12GB 카드에서는 작업을 이어가느냐 크래시가 나느냐의 차이이기도 합니다.
LTX-2.3 ComfyUI에 “흥분”하게 된 건 아닙니다. 오히려 “안도”에 가깝습니다. 원하는 대로 더 빨리 그림이 나왔고, 워크플로우가 VRAM과 싸움을 멈췄어요. 2단계 방식을 계속 쓸 것 같습니다. 조용하고, 잘 작동합니다.
이전 포스트:





