ComfyUI로 AI 여자친구 캐릭터 만들기: 시각적 일관성 워크플로우
IPAdapter와 FaceID를 사용해 시각적으로 일관된 AI 여자친구 캐릭터를 만드는 완전한 ComfyUI 워크플로우입니다. 최적의 설정과 노드 구성을 담은 단계별 기술 가이드예요.
여러 장의 이미지에 걸쳐 일관된 AI 여자친구 캐릭터를 만들어 본 적이 있다면, 그 고통을 이미 잘 아실 거예요. 멋진 인물 사진 한 장을 뽑아 놓고, 다른 포즈로 같은 얼굴을 재현하려고 하면 갑자기 코, 턱선이 완전히 달라지고 어쩐지 열다섯 살은 더 먹어 버립니다. 정말 미칠 노릇이에요. 저는 마침내 실제로 작동하는 ComfyUI 워크플로우를 잡아내기 전까지 일관성을 좇으며 수천 번의 생성을 태워 버렸어요.
여기서의 비밀 무기는 ComfyUI 안에서 IPAdapter와 FaceID를 결합하는 거예요. 둘 중 하나가 아니라 둘 다, 함께 써야 합니다. 그리고 구체적인 가중치 값이 대부분의 튜토리얼에서 말하는 것보다 훨씬 중요해요. 지난 한 해 동안 폭넓게 테스트한 설정과 함께, 제가 실제로 사용하는 정확한 워크플로우를 노드 하나하나 짚으며 안내해 드릴게요.
빠른 답변: ComfyUI에서 일관된 AI 여자친구 캐릭터를 만들려면 이중 잠금 접근법이 필요해요. IPAdapter(가중치 0.85)는 전반적인 스타일, 신체 비율, 의상 일관성을 담당하고, FaceID(가중치 0.6에서 0.7)는 얼굴 특징을 구체적으로 고정합니다. 여기에 0.4에서 0.6 범위의 디노이즈를 결합하면, 이 워크플로우로 캐릭터가 포즈, 의상, 장면을 넘나들어도 알아볼 수 있을 만큼 같은 사람으로 남는 이미지를 수십 장 만들어 낼 수 있어요.
핵심 요점
- IPAdapter와 FaceID는 서로 다른 목적을 가지므로 최대 일관성을 위해 함께 사용해야 해요
- IPAdapter 가중치 0.85는 프롬프트의 창의성을 덮어쓰지 않으면서 스타일을 살리는 최적의 지점이에요
- 0.6에서 0.7 사이의 FaceID 가중치는 뻣뻣하고 생기 없는 표정을 만들지 않으면서 얼굴 정체성을 보존해요
- 0.4에서 0.6의 디노이즈 값은 일관성과 자연스러운 변화 사이의 균형을 맞춰요
- 평범한 참조 이미지 여러 장보다 고품질 참조 이미지 한 장이 더 나은 결과를 만들어요
- 이 워크플로우는 ComfyUI의 배치 처리 기능과 함께 아름답게 확장돼요
캐릭터 일관성에서 ComfyUI가 다른 모든 도구를 이기는 이유는 무엇일까요?
조금 거슬릴 수 있는 말을 하나 하려고 해요. 캐릭터 일관성 작업에 여전히 A1111의 WebUI를 쓰고 있다면, 더 힘들게 일하면서 더 나쁜 결과를 얻고 있는 거예요. 자, 말했습니다. ComfyUI의 노드 기반 구조는 단지 다른 인터페이스인 게 아니에요. 이 특정 작업에 근본적으로 더 우월한 접근법이에요.
이유는 이렇습니다. 전통적인 UI에서는 프롬프트 입력란, 몇 개의 슬라이더가 있고, 생성 버튼을 누르죠. IPAdapter에 FaceID에 ControlNet에 영역별 프롬프트까지 원한다면, 확장 기능을 겹겹이 쌓아 놓고 충돌하지 않기를 기도하는 셈이에요. ComfyUI에서는 이 각각이 눈에 보이는 연결을 가진 별개의 노드입니다. 참조 이미지에서 IPAdapter를 거쳐 데이터가 어떻게 흐르는지, FaceID가 얼굴 특징을 어떻게 따로 처리하는지, 그리고 모든 것이 샘플러에 닿기 전에 어떻게 병합되는지 정확히 볼 수 있어요.
저는 약 14개월 전에 바로 이런 작업을 위해 ComfyUI로 옮겼는데, 일관성 적중률이 아마 40% 정도에서 85% 이상으로 올라갔어요. 미미한 개선이 아닙니다. 쓸 만한 콘텐츠를 만드느라 저녁 하나를 쓰는 것과 주말 하나를 통째로 쓰는 것의 차이예요.
노드 시스템은 워크플로우에 조건 로직을 넣을 수 있다는 뜻이기도 해요. 대상 포즈가 참조와 얼마나 다른지에 따라 FaceID 강도를 자동으로 조절하고 싶으신가요? 가능해요. 특정 생성물은 추가 정제 패스로 보내고 단순한 구도는 건너뛰고 싶으신가요? 이것도 가능합니다. 표준 인터페이스에서 한번 해 보세요.
Stable Diffusion WebUI 세계에서 넘어오신 분이라면, 기초를 다루는 Stable Diffusion으로 AI 여자친구 캐릭터 만들기 완전 가이드를 써 두었어요. 이 ComfyUI 가이드는 그 접근법의 더 강력하고 발전된 후속편이라고 생각하시면 돼요.
기초 세팅하기: 필요한 노드와 모델
워크플로우를 만들기 전에 올바른 도구를 설치해야 해요. 노드 팩 하나만 빠져도 전체 파이프라인이 망가지는데, ComfyUI의 오류 메시지가 무엇이 빠졌는지 알려 주는 데 항상 도움이 되는 건 아니에요.

필수 커스텀 노드 팩
ComfyUI Manager나 수동 git clone으로 다음 항목을 설치해야 해요.
- ComfyUI_IPAdapter_plus - 스타일 일관성의 중추예요. "plus" 버전에는 모델 관리를 상당히 단순하게 만들어 주는 통합 로딩 노드가 포함돼 있어요.
- ComfyUI-FaceID - 얼굴 특징 추출과 적용을 담당해요. 이제는 일부 버전이 IPAdapter Plus와 함께 묶여 나오지만, 사용하는 버전에 FaceID 전용 노드가 들어 있는지 확인하세요.
- comfyui_controlnet_aux - 포즈 감지를 위한 전처리 노드로, 캐릭터를 다른 자세로 생성할 때 필요해요.
- ComfyUI-Impact-Pack - 엄밀히 필수는 아니지만, 얼굴 감지와 분할 도구가 품질 관리에 정말 유용해요.
다운로드해야 할 모델
IPAdapter의 모델 상황은 여러 버전이 떠돌아다니기 때문에 헷갈릴 수 있어요. 정확히 무엇을 받아야 하는지 알려 드릴게요.
- ip-adapter-plus-face_sdxl_vit-h.safetensors - SDXL용 얼굴 최적화 IPAdapter 모델이에요. 캐릭터 작업에는 일반 모델을 쓰지 마세요.
- ip-adapter-faceid-plusv2_sdxl.bin - FaceID v2 모델이에요. v2 업데이트는 각도가 있는 얼굴을 얼마나 잘 처리하는지에서 눈에 띄는 차이를 만들었어요.
- buffalo_l - InsightFace의 분석 모델이에요. FaceID가 이것으로 얼굴 랜드마크를 추출해요.
models/insightface/models/buffalo_l/에 넣으세요. - 선호하는 SDXL 체크포인트 - 저는 목표로 하는 미감에 따라 RealVisXL과 JuggernautXL을 섞어서 써요.
처음 시작할 때 몇 주 동안 저를 헤매게 했던 한 가지는 InsightFace 모델 디렉터리 구조가 중요하다는 점이었어요. 단지 파일을 가지고 있는 게 다가 아니에요. 정확한 하위 폴더 구조와 함께 models/insightface/models/buffalo_l/에 있어야 해요. 사실은 폴더 중첩 문제일 뿐이었던 "model not found" 오류를 디버깅하느라 창피할 만큼 많은 시간을 썼어요.
KSampler에 연결된 IPAdapter와 FaceID 노드를 보여 주는 전체 워크플로우
완벽한 참조 이미지는 어떻게 만들까요?
여기서 대부분의 사람들이 길을 잘못 드는데, 가장 중요한 단계예요. 참조 이미지는 캐릭터의 DNA입니다. 모든 생성물은 좋든 나쁘든 그 특성을 물려받아요. 평범한 참조를 넣으면, 아무리 가중치를 만져도 구해 낼 수 없어요.
좋은 참조 이미지를 만드는 요소
같은 캐릭터를 수백 개의 서로 다른 참조 이미지로 생성하며 폭넓게 테스트했는데, 패턴은 분명해요. 이상적인 참조 이미지는 이런 특성을 가져요.
- 깔끔하고 정면을 향한 구도로, 얼굴이 프레임의 최소 30에서 40%를 차지해요
- 중립적인 표정이나 약한 미소여야 해요. 극단적인 표정은 FaceID가 기저의 얼굴 구조 대신 표정에 집착하게 만들거든요
- 고르고 부드러운 조명으로, 얼굴 특징으로 해석될 수 있는 강한 그림자가 없어야 해요
- 단순한 배경이어야 모델이 매 생성마다 배경 요소를 따라 그리려 하지 않아요
- 최소 1024x1024의 고해상도여야 하고, SDXL 워크플로우에는 1536x1536 이상이 더 좋아요
다른 곳에서 읽은 내용과 모순될 솔직한 의견을 하나 말할게요. 참조 이미지가 여러 장 필요하지 않아요. 사실, 훌륭한 참조 한 장을 쓰는 게 괜찮은 서너 장을 쓰는 것보다 더 일관된 결과를 만들어요. 여러 참조를 IPAdapter에 넣으면 그것들을 평균 내려고 하는데, 그 평균화 과정이 캐릭터를 독특하게 만드는 특징적인 부분을 무디게 만들 수 있어요. 또렷하고 잘 조명되고 잘 구성된 참조 한 장이 그저 그런 참조 갤러리를 매번 이깁니다.
저는 보통 IPAdapter나 FaceID를 전혀 쓰지 않고 아주 상세한 프롬프트로 초기 참조를 생성해요. 마음에 드는 얼굴을 얻기 위한 순수한 프롬프트 엔지니어링이죠. 그런 다음 그것을 낮은 디노이즈(0.2에서 0.3)로 img2img를 몇 번 돌려 다듬어요. 그렇게 다듬은 이미지가 제 영구 참조가 됩니다. 단일 참조 이미지 하나로 500번이 넘는 일관된 생성을 거뜬히 해낸 적도 있어요.
여러 이미지에 걸쳐 AI 캐릭터를 일관되게 유지하는 이론을 더 파고들고 싶으신 분은, AI 일관된 캐릭터 생성기 가이드가 기저 원리를 더 깊이 다뤄요.
최적의 결과를 위해 참조 이미지 준비하기
참조 이미지를 가공 없이 그대로 워크플로우에 끌어다 넣지 마세요. 약간의 전처리가 큰 차이를 만들어요.
- 대상 생성 해상도에 맞춰 정사각형 형식으로 자르기
- 텍스트나 워터마크 제거하기. IPAdapter를 통해 새어 나올 수 있거든요
- 양식화되지 않은 중립 상태가 되도록 밝기와 대비 조정하기
- 핵심 특징을 가리는 머리카락 같은 방해 요소 없이 얼굴이 또렷하게 보이도록 하기
워크플로우 만들기: 노드 하나하나
좋아요, 이제 실제로 이걸 만들어 봅시다. 데이터가 흐르는 순서대로 워크플로우의 각 구간을 짚어 갈게요. ComfyUI에서 따라 하고 계시다면 단계별로 만들 수 있어요.
참조 이미지 파이프라인
참조 이미지를 담은 Load Image 노드로 시작하세요. 이것이 두 개의 병렬 경로로 흘러갑니다.
경로 1: IPAdapter 처리 참조 이미지를 IPAdapter Unified Loader 노드에 연결하세요. 다음 파라미터를 설정합니다.
- Model: ip-adapter-plus-face(얼굴 전용 변형)
- Weight: 0.85
- Weight Type: Linear
- Start at: 0.0
- End at: 1.0
저 0.85 가중치가 결정적이에요. 0.5에서 1.0까지 0.05 단위로 값을 테스트했는데, 0.85가 일관성과 창의적 자유 사이에서 꾸준히 최고의 균형을 만들어요. 더 높이면 생성물이 참조의 살짝 수정된 복사본처럼 보이기 시작해요. 더 낮추면 0.75 부근에서 일관성이 절벽처럼 떨어져요.
경로 2: FaceID 처리 같은 참조 이미지에서 IPAdapter FaceID 노드로 연결하세요. 설정은 다음과 같아요.
- Weight: 0.65(여기서 시작해서 0.6에서 0.7 사이로 조정)
- Weight v2: true(노드 버전에서 가능한 경우)
- Combine method: Average
FaceID 가중치는 IPAdapter 가중치보다 더 민감해요. 0.7에서는 얼굴 일관성이 강하지만 생성물 전반에서 표정이 뻣뻣하고 비슷해질 때가 있어요. 0.6에서는 표정이 더 자연스럽지만 극단적인 포즈에서 약간의 얼굴 드리프트가 보일 수 있어요. 저는 보통 0.65를 기본값으로 두고 문제를 알아챘을 때만 조정해요.
프롬프트와 샘플링 구성
일관성 노드로 작업할 때는 KSampler 설정이 평소보다 더 중요해요. 제가 쓰는 값은 다음과 같아요.
- Steps: 30에서 35(스텝이 많을수록 모델이 IPAdapter/FaceID 가이드와 프롬프트 내용을 조화시키는 데 도움이 돼요)
- CFG Scale: 5.5에서 7.0(IPAdapter가 이미 강한 가이드를 제공하므로 보통보다 낮게)
- Sampler: DPM++ 2M SDE Karras
- Denoise: 기존 장면의 변형에는 0.45에서 0.55, 완전히 새로운 구도에는 0.7에서 0.8
디노이즈 값은 특별히 주목할 만해요. 이것은 모델이 잠재 시작점에서 벗어날 수 있는 자유의 정도를 제어해요. 캐릭터 일관성 작업에서는 외줄타기를 하는 셈이에요. 너무 낮으면 모든 이미지가 거의 똑같아 보이고, 너무 높으면 일관성 노드가 캐릭터 외형에 대한 잠금을 유지하지 못해요.
저는 보통 세 가지 디노이즈 수준에서 배치를 생성해요. 0.45, 0.55, 0.65예요. 그런 다음 각 배치에서 가장 좋은 결과를 골라요. 과정에 몇 분이 추가되지만 최종 선택의 품질을 극적으로 높여 줍니다.
일관된 캐릭터를 위한 프롬프트 엔지니어링
IPAdapter와 FaceID가 무거운 일을 해 주더라도 텍스트 프롬프트는 여전히 중요해요. 하지만 이 맥락에서는 프롬프트를 다르게 생각해야 해요.
무료 ComfyUI 워크플로우
이 글의 기술에 대한 무료 오픈소스 ComfyUI 워크플로우를 찾아보세요. 오픈소스는 강력합니다.
프롬프트에 포함할 것:
- 장면 묘사(위치, 시간대, 활동)
- 이번 생성에 특정한 의상과 액세서리
- 카메라 앵글과 프레이밍(클로즈업, 전신, 3/4)
- 조명 분위기
- "masterpiece, best quality, highly detailed" 같은 품질 태그
프롬프트에서 뺄 것:
- 구체적인 얼굴 특징 묘사(FaceID가 처리해요)
- 피부톤(IPAdapter가 참조에서 전달해요)
- 머리 색과 스타일(의도적으로 다르게 하려는 게 아니라면)
- 체형 묘사(IPAdapter가 비율을 처리해요)
또 하나 솔직한 의견이 있어요. FaceID가 켜져 있는데도 캐릭터의 얼굴을 묘사하려고 200단어짜리 프롬프트를 쓰는 사람들을 봅니다. 말 그대로 자신의 일관성 도구와 싸우고 있는 거예요. 얼굴은 FaceID에 맡기세요. 프롬프트 토큰은 나머지 모든 것에 쓰세요. 저는 "woman sitting in a coffee shop, afternoon light, casual outfit, looking at camera, masterpiece quality" 정도로 단순한 프롬프트에서 최고의 결과를 얻은 적도 있어요.
IPAdapter + FaceID 워크플로우로 네 개의 서로 다른 장면에서 유지된 같은 캐릭터
일관성을 망치는 가장 흔한 실수는 무엇일까요?
Discord와 Lewdly.ai를 통해 수십 명의 크리에이터가 일관성 워크플로우를 세팅하도록 도우면서, 같은 실수가 거듭 반복되는 걸 봤어요. 여러분의 좌절을 좀 덜어 드릴게요.

실수 1: 자신의 일관성 도구와 싸우기
이게 가장 큰 실수인데, 앞에서도 살짝 언급했어요. 프롬프트에 "blue eyes, small nose, round face"라고 적었는데 참조 이미지에는 녹색 눈에 도드라진 코, 각진 얼굴을 가진 캐릭터가 있다면, 모델은 선택을 해야 해요. 어떨 때는 프롬프트를 고르고, 어떨 때는 참조를 골라요. 어떨 때는 어색하게 타협하고요. 그 결과가 바로 상충하는 지시에서 태어난 비일관성이에요.
해결책은 간단해요. 참조 이미지와 FaceID를 믿으세요. 캐릭터가 파란 눈을 갖길 원한다면, 참조 이미지가 파란 눈을 가지도록 하세요. 프롬프트로 덮어쓰려 하지 마세요.
실수 2: 너무 양식화된 참조 이미지 쓰기
저는 한번 토요일 하루를 통째로 비일관성 문제를 디버깅하는 데 썼는데, 알고 보니 제 참조 이미지가 드라마틱한 애니메이션 스타일 셀 셰이딩을 가지고 있던 게 원인이었어요. IPAdapter가 매 생성마다 그 특정 조명 스타일을 따라 그리려 했고, 제 사실적인 장면 묘사와 충돌했죠. 중립적인 조명의 참조로 바꾸자 모든 게 딱 맞아떨어졌어요.
참조는 시각적으로 충분히 중립적이어서 매 생성마다 특정 분위기나 스타일을 강요하지 않아야 해요. 드라마틱한 조명은 프롬프트에 아껴 두세요.
실수 3: 해상도 맞추기 무시하기
참조 이미지가 512x512인데 1024x1024로 생성하고 있다면, IPAdapter 모델은 캐릭터에 대한 이해를 업스케일해야 해요. 이것이 노이즈와 비일관성을 끌어들여요. 참조 해상도를 생성 해상도에 맞추거나, 적어도 비슷한 범위 안에 두세요.
실수 4: 얼굴 크롭 건너뛰기
특히 FaceID의 경우, 얼굴이 프레임에서 작게 나오는 전신 샷을 넣으면 작업할 거리가 거의 없어요. 많은 워크플로우가 FaceID로 보내기 전에 얼굴 영역을 추출하는 자동 얼굴 크롭 노드를 포함해요. 사용하는 워크플로우에 없다면 하나 추가하세요. 얼굴 일관성의 차이가 즉각 눈에 띄어요.
실수 5: 설정을 한 번도 테스트하지 않기
제가 추천 가중치를 드릴 수는 있지만, 여러분의 특정 모델 체크포인트, 참조 이미지, 소재가 최적 값에 영향을 줘요. 서로 다른 IPAdapter와 FaceID 가중치로 테스트 배치를 생성하는 데 30분을 쓰세요. 결과를 비교하는 간단한 그리드를 만들어 보세요. 이 작은 투자는 본격적인 프로덕션 배치를 시작하면 엄청나게 보답해요.
복잡함을 건너뛰고 싶으신가요? Lewdly 는 기술적 설정 없이 즉시 전문 AI 결과를 제공합니다.
최대 일관성을 위한 고급 기법
기본 워크플로우가 안정적으로 돌아가게 되면, 일관성을 한층 더 끌어올리는 기법이 몇 가지 있어요. 이것들이 가벼운 사용자와 단일 캐릭터로 전체 시각 서사를 구축할 수 있는 크리에이터를 가르는 부분이에요.
포즈 가이드를 위한 ControlNet 사용하기
워크플로우에 ControlNet(특히 OpenPose)을 추가하면 IPAdapter와 FaceID가 캐릭터의 외형을 유지하는 동안 정확한 포즈를 지정할 수 있어요. 여기서 핵심 설정은 ControlNet 강도로, 0.7에서 0.8로 유지해요. 더 높이면 포즈 가이드가 FaceID의 얼굴 특징 적용을 방해할 수 있어요.
저는 보통 실제 참조 사진에서 OpenPose 스켈레톤 배치를 생성한 다음, 그것으로 캐릭터의 다양한 포즈를 구동해요. 이렇게 하면 순수하게 프롬프트로 구동한 포즈 변경에서 나오는 뻣뻣하고 부자연스러운 자세 대신, 자연스럽고 사람처럼 보이는 포즈를 얻어요.
의상 변경을 위한 영역별 프롬프트
생성물마다 캐릭터에게 다른 의상을 입히고 싶으신가요? 영역별 프롬프트 노드를 쓰면 이미지의 서로 다른 영역에 서로 다른 텍스트 프롬프트를 적용할 수 있어요. 의상 영역을 마스킹해서 거기에 의상 전용 프롬프트를 적용하고, 얼굴과 체형은 전적으로 IPAdapter와 FaceID가 제어하도록 둘 수 있어요.
이건 솔직히 전체 일관성 도구 모음에서 가장 강력한 기법 중 하나이고, 제가 Lewdly.ai에서 캐릭터 변형을 만들 때 끊임없이 쓰는 기법이에요. 캐릭터는 완전히 다른 옷을 입고 완전히 다른 배경에 있으면서도 픽셀 단위로 일관되게 유지돼요.
정제 패스 트릭
다른 곳에서는 별로 논의되는 걸 못 본 기법이 있어요. 초기 생성 후, 출력을 아주 낮은 디노이즈(0.15에서 0.25)와 동일한 IPAdapter/FaceID 입력을 가진 두 번째 KSampler 패스로 보내세요. 이 "정제 패스"는 첫 생성에서 끼어든 얼굴 드리프트를 구도를 크게 바꾸지 않으면서 은근하게 바로잡아요.
교정을 보는 것과 비슷하다고 생각하세요. 첫 패스가 글을 쓰고, 두 번째 패스가 오타를 잡아요. 이 기법이 그대로 두면 약간의 비일관성이 있었을 이미지의 절반쯤을 되살려 준다는 걸 알게 됐어요. 그 회수율은 큰 배치에 걸쳐 상당히 쌓여요.
규모를 위한 배치 처리
캐릭터를 위한 콘텐츠 라이브러리를 구축하고 있다면 대량으로 생성하고 싶을 거예요. ComfyUI는 배치 처리를 기본 지원하고, 일관성 설정을 고정한 채 수십 개의 프롬프트를 거치는 큐 기반 생성을 세팅할 수 있어요. 이건 제 ComfyUI 배치 처리 가이드에서 폭넓게 다뤘고, 배치 접근법은 이 일관성 워크플로우와 완벽하게 어울려요.
제 전형적인 배치 실행은 각각 다른 장면이나 상황을 묘사하는 30에서 50개의 프롬프트를 포함하고, 모두 제 참조 이미지를 가진 동일한 IPAdapter와 FaceID 노드를 거쳐요. 50번 생성하면 보통 40에서 45장을 보관해요. 대부분의 수작업 워크플로우는 따라올 수 없는 프로덕션 속도예요.
다양한 각도와 표정은 어떻게 다룰까요?
이건 제가 다른 무엇보다 가장 많이 받는 질문이고, 솔직히 이 워크플로우의 마법이 정말 드러나는 지점이에요. 정면 인물 사진에서 캐릭터가 일관되게 보이도록 하는 건 비교적 쉬워요. 어깨 너머로 돌아보거나, 웃거나, 낮은 각도로 보일 때 그 일관성을 유지하는 건요? 거기서 대부분의 워크플로우가 무너져요.
각도 문제
FaceID는 참조에서 얼굴 랜드마크를 추출하는데, 그 랜드마크는 본질적으로 참조 사진의 각도에 묶여 있어요. 크게 다른 각도를 생성하면 FaceID는 새로운 관점에서 그 랜드마크가 어떻게 보일지 외삽해야 해요. 어떨 때는 완벽하게 해내고, 어떨 때는 못 해요.
해결책은 의외로 간단해요. 캐릭터의 참조 이미지를 서로 다른 각도(정면, 3/4, 측면)로 2에서 3장 만들어 두고 대상 구도에 따라 바꿔 쓰세요. 측면 샷을 생성할 때는 측면 참조를, 정면 샷을 생성할 때는 정면 참조를 쓰세요. 이렇게 하면 FaceID가 각 특정 각도에 대해 훨씬 나은 원본 데이터를 갖게 돼요.
네, 이건 단일 참조를 쓰라는 제 앞선 조언과 약간 모순돼요. 미묘한 차이는, 기본 작업에는 참조 하나면 충분하다는 거예요. 극단적인 각도 변화에 걸친 프로 품질의 출력에는, 각도별 참조를 갖는 것이 FaceID의 가장 큰 약점을 없애 줘요.
콘텐츠 제작으로 월 $1,250+ 벌기
독점 크리에이터 제휴 프로그램에 참여하세요. 바이럴 동영상 성과에 따라 수익을 받으세요. 완전한 창작 자유로 자신만의 스타일로 콘텐츠를 만드세요.
표정 관리
더 높은 가중치(0.7 이상)에서 FaceID는 참조 이미지의 표정을 고정하는 경향이 있어요. 참조가 중립적인 얼굴이면 캐릭터가 매 생성마다 무뚝뚝해 보일 수 있어요. 해결책은 표정이 풍부한 얼굴을 원하는 생성에서는 FaceID 가중치를 살짝 낮추고(0.55에서 0.60) 원하는 표정 묘사를 프롬프트에 더 의존하는 거예요.
"laughing candidly", "surprised expression", "gentle smile" 같은 프롬프트 표현이 이 낮은 FaceID 가중치에서 잘 작동해요. FaceID가 여전히 기저의 얼굴 구조를 유지하는 동안 모델이 표정을 조정할 충분한 자유를 가져요.
저는 최근에 Lewdly.ai 프로젝트를 위해 이걸 테스트하며 주말을 보냈는데, 장면이 감정을 요구하는지 중립을 요구하는지에 따라 0.55와 0.65 사이에서 FaceID 가중치를 번갈아 쓰는 것이 제가 지금껏 생성한 가장 자연스러워 보이는 캐릭터 시리즈를 만들어 냈어요.
FaceID 가중치 비교: 0.55(왼쪽)는 더 많은 표정 다양성을 허용하고, 0.70(오른쪽)은 특징을 더 단단하게 고정해요
품질을 희생하지 않고 속도 최적화하기
캐릭터 이미지 라이브러리를 구축하려는데 생성 한 장에 10분씩 기다리고 싶은 사람은 없어요. 품질에 의미 있는 영향을 주지 않으면서 제가 쓰는 속도 최적화를 소개할게요.

하드웨어 고려 사항
이 워크플로우는 최소 12GB VRAM을 가진 GPU에서 가장 잘 돌아가요. IPAdapter에 FaceID에 SDXL은 메모리를 많이 잡아먹어요. RTX 3060 12GB에서는 1024x1024 이미지 한 장에 약 45에서 60초를 예상하세요. RTX 4090에서는 약 12에서 15초로 줄어들어요. VRAM 문제가 생긴다면 ComfyUI 설정에서 attention slicing을 켜 보세요. 다만 이렇게 하면 생성이 대략 20% 느려져요.
영리한 배치 전략
이미지를 한 장씩 생성하고 평가하기보다, 약간씩 변형된 프롬프트로 8에서 12장씩 배치를 큐에 넣으세요. 모델 로딩과 전처리가 이미지당 한 번이 아니라 배치당 한 번 일어나기 때문에 이미지당 시간이 줄어들어요. 제 4090에서는 10장 배치가 총 약 100초 걸리는 반면, 개별로 생성하면 150초가 걸려요.
일관성 파이프라인 캐싱하기
ComfyUI는 실행 사이에 노드 출력을 캐싱해요. 생성 간에 프롬프트만 바뀐다면(같은 참조 이미지, 같은 IPAdapter/FaceID 설정), 일관성 파이프라인은 재처리할 필요가 없어요. 즉, 두 번째 생성부터는 눈에 띄게 빨라져요. 여러 세션에 흩어 놓기보다 한 세션에서 모든 생성을 큐에 넣어 이 점을 활용하세요.
흔한 문제 해결
설정이 완벽해도 일이 잘못될 때가 있어요. 가장 흔한 문제를 진단하고 고치는 방법을 알려 드릴게요.
전신 샷에서 캐릭터가 다르게 보일 때
얼굴이 전체 이미지에서 작은 비중을 차지하면 IPAdapter의 영향력이 약해져요. 전신 샷에는 IPAdapter 가중치를 0.90에서 0.95로 올리고 후처리 단계로 얼굴 디테일 복원 노드(Impact Pack의 FaceDetailer 같은)를 추가하세요. 이 원투 펀치 접근법은 IPAdapter로 신체 일관성을 유지하면서 FaceDetailer가 얼굴 드리프트를 바로잡아요.
생성물 사이에서 색이 바뀔 때
캐릭터의 피부톤이나 머리 색이 생성물 사이에서 드리프트한다면, 보통 CFG 스케일 문제예요. 높은 CFG 값은 색 차이를 증폭시켜요. 생성물 전반의 더 안정적인 색 재현을 위해 5.0에서 5.5로 낮춰 보세요.
FaceID가 턱선 주변에 아티팩트를 만들 때
이건 FaceID의 가중치가 전체 생성에 비해 너무 높을 때 일어나요. 해결책은 보통 아티팩트가 사라질 때까지 FaceID 가중치를 0.05 단위로 낮추는 것만큼 간단해요. 그래도 해결되지 않으면, 참조 이미지의 턱선 주변에 FaceID가 따라 그리려 하는 비정상적인 그림자나 아티팩트가 있는지 확인하세요.
캐릭터가 "붙여 넣은" 것처럼 보일 때
캐릭터가 장면에 자연스럽게 존재하기보다 배경에 합성된 것처럼 보인다면, IPAdapter의 영향력이 너무 지배적이라는 뜻이에요. IPAdapter 가중치를 0.75에서 0.80으로 줄이고 디노이즈를 0.6에서 0.65로 높이세요. 이렇게 하면 모델이 캐릭터를 장면 환경에 자연스럽게 통합할 여지가 더 생겨요.
서로 다른 유형의 AI 생성 콘텐츠에 걸쳐 얼굴 일관성을 유지하는 방법에 대해 더 알고 싶으시면, AI 인플루언서 얼굴 일관성 기법 가이드가 이 워크플로우를 보완하는 추가 전략을 다뤄요.
제가 추천하는 시작 설정
수백 가지 구성을 테스트한 후, 제가 추천하는 정확한 시작점을 알려 드릴게요. 여러분의 특정 체크포인트와 참조 이미지에 맞춰 여기서부터 조정하세요.
| 파라미터 | 값 | 메모 |
|---|---|---|
| IPAdapter 가중치 | 0.85 | 더 많은 창의적 자유를 원하면 0.75에서 0.80으로 낮추기 |
| IPAdapter 모델 | plus-face SDXL | 항상 얼굴 전용 변형 사용 |
| FaceID 가중치 | 0.65 | 표정 필요에 따라 0.55에서 0.70 범위 |
| 디노이즈 | 0.50 | 가까운 변형에는 0.40에서 0.45, 새로운 장면에는 0.65에서 0.75 |
| CFG 스케일 | 6.0 | 5.0에서 7.0 사이로 유지 |
| 스텝 | 32 | 최소 28, 40 이상은 효용 감소 |
| 샘플러 | DPM++ 2M SDE Karras | 이 워크플로우에 품질과 속도의 최적 균형 |
| 해상도 | 1024x1024 | 참조 이미지 해상도에 맞추기 |
이건 임의의 숫자가 아니에요. 각 값은 여러 체크포인트와 참조 스타일에 걸쳐 꾸준히 최고의 결과를 만든, 테스트된 범위의 중심을 나타내요. 여기서 시작하면 "실험해서 잘 맞는 걸 찾으세요"라고 말하는 튜토리얼의 90%보다 앞서게 될 거예요.
자주 묻는 질문
SDXL 대신 SD 1.5로 이 워크플로우를 쓸 수 있나요? 네, 하지만 IPAdapter와 FaceID 모델의 SD 1.5 버전이 필요해요. 제가 추천한 가중치는 SDXL에 최적화돼 있어요. SD 1.5에서는 IPAdapter 가중치 0.80과 FaceID 가중치 0.60으로 시작하세요. 더 작은 모델이 이 컨디셔닝 입력에 더 공격적으로 반응하거든요.
참조 이미지가 실제로 몇 장 필요한가요? 대부분의 경우 훌륭한 참조 이미지 한 장이면 충분해요. 극단적인 각도 변화(측면, 위아래로 보기)를 하고 있다면, 각도별 참조를 2에서 3장 갖는 게 도움이 돼요. 참조를 4장 넘게는 절대 쓰지 마세요. 너무 많은 얼굴을 평균 내면 캐릭터의 특징적인 부분이 희석돼요.
애니메이션 스타일 모델에서도 작동하나요? IPAdapter는 애니메이션 모델과 잘 작동하지만, FaceID는 사실적인 얼굴을 위해 설계됐어요. 애니메이션 캐릭터에는 IPAdapter만 더 높은 가중치(0.90에서 0.95)로 쓰고 FaceID는 완전히 건너뛰세요. 애니메이션 얼굴 특징은 더 양식화되어 있고 유지하기가 단순하기 때문에 IPAdapter의 스타일 전이만으로 보통 애니메이션 일관성에 충분해요.
생성물 사이에서 캐릭터의 헤어스타일을 바꿀 수 있나요? 네, 다만 제약이 있어요. IPAdapter는 참조 헤어스타일을 유지하려고 해요. 이걸 덮어쓰려면 새 헤어스타일에 강한 프롬프트 언어를 쓰고 그 특정 생성에는 IPAdapter 가중치를 0.70에서 0.75로 줄이는 걸 고려하세요. 머리 영역을 마스킹하는 영역별 프롬프트가 훨씬 더 잘 작동해요.
제 워크플로우를 어떻게 저장하고 공유하나요? ComfyUI는 워크플로우를 JSON 파일로 내보내는 걸 지원해요. 메뉴에서 Save 버튼을 쓰거나 Ctrl+S를 누르세요. JSON 파일은 모든 노드 연결과 설정을 담지만 모델 파일 자체는 담지 않아요. 공유할 때는 어떤 모델이 필요한지에 대한 메모를 함께 넣으세요.
IPAdapter와 IPAdapter Plus의 차이는 무엇인가요? "Plus" 변형은 더 나은 이미지 이해를 위해 더 큰 CLIP 비전 모델(ViT-G 대신 ViT-H)을 써요. 캐릭터 일관성 작업에는 항상 Plus 변형을 쓰세요. 특히 얼굴 특징과 미세한 디테일에서 품질 차이가 상당해요.
제 생성물이 과채도로 보여요. 어떻게 고치나요? 과채도는 보통 IPAdapter가 참조의 색 특성을 증폭하면서 생겨요. 참조를 살짝 채도를 낮춘 중립 색으로 전처리해 보세요. 또는 생성 후 채도를 정규화하는 색 보정 노드를 추가하세요.
이것을 LoRA 모델과 결합할 수 있나요? 물론이죠. 스타일이나 특정 미감을 위한 LoRA 모델은 IPAdapter와 FaceID와 함께 잘 작동해요. IPAdapter 컨디셔닝 체인 전에 모델에 LoRA를 적용하세요. IPAdapter의 스타일 가이드와 충돌하지 않도록 LoRA 강도를 적당하게(0.6에서 0.8) 유지하세요.
제 캐릭터의 커스텀 LoRA를 훈련하는 것과 비교하면 어떤가요? 훈련된 LoRA는 캐릭터를 모델 가중치에 직접 임베드해서 가장 강력한 일관성을 제공해요. IPAdapter/FaceID 접근법은 세팅이 더 빠르고(훈련 몇 시간 대비 몇 분) 더 유연해요(참조 이미지 변경이 즉각적이에요). 진지한 장기 프로젝트라면 LoRA를 훈련하고 IPAdapter/FaceID를 보조 일관성 점검으로 쓰는 걸 고려하세요.
이 워크플로우가 클라우드 GPU 서비스에서 작동하나요? 네. RunPod와 Vast.ai 같은 서비스는 이 워크플로우로 ComfyUI를 실행할 수 있어요. 모든 일관성 노드를 켠 채 SDXL을 편안하게 생성하려면 최소 16GB VRAM의 인스턴스를 선택하세요. 시작하기 전에 참조 이미지와 모델 파일을 인스턴스에 업로드하세요.
마무리: 이론에서 실전으로
여기서 설명한 워크플로우는 이론이 아니에요. 수천 번의 테스트 생성과 실제 프로덕션 사용을 거쳐 다듬은, 제가 Lewdly.ai에서 캐릭터 일관성 프로젝트에 돌리는 바로 그 파이프라인이에요. 0.85의 IPAdapter와 0.65의 FaceID에 합리적인 디노이즈 값을 결합하면, 불과 18개월 전만 해도 불가능해 보였을 결과를 만들어 내요.
Stable Diffusion WebUI 배경에서 넘어오신다면, ComfyUI의 노드 인터페이스에 학습 곡선이 있을 거예요. 그 초기 혼란을 뚫고 나아갈 가치가 있어요. 일단 워크플로우가 딱 맞아떨어지면, 이것 없이 어떻게 버텼나 싶어질 거예요. 노드를 통해 데이터가 흐르는 걸 보는 시각적 피드백, 처리 경로를 분기하고 병합하는 능력, 모든 파라미터에 대한 세밀한 제어가 단순화된 UI로는 따라올 수 없는 수준의 창의적 힘을 줍니다.
훌륭한 참조 이미지 한 장으로 시작하세요. IPAdapter와 FaceID로 기본 워크플로우를 만드세요. 제가 추천한 설정으로 10장의 테스트 배치를 생성하세요. 결과가 좋아 보이면 각도 변화와 표정 관리로 실험을 시작하세요. 뭔가 어색해 보이면 문제 해결 섹션으로 돌아가세요. 가장 흔한 문제에는 직관적인 해결책이 있어요.
AI 생성에서의 캐릭터 일관성은 한때 커스텀 훈련 파이프라인을 가진 소수의 전문가만 부리는 흑마술이었어요. 이제는 오후 한나절이면 만들어서 몇 달 동안 안정적으로 돌릴 수 있는 워크플로우예요. 그것이 ComfyUI 노드 생태계의 힘이고, 솔직히 디퓨전 모델이 처음 주류로 올라선 이래 제가 본 AI 아트 도구의 가장 흥미진진한 발전 중 하나예요.
AI 인플루언서를 만들 준비가 되셨나요?
완전한 51레슨 과정에서 ComfyUI와 AI 인플루언서 마케팅을 마스터하는 115명의 학생들과 함께하세요.