Flux Kontext Dev:Девушки,Котики,Скорость
Flux Kontext Dev:Девушки,Котики,Скорость

У кошачьих лапок, женской анатомии и квантованных Checkpoint есть одно общее - все они начинают «страдать», если генератору не хватает шагов и VRAM.

В этой статье мы рассмотрим сравнение моделей Flux dev Q8_0.GGUF с новой, недавно вышедшей в открытый доступ комьюнити версией Flux Kontext dev Q8_0.GGUF и Flux Kontext dev bnb-nf4 + Hyper Flux.1 dev-8steps Lora и с Flux Kontext dev.safetensors для генерации одиночных изображений и совмещения одного изображения с другим.

Примечание 1: статья написана 50/50 в формате (сравнения моделей/образовательное обучение) + щепотка юмора.

Примечание 2: в статье много ссылок на исходные материалы, ресурсы, модели.

Примечание 3: статья рассчитана «для самых маленьких» поэтому всё объяснено максимально подробно.

Flux Kontext dev — свежая линейка community‑чекпоинтов от компании Black Forest Labs, построенных на архитектуре Stable Diffusion и заточенных под слияние текстовых и визуальных подсказок «в один кадр». В паре с WebUI Forge она превращает локальный ПК в мини‑студию: drag‑and‑drop два изображения, жмём Generate — и вот уже ваша девушка обнимает котика, будто всю жизнь занималась рекламой Whiskas)

Почему локально?

Несмотря на обилие различных «облачных» нейронок и наличия у большинства из них бесплатных (пробных) планов, которые обновляются если не каждый день, то каждую неделю точно – у локальных «генераторов» есть достаточно существенные плюсы:

  1. во-первых мы можете сгенерировать абсолютно всё, что придёт вам в голову – вообще без ограничений, отсутствие цензуры полностью;

  2. во-вторых - независимость от интернета – генерируйте в поезде, в дороге или в лесу)), главное, чтобы рядом была розетка или генератор;

  3. в-третьих – скорость – если у вас хорошая видеокарта можно получить гораздо большую скорость, чем есть скажем у ChatGPT или Midjourney;

  4. в-четвёртых – стабильность и контроль – контролируйте абсолютно все параметры – вы и только вы отвечаете за стабильность и качество результата, зато если правильно всё настроите, то можно запустить 1 скрипт и отправить хоть 100500 генераций на ночь, пока вы будете спать;

  5. в-пятых – приватность - картинки котиков (и не только) остаются в вашей VRAM, а не на серверах OpenAI).

Что именно мы будем сравнивать?

  • Скорость и VRAM‑пик на четырёх конфигурациях моделей.

  • Качество: анатомия рук/лап, текстура кожи/шерсти, сохранение брендинга на флаконе.

  • Стабильность: сколько раз из 10 прогоны не уходят в «шестипалую девочку».

И — да, почему «девушки + котики»? Потому что этот дуэт гарантированно собирает лайки, повышает CTR и оживляет даже самое скучное техническое сравнение ?.

Обозначу вначале своё «железо» для лучшего понимания различных настроек. Все эксперименты и тестирование проводилось на двух «компах»:

  • Системный блок с: RTX 3060 12 GB VRAM / 64 GB DDR4 / Intel i5‑7600K @ 4.2 GHz / NVMe SSD; Windows 10 Home;

  • Ноутбук с: RTX 4070 8 GB VRAM / 32 GB DDR4 / Intel i9‑14900HX / NVMe SSD; Windows 10 Home.

WebUI Forge последняя версия, Python 3.10.6, CUDA 12.1.

Sampler: Euler, Schedule type = Simple; steps: 24 (GGUF) / 10 (NF4 + LoRA); Distilled CFG = 3.5; CFG = 1.

Начнём экспериментировать)

Установка моделей и расширений

В самом начале нам нужно всё это установить. Предположим у вас уже есть (установлен) Forge, но если нет вам нужно его скачать этой ссылке: https://github.com/lllyasviel/stable-diffusion-webui-forge - следуйте инструкции по установке.

Кроме этого, вам потребуется загрузить 8 файлов – готовьте примерно 40гб свободного пространства на SSD-диске, лучше NVMe m.2:

  1. Вначале загрузим обычный Flux.1-dev – у Flux Kontext dev мной замечена небольшая пластиковость кожи и потеря реалистичности некоторых объектов, поэтому лучше держать на своём компе две версии Flux.

    Проанализируйте возможности вашей системы, и загрузите нужный Checkpoint – то на чём будет работать и что-то генерировать наш алгоритм нейросети - в формате GGUF: https://huggingface.co/city96/FLUX.1-dev-gguf/tree/main     или загрузить  FP8.safetensors: https://huggingface.co/XLabs-AI/flux-dev-fp8/tree/main  - чем больше checkpoint – тем больше данных и соответственно больше точность генерации. Однако, если у вас 8-12гб VRAM я всё же советую использовать квантованный Q8_0.GGUF поскольку при его использовании я не заметил никаких проблем в количестве пальцев рук и других артефактов. Если же вам повезло и у вас стоит 3090 или 4090 или 5090 – то вы можете загрузить полноценный FP16.safetensors - https://huggingface.co/black-forest-labs/FLUX.1-dev/tree/main

    Примечание 4: что такое GGUF и чем он отличается от safetensors?

    В теории:

    GGUF = «Grokking GGML Universal Format» – контейнер, придуманный ggml-/llama.cpp-экосистемой. Содержит квантованные (8/6/5/4-бит) блоки весов + расширенные метаданные (tokenizer, линейные слои SD-UNet и т. д.). GGUF спроектирован под постраничное чтение. Лоадер (например, exllama-v2 – умеет разбивать веса на tiles,  детально управлять размещением (GPU-cache, CPU-swap) и перезаписывать слои UNet «на лету») может держать часть блоков в GPU, а «холодные» – в RAM, подтягивая их по PCIe только при необходимости («Горячие» (hot) участвуют в вычислениях почти на каждом шаге (ранние и поздние блоки UNet). «Холодные» (cold) нужны реже). Позволяет запускать 4–8-бит модели на 6-8 GB картe.

    Safetensors = Контейнер-файл (альтернативный .pt/.ckpt) для хранения тензоров PyTorch. Внутри – обычные FP16 (или FP32) веса, размещённые последовательно + JSON-метаданные. Safetensors грузится целиком в GPU. Если VRAM не хватает – PyTorch/драйвер либо фолбекнут (SysMem Fallback - возможность драйвера NVIDIA (начиная с 535.xx) автоматически «разливать» переполненные GPU-буферы в системную память) оставшиеся страницы в ОЗУ, либо кинут CUDA out-of-memory.

    На практике:

    • safetensors: torch.load() - вся модель размечается как CUDA-тензор и за один проход копируется в VRAM. Если памяти нет – CUDA OOM (нехватка памяти) или автоматический spill (медленно).

    • GGUF + exllama-v2: файл memory-map; лоадер читает только заголовок, строит индексы. Далее задаётся GPU cache size (скажем, 5 GB из 8). Часть блоков сразу едет в VRAM, остальные остаются «холодными».

    • safetensors: все веса уже в VRAM – обращаемся к ним без PCIe.

    • GGUF: при переходе к, например, mid-blocks UNet, лоадер проверяет, есть ли нужные тензоры в GPU-кэше. Нет - вытесняет самый «старый» блок, загружает новый из RAM (1-2 мм сек).

    Плюсы / минусы:

    GGUF - даёт экономию VRAM (можно работать на 4-8 GB), но платим большим количеством времени на «распаковку» модели и загрузку.

    Safetensors - быстрее на полноценных 12–24 GB картах и проще: поддерживается «всем», нет зависимости от exllama. Но если памяти мало, падает или резко тормозит скорость.

  2. После того как загрузили нужную модель помещаем её по пути \webui\models\Stable-diffusion\Flux – последняя папка «Flux» необязательна, но если вы используете модели других поколений или компаний будет полезно создать для каждой отдельную папку чтобы не запутаться.

  3. Следующим этапом загрузим текстовые энкодеры: нужно загрузить этот файл https://huggingface.co/comfyanonymous/flux_text_encoders/blob/main/clip_l.safetensors и вот этот - https://huggingface.co/hfmaster/models-moved/blob/0cd2fcc2a918ea05bdb0ae06739701c31fa499ee/flux/t5xxl_fp8_e4m3fn.safetensors  и vae - https://huggingface.co/lovis93/testllm/blob/ed9cf1af7465cebca4649157f118e331cf2a084f/ae.safetensors

  4. Текстовые енкодеры нужно поместить в папку по пути - webui\models\text_encoder а vae - webui\models\VAE.

  5. И наконец, загрузим Flux Kontext dev. На выбор предлагаю FP16, FP8, NF4 и GGUF. Я опять же советую, если у вас 8-12гб VRAM использовать Q8_0.GGUF, но вы можете попробовать любую модель:

  6. Последним штрихом загрузим 3 расширения:

Все расширения можно загрузить по соответствующим ссылкам, скопировав их URL и поместив его в качестве загрузки расширения по ссылке внутри WebUI Forge – Extensions – Install from URL:

WebUI Forge – Extensions – Install from URL
WebUI Forge – Extensions – Install from URL

После установки всех моделей и расширений закрываем Forge и консоль (терминал) и перезапускаем всё заново:

Применить и перезагрузить интерфейс
Применить и перезагрузить интерфейс

Вы увидите такой интерфейс:

Интерфейс Forge (WebUI Forge)
Интерфейс Forge (WebUI Forge)

Сравнение

Проведём сравнение скорость/качество на генерации одного и того же изображения на одинаковых настройках и seed для задач:

  • Генерация в Forge FluxKontext Extension = девушка + котик;

  • Генерация в Forge FluxKontext Extension = девушка + одеколон;

  • Генерация изображения без расширения, используя разные модели.

Дополнительно, сгенерируем по такому же промту для всех сравнений - изображения с помощью ChatGPT Plus и таким образом, узнаем - вкладываться лучше в видеокарту или подписку.

Генерация в Forge FluxKontext Extension = девушка + котик

Девушка - это генерация, котик взят с бесплатных фото стоков
Девушка - это генерация, котик взят с бесплатных фото стоков

Промт на девушку: a beautiful young girl with European features, wearing a short pink sports bra and pink sweatpants for athletic training, big butt, a girl standing on her side posing, the background of a room in an apartment, realistic style, high detail.

Sampler: Euler, Schedule type: Simple, CFG scale: 1, Distilled CFG Scale: 3.5, Seed: 3412026121

Поместим каждое изображение, с помощью drag-and-drop в расширение FluxKontext

FluxKontext: девушка + котик
FluxKontext: девушка + котик

Генерация вышла очень хорошей - все пальцы и лапы в норме, изображение чёткое, цвета не рассыпаются, персонаж (и кот и девушка) консистентен. Но есть проблема - это время затраченное на всего 1 изображение = более 5 минут!

Ускорим генерацию добавив расширение Block Cache - загруженное нами ранее и запустим генерацию вновь (нужно нажать нажать на чекбокс чтобы была галочка и раскрыть список):

Расширение Block Cache
Расширение Block Cache

Изображение сгенерировалось в 2 раза быстрее.

Ниже вы можете увидеть таблицу сравнения нескольких моделей с различными параметрами Block Cache. Наиболее оптимальными в соотношении качество/время генерации - это flux1-kontext-dev-Q8_0 + First Block Cache: 0.14 и Steps: 20.

Таблица сравнения нескольких моделей с различными параметрами Block Cache
Таблица сравнения нескольких моделей с различными параметрами Block Cache

Так же проведём сравнение генерации созданное с помощью flux1-kontext-dev-Q8_0 + First Block Cache: 0.14 и Steps: 20 с ChatGPT Plus:

Сравнение flux1-kontext-dev-Q8_0 с ChatGPT Plus
Сравнение flux1-kontext-dev-Q8_0 с ChatGPT Plus

Как видно на данном этапе открытая dev модель от Black Forest Labs очень близко "подошла" к закрытой модели от OpenAI: были добавлены часы, которые были на исходном изображении, но при этом изменены черты лица.

Генерация в Forge FluxKontext Extension = девушка + одеколон

Теперь совместим одеколон и девушку, для возможного использования изображений в рекламе.

Я сфотографировал 2 мужских духов на зелёном фоне хромакея и сгенерировал новую девушку.

Девушка + одеколон
Девушка + одеколон

Промт для девушки: a beautiful young brunette girl of European appearance with a big booty and big breasts in an evening blue jumpsuit with a cutout at the hips, stands and defiantly poses half-side in black open shoes, white studio background, realistic photo, high detail.

Поместим девушку и каждый от флаконов по отдельности в расширение FluxKontext:

WebUI Forge, FluxKontext Extension = девушка + одеколон
WebUI Forge, FluxKontext Extension = девушка + одеколон

Используя тот же самый промт я сгенерировал такое же изображение в ChatGPT Plus, вашему вниманию таблица сравнения ниже:

Сравнение Flux Kontext Dev с ChatGPT Plus
Сравнение Flux Kontext Dev с ChatGPT Plus

Как не странно, но платная закрытая модель проигрывает модели с открытыми весами)

Лицо девушки в ChatGPT Plus - было изменено + на втором кадре заметна обрезка сверху, так же изменена структура волос и причёска в общем, вырез на комбинезоне и лицо девушки на 1 кадре. Да, Flux Kontext Dev приблизил девушку и обрезал её по бёдра, но для нас в данном случае главное реклама товара и полное совпадение главного героя для возможно дальнейшего создания видео на основе изображений.

Генерация изображения без расширения, используя разные модели

Мною замечена одна неприятная деталь в некоторых случая модель Flux Kontext Dev выдаёт не реалистичную, "пластиковую" кожу по сравнению с прошлой Flux dev, таблица сравнения дана ниже:

Промт на девушку с пышными формами: Beautiful buxom woman with curvy curves, sitting on a laminate floor, white brick wall, blonde hair in soft waves, blue claws jeans, white T-shirt, silver chain with a cross, bracelets, watches, rings, soft lighting, portrait, relaxed pose, thoughtful expression, photorealism, 4k.

Steps: 24, Sampler: Euler, Schedule type: Simple, CFG scale: 1, Distilled CFG Scale: 3.5, Seed: 2563602559

Итог сравнения

NF4‑квантование снижает точность весов, что первым делом бьёт по low‑level geometry (пальцы, когти, мех). Hyper Flux.1 сокращает шаги, форсируя denoiser «догрызать» детали за меньшее число итераций, что в свою очередь провоцирует усиление локальных искажений (мои эксперименты подтверждаются так же данной статьёй в «sandnear»: https://sandner.art/fluxturbo-vs-hyperflux-loras-generate-flux1-dev-image-in-4-9-steps/?utm_source=chatgpt.com ).

FP8 теряет при генерации некоторое количество деталей, а «Пластиковая» кожа в Kontext‑ветке решается Skin‑Detail LoRA.

ChatGPT Plus теряет консистентность в лицах персонажей и к тому же каждое обращение в случае с API – стоит денег, а в случае с обычным обращением - невозможно автоматизировать для пакетной обработки.

Самым лучшим вариантом использования для генерации фотореалистичных людей + какие-либо объекты = изначальная генерация в Flux 1-dev и затем доработка в Flux Kontext dev.

Следующим этапом можно объединить платные технологии - ChatGPT Plus по API с ComfyUI и таким образом существенно ускорить, и автоматизировать процессы.

Сравнение квантования GGUF / safetensors: от Q8 до Q4

Формат

Вид «квантовки»

Экономия VRAM

Визуальная разница с FP16

Когда применять

FP16.safetensors

Полная 16‑бит float

1 ×

Эталон

12 GB+ VRAM; максимум качества

Q8_0.GGUF

8‑бит int, блоковая

~0.6 ×

Почти неотличима (< 1 % артефактов)

8–12 GB VRAM; продакшн‑

рендер

Q6_0.GGUF

6‑бит int, блоковая

~0.45 ×

Лёгкое сглаживание микротекстур; анатомия в норме

6–8 GB VRAM; баланс speed/quality

Q5_0.GGUF

5‑бит int, блоковая

~0.35 ×

Потеря чёткости тонких линий; кожа чуть восковая

< 8 GB VRAM; быстрые черновики, ноуты

FP8

8‑бит float

~0.5 ×

Мягкость, падение деталей ≈ 3‑5 %

Экономия времени важнее деталей

FP4 / Q4_0

4‑бит float / int

~0.25 ×

Блюр текстуры, геометрия ломается

< 6 GB VRAM; только превью

Если дочитали до конца — точно любите котиков и быстрые генерации)

Эта статья дополняет мою книгу «Stable Diffusion: 22 урока для начинающих» от издательства БХВ Петербург на тему «Flux Kontext, TeaCache и GGUF», которое будет бесплатно обновляться вместе с релизами моделей.

Если хотите «ловить» каждый день актуальную информацию в сфере AI, 3D и графики и ещё больше экспериментов, промптов и закулисных «факапов» заглядывайте в мой Telegram‑канал: https://t.me/photoudzen и на YouTube‑канал: https://youtube.com/@dmitriidak Там будет ждать короткий видеоурок по установке Forge + Flux и живое сравнение моделей в реальном времени.

Лайк, подписка и вам комплимент дня – «Пусть ваш код компилируется с первого раза, а дизайн собирает лайки быстрее, чем TeaCache успевает прогреть модель — удачного дня и вдохновения!)»

Комментарии (6)


  1. Moog_Prodigy
    12.07.2025 17:45

    А куда ложить Flux Kontext dev файлик?


    1. Dmitrii_DAK Автор
      12.07.2025 17:45

      \webui\models\Stable-diffusion\Flux - последнюю папку "\Flux" - я добавил для удобства так как кроме Flux использую много разных специализированных моделей SDXL


  1. Bunyaz39
    12.07.2025 17:45

    WebUI Forge реально бодро идёт на 4070. Удивлён


    1. Dmitrii_DAK Автор
      12.07.2025 17:45

      Да, иногда даже быстрее чем на 3060 - сказывается CUDA-ядра, такт и Tensor-Core нового 4-го поколения. 4070 на Ada 4 068 CUDA 1.98 GHz против 3 584 CUDA 1.78 GHz у 3060 12гб)


  1. Barnaby
    12.07.2025 17:45

    Ну прикольно, но нейронке не хватает фантазии, поменять их местами она уже не может.

    Q5_K-S, RXT 3080, 112 sec comfyUI


    1. Dmitrii_DAK Автор
      12.07.2025 17:45

      Пропишите промт, что кот держит в руках девушку, но в таком случае лучше сгенерировать в начале антропоморфного кота с мускулами и потом уже "соединять" с девушкой или маленькой девочкой как в вашем случае.
      Лучше используйте Q8_0 или хотя бы Q_6 для генерации - возможно это займёт гораздо больше времени (хотя ComfyUI лучше оптимизирован), но не будет таких больших проблем с руками и ногами