
В первой части мы уже баловали Flux Kontext «девушками и котиками». Сегодня усложним задачу и проверим, как модель справляется с контурными подсказками, заменой цвета/фона и текстурированием 3D‑объектов в интерфейсе Forge WebUI — а заодно сравним результаты с классическим ControlNet (ControlNET для SD 1.5 и SDXL и FluxTools-V2 для Flux) и с ChatGPT.
В рамках этой статьи мы рассмотрим:
Генерацию замка по контуру, с дальнейшей заменой кирпича на розовый цвет;
Генерацию ювелирных часов, с дальнейшей заменой фона на чёрный цвет;
Генерация текстур (битое стекло, лёд, хвоя, шерсть, морская пена) для 3D-текста "DMITRII DAK" (мой никнейм в сети);
Сравнение Flux Kontext с ControlNET для SD 1.5 и SDXL и ChatGPT.
По ходу покажу метрики времени и VRAM, а в финале подведу итоги: где Flux Kontext выигрывает, а где ControlNet остаётся незаменимым. Так же по стандарту проверим генерацию по плану на ChatGPT и с помощью FluxTools-V2.
Все тесты будут проводиться на: системный блок с: RTX 3060 12 GB VRAM / 64 GB DDR4 / Intel i5‑7600K @ 4.2 GHz / NVMe SSD; Windows 10 Home, WebUI Forge последняя версия, Python 3.10.6, CUDA 12.1.
Для вашего удобства я записал видеоролик, где показал, как проводятся все генерации и сравнения. Таким образом, часть статьи вы можете как прочитать, так и просмотреть: https://youtu.be/eRvNjAFZjuM?si=iPTwOBJQNimIDEQn\
Начнём экспериментировать) Сгенерируем замок по контуру
Замок будем генерировать по данному изображению. Промт для контура: Hand-drawn fairy-tale fantasy palace, black contour lines on a white background
Настройки: Steps: 18, Sampler: Euler, Schedule type: Simple, CFG scale: 1, Distilled CFG Scale: 3.5, Seed: 784686931, Size: 1024x1024

Для генерации будем использовать flux1-kontext-dev FP16.
Напишем промт: Generate a realistic castle in the style of realistic photography based on a black and white sketch и настройки Steps: 24, Sampler: Euler, Schedule type: Simple, CFG scale: 1, Distilled CFG Scale: 3.5, Seed: 3412026121, Size: 720x1504, First Block Cache, bc_threshold: 0.12:

Теперь сравним исходное изображение (рисунок) и получившееся:

Несмотря на разницу размеров двух изображений, у flux1-kontext-dev FP16 получилось достаточно неплохо заполнить контуры. Ошибки встречаются лишь у основания главной башенки – в создании окон - на том месте, где их быть не должно.
Рассмотрим приближенно отдельные участки изображения:
1) Здесь видна главная ошибка генерации (изображение ниже):

2) В изображении ниже – кровля замка и основания башенок поменьше - ошибок не наблюдается:

3) Обращаю ваше внимание на узор двери и стен – у модели получилось практически безошибочно повторить все части изображения:

Теперь произведём генерацию замка с розовым кирпичом:
Промт и настройки: Create a realistic pink brick castle in the style of realistic photography based on a black and white sketch
Steps: 24, Sampler: Euler, Schedule type: Simple, CFG scale: 1, Distilled CFG Scale: 3.5, Seed: 1645587105, Size: 720x1504.

С изображением случился некоторый морфинг – удлинилась лестница, но в целом все детали были сохранены и главное, покрашен именно кирпич, а не двери или кровля.
Рассмотрим поближе:


Как видно на 1 и на 2-й увеличенной части изображения сохраняются все детали.
Теперь перейдём к предметам...
Генерация ювелирных часов и замена фона
Генерировать будем по контуру, как и в 1 случае:

Напишем промт и настройки для генерации цветного изображения: Generate a realistic gold watch, photorealistic style, 4k
Steps: 18, Sampler: Euler, Schedule type: Simple, CFG scale: 1, Distilled CFG Scale: 3.5, Seed: 507702987, Size: 1024x1024

И замены фона изображения: replace the white background with black, photorealistic style, 4k
Steps: 24, Sampler: Euler, Schedule type: Simple, CFG scale: 1, Distilled CFG Scale: 3.5, Seed: 507702987, Size: 1024x1024
В расширении Forge FluxKontext замена фона выглядит так (рисунок ниже):

Сравним изображения между собой – отличия минимальны и касаются только текста на циферблате, данную ошибку можно легко доработать в Photoshop или GIMP.

И поближе:

Генерация текстур для 3D-текста
Для теста возьмём 3D-текст, созданный мной ранее в Blender 3D (текст специально срендерен без текстур и буквы специально наклонены под определёнными углами).
Справится ли Forge FluxKontext с тем, с чем с лёгкостью справлялся ControlNET в режиме мультиконтролнет ещё с версии 1.5 c моделями Depth и IP-Adapter?
Ответ – нет, не справится – либо теряются буквы, либо их угол наклона и глубина кадра, либо текстуры.

Напишем промт - Generate 3D letters in the style of broken glass,
Настройки: Steps: 24, Sampler: Euler, Schedule type: Simple, CFG scale: 1, Distilled CFG Scale: 3.5, Seed: 1950121403, Size: 896x576



После генерации видно, что модель может понимать текстуру «разбитое стекло» и даже правильно генерировать текст, но в данном случае оценивается не просто генерация текста или генерация текстур на текст или другой объект, а комплексная генерация – глубина + текст + текстура.
Оставим все настройки без изменений и добавим в промт «Generate 3D letters «DMITRII DAK» in the style of broken glass» и проверим сколько времени займёт генерация исходя из увеличения количества токенов на вход.
Уточнение промта добавило ускорение генерации почти на 20 секунд. Однако текстура уже не напоминает стекло, а скорее бетон или белый мрамор:


Добавим текстуру битого стекла во второе окно расширения Forge FluxKontext и нажмём кнопку генерации:


Наклон и угол букв сохранился, а также все буквы правильно написаны, но текстура опять потерялась. По времени, как видно на скриншоте, теперь 2 минуты и 13 секунд.
Поставим Batch count на 10 и добавим Random Seed и проверим сколько генераций из 10 будут верными по всем 3-м пунктам: правильные буквы в слове + правильность наклона букв + правильные текстуры.


Итог теста не дал все «+3» верных пункта ни в одной из 10 генераций. Можно поставить генерацию Batch count на 100 или даже 1000, но уже сейчас понятно, что Forge FluxKontext не даёт 100% контроль в генерации текстуры и формы.
Сравнение Flux Kontext с ControlNET для SD 1.5 и SDXL и ChatGPT
ChatGPT (модель o3) тоже не смог справиться с данным тестом и в конце предложил мне воспользоваться ControlNET в режиме мульти ControlNET или наложить текстуру в том же Blender 3D)) - вот лентяй)

Теперь попробуем повторить этот же опыт с ControlNET SD1.5 и SDXL (Depth + IP-Adapter или IP-Adapter Plus) и Flux1Tools-V2 (Depth и Redux) и сравним результаты по точности генерации по 3м пунктам, данным выше:
В начале воспользуемся ControlNET SD1.5, модель старая, по сравнению с Flux, но весьма действенная, если работа касается 100% контроля результата.
Будет использоваться модель dreamshaper_8, промт сокращён до 3D letters in the style of broken glass, настройки были изменены на: Steps: 44, Sampler: DPM++ 2M, Schedule type: Simple, CFG scale: 7, Seed: 4168764373, Size: 896x576 и добавлена настройка Hires. Fix для точности и чёткости итоговой генерации: Hires Module 1: Use same choices, Hires CFG Scale: 7, Hires upscale: 2, Hires steps: 30, Hires upscaler: R-ESRGAN 4x+


Как видно из скриншотов интерфейса итоговая генерация имеет все +3 правильных пункта из описанных выше: буквы, наклон + угол и текстура:

Время генерации, конечно, увеличилось до - Time taken: 1 min. 40.6 sec и стал сравним с FluxKontext, однако в данном случае, наконец, был получен тот результат, какой и был изначально задуман.
Хоть здесь представлены именно буквы, но можно перенести представленный процесс на создание стилизованных логотипов в 3D, рекламных макетов, презентаций, product visualization или UI/UX и motion-дизайн.
Похожего результата получилось добиться и на SDXL, были немного изменены настройки в количестве семплов:


Теперь проведём эксперимент на Flux1Tools-V2 - это ControlNET для Flux 1-Dev.
При работе с Flux1Tools-V2 мы сразу сталкиваемся с ограничением точности обработки глубины.
Если в ControlNet для SD1.5 или SDXL самой надёжной моделью для Depth является depth_anything_v2, то в Flux1Tools-V2 её выбрать невозможно. Более того, загрузить собственные модели глубины вручную также не представляется возможным: в папке webui\extensions\sd-forge-fluxtools-v2 отсутствуют как модели, так и отдельный каталог для их размещения. Аналогичная ситуация и в webui\models. Из доступных вариантов наиболее точной считается depth_leres++, однако на практике её качество оставляет желать лучшего.

Кроме того, расширение имеет ещё одно ограничение: оно работает только с одним глобальным Checkpoint, что исключает возможность одновременного использования двух функций — например, Depth и Redux. Поэтому мы будем тестировать каждую модель по отдельности для генерации 3D-букв с текстурой «broken glass».

Проведём тест на Flux1Tools-V2, flux1-Depth-Dev_FP8, модель Depth, процессор depth_leres++


Результат оказался неудовлетворительным: заметно низкое качество и отсутствие точности в воспроизведении текста и углов наклона букв. Основная причина — слабая модель глубины по сравнению с решениями ControlNet для SD1.5 или SDXL.
Проведём тест на Flux1Tools-V2, flux1-Dev_FP8, модель Redux

Результат также оказался далеким от точности.

Итог
В ходе тестирования стало очевидно, что ControlNet Depth в связке с IP-Adapter для SD 1.5 или SDXL значительно превосходит Flux Kontext Dev и Flux1Tools-V2 по ряду ключевых параметров:
Сохранение формы и пропорций объектов. При работе с 3D-текстом ControlNet корректно передал все буквы, сохранил их расположение, угол наклона и размер. Flux, напротив, деформировал текст, добавляя лишние элементы или удаляя буквы.
Точность передачи глубины. Модель depth_anything_v2, доступная в ControlNet, обеспечивает более детализированное восприятие глубины, что критически важно для задач с перспективой и наклоном. Flux ограничен менее точной моделью (depth_leres++), что негативно сказывается на результате.
Гибкость и комбинации моделей. ControlNet позволяет одновременно применять Depth и IP-Adapter, добиваясь максимальной точности и стилизации. В Flux1Tools-V2 это невозможно: расширение работает с одним глобальным Checkpoint, исключая комбинированные сценарии (например, Depth + Redux).
Для задач, где критична геометрическая точность (3D-текст, сложные ракурсы, интеграция в дизайн с сохранением исходной структуры), ControlNet Depth + IP-Adapter SD 1.5 или SDXL на сегодняшний день остаётся более надёжным и профессиональным инструментом, чем Flux Kontext Dev и тем более Flux1Tools-V2.
Более подробно генерация описана в моей книге «Stable Diffusion: 22 урока для начинающих»: https://bhv.ru/product/stable-diffusion-22-uroka-dlya-nachinayushhih/
Актуальную информацию в сфере AI, 3D и графики смотрите в Telegram‑канале (видеоуроки): https://t.me/photoudzen