Hugging Face добавила в Diffusers FLUX.3 Image Klein от Black Forest Labs

Hugging Face добавила в Diffusers FLUX.3 Image Klein от Black Forest Labs

Hugging Face опубликовала в блоге разбор FLUX.3 Image Klein, новой открытой модели генерации изображений от Black Forest Labs, и её поддержки в библиотеке Diffusers. Обе открытые контрольные точки (checkpoints) собраны в коллекции FLUX.3 Image Klein, а попробовать модель можно в пространстве (space) на Hugging Face.

Одна модель закрывает три задачи: генерацию по тексту, изображение по изображению с несколькими референсами и управление раскладкой через ограничивающие рамки (bounding boxes). Дистиллированная версия по умолчанию строит картинку 1024 × 1024 за 16 шагов, и, по утверждению авторов, на H100 это занимает около 2 секунд. Базовая версия (base) делает 50 шагов с classifier-free guidance, и именно её советуют дообучать.

Запуск: нужны свежие diffusers и transformers (последние нужны для текстового энкодера Qwen3-VL), затем модель загружается через ModularPipeline из black-forest-labs/flux-3-image-klein. Для лучшего результата промпт стоит писать как полное описание сцены: объект, обстановка, свет, композиция, стиль. В режиме изображения по изображению референсы передаются аргументом image, а в промпте на них ссылаются как на <ref_image_0>, <ref_image_1> и так далее в порядке передачи.

Управление раскладкой устроено так: после описания добавляется JSON-список областей, у каждой есть id, bbox и desc, а в тексте область упоминается как . Рамки задаются в порядке [y_min, x_min, y_max, x_max] (сначала y) в шкале 0-1000, поэтому одна и та же рамка работает при любом размере картинки. При правке изображения каждая область указывает, откуда берётся содержимое (src_bbox в референсе) и куда оно попадает (tgt_bbox в результате); область с одинаковыми рамками остаётся на месте. В примере авторов вязаного рыцаря сдвигают вверх и влево, а фон, скалу, иглу, дракона и огонь закрепляют.

Black Forest Labs также выпускает трансформер одним файлом в bf16 и двух квантованных форматах, fp8r (построчный FP8) и nvfp4. Они загружаются через from_single_file и рассчитаны на видеокарты поменьше; остальные компоненты подгружаются по имени, чтобы не скачивать лишний bf16-трансформер.

Для дообучения diffusers содержит скрипты DreamBooth LoRA для текста в изображение и для редактирования по инструкции (на тройках: референс, целевое изображение, инструкция); можно обучать и в AI Toolkit от Ostris. В примере стиль таро-карт обучают на датасете multimodalart/1920-raider-waite-tarot-public-domain с rank=16, lora_alpha=16, learning_rate=1e-4 и max_train_steps=1500; для экономии памяти добавляют gradient_checkpointing, cache_latents и use_8bit_adam.

По ресурсам: чтобы снизить расход памяти, можно загрузить квантованный трансформер, запустить текстовый энкодер отдельно и освободить его (он работает один раз на изображение, до шумоподавления) или включить автоматическую выгрузку на CPU, её авторы не замеряли. Скорость дистиллированной версии (16 шагов) измеряли на одной NVIDIA H100 80GB без выгрузки, со стандартным бэкендом внимания, усредняя три прогона после прогрева. Референсное изображение примерно удваивает время: токены референса идут в той же последовательности, и 1024 × 1024 добавляет 4096 токенов в каждый вызов трансформера.

В архитектурной части сказано, что FLUX.3, латентная flow-модель с той же архитектурой VAE, что и Flux.2: изображение сжимается в 8 раз по каждой стороне в 32 канала, затем каждый патч 2 × 2 упаковывается в токен со 128 каналами. Один токен покрывает область 16 × 16 пикселей, а картинка 1024 × 1024 превращается в сетку 64 × 64, то есть 4096 токенов. Модель получает три вида токенов: текст, шумное изображение и необязательные референсы. Доступный текст обрывается на этом разделе, поэтому о внутреннем устройстве трансформера и разделе Modular Diffusers здесь сказать нечего; по заявлению авторов, модель поставляется как Modular Diffusers pipeline, где блоки можно убирать и добавлять свои.

Ключевые факты

  • FLUX.3 Image Klein, открытая модель Black Forest Labs: генерация по тексту, изображение по нескольким референсам и управление раскладкой через рамки в одной модели.
  • Дистиллированная версия строит картинку 1024 × 1024 за 16 шагов по умолчанию; по утверждению авторов, около 2 секунд на H100. Базовая версия делает 50 шагов с classifier-free guidance и предназначена для дообучения.
  • Трансформер доступен одним файлом в bf16, fp8r и nvfp4; квантованные веса загружаются через from_single_file и ориентированы на небольшие видеокарты.
  • В diffusers есть скрипты DreamBooth LoRA для текста в изображение и для редактирования; пример обучения, rank=16, 1500 шагов на датасете таро-карт.
  • Референсное изображение примерно удваивает время генерации: 1024 × 1024 добавляет 4096 токенов в каждый вызов трансформера.

Почему это важно

Это очередная открытая модель генерации изображений от Black Forest Labs, и сразу с готовой поддержкой в Diffusers, популярной библиотеке для запуска и дообучения таких моделей. В одной модели собраны генерация по тексту, правка по нескольким референсам и точное размещение объектов по рамкам, а дистиллированная версия, по заявлению авторов, укладывается примерно в 2 секунды на H100. Для тех, кто работает с открытыми весами, важно и то, что сразу есть квантованные варианты и скрипты LoRA.

Кому это важно

Разработчикам, которые строят генерацию изображений на открытых моделях и уже используют Diffusers. Тем, кто хочет дообучать стиль или правку через LoRA. Владельцам видеокарт поменьше: для них предназначены веса fp8r и nvfp4. Тем, кому нужна управляемая раскладка кадра: объекты можно размещать и переносить по рамкам в шкале 0-1000.

Как это применить

Установите свежие версии: pip install -U diffusers transformers (transformers нужна для текстового энкодера Qwen3-VL). Загрузите дистиллированную модель через ModularPipeline.from_pretrained("black-forest-labs/flux-3-image-klein"), затем load_components в bf16 и перенос на cuda. Промпт пишите как полное описание сцены: объект, обстановка, свет, композиция, стиль. Для дообучения берите базовую точку black-forest-labs/flux-3-image-klein-base и скрипт train_dreambooth_lora_flux3_klein.py (для правки, вариант img2img). Если памяти мало, добавьте gradient_checkpointing, cache_latents и use_8bit_adam либо загрузите квантованный трансформер через from_single_file. Условия лицензии и цены в доступном тексте не указаны, проверьте их на странице модели.

Можно ли доверять

Источник, блог Hugging Face, с кодом и воспроизводимыми примерами. Скорость около 2 секунд, заявление авторов для конкретной конфигурации: одна H100 80GB, без выгрузки, стандартный бэкенд внимания, среднее по трём прогонам после прогрева. В доступной части текста нет сравнений качества с другими моделями (в том числе с FLUX.2 или конкурентами), нет данных о числе параметров, лицензии и обучающих данных; сам текст обрывается посреди раздела об архитектуре, так что часть выводов остаётся за пределами видимого.

Риски и подводные камни

Референсное изображение примерно удваивает время генерации, поэтому 2 секунды относятся к случаю без референса. Автоматическая выгрузка на CPU авторами не замерялась, так что её влияние на скорость неизвестно. Таблица замеров скорости и данные по памяти в доступном тексте не видны. Для текстового энкодера нужен свежий transformers, а квантованные веса требуют отдельной загрузки через from_single_file с BFLQuantizationConfig. Для дообучения предназначена базовая версия, а не дистиллированная, и примеры LoRA рассчитаны на разрешение 1024.