
У кошачьих лапок, женской анатомии и квантованных 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)

Почему локально?
Несмотря на обилие различных «облачных» нейронок и наличия у большинства из них бесплатных (пробных) планов, которые обновляются если не каждый день, то каждую неделю точно – у локальных «генераторов» есть достаточно существенные плюсы:
во-первых мы можете сгенерировать абсолютно всё, что придёт вам в голову – вообще без ограничений, отсутствие цензуры полностью;
во-вторых - независимость от интернета – генерируйте в поезде, в дороге или в лесу)), главное, чтобы рядом была розетка или генератор;
в-третьих – скорость – если у вас хорошая видеокарта можно получить гораздо большую скорость, чем есть скажем у ChatGPT или Midjourney;
в-четвёртых – стабильность и контроль – контролируйте абсолютно все параметры – вы и только вы отвечаете за стабильность и качество результата, зато если правильно всё настроите, то можно запустить 1 скрипт и отправить хоть 100500 генераций на ночь, пока вы будете спать;
в-пятых – приватность - картинки котиков (и не только) остаются в вашей 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:
Вначале загрузим обычный 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
Flux.1-dev GGUF Примечание 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. Но если памяти мало, падает или резко тормозит скорость.
После того как загрузили нужную модель помещаем её по пути \webui\models\Stable-diffusion\Flux – последняя папка «Flux» необязательна, но если вы используете модели других поколений или компаний будет полезно создать для каждой отдельную папку чтобы не запутаться.
\webui\models\Stable-diffusion\Flux Следующим этапом загрузим текстовые энкодеры: нужно загрузить этот файл 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
Текстовые енкодеры нужно поместить в папку по пути - webui\models\text_encoder а vae - webui\models\VAE.
webui\models\text_encoder И наконец, загрузим Flux Kontext dev. На выбор предлагаю FP16, FP8, NF4 и GGUF. Я опять же советую, если у вас 8-12гб VRAM использовать Q8_0.GGUF, но вы можете попробовать любую модель:
FP16: https://huggingface.co/black-forest-labs/FLUX.1-Kontext-dev/tree/main
NF4: https://huggingface.co/AcademiaSD/Flux.1-Kontext-Dev_bnb-nf4.safetensors/tree/main и дополнительно, именно для этой модели, загрузить Lora – дополнительная модель для уточнения деталей: https://huggingface.co/ByteDance/Hyper-SD/blob/main/Hyper-FLUX.1-dev-8steps-lora.safetensors (Lora помещаем по пути webui\models\Lora)
И разные версии GGUF: https://huggingface.co/QuantStack/FLUX.1-Kontext-dev-GGUF/tree/main
Последним штрихом загрузим 3 расширения:
Block Cache: https://github.com/DenOfEquity/sd-forge-blockcache - для оптимизации и ускорения генерации с минимальной потерей качества;
Flux-Kontext: https://github.com/DenOfEquity/forge2_flux_kontext - для основной работы с Flux-Kontext dev;
И по желанию можете загрузить расширение https://github.com/muerrilla/sd-webui-detail-daemon - для увеличения количества деталей.
Все расширения можно загрузить по соответствующим ссылкам, скопировав их URL и поместив его в качестве загрузки расширения по ссылке внутри WebUI Forge – Extensions – Install from URL:

После установки всех моделей и расширений закрываем 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

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

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

Так же проведём сравнение генерации созданное с помощью flux1-kontext-dev-Q8_0 + First Block Cache: 0.14 и Steps: 20 с 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:

Используя тот же самый промт я сгенерировал такое же изображение в 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 успевает прогреть модель — удачного дня и вдохновения!)»