ComfyUI를 위한 Flux Klein Face Swap: 무결점의 프롬프트 기반 얼굴 교체
Flux Klein Face Swap은 한 이미지의 얼굴을 다른 이미지의 얼굴로 교체하면서 자세, 조명, 질감의 일관성을 유지하는 ComfyUI 워크플로우입니다. FLUX Klein의 통합 이미지 생성 및 편집을 기반으로 하여 장면과 자연스럽게 어우러지는 사실적인 교체를 제공합니다.
이 워크플로우는 인물 편집, 캐릭터 생성, 콘텐츠 세밀화에 이상적입니다. 기본 이미지를 제공하고 얼굴 소스 이미지를 제공하며, 짧은 프롬프트로 교체를 안내하고 Flux Klein Face Swap 파이프라인은 기하학을 정렬하고 정체성을 전송하며 선택적 업스케일링과 함께 깨끗한 결과를 렌더링합니다.
Comfyui Flux Klein Face Swap 워크플로우의 주요 모델
- Black Forest Labs FLUX.2-klein 9B FP8. 여기서 편집 및 이미지 합성을 위해 사용되는 핵심 Diffusion Transformer입니다. 장면 스타일과 구성을 안정적으로 유지하면서 새로운 얼굴을 통합합니다. Model card
- FLUX.2-klein 4B. 메모리를 줄이고 약간 낮은 용량으로 반복 속도를 높이는 가벼운 대안입니다. 초안이나 제한된 GPU에 유용합니다. Model card
- Qwen 3 text encoder 8B 또는 4B. FLUX 2의 프롬프트 이해를 제공하여 교체가 정체성, 자세 및 스타일에 대한 텍스트 지침을 따릅니다. Klein 스플릿과 함께 파일이 배포됩니다. Repository
- Flux 2 VAE. FLUX가 사용하는 잠재 공간으로 이미지를 인코딩하고 최종 잠재를 충실한 색상과 톤으로 픽셀로 디코딩합니다. Repository
- YOLOX 객체 탐지기 및 DWPose 추정기. 교체 후 정렬이 자연스럽도록 얼굴과 전체 신체 자세를 찾기 위해 전처리 중에 사용됩니다. YOLOX DWPose
Comfyui Flux Klein Face Swap 워크플로우 사용 방법
파이프라인은 입력에서 전처리, 참조 조건화, FLUX 샘플링, 디코딩 및 선택적 업스케일링으로 흐릅니다. 아래 각 단계는 볼 수 있는 주요 UI 노드를 나열합니다.
LoadImage (#81) 및 LoadImage 얼굴 교체 이미지 (#244)로 입력 로드
LoadImage (#81)에서 기본 사진을 선택하세요. 이는 유지하려는 장면과 의류입니다. Face Swap Image (#244)에서 기부자 초상을 선택하세요. 이는 전송할 정체성을 제공합니다. 최상의 결과를 위해 유사한 머리 크기와 일반적인 각도를 가진 이미지를 선택하세요. 두 이미지는 내부적으로 일관된 작업 해상도로 크기가 조정됩니다.
DWPreprocessor (#267)로 자세 및 얼굴 감지 및 ImageResizeKJv2 (#468)로 정규화
전처리기는 기본 이미지를 분석하여 머리와 신체의 주요 지점을 찾아 얼굴 레이아웃과 자세를 인코딩하는 가이드를 생성합니다. 이는 Flux Klein Face Swap이 새로운 얼굴을 원래 방향과 조명에 맞게 정렬하도록 보장합니다. 결과는 나중 단계에서 일관된 기하학을 사용하도록 작업 차원에 맞게 크기가 조정됩니다. 마스크를 공급할 필요는 없습니다.
CLIPTextEncode (#250)로 교체 설명
변경해야 할 것과 유지해야 할 것을 명확히 하는 짧은 지침을 제공합니다. 예를 들어, "이미지 1의 머리를 이미지 2의 머리로 교체하고, 이미지 1의 의류와 자세를 유지하며, 피부 톤과 조명을 맞춥니다." 텍스트 인코더는 프롬프트를 샘플링 중 모델을 조종하는 조건으로 변환합니다. 명확하고 구체적인 표현이 더 충실한 교체를 제공합니다.
VAEEncode 및 ReferenceLatent (#257, #253, #269)로 참조 조건화 구축
기본 이미지, 얼굴 소스 이미지, 자세 지침 각각은 VAEEncode로 잠재로 인코딩됩니다. ReferenceLatent (#257)는 먼저 기본 이미지를 프롬프트에 연결하여 스타일과 장면을 보존합니다. ReferenceLatent (#253)는 기부자 얼굴의 정체성을 참조로 주입합니다. ReferenceLatent (#269)는 샘플링 전에 머리 위치와 비율을 고정하는 탐지된 기하학을 추가합니다.
UNETLoader (#180), Flux2Scheduler (#237), KSamplerSelect (#240), BasicGuider (#277), 및 SamplerCustomAdvanced (#261)를 사용하여 FLUX로 일정 및 샘플링
UNETLoader (#180)는 실제 편집을 수행하는 FLUX.2-klein 모델을 로드합니다. Flux2Scheduler (#237)는 잠재 해상도가 일관되게 유지되도록 작업 너비와 높이에서 디노이징 일정을 설정합니다. BasicGuider (#277)는 모델을 조립한 조건과 결합하여 샘플러에 전달합니다. KSamplerSelect (#240)에서 샘플러를 선택하고 반복 시 결과를 재현하기 위해 RandomNoise (#256)에서 고정된 시드를 유지합니다. SamplerCustomAdvanced (#261)는 수동 마스킹 없이 단일 경로로 교체된 얼굴 잠재를 생성합니다.
VAEDecode (#251), PreviewImage (#457), 및 Image Comparer (rgthree) (#452)로 디코드 및 검토
VAEDecode (#251)는 최종 잠재를 픽셀로 변환합니다. PreviewImage (#457)를 사용하여 정체성, 피부 톤 연속성 및 헤어라인 가장자리를 빠르게 확인하세요. Image Comparer (rgthree) (#452)로 전후를 비교하여 의류, 자세 및 배경이 그대로인지 확인하세요. 필요하면 프롬프트를 세밀하게 조정하고 다시 실행하여 표현이나 스타일을 조정하세요.
SeedVR2VideoUpscaler (#326) 및 SaveImage (#467)로 업스케일 및 저장
업스케일러는 편집된 정체성을 존중하면서 세부 사항을 향상시키고 작은 이음새를 부드럽게 합니다. 피부 톤의 변화가 없도록 색상 보정을 일관되게 유지하세요. 만족할 때 SaveImage (#467)는 배치가 정리되도록 명확한 파일 접두사와 함께 최종 결과를 작성합니다. 이미 높은 해상도로 작업하는 경우 업스케일러는 선택 사항입니다.
Comfyui Flux Klein Face Swap 워크플로우의 주요 노드
DWPreprocessor (#267)
역할: 정렬을 안정시키는 신체 및 얼굴 신호를 감지합니다. 프레임 내 얼굴이 작을 때 해상도를 높이세요. 어깨나 손을 포함하는 초상화를 위해 얼굴과 신체 감지를 함께 활성화하여 비율 연속성을 유지하세요.
ReferenceLatent (#257)
역할: 교체가 표류하지 않도록 기본 이미지의 스타일과 장면을 프롬프트에 고정합니다. 환경이나 의상이 의도치 않게 변경되는 경우, 이 참조가 보존하고자 하는 영역을 강조하도록 기본 이미지 크롭을 조정하세요.
ReferenceLatent (#253)
역할: 기부자 정체성을 주입합니다. 강한 정체성 전송을 위해 중립적인 표현의 선명하고 정면을 바라보는 기부자 초상을 사용하세요. 원치 않는 특징을 과잉 적합할 수 있는 짙은 메이크업이나 폐색을 피하세요.
ReferenceLatent (#269)
역할: 탐지 단계에서의 공간 기하학을 강화하여 새로운 얼굴이 머리와 목에 자연스럽게 놓이도록 합니다. 자세나 머리 각도가 중요할 때 사용하세요. 표현에 더 자유로움을 원한다면 이 제약을 약화시키기보다는 목표 표현이 있는 기본 이미지를 선택하세요.
Flux2Scheduler (#237)
역할: 작업 해상도에서 디노이징 경로를 정의합니다. 더 많은 단계가 미세한 질감을 정제할 수 있지만 시간이 걸립니다. EmptyFlux2LatentImage 입력과 측면 불일치를 피하기 위해 파이프라인에서 상속된 너비와 높이를 유지하세요.
SamplerCustomAdvanced (#261)
역할: 선택한 샘플러와 시드를 사용하여 가이드된 디노이징을 수행합니다. A/B 비교를 위해 일관된 시드를 사용하고 한 번에 한 가지, 일반적으로 프롬프트만 변경하세요. 결과가 과도하다고 느껴지면 덜 공격적인 샘플러를 사용하거나 더 강한 참조에서 시작하여 효과적인 디노이징을 줄이세요.
SeedVR2VideoUpscaler (#326)
역할: 최종 향상 및 가장자리 정리. 정체성을 안정적으로 유지하기 위해 대상 해상도를 적당히 높이세요. 색상이 변하면 색상 보정을 활성화하고 입력 노이즈를 낮게 유지하여 피부 톤 연속성을 보존하세요.
선택적 추가 사항
- 가장 설득력 있는 Flux Klein Face Swap을 위해 유사한 머리 크기와 방향으로 입력 사진을 선택하세요.
- 프롬프트를 짧고 직설적으로 유지하세요. 교체할 것, 유지할 것 및 스타일 메모를 언급하세요.
- 프롬프트 탐색 중에는 고정된 시드를 사용한 다음 미세한 표현 변화를 추가하기 위해 시드를 다양화하세요.
- 피부 톤 불일치가 나타나면 프롬프트에 “피부 톤과 조명을 맞춤”이라는 문구를 추가하세요.
- 얼굴 교체를 수행할 때 동의 및 현지 법률과 모델 라이센스를 준수하세요.
감사의 말
이 워크플로우는 다음 작업 및 리소스를 구현 및 기반으로 합니다. 우리는 그들의 기여 및 유지 관리를 위해 @Ai Verse의 Flux Klein Face Swap Source 워크플로우에 감사드립니다. 권위 있는 세부 사항은 아래에 링크된 원본 문서 및 리포지토리를 참조하세요.
리소스
- Flux Klein/Face Swap Source
- 문서 / 릴리스 노트: @Ai Verse's YouTube
참고: 참조된 모델, 데이터 세트 및 코드의 사용은 해당 저자 및 유지 관리자가 제공한 라이센스 및 조건이 적용됩니다.


