FLUX.1 и SwarmUI
Генерируем картинки новой открытой моделью
Что за Flux?
Flux — новейшая базовая модель (а точнее — семейство моделей) генеративного искусственного интеллекта для создания изображений по текстовым описаниям. Flux, созданный покинувшими компанию Stability AI разработчиками, уже предлагает все то, что должна была обеспечить архитектура Stable Diffusion 3, которая до сих пор в подвешенном состоянии.
Модель Flux отличается новым текстовым декодером с 12 миллиардами параметров, что позволяет ей намного увереннее распознавать запросы и точнее следовать им. При обучении модели не было той жесткой цензуры, которая привела к практически полной неработоспособности Stable Diffusion 3 Medium; в результате позы людей у Flux выглядят более естественными. С количеством пальцев на руках дело стало лучше, но проблема побеждена не до конца; добавлена работа с текстом на изображениях — то, что заявлялось как принципиальное отличие Stable Diffusion 3.
Модель существует в трех вариантах:
- FLUX.1 [pro] — полная версия модели, доступная только через API. Да, разработчики тоже хотят кушать, а их инвесторы — получить прибыль;
- FLUX.1 [dev] — самая крупная модель с 12 миллиардами параметров, доступная для локальной установки. Модель открытая, весовые коэффициенты доступны для скачивания и дальнейшего обучения, но с оговорками: лицензия на эту модель некоммерческая; возможность коммерческого использования оговаривается отдельно;
- FLUX.1 [schnell] — дистиллированная турбо‑версия модели, позволяющая создавать изображения всего за четыре шага. Эта модель распространяется по лицензии Apache 2.0, но обучить ее производные, скорее всего, не получится в силу технических ограничений.
Нас интересуют две последние модели — dev и schnell.
А кто разработчики?
О том, что Black Forest Labs состоит из выходцев из Stability AI, не написал только ленивый. Эта команда разработчиков стояла у истоков технологии латентной диффузии, впоследствии покинув Stability AI и основав собственную компанию. На Reddit есть немного дополнительной информации.
Возможности Flux
Flux — гигантская по современным меркам модель, способная воспринимать огромное количество концепций и рисовать в широком диапазоне стилей. На словах это мало отличается от возможностей моделей SDXL, особенно с учетом многочисленных ремиксов и лор. На деле же результаты работы Flux поражают. И ведь это только первая версия базовой модели на основе новой архитектуры. Улучшения наверняка на очереди.
Модель способна работать с текстом, то есть добавлять на картинки надписи в точности, как просили. Кстати, обрати внимание на очки — слабое место SDXL.

Flux неплохо понимает необычные концепции.

Способна воспроизводить уличные сценки (обрати внимание на руки; это исходная генерация без использования восстанавливающих моделей).

Выдает кадры из псевдоисторических голливудских фильмов (на руке с первой попытки — пять пальцев; незамутненное счастье).

И даже рисует иллюстрации для детских книг.


Для всего этого разнообразия не потребовалось ни «бросания костей» в виде многочисленных попыток генерации, ни поиска и скачивания соответствующих лор.
Хочешь попробовать новую модель на своем компьютере? Ни AUTOMATIC1111, ни WebUI Forge для этого не подойдут. На момент написания статьи единственный софт, поддерживающий Flux, — ComfyUI или он же с оболочкой SwarmUI.
Дальше мы рассмотрим продвинутый инструментарий, позволяющий не только получить доступ к большому числу тонких настроек нейросети, но и автоматизировать генерацию высококачественных изображений.
Читай также
Ранее мы уже изучили базовые возможности Stable Diffusion и установку нейросети на компьютер, рассмотрели несколько базовых моделей и научились работать с лорами, стилями и рефайнерами в приложении Fooocus. Это приложение прекрасно подходит для начала работы, позволяя сразу же получить красивые изображения, но довольно скоро пользователь упирается в потолок. В Fooocus нет возможности сразу генерировать картинки в высоком разрешении или автоматически исправлять проблемы с руками и лицами; для этого существуют более продвинутые, но и намного более сложные в использовании варианты, один из которых мы будем изучать. А в прошлой статье мы разобрались еще с одним продвинутым интерфейсом — WebUI reForge.
Comfy и SwarmUI
ComfyUI — одновременно и бэкенд, то есть движок, и фронтенд, то есть интерфейс, для генерации изображений по текстовым описаниям. Движок Comfy — один из лучших, а управление памятью, пожалуй, лучшее из имеющегося на сегодняшний день. В то же время интерфейс ComfyUI своеобразен, сложен в освоении и нравится не всем. Ниже — пример простейшей настройки генерации в Comfy с использованием модели SDXL и рефайнера.

Усложнение условий генерации усложняет и диаграмму. Впрочем, у такого подхода есть и положительные стороны: полный доступ ко всем внутренностям движка и возможность как сохранять, так и скачивать готовые диаграммы‑воркфлоу, позволяющие буквально в несколько кликов повторить то, на создание чего у автора диаграммы ушли многие часы работы.
Если же тебе хочется чего‑то более привычного, то на помощь придет SwarmUI — оболочка для Comfy, интерфейс которой очень похож на A1111. SwarmUI — продукт очередного выходца из Stability AI (интересно, там вообще кто‑нибудь остался?). Его место среди прочих интерфейсов можно описать так:
- Fooocus — простой продукт для начинающих;
- AUTOMATIC1111 — «классический» WebUI, апстрим для разнообразных форков;
- WebUI Forge — форк AUTOMATIC1111 с более высокой скоростью работы и оптимизированным механизмом работы с видеопамятью. На данный момент ведется активная разработка, репозиторий в статусе экспериментального; в продукте будут отрабатываться новые технологии — от интерфейса Gradio 4 до нового движка;
- WebUI reForge — активный форк WebUI Forge, в котором присутствуют как оптимизации Forge, так и новинки из AUTOMATIC1111 и ComfyUI;
- ComfyUI — мощный и отлично оптимизированный продукт с самой широкой совместимостью с различными технологиями диффузии. Интерфейс в стиле блок‑схем — не для всех;
- SwarmUI — оболочка для Comfy, напоминающая WebUI. «Вы находитесь здесь!»
Установка и начало работы
SwarmUI сейчас имеет статус бета‑версии и активно разрабатывается. Готового файла для скачивания пока нет; для установки SwarmUI в Windows тебе придется самостоятельно установить:
- менеджер пакетов WinGet из Microsoft Store;
- Git для Windows;
- DotNet 8 SDK с сайта Microsoft.
После этого скачай .bat-файл установщика и запусти его. Дистрибутив установится в папку SwarmUI. В процессе установки скачается и распакуется архив с портативной версией Comfy, который используется в качестве движка.
Пока не спеши ничего запускать; для работы с Flux тебе придется скачать еще несколько файлов. Процесс описан в документации в разделе Black Forest Labs’ Flux.1 Models.
Для начала определись, какую версию Flux ты хочешь установить. Доступны следующие варианты:
- полная 16-битная версия FLUX.1 (dev);
- 16-битная турбо‑версия FLUX.1 (schnell);
- 8-битная версия FLUX.1(dev);
- 8-битная версия FLUX.1 (schnell).
16-битные версии хорошо подойдут к видеокартам с минимальным объемом видеопамяти 16 Гбайт, при этом полная версия требует двадцати или более шагов генерации, а «турбо» — ровно четыре шага. Эти модели нужно сложить в папку (
.
8-битные версии подходят для видеокарт с 12 Гбайт видеопамяти и менее. Качество по сравнению с 16-битными моделями страдает незначительно. Эти модели нужно класть в папку (
.
После этого нужно скачать VAE (файл ae.
) из репозитория модели и положить его в папку (
.
Все, на этом подготовка закончена — можно запускать SwarmUI командой launch-windows.
. И снова придется немного подождать, пока скрипт доустановит зависимости. Когда процесс завершится, откроется окно с интерфейсом (придется еще подождать окончания загрузки движка).

Для работы с Flux выбери модель (в правом нижнем углу), установи параметр CFG
в единицу, а параметр Steps (количество шагов) — 20 для обычных моделей или 4 для версии «турбо».
info
Параметр CFG (Classifier Free Guidance) используется для управления балансом между точностью следования текстовому запросу и креативностью конечного изображения. Это достигается путем совместного обучения условной (cond) и безусловной (uncond) диффузионных моделей. В свое время сама возможность использовать негативные ключевые слова появилась в виде хака — запроса uncond
. По изначальной задумке — латентный шум или «латентное ничто». Чем выше параметр CFG, тем больше расстояние между результатами моделей cond и uncond и тем точнее модель следует текстовому запросу. Избыточно высокие значения CFG приводят к «выгоранию» картинки из‑за роста контраста и насыщенности, а чрезмерно низкие — к ее блеклости и выцветанию. Если CFG равен единице, модель uncond не участвует в вычислениях, что исключает возможность использовать негативные ключевые слова, но и вдвое сокращает время генерации.
Теперь можно вводить запрос в поле Prompt (поле Negative Prompt оставь пустым, модель пока не поддерживает негативные ключевые слова) и жать большую кнопку Generate. Модель Flux — очень тяжелая; для начала генерации ее требуется загрузить в память видеокарты. Это может занять около минуты, однако все последующие генерации будут стартовать моментально. Собственно, на этом всё, можно наслаждаться сгенерированными изображениями.
Шпаргалка: ограничения модели FLUX.1 (dev)
-
CFG=1
; - не поддерживаются негативные ключевые слова;
- не поддерживаются весовые коэффициенты токенов;
- пока не поддерживаются лоры, текстовые инверсии, IP-Adapter, ControlNet;
- число шагов больше или равно 20 (обычная модель) или равно 4 (турбо).
Дополнительные настройки
Когда тебе надоест генерировать квадраты 1024 на 1024, изменить соотношение сторон можно в настройке Resolution.

Обрати внимание: если для SDXL рекомендуют разрешение в 1 мегапиксель, то для модели Flux размеры картинки могут варьироваться в широких пределах от 0,5 до 2 мегапикселей. Модель прекрасно работает, если ты установишь «широкоформатное» разрешение 1920 ✕ 1080.
А если нужно еще больше? Тоже не проблема: в SwarmUI есть аналог Hires.fix. Он находится в разделе Refine/Upscale, где ты можешь выбрать настройки для повышения разрешения.

Сразу откажись от использования встроенных моделей из списка Refiner Upscale Method. В статье «ReForge. Улучшаем картинки, генерируемые Stable Diffusion» я подробно описал хорошие модели для повышения разрешения. В качестве универсальной модели порекомендую 4xNomos8kDAT; скачай ее и положи файл в папку (
. Перезапускать интерфейс нет необходимости, для появления модели в списке достаточно кликнуть на вкладке Models в нижней части экрана и нажать иконку «Обновить».
Настройки Refine/Upscale можно использовать те, что на скриншоте выше: 0,2 для Refiner Control Percentage, коэффициент апскейла от 1,4 до 2 (в поле Refiner Upscale). Остальные настройки пока не трогай. В будущем, если ты решишь попробовать использовать модель SDXL для повышения разрешения картинок, сгенерированных Flux, ты можешь выбрать другую базовую модель — но не забудь в таком случае включить Refiner CFG Scale, установив его в значение 7 (стандарт для моделей SDXL). Наконец, не забудь включить основной переключатель справа от надписи Refine/Upscale.

Впрочем, достоинства SwarmUI не ограничиваются одним лишь повышенным разрешением. В интерфейсе есть почти всё, что нужно для повседневной работы, в том числе многие вещи, которые в WebUI/Forge реализованы через расширения. Подробно об этом можно почитать в англоязычной статье на Civitai; мы же рассмотрим самое интересное.
Рука-лицо
Традиционная проблема генеративных нейросетей (и Flux здесь, увы, не исключение) — слабая прорисовка мелких объектов, таких как кисти рук и лица, если они не занимают большую часть изображения. В Fooocus мы уже исправляли лица и руки с помощью инструмента inpaint; в WebUI/Forge этот процесс можно автоматизировать расширением ADetailer или uddetailer.
В SwarmUI проблема решается легко и изящно через механизм сегментации, использующий CLIPSeg. Прямо в текстовый запрос добавляются токены следующего вида:
<segment:hand:0.3,0.5> текстовое описание того, как должна выглядеть рука
<segment:face:0.3,0.5> текстовое описание того, как должно выглядеть лицо
Здесь hand и face — объекты, которые мы хотим выделить и отрисовать в высоком разрешении; первый числовой параметр (0.3) — допустимая степень мутаций (попробуй значения между 0.2 и 0.6, чем больше — тем сильнее будут изменения; по умолчанию 0.6, но это многовато), а последний (0.5) — степень достоверности распознавания объекта (задашь 0 — и будет выбрано все изображение целиком, 1 — не будет выбрано ничего; 0.5 — хорошее начальное значение).
Если бы не завышенное значение допустимых мутаций 0.6, можно было бы и вовсе остановиться на упрощенном запросе вида <
. Для удобства сегменты лучше располагать в отдельных строках; отбить строку в запросе можно нажатием Shift-Enter.
После токена <
идет текстовый запрос, в котором можно описать желаемый объект. Если оставить запрос пустым, программа отрисует объект, основываясь на исходном изображении.
info
При желании для распознавания и сегментации можно использовать и модели архитектуры Yolo, а для отрисовки объектов — подключить отдельную модель.
Перед использованием сегментации обязательно включи две настройки в разделе Regional Prompting: Segment Mask Blur (по умолчанию 10) и Segment Mask Grow (как правило, указывают значение от 4 до 16 пикселей). Segment Mask Grow указывает количество пикселей, на которые будет «раздвинута» маска распознанного объекта, а включение Segment Mask Blur поможет избежать резких контуров на границах объектов.

Пример использования:
a photo of a man petting a cat in a park in autumn, amber glow, falling leaves
<segment:cat> hd photo of a cat, beautiful, film grain, furry masterpiece
<segment:man's face> a close up photo of a man's face, beautiful, film grain, masterpiece
В процессе будут распознаны и детально отрисованы кот и мужское лицо.

Результат: пушистый кот и представительный мужчина.

А если запрос (с тем же сидом) составить таким же и заменить на фото кота лисенком — но не в основном запросе, а в сегменте?
a photo of a man petting a cat in a park in autumn, amber glow, falling leaves
<segment:cat,0.8,0.5> hd photo of a fox, beautiful, film grain, furry masterpiece
<segment:man's face> a close up photo of a man's face, beautiful, film grain, masterpiece
<segment:hand> a close up photo of a man's hand petting a fox

Получилось! Мужчина тот же, а вместо кота — вполне узнаваемый лис.
Поиграв настройками Segment Mask Grow и Segment Mask Blur, можно добиться практически идеального результата (в примере выше я этого не делал, так что артефакты весьма заметны), при этом основное изображение повторно генерироваться не будет — программа возьмет изначальную картинку из кеша.
Зачем это может понадобиться? Например, для замены объекта, если при генерации использовать Init Image; впрочем, это тема для отдельной беседы.
Конфиги и пресеты
Серьезная проблема WebUI/Forge — можно сохранить только один набор настроек. Возможность сохранять разные конфиги в WebUI реализуется сторонними расширениями; ни одно из них не совершенно, и для сохранения ряда настроек требуется вручную редактировать конфиг‑файл уже самого расширения. В SwarmUI сохранить настройки проще простого: достаточно открыть вкладку Presets в нижней части экрана и нажать Create New Preset, после чего в появившемся окне выбрать те настройки, которые будут восстановлены при выборе данного пресета.

Интересная особенность: можно выбрать (и восстановить) несколько пресетов одновременно; полезно, например, если в одном пресете хранится тип модели и настройки для нее, в другом — настройки апскейла и так далее.
Пожалуй, на этом сегодняшний рассказ о SwarmUI можно завершить, но в интерфейсе есть еще много интересного. Если тебе понравится SwarmUI — пользуйся! Для относительно несложных вещей он вполне способен заменить WebUI, а для сложных никто не мешает переключить интерфейс в режим диаграммы Comfy Workflow с его полным контролем над процессом или запустить WebUI.
Ждем Stable Diffusion 3 или не ждем?
Ждем! Разнообразие — это хорошо. Несмотря на огромный объем, у модели Flux есть свои ограничения. Ее тяжело, дорого (в силу повышенных требований к видеопамяти) и невыгодно (из‑за лицензии) обучать, поэтому производных моделей на основе Flux, скорее всего, будет ограниченное количество — если они вообще появятся, в чем разработчики Stability AI публично усомнились.
У разработчиков Flux свое понимание того, что является «безопасным»: по их мнению, женская грудь большой опасности для жизни на планете не представляет, а вот дипфейки — вещь неприятная; соответственно, из текстового декодера были удалены имена актрис и многих медийных персон. Кроме того, есть и несколько чисто технических ограничений (возможно, временных): CFG
должен быть равен единице, а негативные ключевые слова в модели FLUX.1 [dev] не поддерживаются. Наконец, у Flux, по крайней мере в ее первой версии, не слишком хорошо обстоят дела с пониманием изобразительных стилей, художественных направлений и стилизации под творчество конкретных художников, включая классиков.
Для сравнения — три картинки, один и тот же запрос (стимпанк, сепия, робопаук, старое фото).

Дальше — работа базовой модели Stable Cascade, незаслуженно забытой побочной ветки Stable Diffusion.

Наконец, такой результат выдала одна из современных моделей на основе SDXL — результат года работы сообщества, «допилившего» базовую модель SDXL до вполне приличного состояния.

Выводы
Новая модель хороша! Внезапно появившись из ниоткуда, Flux пополнила ряды моделей нового поколения, превзойдя AuraFlow, Hunyuan-DiT, Kolors и PixArt. Основной вопрос, который волнует сообщество пользователей, — возможно ли обучение новой модели, и если возможно, то какие ресурсы для этого потребуются?
Если обучение окажется возможным, то у Flux появится шанс занять нишу, которая прочно оккупирована моделями на базе SDXL. Если же обучение окажется чрезмерно трудоемким или дорогостоящим, то рано или поздно (скорее — рано, учитывая скорость развития технологий ИИ) вперед вырвется одна из альтернативных моделей.