Картинка-образец для стиля (Flux Redux)
Урок «style-reference» в группе Картинки: приёмы списка уроков. Шагов: 9.
Чему вы научитесь
Картинка Flux.1 берёт облик у картинки-образца: цвета, материалы, настроение.
Что понадобится
- Урок продолжает Flux.1: картинка из отдельных файлов. Карточка говорит об этом; это подсказка, а не замок.
- Ноды: Load Diffusion Model, DualCLIPLoader, Load VAE, CLIP Text Encode (Prompt), ConditioningZeroOut, Load Image, Load CLIP Vision, CLIP Vision Encode, Load Style Model, Apply Style Model, EmptySD3LatentImage, KSampler, VAE Decode, Save Image / Preview Image.
- Приложение ничего не скачивает и не устанавливает. Тексты шагов ниже говорят, какие файлы, в какие папки и какой шаблон ComfyUI их называет.
Шаги
Слова каждого шага, как их показывает урок. Имена нод выделены.
Что делает Redux (чтение)
Словами стиль описывается плохо. Redux позволяет его показать: модель зрения смотрит на картинку-образец, а маленькая модель стиля превращает увиденное в добавку к описанию.
Граф это граф Flux.1 dev из ComfyUI с той частью официального шаблона «Flux Redux», которая это делает. Он собирается с пустого холста: «Файл ▸ Новый проект». Flux.1 dev нужна сильная видеокарта; его файлы fp8 требуют меньше памяти.
Загрузите Flux.1
Добавьте Load Diffusion Model, DualCLIPLoader и Load VAE.
unet_nameноды Load Diffusion Model: flux1-dev изmodels/diffusion_models.- DualCLIPLoader читает описание двумя файлами:
clip_name1clip_l,clip_name2t5xxl. Вtypeпоставьтеflux. vae_nameноды Load VAE: ae.
Если нужного файла в списке нет, значит, его нет в вашем ComfyUI. Приложение ничего не скачивает. Проще всего открыть в самом ComfyUI официальный шаблон «Flux Redux»: он покажет, каких файлов не хватает и куда их положить. Потом выберите здесь в меню «Синхронизация ▸ Синхронизировать сейчас», и файлы появятся в списках.
Напишите описание
Добавьте CLIP Text Encode (Prompt) и ConditioningZeroOut. Выход ноды DualCLIPLoader идёт в
clipноды CLIP Text Encode (Prompt), выход ноды CLIP Text Encode (Prompt) вconditioningноды ConditioningZeroOut. Вtextнапишите, что на картинке: предмет, место.Flux не пользуется описанием нежелательного. ConditioningZeroOut даёт сэмплеру пустое, как это делает шаблон Flux в ComfyUI.
Покажите образец
Добавьте Load Image, Load CLIP Vision и CLIP Vision Encode.
- В Load Image выберите картинку-образец.
- В
clip_nameноды Load CLIP Vision: sigclip_vision_patch14_384 изmodels/clip_vision. - CLIP Vision Encode получает
clip_visionот Load CLIP Vision иimageот Load Image.
Модель зрения превращает картинку в числа, которые говорят, что на ней и как она выглядит.
Примените модель стиля
Добавьте Load Style Model и Apply Style Model.
- В
style_model_nameноды Load Style Model: flux1-redux-dev изmodels/style_models. - Apply Style Model получает
conditioningот CLIP Text Encode (Prompt),style_modelот Load Style Model,clip_vision_outputот CLIP Vision Encode.
Выход ноды Apply Style Model это ваше описание с добавленным образцом.
- В
Пустой латент и сэмплер
Добавьте EmptySD3LatentImage и KSampler. Подключите:
modelот Load Diffusion Model,positiveот Apply Style Model,negativeот ConditioningZeroOut,latent_imageот EmptySD3LatentImage. Поставьтеcfgна 1.Flux.1 dev дистиллирована: она следует описанию без обычного усиления, а больший
cfgвыжигает картинку. Пустой латент 1024 × 1024 ей подходит.Раскодируйте и сохраните
Добавьте VAE Decode и Save Image: выход ноды KSampler в
samples, выход ноды Load VAE вvae, картинку вimages.Когда образец побеждает слова (чтение)
При
strength1 у Apply Style Model Redux часто копирует образец и забывает описание. Опустите до 0.5, и слова снова получат голос.Два образца: поставьте две ноды Apply Style Model цепочкой, выход первой в
conditioningвторой, у каждой своя картинка, как в шаблоне.Для SD 1.5 и SDXL та же мысль это IP-Adapter, смотрите урок «Картинка-образец через IP-Adapter».
Граф готов (чтение)
Сохраните граф через «Файл ▸ Сохранить workflow для ComfyUI…», откройте файл в ComfyUI и запустите там. Само приложение в ComfyUI ничего не запускает.
Что попробовать: одно описание с двумя очень разными образцами.
Что проверяет урок
Шаг для чтения сделан, когда вы нажимаете Понятно, дальше. Шаг с делом отмечается сам, когда на холсте есть:
- Шаг 2, Загрузите Flux.1:
- нода Load Diffusion Model.
- нода DualCLIPLoader.
- нода Load VAE.
unet_nameноды Load Diffusion Model: значение выбрано.clip_name1ноды DualCLIPLoader: значение выбрано.clip_name2ноды DualCLIPLoader: не тот же файл, что в полеclip_name1ноды DualCLIPLoader.typeноды DualCLIPLoader:flux.vae_nameноды Load VAE: значение выбрано.
- Шаг 3, Напишите описание:
- нода CLIP Text Encode (Prompt).
- нода ConditioningZeroOut.
CLIPноды DualCLIPLoader во входclipноды CLIP Text Encode (Prompt).CONDITIONINGноды CLIP Text Encode (Prompt) во входconditioningноды ConditioningZeroOut.textноды CLIP Text Encode (Prompt): не меньше 3 знаков.
- Шаг 4, Покажите образец:
- нода Load Image.
- нода Load CLIP Vision.
- нода CLIP Vision Encode.
CLIP_VISIONноды Load CLIP Vision во входclip_visionноды CLIP Vision Encode.IMAGEноды Load Image во входimageноды CLIP Vision Encode (можно через Upscale Image или Upscale Image By или Scale Image to Total Pixels или FluxKontextImageScale или Resize Image или ImageResizeKJv2 или Pad Image for Outpainting).imageноды Load Image: значение выбрано.clip_nameноды Load CLIP Vision: значение выбрано.
- Шаг 5, Примените модель стиля:
- нода Load Style Model.
- нода Apply Style Model.
CONDITIONINGноды CLIP Text Encode (Prompt) во входconditioningноды Apply Style Model (можно через FluxGuidance или Apply Style Model).STYLE_MODELноды Load Style Model во входstyle_modelноды Apply Style Model.CLIP_VISION_OUTPUTноды CLIP Vision Encode во входclip_vision_outputноды Apply Style Model.style_model_nameноды Load Style Model: значение выбрано.
- Шаг 6, Пустой латент и сэмплер:
- нода EmptySD3LatentImage.
- нода KSampler.
MODELноды Load Diffusion Model во входmodelноды KSampler (можно через Load LoRA или LoraLoaderModelOnly или DifferentialDiffusion или ModelSamplingAuraFlow или ModelSamplingFlux или CFGNorm или IPAdapter Unified Loader или IPAdapter или IPAdapterAdvanced или IPAdapterStyleComposition).CONDITIONINGноды Apply Style Model во входpositiveноды KSampler (можно через Apply ControlNet или InpaintModelConditioning или Conditioning (Combine) или ConditioningSetArea или ConditioningSetAreaPercentage или ConditioningSetMask или Apply Style Model или FluxGuidance или ConditioningZeroOut или FluxKontextMultiReferenceLatentMethod).CONDITIONINGноды ConditioningZeroOut во входnegativeноды KSampler.LATENTноды EmptySD3LatentImage во входlatent_imageноды KSampler.cfgноды KSampler:1.
- Шаг 7, Раскодируйте и сохраните:
- нода VAE Decode.
- нода Save Image или Preview Image.
LATENTноды KSampler во входsamplesноды VAE Decode.VAEноды Load VAE во входvaeноды VAE Decode.IMAGEноды VAE Decode во входimagesноды Save Image или Preview Image.