Flux Klein Face Swap для ComfyUI: бесшовная, управляемая подсказками замена лиц
Flux Klein Face Swap — это специализированный workflow для ComfyUI, который заменяет лицо на одном изображении лицом с другого, сохраняя позу, освещение и текстурную согласованность. Он основывается на объединённой генерации изображений и редактировании FLUX Klein для обеспечения реалистичных замен, которые естественно сочетаются с сценой.
Этот workflow идеально подходит для редактирования портретов, создания персонажей и уточнения контента. Вы предоставляете базовое изображение и изображение с лицом-источником, направляете замену с помощью короткой подсказки, а pipeline Flux Klein Face Swap выравнивает геометрию, переносит идентичность и рендерит чистый результат с возможностью увеличения.
Ключевые модели в workflow 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 object detector и DWPose estimator. Используются во время предобработки для определения лица и общей позы тела, чтобы выравнивание было естественным после замены. YOLOX DWPose
Как использовать workflow Comfyui Flux Klein Face Swap
Pipeline проходит от входных данных к предобработке, условному референсированию, выборке FLUX, декодированию и возможному увеличению. Каждый этап ниже называет ключевые UI узлы, которые вы увидите.
Загрузите входные данные с помощью LoadImage (#81) и LoadImage Face Swap Image (#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) добавляет обнаруженную геометрию, которая фиксирует положение и пропорции головы перед выборкой.
Планируйте и выполняйте выборку с FLUX, используя UNETLoader (#180), Flux2Scheduler (#237), KSamplerSelect (#240), BasicGuider (#277) и SamplerCustomAdvanced (#261)
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) записывает финальный результат с ясным префиксом файла, чтобы партии оставались организованными. Увеличитель является необязательным, если вы уже работаете с высоким разрешением.
Ключевые узлы в workflow Comfyui Flux Klein Face Swap
DWPreprocessor (#267)
Роль: обнаруживает сигналы тела и лица, которые стабилизируют выравнивание. Увеличьте разрешение, если лица малы в кадре. Включите обнаружение лица и тела вместе для портретов, включающих плечи или руки, чтобы сохранить пропорциональную непрерывность.
ReferenceLatent (#257)
Роль: закрепляет стиль и сцену базового изображения к подсказке, чтобы замена не отклонялась. Если среда или одежда меняются непреднамеренно, отрегулируйте обрезку базового изображения, чтобы этот референс акцентировал внимание на области, которую вы хотите сохранить.
ReferenceLatent (#253)
Роль: вводит идентичность донора. Для сильного переноса идентичности используйте чёткий, фронтальный портрет донора с нейтральным выражением. Избегайте тяжёлого макияжа или заслоняющих элементов, которые могут привести к нежелательному переносу черт.
ReferenceLatent (#269)
Роль: обеспечивает пространственную геометрию с этапа обнаружения, чтобы новое лицо естественно располагалось на голове и шее. Используйте, когда важна поза или угол головы. Если вы хотите больше свободы в выражении, выберите базовое изображение с целевым выражением, а не ослабляйте это ограничение.
Flux2Scheduler (#237)
Роль: определяет путь удаления шума при вашем рабочем разрешении. Больше шагов могут уточнить тонкие текстуры, но требуют времени. Поддерживайте ширину и высоту, унаследованные от pipeline, чтобы избежать несоответствий аспектов с входом EmptyFlux2LatentImage.
SamplerCustomAdvanced (#261)
Роль: выполняет направленное удаление шума, используя ваш выбор выборщика и зерно. Используйте постоянное зерно для A/B сравнений и изменяйте только одну вещь за раз, обычно подсказку. Если результаты кажутся чрезмерными, попробуйте выборщик, который менее агрессивен, или уменьшите эффективное удаление шума, начиная с более сильного референса.
SeedVR2VideoUpscaler (#326)
Роль: финальное улучшение и очистка краёв. Увеличьте целевое разрешение умеренно, чтобы сохранить стабильность идентичности. Если цвета меняются, включите цветовую коррекцию и поддерживайте низкий уровень шума на входе, чтобы сохранить непрерывность тона кожи.
Необязательные дополнения
- Выбирайте входные фото с аналогичными размерами головы и ориентацией для наиболее убедительного Flux Klein Face Swap.
- Держите подсказки короткими и буквальными. Упомяните, что заменить, что сохранить, и любые заметки по стилю.
- Используйте фиксированное зерно при изучении подсказок, затем изменяйте зерно, чтобы добавить тонкие изменения в выражении.
- Если появляется несоответствие тона кожи, добавьте фразу вроде "сопоставить тон кожи и освещение" к подсказке.
- Получите согласие и следуйте местным законам и лицензиям моделей при выполнении любой замены лиц.
Благодарности
Этот workflow реализует и расширяет следующие работы и ресурсы. Мы с благодарностью признаем вклад и поддержку @Ai Verse's Flux Klein Face Swap Source workflow. Для авторитетных деталей, пожалуйста, обратитесь к оригинальной документации и репозиториям, указанным ниже.
Ресурсы
- Flux Klein/Face Swap Source
- Документы / Заметки о релизе: @Ai Verse's YouTube
Примечание: Использование упомянутых моделей, наборов данных и кода подчиняется соответствующим лицензиям и условиям, предоставленным их авторами и поддерживающими.

