ComfyUI img2img 사용법|denoise별 변화와 수채화 실습

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

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

사진을 입력으로 받아 다시 생성하고 denoise에 따른 변화를 비교합니다.

1. 만들 결과

사진을 입력으로 받아 다시 생성하고 denoise에 따른 변화를 비교합니다.

img2img(이미지 투 이미지)는 기존 이미지를 참고해 새 그림을 생성하는 방법입니다. denoise(디노이즈)를 낮추면 대체로 원본 형태를 더 많이 남기고, 높이면 더 크게 바꿀 여지가 생깁니다. 0.45는 “그림의 45%를 교체”한다는 뜻은 아닙니다.

2. 준비물

ComfyUI를 실행한 상태에서 시작합니다. 아래 모델이 이미 같은 폴더에 있으면 다시 받을 필요가 없습니다.

모델공식 파일·다운로드 위치설치 폴더 안에 넣을 곳선택할 노드처음 사용
SDXL Base 1.0sd_xl_base_1.0.safetensorsComfyUI\models\checkpoints체크포인트 로드4장
역할파일정확한 이름
실습 JSON실습 JSON 내려받기 (ZIP) ch10-img2img-d045.json
입력 PNG입력 PNG 내려받기 (ZIP) ch05_first_portrait_v2_00001_.png

파일 링크는 이 장의 실습 자료 ZIP으로 연결됩니다. 한 번 내려받아 압축을 푼 뒤 표에 적힌 JSON·PNG 파일을 선택하세요. JSON은 Ctrl+O로 열고, 입력 PNG는 해당 LoadImage에서 업로드합니다.

이번 기본 JSON이 저장할 파일

설치 폴더의 ComfyUI/output 아래에 다음 접두사로 저장됩니다. 뒤에는 자동 번호와 .png가 붙습니다. 이미 같은 이름이 있으면 번호가 올라갑니다.

  • guide/ch10_img2img_d045_00001_.png

3. 따라 하기

  1. 입력 PNG와 실습 JSON을 받습니다. JSON을 새 작업에 엽니다.
  2. 이미지 로드 → 업로드할 파일 선택에서 제공된 인물 원본 PNG를 고릅니다. 결과 비교판이나 화면 캡처를 입력으로 쓰지 않습니다.
  3. 흐름을 확인합니다. 이미지 로드 → VAE 인코드 → KSampler → VAE 디코드 → 이미지 저장입니다. 텍스트 생성의 빈 잠재 이미지 대신 입력 사진을 인코드합니다.
  4. 아래 프롬프트와 생성값을 확인합니다. 첫 실습의 denoise는 0.45입니다. 실습 JSON을 별도 이름으로 저장하고 실행합니다.
기본 실습 뒤 선택 비교·추가 조작
  1. 선택 비교는 같은 원본에서 시작합니다. 0.25와 0.65 JSON을 각각 열어 같은 입력 PNG를 선택한 뒤 실행합니다. 입력 사진과 문장·seed를 유지합니다.

이번 실습의 설정

설정할 노드입력값
이미지 로드 · 입력 사진입력 파일 = ch05_first_portrait_v2_00001_.png
KSamplerseed = 20260909
생성 후 제어 = fixed
steps = 20
CFG = 7
sampler = euler
scheduler = normal
denoise = 0.45
이미지 저장 · ch10_img2img_d045파일명 접두사 = guide/ch10_img2img_d045
체크포인트 로드체크포인트 = sd_xl_base_1.0.safetensors
입력할 프롬프트 전문

부정 프롬프트

text, watermark, blurry, low quality, distorted face, duplicate person,
mature-looking face, deep facial lines, heavy makeup,
exaggerated smile, open mouth, visible teeth, hands in frame, plastic skin

긍정 프롬프트

a watercolor portrait of a 22-year-old adult woman,
shoulder-length dark hair, cream-colored knit sweater,
soft diffused window light, plain light gray background
직접 구성하기 · 노드 8개와 연결 11개

빈 작업판을 두 번 클릭해 아래 기술 이름으로 검색하고 노드를 추가합니다. 값 입력 뒤, 오른쪽 출력 점을 왼쪽 입력 점으로 끌어 연결하세요. 이름이 같은 노드는 역할·파일명으로 구별합니다.

노드 역할검색할 기술 이름
부정 프롬프트CLIPTextEncode
VAE 디코드VAEDecode
이미지 로드 · 입력 사진LoadImage
VAE 인코드VAEEncode
긍정 프롬프트CLIPTextEncode
KSamplerKSampler
이미지 저장 · ch10_img2img_d045SaveImage
체크포인트 로드CheckpointLoaderSimple
순서출발 출력도착 입력
1체크포인트 로드
모델 →
KSampler
모델
2체크포인트 로드
CLIP →
긍정 프롬프트
clip
3체크포인트 로드
CLIP →
부정 프롬프트
clip
4긍정 프롬프트
조건 →
KSampler
긍정
5부정 프롬프트
조건 →
KSampler
부정
6체크포인트 로드
VAE →
VAE 디코드
vae
7VAE 디코드
이미지 →
이미지 저장 · ch10_img2img_d045
이미지
8KSampler
잠재 데이터 →
VAE 디코드
잠재 데이터
9이미지 로드 · 입력 사진
이미지 →
VAE 인코드
이미지
10체크포인트 로드
VAE →
VAE 인코드
vae
11VAE 인코드
잠재 데이터 →
KSampler
잠재 입력
원본 사진과 denoise 0.45 설정을 갖춘 img2img 전체 연결입니다.
원본 사진과 denoise 0.45 설정을 갖춘 img2img 전체 연결입니다. 그림을 누르면 큰 화면으로 열립니다.
선택 실습 · 수채화 표현으로 크게 바꾸기

기본 실습의 원본 인물 PNG를 그대로 사용합니다. 새 JSON을 별도 탭에서 열어 입력을 선택하고 실행하세요. 프롬프트·seed·steps·CFG·denoise를 함께 바꾼 스타일 예제이며, denoise 하나만 바꾼 대조 실험은 아닙니다.

수채화 실습 JSON 내려받기 (ZIP)

설정할 노드입력값
체크포인트 로드체크포인트 = sd_xl_base_1.0.safetensors
이미지 로드 · 입력 사진입력 파일 = ch05_first_portrait_v2_00001_.png
KSamplerseed = 20261010
생성 후 제어 = fixed
steps = 30
CFG = 7.5
sampler = euler
scheduler = normal
denoise = 0.8
이미지 저장 · ch10_watercolor_final파일명 접두사 = guide/ch10_watercolor_final
입력할 프롬프트 전문

긍정 프롬프트

(watercolor painting:1.5), loose watercolor portrait on white paper, adult woman with brown hair, cream sweater, transparent blue and ochre washes, white unpainted paper, wet on wet, soft pigment blooms, simple loose brush strokes, traditional painted illustration

부정 프롬프트

(photograph:1.3), photorealistic, 3d, realistic skin pores, glossy, digital render, hard contour, text, watermark, glasses, eyeglasses, sunglasses
직접 구성하기 · 노드 8개와 연결 11개

빈 작업판을 두 번 클릭해 아래 기술 이름으로 검색하고 노드를 추가합니다. 값 입력 뒤, 오른쪽 출력 점을 왼쪽 입력 점으로 끌어 연결하세요. 이름이 같은 노드는 역할·파일명으로 구별합니다.

노드 역할검색할 기술 이름
체크포인트 로드CheckpointLoaderSimple
이미지 로드 · 입력 사진LoadImage
긍정 프롬프트CLIPTextEncode
부정 프롬프트CLIPTextEncode
VAE 인코드VAEEncode
KSamplerKSampler
VAE 디코드VAEDecode
이미지 저장 · ch10_watercolor_finalSaveImage
순서출발 출력도착 입력
1체크포인트 로드
CLIP →
긍정 프롬프트
clip
2체크포인트 로드
CLIP →
부정 프롬프트
clip
3체크포인트 로드
모델 →
KSampler
모델
4긍정 프롬프트
조건 →
KSampler
긍정
5부정 프롬프트
조건 →
KSampler
부정
6VAE 인코드
잠재 데이터 →
KSampler
잠재 입력
7KSampler
잠재 데이터 →
VAE 디코드
잠재 데이터
8체크포인트 로드
VAE →
VAE 디코드
vae
9VAE 디코드
이미지 →
이미지 저장 · ch10_watercolor_final
이미지
10이미지 로드 · 입력 사진
이미지 →
VAE 인코드
이미지
11체크포인트 로드
VAE →
VAE 인코드
vae
새 수채화 실습 결과입니다. 물감 번짐과 종이 표현이 드러나지만 얼굴·머리·의상 형태도 원본에서 달라졌습니다.
새 수채화 실습 결과입니다. 물감 번짐과 종이 표현이 드러나지만 얼굴·머리·의상 형태도 원본에서 달라졌습니다. 그림을 누르면 큰 화면으로 열립니다.

4. 정상 결과 확인

기본 0.45 결과에서는 머리카락·니트의 선과 질감이 강해집니다. 원본을 그대로 복사한 사진도, 뚜렷한 수채화 완성품도 아닙니다. 선택 수채화 결과에서는 물감 번짐·넓은 색면·종이 표현을 확인합니다.

기본 denoise 0.45 결과: 머리카락·니트의 선과 질감이 강조됐습니다. 수채화 표현은 별도 선택 실습에서 확인합니다.
기본 denoise 0.45 결과: 머리카락·니트의 선과 질감이 강조됐습니다. 수채화 표현은 별도 선택 실습에서 확인합니다. 그림을 누르면 큰 화면으로 열립니다.
선택 비교 · denoise별 실제 결과
입력 원본
입력 원본 그림을 누르면 큰 화면으로 열립니다.
denoise 0.25 · 얼굴 형태는 남고 머리·니트 선이 강조됨
denoise 0.25 · 얼굴 형태는 남고 머리·니트 선이 강조됨 그림을 누르면 큰 화면으로 열립니다.
denoise 0.45 · 대비와 질감이 더 강해짐
denoise 0.45 · 대비와 질감이 더 강해짐 그림을 누르면 큰 화면으로 열립니다.
denoise 0.65 · 선과 표정 변화가 커짐
denoise 0.65 · 선과 표정 변화가 커짐 그림을 누르면 큰 화면으로 열립니다.
비교 조건별 JSON
조건JSON
선택 · denoise 0.25ch10-img2img-d025.json (ZIP)
선택 · denoise 0.65ch10-img2img-d065.json (ZIP)

각 JSON은 별도 탭에서 열고 입력 이미지·모델을 다시 선택하세요. 기본 실습과 선택 비교를 구별해 필요한 조건을 사용합니다.

5. 자주 생기는 문제

상황확인할 곳
입력 사진이 없다고 나와요이미지 로드에서 제공 PNG를 직접 업로드하고 선택합니다. JSON은 입력 파일을 포함하지 않습니다.
거의 바뀌지 않거나 너무 달라져요denoise와 입력 사진을 확인하고 한 번에 한 값만 바꿉니다.
수채화 느낌이 약해요선택 수채화 실습의 별도 JSON을 사용하세요. 기본 0.45에서 숫자 하나만 바꾼 대조군은 아니며, 강한 변환은 인물의 모습도 바꿀 수 있습니다.

공통 오류와 용어는 용어·문제 해결에서 찾을 수 있습니다.

공식 참고 자료

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