comparison-guide

같은 프롬프트인데 왜 결과가 이렇게 다를까?

솔직히 말하겠다. 나도 처음에는 “프롬프트만 잘 쓰면 되는 거 아냐?”라고 생각했다.

ComfyUI를 처음 설치하고, 모델 하나 올려놓고, 프롬프트에 공을 들여 적었다. 결과물? 솔직히 눈을 의심했다. 같은 a beautiful sunset over mountains, cinematic lighting이라는 프롬프트를 넣었는데, 어떤 설정에서는 유화 같은 결과물이, 어떤 설정에서는 수채화 물감이 번진 것 같은 결과물이 나왔다. 프롬프트는 한 글자도 안 바꿨는데 말이다.

범인은 sampler, scheduler, CFG scale, steps, negative prompt, 그리고 quality prefix 같은 “프롬프트 바깥의 설정값”들이었다. 모델마다 궁합이 다르고, 잘못 맞추면 아무리 프롬프트를 정교하게 써도 결과물이 무너진다.

이 글은 내가 직접 4개 모델(DreamShaper 8, NetaYume Lumina v3.5, Pixel Art Diffusion XL, GeekyGhost LCM)을 돌려보면서 “이건 진짜 차이가 크다”고 느낀 설정값들을 정리한 것이다. 각 모델마다 잘못된 설정(Before)최적화된 설정(After)을 나란히 놓고, 그 차이가 어디서 오는지 구체적인 수치와 함께 보여준다.

설정이 중요한 이유: 프롬프트 바깥의 6가지 변수

본격적인 모델별 비교에 들어가기 전에, ComfyUI에서 결과물에 영향을 주는 핵심 설정 6가지를 짚고 가자.

Sampler (샘플러)

노이즈에서 이미지를 “꺼내는” 알고리즘이다. euler는 가장 기본적이고 빠르지만 디테일이 부족한 경우가 많다. dpmpp_2m_sde는 SD 1.5/SDXL 계열에서 안정적으로 고품질 결과를 뽑아내는 샘플러다. LCM 모델처럼 특수한 경우에는 전용 lcm 샘플러를 써야 한다. 잘못된 샘플러를 쓰면 steps를 아무리 높여도 결과물이 수렴하지 않는다.

Scheduler (스케줄러)

노이즈를 줄여나가는 “속도 조절” 방식이다. normal은 균일하게 줄이지만, karras는 초반에 빠르게, 후반에 정밀하게 줄인다. 대부분의 경우 karras가 더 깨끗한 결과를 만든다. 애니메이션 특화 모델은 linear_quadratic 같은 스케줄러가 맞는 경우도 있다. 스케줄러 하나 바꾸는 것만으로 같은 steps에서 디테일이 확 달라진다.

CFG Scale (Classifier-Free Guidance)

프롬프트에 “얼마나 강하게” 따를지를 결정한다. 숫자가 높을수록 프롬프트에 충실하지만, 너무 높으면 색이 번지고 아티팩트가 생긴다. SD 1.5 계열은 보통 7 전후, SDXL은 5~7, LCM은 1~2가 적정이다. CFG 15로 올려놓고 “왜 색이 이상하지?”라고 고민한 적 있다면, 바로 이게 원인이다.

Steps (스텝 수)

노이즈 제거를 몇 번 반복할지 결정한다. 너무 적으면 디테일이 부족하고, 너무 많으면 시간만 낭비된다. 모델과 샘플러 조합에 따라 최적 구간이 다르다. DreamShaper 8은 30 steps에서 안정되고, LCM은 8 steps면 충분하다. steps를 10 이하로 줄이면 대부분의 모델에서 결과물이 급격히 열화된다(LCM 제외).

Negative Prompt (네거티브 프롬프트)

“이건 빼줘”라고 지정하는 프롬프트다. 단순히 blurry만 넣는 것과, 체계적으로 품질 저하 요소를 나열하는 것은 결과 차이가 크다. 특히 손, 눈, 텍스트 같은 AI가 약한 부분을 명시적으로 걸러내면 성공률이 올라간다.

Quality Prefix (품질 프리픽스)

프롬프트 맨 앞에 붙이는 품질 지시어다. (masterpiece, best quality, highly detailed, sharp focus) 같은 프리픽스는 모델의 학습 데이터에서 고품질 이미지와 연결된 토큰을 활성화시킨다. SD 1.5 계열과 애니메이션 모델에서 특히 효과가 크다. 단, 픽셀아트나 LCM처럼 스타일이 명확한 모델은 그에 맞는 프리픽스를 써야 한다.

이 6가지가 프롬프트 바깥에서 결과물을 좌우한다. 이제 모델별로 실제 Before/After를 보자.

모델 1: DreamShaper 8 - SD 1.5 범용의 정석

DreamShaper 8은 SD 1.5 기반의 범용 모델로, 사실적 이미지부터 판타지 일러스트까지 폭넓게 소화한다. 그만큼 설정에 따른 결과 편차도 크다. “아무 설정이나 넣어도 어느 정도 나오겠지”라고 생각하면 큰 착각이다.

테스트 프롬프트: a medieval knight standing in a foggy forest, dramatic lighting, detailed armor

위 이미지가 잘못된 설정으로 생성한 결과다. 안개 표현이 뭉개지고, 갑옷 디테일이 녹아내린 것처럼 보인다. CFG 15가 색상을 과포화시켜 부자연스러운 색감이 나왔고, euler/normal 조합이 10 steps 안에 수렴하지 못했다.

같은 프롬프트에 설정만 바꿨다. 안개의 층위가 살아나고, 갑옷의 금속 질감과 스크래치 디테일이 선명하게 드러난다. dpmpp_2m_sde/karras 조합이 30 steps 동안 정밀하게 노이즈를 제거한 결과다.

DreamShaper 8 설정 비교표

항목 Before (잘못된 설정) After (최적 설정)
Sampler euler dpmpp_2m_sde
Scheduler normal karras
Steps 10 30
CFG Scale 15 7
Quality Prefix 없음 (masterpiece, best quality, highly detailed, sharp focus)
Negative Prompt blurry (worst quality, low quality:1.4), blurry, deformed, disfigured, bad anatomy, bad hands, extra fingers, missing fingers, watermark, signature, text, jpeg artifacts, noise, cropped
해상도 512x512 512x768 또는 768x512

왜 이런 차이가 나는가

  • CFG 15 vs 7: DreamShaper 8은 CFG 7~8에서 최적의 색 균형을 보여준다. 15는 과도하게 프롬프트를 강제해서 색이 번지고 아티팩트가 발생한다. SD 1.5 모델 대부분이 이 범위에서 안정적이다.
  • euler vs dpmpp_2m_sde: euler는 빠르지만 10 steps에서는 수렴이 부족하다. dpmpp_2m_sde는 같은 30 steps에서 훨씬 정밀한 결과를 만든다. 특히 SDE(Stochastic Differential Equation) 기반이라 디테일 표현에 강하다.
  • karras 스케줄러: 초반에 큰 노이즈를 빠르게 제거하고, 후반에 미세한 디테일에 집중한다. normal보다 같은 steps 대비 체감 품질이 높다.
  • Quality Prefix 효과: DreamShaper 8은 Danbooru/Civitai 데이터셋 기반이라 masterpiece, best quality 같은 토큰에 강하게 반응한다. 프리픽스 하나로 전반적인 완성도가 올라간다.

ComfyUI API JSON 예시

{
  "sampler_name": "dpmpp_2m_sde",
  "scheduler": "karras",
  "steps": 30,
  "cfg": 7.0,
  "positive": "(masterpiece, best quality, highly detailed, sharp focus), a medieval knight standing in a foggy forest, dramatic lighting, detailed armor",
  "negative": "(worst quality, low quality:1.4), blurry, deformed, disfigured, bad anatomy, bad hands, extra fingers, missing fingers, watermark, signature, text, jpeg artifacts, noise, cropped",
  "width": 512,
  "height": 768
}

모델 2: NetaYume Lumina v3.5 - 애니메이션의 눈과 머리카락을 살리는 법

NetaYume Lumina v3.5는 애니메이션/일러스트 스타일에 특화된 모델이다. 이 모델에서 흔히 저지르는 실수가 “SD 1.5 범용 설정을 그대로 가져다 쓰는 것”이다. 특히 sampler/scheduler 조합이 일반 모델과 완전히 다르다.

테스트 프롬프트: 1girl, silver hair, blue eyes, school uniform, cherry blossom background, wind blowing hair

dpmpp_2m_sde/karras 조합에 CFG 10을 넣은 결과다. 얼핏 보면 괜찮아 보이지만 자세히 보면 머리카락 경계가 번지고, 벚꽃 디테일이 뭉개졌다. 색감도 전체적으로 탁하다. 이 모델에 맞지 않는 sampler가 수렴 과정에서 디테일을 날려버린 것이다.

같은 프롬프트, 완전히 다른 결과다. 머리카락 한 올 한 올의 흐름이 살아 있고, 벚꽃잎의 반투명한 질감까지 표현된다. 색감이 맑고 채도가 적절하다. res_multistep/linear_quadratic 조합이 이 모델의 학습 특성과 맞아떨어진 결과다.

NetaYume Lumina v3.5 설정 비교표

항목 Before (잘못된 설정) After (최적 설정)
Sampler dpmpp_2m_sde res_multistep
Scheduler karras linear_quadratic
Steps 15 30
CFG Scale 10 5.5
Quality Prefix 없음 (masterpiece, best quality:1.2)
Negative Prompt 기본값 (worst quality, low quality:1.4), blurry, bad anatomy, bad hands, extra fingers, fewer fingers, missing arms, extra legs, watermark, signature, username, text, cropped, deformed iris, deformed pupils
해상도 512x512 512x768

왜 이런 차이가 나는가

  • res_multistep vs dpmpp_2m_sde: NetaYume Lumina는 학습 과정에서 res_multistep 계열 샘플러에 최적화되었다. dpmpp_2m_sde는 사실적 모델에는 강하지만, 애니메이션 라인 아트의 선명한 경계를 유지하는 데는 res_multistep이 압도적이다.
  • linear_quadratic 스케줄러: 애니메이션 스타일은 색 블록 경계가 명확해야 한다. linear_quadratic는 초반에 선형적으로, 후반에 이차 곡선으로 노이즈를 줄여 경계를 보존한다. karras는 여기서 오히려 경계를 부드럽게 만들어 “수채화처럼 번진” 느낌을 준다.
  • CFG 5.5 vs 10: 애니메이션 모델은 CFG에 민감하다. 10을 넘기면 색이 과포화되고 라인이 두꺼워진다. 5~6 범위가 가장 자연스러운 애니메이션 색감을 만든다.
  • Negative Prompt 강화: 애니메이션 모델에서는 deformed iris, deformed pupils 같은 눈 관련 네거티브가 특히 중요하다. 눈이 캐릭터의 인상을 결정하기 때문이다.

ComfyUI API JSON 예시

{
  "sampler_name": "res_multistep",
  "scheduler": "linear_quadratic",
  "steps": 30,
  "cfg": 5.5,
  "positive": "(masterpiece, best quality:1.2), 1girl, silver hair, blue eyes, school uniform, cherry blossom background, wind blowing hair",
  "negative": "(worst quality, low quality:1.4), blurry, bad anatomy, bad hands, extra fingers, fewer fingers, missing arms, extra legs, watermark, signature, username, text, cropped, deformed iris, deformed pupils",
  "width": 512,
  "height": 768
}

모델 3: Pixel Art Diffusion XL - “저해상도 이미지”와 “진짜 픽셀아트”의 차이

SDXL 기반 Pixel Art Diffusion은 레트로 픽셀아트를 생성하는 특화 모델이다. 이 모델의 함정은 “픽셀아트니까 대충 해도 되겠지”라는 안일함이다. 실제로는 설정에 따라 “진짜 픽셀아트”와 “그냥 저해상도 이미지”의 차이가 극명하게 갈린다.

테스트 프롬프트: a cyberpunk city street at night, neon signs, rain puddles, retro game style

euler/normal에 steps 10, CFG 12를 넣은 결과다. 픽셀 격자가 불균일하고, 네온 사인의 빛 번짐이 일반 이미지처럼 부드럽게 처리되었다. 이건 “저해상도로 리사이즈한 일반 이미지”이지 “픽셀아트”가 아니다. CFG 12가 색을 과도하게 밀어넣으면서 디더링 패턴마저 깨졌다.

최적 설정 적용 후다. 픽셀 격자가 균일하고, 네온빛이 디더링으로 자연스럽게 표현된다. 빗물 웅덩이의 반사도 픽셀 단위로 깔끔하게 처리되어 “진짜 레트로 게임에서 뽑은 것 같은” 느낌을 준다.

Pixel Art Diffusion XL 설정 비교표

항목 Before (잘못된 설정) After (최적 설정)
Sampler euler dpmpp_2m_sde
Scheduler normal karras
Steps 10 25
CFG Scale 12 5.5
Quality Prefix 없음 (pixel art, dithering, pixelated:1.2)
Negative Prompt 없음 (worst quality, low quality:1.4), blurry, smooth shading, anti-aliasing, gradient, photorealistic, 3d render, watermark, text, signature
해상도 512x512 1024x1024 (SDXL 기본)

왜 이런 차이가 나는가

  • 해상도가 핵심이다: SDXL 모델은 1024x1024에서 학습되었다. 512x512로 생성하면 모델이 “절반 크기의 캔버스”에 억지로 그림을 우겨넣는 꼴이 된다. 픽셀아트라고 해서 저해상도로 생성하면 안 된다. 1024x1024로 생성한 뒤 필요하면 다운스케일하는 게 맞다.
  • Quality Prefix (pixel art, dithering, pixelated:1.2): 이 프리픽스가 없으면 모델이 “그냥 이미지”와 “픽셀아트” 사이에서 갈팡질팡한다. 명시적으로 픽셀아트 스타일을 강제하면 격자 정렬과 디더링 패턴이 살아난다. :1.2 가중치가 스타일 일관성을 높여준다.
  • Negative에 smooth shading, anti-aliasing, gradient 추가: 픽셀아트의 적이 바로 이것들이다. 안티앨리어싱과 그라데이션은 픽셀 경계를 흐리게 만든다. 명시적으로 배제해야 깔끔한 픽셀 격자가 유지된다.
  • CFG 5.5: SDXL 계열은 SD 1.5보다 CFG에 민감하다. 5~7이 안전 범위이고, 12처럼 높이면 색이 폭발한다.

ComfyUI API JSON 예시

{
  "sampler_name": "dpmpp_2m_sde",
  "scheduler": "karras",
  "steps": 25,
  "cfg": 5.5,
  "positive": "(pixel art, dithering, pixelated:1.2), a cyberpunk city street at night, neon signs, rain puddles, retro game style",
  "negative": "(worst quality, low quality:1.4), blurry, smooth shading, anti-aliasing, gradient, photorealistic, 3d render, watermark, text, signature",
  "width": 1024,
  "height": 1024
}

모델 4: GeekyGhost LCM - 빠른 만큼 설정이 까다롭다

GeekyGhost LCM은 Latent Consistency Model 기반으로, 일반 모델 대비 3~5배 빠른 속도로 이미지를 생성한다. 문제는 LCM 모델의 설정 규칙이 일반 모델과 완전히 다르다는 점이다. 일반 모델 감각으로 설정하면 오히려 결과가 망가진다.

테스트 프롬프트: a cozy coffee shop interior, warm lighting, wooden furniture, steam rising from cup

일반 모델 설정을 그대로 가져온 결과다. euler/normal에 steps 2, CFG 8을 넣었다. LCM이라 steps를 극단적으로 줄여도 되겠지 생각했고, CFG는 일반 모델 수준으로 맞췄다. 결과는 참혹하다. 형체는 간신히 알아볼 수 있지만 디테일이 전부 사라졌고, 색이 비정상적으로 뿌옇다.

LCM 전용 설정 적용 후다. 단 8 steps만에 커피숍 내부의 나무 질감, 조명의 따뜻한 톤, 컵에서 올라오는 수증기까지 깔끔하게 생성되었다. 생성 시간은 일반 모델의 1/4 수준이면서도 충분한 품질을 보여준다.

GeekyGhost LCM 설정 비교표

항목 Before (잘못된 설정) After (최적 설정)
Sampler euler lcm
Scheduler normal sgm_uniform
Steps 2 8
CFG Scale 8 1.5
Quality Prefix 없음 불필요 (LCM 특성상 간결한 프롬프트 선호)
Negative Prompt 없음 (worst quality, low quality:1.4), blurry, deformed (간결하게)
해상도 512x512 512x512 또는 768x512

왜 이런 차이가 나는가

  • lcm 샘플러는 필수다: LCM 모델은 Latent Consistency Distillation으로 학습되었다. 일반 샘플러(euler, dpmpp 등)는 이 모델의 잠재 공간 구조와 맞지 않는다. lcm 전용 샘플러만 써야 한다. 이것 하나가 가장 큰 차이를 만든다.
  • sgm_uniform 스케줄러: LCM의 노이즈 제거 과정은 일반 모델과 다르게 균일한 간격이 최적이다. sgm_uniform이 LCM의 설계 의도에 가장 부합한다.
  • CFG 1.5 (핵심 중의 핵심): LCM 모델의 가장 흔한 실수가 CFG를 높이는 것이다. LCM은 학습 과정에서 이미 guidance를 내재화했다. CFG 1~2가 적정이고, 3을 넘으면 아티팩트가 급증한다. 8을 넣으면 이미지가 완전히 망가진다. 이건 LCM의 구조적 특성이니 “원래 그런 거”로 받아들여야 한다.
  • Steps 8: LCM은 4~8 steps에서 최적 결과를 보인다. 2는 너무 적고(최소 수렴에 필요한 반복 부족), 15 이상은 오히려 과수렴으로 품질이 떨어진다. 8이 품질/속도 밸런스의 스위트 스팟이다.
  • Quality Prefix 불필요: LCM은 프롬프트를 간결하게 유지하는 게 좋다. masterpiece, best quality 같은 프리픽스가 오히려 수렴을 방해할 수 있다. 직관적이고 명확한 프롬프트가 최선이다.

ComfyUI API JSON 예시

{
  "sampler_name": "lcm",
  "scheduler": "sgm_uniform",
  "steps": 8,
  "cfg": 1.5,
  "positive": "a cozy coffee shop interior, warm lighting, wooden furniture, steam rising from cup",
  "negative": "(worst quality, low quality:1.4), blurry, deformed",
  "width": 512,
  "height": 512
}

속도 비교 참고: RTX 4070 Ti 기준으로 GeekyGhost LCM은 512x512 / 8 steps에서 약 2~3초 만에 이미지를 생성한다. DreamShaper 8의 30 steps 생성(약 8~12초)과 비교하면 확실히 빠르다. 실시간 프리뷰나 대량 생성에 적합하다.

전체 모델 최적 설정 비교표와 실전 팁

4개 모델의 최적 설정을 한눈에 정리했다. 이 표만 저장해두면 모델을 바꿀 때마다 참고할 수 있다.

항목 DreamShaper 8 NetaYume Lumina v3.5 Pixel Art XL GeekyGhost LCM
기반 SD 1.5 SD 1.5 (애니) SDXL LCM
Sampler dpmpp_2m_sde res_multistep dpmpp_2m_sde lcm
Scheduler karras linear_quadratic karras sgm_uniform
Steps 30 30 25 8
CFG 7 5.5 5.5 1.5
Quality Prefix masterpiece, best quality, highly detailed, sharp focus (masterpiece, best quality:1.2) (pixel art, dithering, pixelated:1.2) 없음
최적 해상도 512x768 512x768 1024x1024 512x512
생성 속도 (RTX 4070 Ti 기준) ~10초 ~10초 ~15초 ~2초

설정 최적화 실전 팁 5가지

1. 새 모델을 받으면 먼저 모델 카드를 읽어라.
Civitai나 Hugging Face의 모델 페이지에 제작자가 권장하는 sampler, CFG, steps가 적혀 있다. 여기서 출발하는 게 삽질을 줄이는 가장 빠른 길이다.

2. CFG는 낮은 값에서 시작해서 올려라.
CFG를 5에서 시작해서 1씩 올리며 결과를 비교하는 게, 15에서 내려오는 것보다 효율적이다. 대부분의 모델은 5~8 사이에서 최적값이 있다.

3. Sampler/Scheduler 조합을 모델 유형별로 고정해라.
- SD 1.5 범용: dpmpp_2m_sde / karras
- 애니메이션: res_multistep / linear_quadratic (모델마다 다를 수 있으니 모델 카드 확인)
- SDXL: dpmpp_2m_sde / karras
- LCM: lcm / sgm_uniform

이 조합을 기본으로 두고, 필요할 때만 변경하면 된다.

4. Negative Prompt 템플릿을 만들어 두어라.
매번 네거티브를 새로 쓰는 건 비효율적이다. 아래 범용 네거티브를 기본으로 두고, 모델 특성에 맞게 추가/제거하면 된다:

(worst quality, low quality:1.4), blurry, deformed, disfigured, bad anatomy, bad hands, extra fingers, missing fingers, watermark, signature, text, jpeg artifacts, cropped

5. Seed를 고정하고 설정을 바꿔라.
A/B 테스트할 때 seed를 고정해야 “설정 차이에 의한 변화”만 정확히 볼 수 있다. seed가 바뀌면 구도 자체가 달라져서 비교가 불가능하다.

{
  "seed": 42,
  "control_after_generate": "fixed"
}

comparison-guide


보너스: 같은 프롬프트, 다른 모델 — 모델 간 비교

Before/After도 중요하지만, 같은 프롬프트를 다른 모델에 넣으면 어떻게 되는지도 궁금하실 겁니다. 두 가지 프롬프트로 5개 모델을 비교해 봤습니다.

비교 1: “벚꽃 정원과 전통 탑, 잉어 연못”

같은 프롬프트를 5개 모델에 넣은 결과입니다. 모델의 성격이 확연히 드러납니다.

Flux — 포토리얼, 일러스트와 사진의 경계

벚꽃 - Flux

DreamShaper — 판타지 회화풍, 부드러운 질감

벚꽃 - DreamShaper

NetaYume Lumina — 깨끗한 애니메이션 스타일

벚꽃 - Neta

Pixel Art XL — 레트로 게임 아트

벚꽃 - PixelArt

LCM — 8스텝 초고속, 심플하지만 빠름

벚꽃 - LCM

한줄 평: Flux는 포스터, DreamShaper는 북 커버, Neta는 웹툰, PixelArt는 게임 에셋, LCM은 빠른 초안에 적합합니다.


비교 2: “절벽 위의 전사, 석양, 나부끼는 망토”

판타지 캐릭터 프롬프트로 모델별 캐릭터 표현력을 비교합니다.

Flux — 영화 같은 포토리얼 렌더링

전사 - Flux

DreamShaper — 극적인 구도, 이중 인물 연출

전사 - DreamShaper

NetaYume Lumina — 애니메이션 캐릭터 실루엣

전사 - Neta

Pixel Art XL — 레트로 게임 신, 용암 디테일

전사 - PixelArt

LCM — 미니멀 실루엣, 극적인 하늘

전사 - LCM

모델 선택 가이드 요약

용도 추천 모델 이유
블로그 피처 이미지, 포스터 Flux 포토리얼, 최고 품질
판타지/공상 일러스트 DreamShaper 부드러운 질감, 다재다능
웹툰, 캐릭터, 애니메이션 Neta 깔끔한 라인, 선명한 색감
게임 에셋, 레트로 아트 PixelArt 완벽한 픽셀 스타일
빠른 초안, 프로토타입 LCM 8스텝 초고속 (2-3초)

마무리: 설정은 프롬프트의 절반이다

이 글에서 보여준 Before/After 비교가 하나의 사실을 증명한다. 프롬프트가 “무엇을 그릴지”를 결정한다면, 설정은 “얼마나 잘 그릴지”를 결정한다. 둘 다 중요하고, 어느 한쪽만 잘해서는 최적의 결과물을 얻을 수 없다.

모델을 새로 받았을 때 가장 먼저 할 일은 프롬프트를 정교하게 다듬는 게 아니라, 그 모델에 맞는 sampler, scheduler, CFG, steps를 찾는 것이다. 이 기본 설정이 맞아야 프롬프트 튜닝이 의미를 가진다.

오늘 정리한 4개 모델의 설정값은 직접 수십 번의 반복 테스트를 거쳐 찾은 것이다. 물론 취향과 용도에 따라 미세 조정이 필요할 수 있다. 하지만 최소한 “어디서부터 시작해야 하는지”는 이 가이드가 명확하게 잡아줄 것이다.

설정부터 잡고, 그다음에 프롬프트를 다듬자. 순서가 바뀌면 삽질만 늘어난다.