ComfyUI LoRA 사용법|화풍 LoRA와 강도 조절 실습

ComfyUI 왕초보 가이드 20 / 29장 · 기준: ComfyUI 0.34.0 / 프런트엔드 1.49.6 · Windows x64 / NVIDIA RTX Portable. 다른 버전에서는 메뉴와 노드 표시가 다를 수 있습니다.

이 장의 실습 자료 ZIP 내려받기 (3.9MB)
JSON·입력 PNG·본문 원본 이미지를 담았습니다. 압축을 푼 뒤 본문에 적힌 파일을 선택하세요. 모델과 프로그램은 포함하지 않습니다. 본문의 WebP는 가벼운 표시용 사본이며, PNG의 작업 정보·투명도와 원본 픽셀 비교에는 ZIP 안의 PNG를 사용하세요.

SDXL Base에 화풍 LoRA 하나를 연결해 픽셀 아트풍 코기를 만들고, 같은 조건에서 적용량에 따른 차이를 비교합니다.

1. 만들 결과

목표는 풀 위에 앉은 코기 한 마리, 몸과 발이 보이는 구도, 단순한 파란 배경, 네모난 색 면이 드러나는 픽셀 아트풍입니다. 기본 실습에서는 강도 0.6으로 한 장을 완성합니다. 인물 특징용 LoRA에도 연결 원리는 같지만, 여기서 실제 사용하는 파일은 화풍용 LoRA 한 개입니다.

기본 실습의 실제 결과 · 모델 강도 0.6, seed 20261020. 코기 한 마리의 전체 형태와 큰 색 면이 읽히는 결과를 선택했습니다.
기본 실습의 실제 결과 · 모델 강도 0.6, seed 20261020. 코기 한 마리의 전체 형태와 큰 색 면이 읽히는 결과를 선택했습니다. 그림을 누르면 큰 화면으로 열립니다.

LoRA(로라)는 기본 모델에 추가 학습 내용을 덧붙이는 보조 파일입니다. 예를 들어 같은 “코기”라는 문장에 픽셀 아트 표현을 더할 수 있습니다. 이미 완성한 사진 위에 씌우는 필터가 아니라 새 그림을 생성하는 계산에 참여합니다. LoRA만으로 생성할 수는 없으므로 호환되는 기본 모델과 함께 사용합니다.

앞 장과 구별하기이번 장의 역할
15장 Lightning LoRA적은 단계로 생성하도록 돕는 가속용입니다. 이번 화풍 LoRA와 목적이 다르며, 15장의 4 steps·CFG 1을 가져오지 않습니다.
16~19장 Canny Control-LoRA입력의 윤곽을 전달하는 제어 모델입니다. 이번에는 윤곽 제어 없이 문장에서 새 그림을 만듭니다.
20장 pixel-art-xlSDXL Base에 픽셀 아트 표현을 더합니다. 일반 LoraLoader를 사용하고 28 steps·CFG 6으로 진행합니다.
용어쉬운 뜻·이번 사용법
모델 강도 · strength_model그림 생성 모델에 추가 학습을 적용하는 양입니다. 0은 적용하지 않음, 이번 기본값은 0.6입니다. 1.0이 품질 100%라는 뜻은 아닙니다.
CLIP 강도 · strength_clip문장을 해석하는 CLIP 쪽 추가 학습의 적용량입니다. 이번 파일에는 CLIP 가중치가 없어 이 값만 바꾸어도 해당 효과가 생기지 않습니다. 1.0으로 둡니다.
트리거 단어LoRA 제작자가 특정 특징을 부르도록 지정한 단어입니다. 필요한 LoRA도 있고 없는 LoRA도 있습니다. 이번 제작자는 필수 트리거가 없다고 안내합니다.
pixel art라는 문장이번 프롬프트에서 원하는 화풍을 명확히 요청하는 일반 표현입니다. 필수 트리거가 아니며, 같은 문장을 LoRA를 끈 비교에도 사용합니다.
팔레트한 그림에서 사용하는 색의 모음입니다. limited color palette는 사용하는 색을 제한한 표현을 요청합니다.

2. 준비물

실행 중인 ComfyUI와 기존 SDXL Base를 사용합니다. 추가로 필요한 모델은 아래 pixel-art-xl.safetensors 하나입니다. 이미 넣었다면 다시 받을 필요가 없습니다. 입력 PNG와 커스텀 노드 설치는 필요 없습니다.

모델공식 파일·다운로드 위치설치 폴더 안에 넣을 곳선택할 노드처음 사용
SDXL Base 1.0sd_xl_base_1.0.safetensorsComfyUI\models\checkpoints체크포인트 로드4장
Pixel Art XL 화풍 LoRApixel-art-xl.safetensorsComfyUI\models\lorasLoRA 로드20장
  1. 제작자 공식 파일 내려받기에서 pixel-art-xl.safetensors를 받습니다.
  2. 탐색기에서 ComfyUI/models/loras 폴더를 먼저 엽니다. 다른 창에서 받은 파일을 복사해 이 폴더에 붙여 넣습니다. 모델 파일을 복사한 뒤 주소 문자열을 다시 복사하지 않습니다.
  3. ComfyUI 작업을 저장하고 브라우저를 새로고침(F5)합니다. 아래 LoRA 노드에서 pixel-art-xl.safetensors를 선택합니다. 목록에 없다면 폴더와 확장명을 확인하고 ComfyUI 서버를 다시 시작합니다.
기본 실습 파일용도
ch20-pixel-art.json (ZIP) 노드·연결·프롬프트·기본 강도 0.6을 넣은 일반 워크플로

JSON은 작업 구성 파일입니다. 큰 모델 파일까지 포함하지는 않습니다. 링크가 글자로 열리면 오른쪽 클릭 → 다른 이름으로 링크 저장으로 .json 확장명을 유지하세요.

3. 따라 하기

A. LoRA 한 개로 한 장 완성하기

  1. 작업을 엽니다. ComfyUI에서 Ctrl+O → ch20-pixel-art.json을 선택합니다. 왼쪽 위 그래프 → 다른 이름으로 저장에서 작업 이름을 ch20-my-pixel-art로 정합니다.
  2. 모델 두 개를 선택합니다. 01 모델과 LoRA 그룹의 SDXL Base에서 sd_xl_base_1.0.safetensors, 화풍 LoRA에서 pixel-art-xl.safetensors를 선택합니다. 이 노드의 기술 이름은 LoraLoader입니다.
  3. LoRA 적용량을 맞춥니다. 화풍 LoRA의 모델 강도(strength_model)는 0.6, CLIP 강도(strength_clip)는 1.0입니다. 숫자 부분을 두 번 클릭해 입력하고 Enter를 누릅니다. 작은 글씨는 작업판을 확대해 보세요.
  4. 연결을 확인합니다. Base의 MODEL과 CLIP이 LoRA에 들어가고, LoRA의 MODEL은 생성(KSampler), CLIP은 긍정·부정 프롬프트 두 노드로 나갑니다. Base의 VAE는 LoRA를 거치지 않고 그림으로 변환(VAE 디코드)에 연결합니다. 제공 JSON에는 이미 연결되어 있습니다.
  5. 생성 조건을 유지합니다. 이미지 크기는 1024 × 1024 / 배치 크기 1입니다. 생성 노드의 seed는 20261020, 생성 후 제어는 fixed, steps 28, CFG 6, sampler dpmpp_2m, scheduler karras, denoise 1.0입니다.
  6. 한 번 실행합니다. 상단 실행 버튼 왼쪽 배치 수(요청 수)는 1로 둡니다. 실행을 한 번 누르고 결과 저장 노드에 코기 한 마리가 나올 때까지 기다립니다. 저장 파일은 ComfyUI/output/guide/ch20_pixel_art_…png입니다.
실제 LoRA 설정과 문장 연결 화면 · Base → 화풍 LoRA → 긍정·부정 문장. 기본 모델 강도 0.60, CLIP 강도 1.00입니다.
실제 LoRA 설정과 문장 연결 화면 · Base → 화풍 LoRA → 긍정·부정 문장. 기본 모델 강도 0.60, CLIP 강도 1.00입니다. 그림을 누르면 큰 화면으로 열립니다.
연결을 읽는 설명용 도식
Base MODEL → LoRA MODEL → KSampler
Base CLIP → LoRA CLIP → 긍정 문장과 부정 문장
Base VAE → VAE 디코드

일반 LoRA 로더는 MODEL과 CLIP을 함께 받습니다. 선의 색보다 포트 이름을 기준으로 연결하세요. 이번 파일에는 모델 쪽 학습만 있지만 두 문장 노드를 LoRA의 CLIP에 연결해 두면 일반적인 LoRA 연결 구조를 그대로 익힐 수 있습니다.

기본 JSON의 정확한 설정·프롬프트·연결
설정할 노드입력값
SDXL Base체크포인트 = sd_xl_base_1.0.safetensors
화풍 LoRALoRA = pixel-art-xl.safetensors
모델 강도 = 0.6
CLIP 강도 = 1
이미지 크기너비 = 1024
높이 = 1024
배치 크기 = 1
생성seed = 20261020
생성 후 제어 = fixed
steps = 28
CFG = 6
sampler = dpmpp_2m
scheduler = karras
denoise = 1
결과 저장 · ch20_pixel_art파일명 접두사 = guide/ch20_pixel_art
입력할 프롬프트 전문

긍정 프롬프트

pixel art, one cute corgi dog sitting on grass, full body, centered, orange and white fur, a few small white flowers, simple light blue background, simple flat colors, limited color palette

부정 프롬프트

photo, photorealistic, 3d render, text, watermark, logo, duplicate dog, extra legs, cropped, blurry, distorted anatomy
현재 작업의 노드·연결 목록 · 노드 8개와 연결 11개

제공 JSON에 이미 들어 있는 노드와 연결입니다. 실수로 선을 바꿨을 때 이 목록과 대조하세요. 이름이 같은 노드는 역할·파일명으로 구별합니다.

노드 역할검색할 기술 이름
SDXL BaseCheckpointLoaderSimple
화풍 LoRALoraLoader
긍정 프롬프트CLIPTextEncode
부정 프롬프트CLIPTextEncode
이미지 크기EmptyLatentImage
생성KSampler
그림으로 변환VAEDecode
결과 저장 · ch20_pixel_artSaveImage
순서출발 출력도착 입력
1SDXL Base
모델 →
화풍 LoRA
모델
2SDXL Base
CLIP →
화풍 LoRA
clip
3화풍 LoRA
CLIP →
긍정 프롬프트
clip
4화풍 LoRA
CLIP →
부정 프롬프트
clip
5화풍 LoRA
모델 →
생성
모델
6긍정 프롬프트
조건 →
생성
긍정
7부정 프롬프트
조건 →
생성
부정
8이미지 크기
잠재 데이터 →
생성
잠재 입력
9생성
잠재 데이터 →
그림으로 변환
잠재 데이터
10SDXL Base
VAE →
그림으로 변환
vae
11그림으로 변환
이미지 →
결과 저장 · ch20_pixel_art
이미지

긍정 문장은 픽셀 아트풍, 코기 한 마리, 전신 구도, 적은 꽃, 단순한 파란 배경과 색 면을 요청합니다. 부정 문장은 사진·3D 렌더·글자·중복된 개·여분의 다리·흐림 등을 피하도록 요청합니다. <lora:파일명:강도>를 문장에 쓰는 대신 이 실습에서는 LoRA 노드로 파일과 강도를 설정합니다.

B. 내 작업을 저장하고 다시 열기

  1. 일반 JSON으로 내보냅니다. 왼쪽 위 그래프 → 내보내기를 선택하고 이름을 ch20-my-pixel-art로 입력합니다. 내보내기(API)가 아닌 일반 내보내기입니다.
  2. 저장한 작업을 다시 엽니다. 현재 작업 탭을 닫은 뒤 Ctrl+O → ch20-my-pixel-art.json을 선택합니다. Base·LoRA 파일명, 강도 0.6 / 1.0, seed 20261020 / fixed가 유지되는지 봅니다.
  3. 실행을 한 번 누릅니다. 같은 구도와 화풍의 결과가 나오면 재사용까지 완료입니다. 같은 계산을 재사용해 바로 끝나는 캐시도 정상입니다. 다른 그림을 원할 때는 이 기본본을 남기고 복사본에서 문장이나 seed를 바꾸세요.
제공 JSON을 다시 열어 실제 실행한 화면 · 생성 설정과 완성된 코기 결과입니다.
제공 JSON을 다시 열어 실제 실행한 화면 · 생성 설정과 완성된 코기 결과입니다. 그림을 누르면 큰 화면으로 열립니다.
선택 실습 · LoRA 끄기와 강도 0.6 / 1.0 / 1.4 비교

기본 결과를 만든 뒤에만 진행합니다. 같은 문장·seed·모델·설정·연결을 유지하고 아래 파일을 하나씩 Ctrl+O로 엽니다. 상단 요청 수와 배치 크기는 모두 1로 둡니다. 꺼진 비교는 두 강도가 0, 적용 비교는 CLIP 1.0을 유지하고 모델 강도만 바꿉니다. 이번 파일에 CLIP 가중치가 없으므로 실제 적용 차이는 모델 강도에서 생깁니다.

조건워크플로이번 결과에서 볼 부분
LoRA 끔 · 0 / 0ch20-lora-off.json (ZIP) 문장만으로도 픽셀 아트 표현이 나옵니다. 두꺼운 검은 윤곽과 색 덩어리를 보세요.
기본 · 0.6 / 1.0ch20-pixel-art.json (ZIP) 검은 외곽선이 줄고 큰 색 면과 코기 전체 형태가 또렷합니다.
비교 · 1.0 / 1.0ch20-strength-10.json (ZIP) 가슴 털과 바닥의 잘게 나뉜 색 표현이 늘어납니다.
비교 · 1.4 / 1.0ch20-strength-14.json (ZIP) 가슴과 풀의 명암·잔무늬가 더 복잡해집니다. 이번에는 단순한 색 면이라는 목표로 0.6을 골랐습니다.
LoRA 끔 · 모델 0 / CLIP 0. 같은 pixel art 문장만으로 생성한 기준
LoRA 끔 · 모델 0 / CLIP 0. 같은 pixel art 문장만으로 생성한 기준 그림을 누르면 큰 화면으로 열립니다.
기본 선택 · 모델 0.6 / CLIP 1.0
기본 선택 · 모델 0.6 / CLIP 1.0 그림을 누르면 큰 화면으로 열립니다.
강도 비교 · 모델 1.0 / CLIP 1.0
강도 비교 · 모델 1.0 / CLIP 1.0 그림을 누르면 큰 화면으로 열립니다.
강도 비교 · 모델 1.4 / CLIP 1.0
강도 비교 · 모델 1.4 / CLIP 1.0 그림을 누르면 큰 화면으로 열립니다.

이 그림들은 실제 생성 결과를 나란히 놓은 비교입니다. 강도를 올린다고 품질이 차례로 올라가는 것은 아닙니다. 같은 seed여도 LoRA를 바꾸면 얼굴·몸통·구도까지 달라질 수 있습니다. 여기서는 코기 한 마리의 읽기 쉬운 형태와 단순한 색 면을 기준으로 0.6을 선택했습니다. 다른 문장에도 0.6이 항상 최선이라는 뜻은 아닙니다.

비교 JSON의 저장 접두사는 각각 guide/ch20_pixel-off, guide/ch20_pixel-10, guide/ch20_pixel-14입니다. 비교가 끝나면 기본 ch20-pixel-art.json을 다시 엽니다.

4. 정상 결과 확인

확인할 것정상 결과
대상과 구도코기 한 마리가 풀 위에 앉아 있고, 몸과 발이 프레임 안에 보입니다.
화풍사진 같은 털 묘사보다 네모난 색 덩어리·계단 모양 윤곽·단순한 색 면이 두드러집니다.
설정과 연결Base + pixel-art-xl, 모델 0.6 / CLIP 1.0, seed 20261020 / fixed이며 모델·문장 연결이 유지됩니다.
저장과 재사용일반 JSON을 다시 열어 실행할 수 있고, output/guide에 결과 PNG가 저장됩니다.

이 PC에서 기본 결과를 실제 생성하고, 일반 내보내기 JSON을 닫았다 다시 열어 실행했습니다. 강도 0.6의 처음 결과와 재실행 결과는 1024×1024 RGB 픽셀이 같았습니다. 비교용 0·1.0·1.4도 각각 실제 생성했습니다. 완성 PNG에서 작업을 복원할 수 있으며, 별도 JSON도 함께 제공합니다.

이번 결과는 픽셀 아트풍 이미지입니다. 모든 색 덩어리가 똑같은 크기의 격자에 맞춰진 게임용 도트 원본까지 완성한 것은 아닙니다. 이 장의 완성 기준은 화풍 LoRA의 적용·비교·재사용입니다.

5. 자주 생기는 문제

상황해결 방법
LoRA 파일이 목록에 없어요정확한 파일명과 ComfyUI/models/loras 폴더를 확인합니다. 작업 저장 → F5 → 다시 선택 순서로 진행하고, 여전히 없다면 ComfyUI 서버를 다시 시작합니다. checkpoints나 controlnet 폴더에 넣지 않습니다.
효과가 거의 없어요LoRA 모델 출력이 KSampler에 연결되는지, 모델 강도가 0인지 확인합니다. 이번 프롬프트의 pixel art 요청도 유지하세요. 문장·대상에 따라 체감 효과는 달라집니다.
CLIP 강도를 바꿔도 같아요이번 파일에는 CLIP 쪽 학습 가중치가 없습니다. 오류가 아닙니다. CLIP은 1.0으로 두고 모델 강도를 비교하세요. 다른 LoRA의 CLIP 효과는 해당 파일 구성에 따라 다릅니다.
선이 끊겼거나 입력이 없다고 나와요일반 LoraLoader에는 Base의 MODEL과 CLIP을 모두 연결합니다. 출력 MODEL은 KSampler, 출력 CLIP은 두 문장 노드에 연결하고 VAE는 Base에서 디코드로 직접 연결합니다.
트리거 단어를 꼭 넣어야 하나요?이 파일에는 필수 트리거가 없습니다. 다른 LoRA는 제작자 안내를 따릅니다. 파일 이름을 프롬프트에 적는 것만으로 LoRA가 로드되지는 않습니다.
강도가 높을수록 잔무늬나 형태 변화가 커져요기본 0.6으로 돌아가 문장·seed를 유지한 채 한 값씩 조절합니다. 높은 수치는 완성도를 보장하지 않습니다.
15장처럼 4 steps로 했더니 이상해요이 화풍 LoRA는 Lightning 가속 파일이 아닙니다. 기본 JSON을 다시 열어 28 steps·CFG 6·dpmpp_2m·karras로 복구합니다. 다른 가속 조합의 안내를 섞지 마세요.
다른 인물·화풍 LoRA를 넣고 싶어요기본본을 복사하고 SDXL 호환 여부, 제작자의 기본 모델·트리거·권장 강도를 먼저 확인합니다. 파일을 하나만 바꾸어 비교하고, 특정 인물·의상까지 이 코기 예제와 같게 유지된다고 기대하지 않습니다.
저장한 JSON을 열었는데 모델이 없어요JSON은 모델을 포함하지 않습니다. 준비물의 Base와 LoRA를 각각 올바른 폴더에 넣고 노드에서 다시 선택합니다.

용어는 화풍 LoRA 용어표, 가속 LoRA와의 차이는 15장에서 다시 볼 수 있습니다. 공식 참고: LoRA 제작자 사용법 · ComfyUI LoRA 설명.

준비 단계에서 PC 정보가 헷갈린다면 GPU·메모리 등 내 컴퓨터 사양 확인 방법을 함께 참고하세요. 이 장의 결과와 작업 JSON을 보관한 뒤 다음 실습으로 넘어가면 다시 비교하기 쉽습니다.