AiKraft
Главная/Блог/Гайд/FLUX.3 Image Klein: Революция в…
Гайд11 мин чтения · 15 октября 2026 г.

FLUX.3 Image Klein: Революция в генерации изображений с контролем компоновки

Разбираем новую модель FLUX.3 Image Klein от Black Forest Labs: архитектуру, контроль компоновки через JSON, мульти-референсы и оптимизацию для локального запуска.

FLUX.3 Image Klein: Революция в генерации изображений с контролем компоновки

В мире генеративного искусственного интеллекта каждый новый релиз от ведущих лабораторий воспринимается как событие. Но выход FLUX.3 Image Klein от Black Forest Labs — это не просто очередная итерация. Это фундаментальный сдвиг в том, как мы взаимодействуем с нейросетями для создания визуального контента. Если предыдущие модели были скорее «черными ящиками», где вы бросали промпт и надеялись на лучшее, то FLUX.3 предлагает беспрецедентный уровень контроля. Теперь вы можете не только описывать сцену словами, но и точно указывать, где каждый элемент должен находиться, используя систему bounding-boxes, а также комбинировать несколько референсных изображений в одном запросе.

Эта модель доступна в библиотеке Diffusers с первого дня, что делает её мгновенно доступной для разработчиков и энтузиастов. В этой статье мы подробно разберем, что умеет FLUX.3, как работает её уникальная архитектура с двумя этапами обработки, как использовать контроль компоновки (layout control) для создания сложных композиций, и какие ресурсы требуются для запуска этой мощной машины на вашем оборудовании, включая оптимизации для видеокарт NVIDIA.

01Что такое FLUX.3 Image Klein и почему это важно?

FLUX.3 Image Klein — это открытая модель генерации изображений, которая объединяет в себе три ключевые функции в одном чекпоинте: генерацию из текста (text-to-image), редактирование изображений (image-to-image) и, что самое интересное, контроль компоновки (layout control). Раньше для достижения подобного уровня контроля приходилось использовать несколько моделей или сложные пайплайны с ControlNet. Здесь же всё интегрировано в единую архитектуру.

Модель поставляется в двух основных вариантах:

  • black-forest-labs/flux-3-image-klein: Дистиллированная версия, оптимизированная для скорости. Она генерирует изображение 1024×1024 всего за 16 шагов без необходимости в Classifier-Free Guidance (CFG). Это идеальный выбор для быстрых прототипов и интерактивных приложений.
  • black-forest-labs/flux-3-image-klein-base: Базовая версия, работающая на 50 шагов с CFG. Она предлагает более высокое качество и стабильность, а также является обязательной для обучения LoRA-адаптеров.

Обе модели работают в рамках Modular Diffusers пайплайна. Это означает, что архитектура модульная: вы можете легко заменять отдельные компоненты (например, текстовый энкодер или VAE) или добавлять свои собственные блоки, что открывает огромные возможности для кастомизации.

💡
Совет для старта. Если вы только начинаете работу с FLUX.3, начните с дистиллированной версии. Она генерирует изображение за ~2 секунды на H100, что позволяет быстро итеративно подбирать промпты и параметры без долгих ожиданий.

02Текст в изображение: Искусство детального описания

Хотя FLUX.3 понимает простые запросы, её истинная сила раскрывается при детальном описании сцены. Модель лучше всего реагирует на промпты, которые включают в себя:

  1. Субъект: Кто или что находится в центре внимания.
  2. Окружение: Где происходит действие (лес, город, космос).
  3. Освещение: Время суток, тип света (золотой час, неон, мягкий рассеянный).
  4. Композиция: Углы обзора, фокус, глубина резкости.
  5. Стиль: Фотореализм, иллюстрация, масло, 3D-рендер.

Рассмотрим пример промпта для создания реалистичного фото рыси:

terminalpython
prompt = (
    "A wide-angle wildlife photograph of a red fox standing alert in a snow-covered forest clearing at golden hour. "
    "The fox is centered in the frame, its thick orange winter coat contrasting with the fresh white snow, breath "
    "visible in the cold air. Snow-laden pine trees fill the softly blurred background, and low warm sunlight rakes "
    "across the scene from the left, casting long blue shadows."
)

Такой детальный запрос позволяет модели точно интерпретировать намерения создателя. Обратите внимание на упоминание «long blue shadows» (длинные синие тени) — это конкретный визуальный маркер, который FLUX.3 успешно воспроизводит, добавляя реализма сцене.

Пример генерации из текста (Text-to-Image): Реалистичное фото рыси в зимнем лесу, созданное по детальному промпту.
Пример генерации из текста (Text-to-Image): Реалистичное фото рыси в зимнем лесу, созданное по детальному промпту.

03Мульти-референсы: Комбинирование объектов

Одной из самых мощных функций FLUX.3 является возможность использования нескольких референсных изображений одновременно. Раньше, чтобы поместить конкретного персонажа в новую сцену, приходилось использовать сложные техники inpainting или тренировать отдельные LoRA. Здесь же вы можете просто передать список изображений и указать в промпте, какой объект откуда берется.

Синтаксис использует теги <ref_image_0>, <ref_image_1> и так далее, которые соответствуют порядку передачи изображений в аргументе image.

terminalpython
# Генерируем референсы
red_fox = pipe(prompt="a red fox", generator=torch.Generator().manual_seed(42), output="images")[0]
bench = pipe(prompt="a wooden bench", generator=torch.Generator().manual_seed(42), output="images")[0]

# Комбинируем их
combined = pipe(
    prompt="The fox from  sitting on the wooden bench from  in a snowy setting.",
    image=[red_fox, bench],
    output="images"
)[0]

В этом примере модель берет текстуру и форму лисы из первого изображения, структуру скамьи из второго, и помещает их в единую сцену, сохраняя целостность освещения и перспективы. Это открывает невероятные возможности для создания коллажей, моддинга персонажей в игры или создания рекламных макетов.

Пример мульти-референсов (Image-to-Image): Комбинация лисы и деревянной скамьи из разных изображений в единой сцене.
Пример мульти-референсов (Image-to-Image): Комбинация лисы и деревянной скамьи из разных изображений в единой сцене.

04Контроль компоновки (Layout Control): JSON-магия

Самая инновационная часть FLUX.3 — это система контроля компоновки. Она позволяет вам не просто описывать, что должно быть на картинке, но и точно указывать координаты каждого элемента. Это делается через добавление JSON-списка регионов после текстового описания.

Каждый регион в JSON имеет следующие поля:

  • id: Уникальный идентификатор, который ссылается на тег в промпте (например, <background_1>).
  • bbox: Бounding box в формате [y_min, x_min, y_max, x_max]. Важно: координаты нормализованы в диапазоне 0–1000, что означает, что один и тот же JSON будет работать для изображений любого размера.
  • desc: Текстовое описание того, что должно находиться внутри этого bounding box.

Давайте разберем пример создания минималистичной графики с силуэтом бегуна:

terminalpython
layout_prompt = (
    "Minimalist graphic illustration featuring a black silhouette of a person  centered against a "
    "solid, vibrant chartreuse background . The figure is captured in a dynamic, mid-stride running "
    "pose, facing toward the left side of the frame. "
    '[{"id": "background_1", "bbox": [0, 0, 1000, 1000], "desc": "A flat field of neon yellow-green with a subtle paper texture and fine, organic grain."}, '
    '{"id": "silhouette_1", "bbox": [150, 150, 850, 850], "desc": "A black silhouette of a person in motion, made of dense stippled ink. The leading edges are solid; the trailing arm and leg dissolve into coarse square pixels and scattered dots."}]'
)

В этом коде мы говорим модели: «Займи весь фон (0,0 до 1000,1000) неоново-зеленым цветом, а в центре, в квадрате от 150 до 850, помести силуэт бегуна». Модель строго соблюдает эти границы, что критически важно для дизайна интерфейсов, плакатов и типографики, где важна точная композиция.

Пример контроля компоновки (Layout Control): Минималистичная графика с силуэтом бегуна, размещенным в строго заданной области.
Пример контроля компоновки (Layout Control): Минималистичная графика с силуэтом бегуна, размещенным в строго заданной области.

05Редактирование с перемещением объектов

Контроль компоновки работает не только для генерации с нуля, но и для редактирования существующих изображений. Вы можете указать, откуда берется объект (src_bbox в референсном изображении) и куда он должен переместиться (tgt_bbox в новом изображении).

Представьте, что у вас есть фото с фигуркой рыцаря, и вы хотите сдвинуть его влево, не меняя остальной фон. Для этого нужно зафиксировать остальные элементы, присвоив им одинаковые src_bbox и tgt_bbox, а для рыцаря указать разные координаты.

terminalpython
edit_prompt = (
    "In , move the miniature grey amigurumi knight figure  upwards and to the left along the "
    "yarn cliff . Keep the rest of the image completely unchanged... "
    '[{"id": "knight_1", "from": "ref_image_0", "src_bbox": [500, 150, 850, 350], "tgt_bbox": [194, 55, 544, 255], "desc": "..."}, '
    '{"id": "backdrop_1", "from": "ref_image_0", "src_bbox": [0, 0, 1000, 1000], "tgt_bbox": [0, 0, 1000, 1000], "desc": "..."}]'
)

Здесь рыцарь перемещается из области [500, 150, 850, 350] в [194, 55, 544, 255], а фон (backdrop) остается на месте, так как его координаты не меняются. Это мощный инструмент для точечного редактирования сцен без необходимости перегенерировать всё изображение заново.

Пример редактирования с перемещением: Фигурка рыцаря перемещена в другую часть сцены, в то время как фон остался неизменным.
Пример редактирования с перемещением: Фигурка рыцаря перемещена в другую часть сцены, в то время как фон остался неизменным.

06Архитектура: Как устроен монстр под капотом

Чтобы понять, почему FLUX.3 так быстро и качественно работает, нужно заглянуть в её архитектуру. Модель является латентной flow-моделью, что означает, что она работает не с пикселями напрямую, а со сжатым латентным представлением.

От пикселей к токенам

VAE (Variational Autoencoder) в FLUX.3 сжимает изображение в 8 раз по каждой оси и использует 32 канала. Затем каждые 2x2 патча латента упаковываются в один токен с 128 каналами. Таким образом, один токен покрывает область 16x16 пикселей. Изображение 1024x1024 превращается в сетку 64x64, то есть 4096 токенов. Шум, с которого начинается генерация, имеет точно такую же форму.

Текстовый энкодер Qwen3-VL

В отличие от стандартных CLIP-энкодеров, FLUX.3 использует Qwen3-VL — большую мультимодальную языковую модель. Но здесь есть нюанс: модель не берет только последний слой. Она извлекает скрытые состояния из восьми слоев (4, 8, ..., 32 из 36) и объединяет их. Каждый текстовый токен становится вектором размерности 20,480 (8 * 2560), который затем проецируется в ширину трансформера (3072). Это дает трансформеру богатый контекст на разных уровнях абстракции языка.

Двухэтапная обработка

Трансформер обрабатывает токены в два этапа:

  1. Этап 1: Пер-модальные блоки. Текстовые токены, токены шума изображения и токены референсных изображений обрабатываются отдельно. У каждого типа токенов свои собственные веса (по 5 блоков на поток). На этом этапе каждый тип данных «очищается» и структурируется независимо.
  2. Этап 2: Совместные блоки. Все потоки объединяются в одну последовательность [text | image | reference] и проходят через 28 общих блоков. Здесь происходит магия взаимодействия: изображение учится у текста, а референсы интегрируются в сцену.

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

Схема архитектуры: Визуализация двухэтапной обработки токенов в трансформере FLUX.3 (пер-модальные и совместные блоки).
Схема архитектуры: Визуализация двухэтапной обработки токенов в трансформере FLUX.3 (пер-модальные и совместные блоки).

07Оптимизация и запуск на разных GPU

FLUX.3 — мощная модель, и для её работы требуется значительный объем видеопамяти. Однако Black Forest Labs и сообщество Diffusers предоставляют несколько путей для запуска даже на слабых картах.

Квантование: FP8 и NVFP4

Помимо стандартного bf16, модель доступна в квантованных форматах:

  • FP8R (Rowwise FP8): Работает на GPU с вычислительной способностью 8.9+ (Ada, Hopper, Blackwell). Весы деquantize каждый шаг, что экономит память, но не всегда дает прирост скорости.
  • NVFP4: Эксклюзивно для архитектур Blackwell (RTX 50xx, H200 и т.д.) при использовании библиотек flashinfer. Это самый быстрый и эффективный по памяти вариант.

Загрузить квантованные веса можно через from_single_file, что позволяет избежать загрузки полного bf16 чекпоинта, если у вас мало VRAM.

terminalpython
from diffusers import BFLQuantizationConfig, Flux3Transformer2DModel, ModularPipeline

model_id = "black-forest-labs/flux-3-image-klein-base"
variant = "fp8r" # или "nvfp4"

transformer = Flux3Transformer2DModel.from_single_file(
    f"https://huggingface.co/{model_id}/blob/main/variants/{variant}/model.safetensors",
    config=model_id,
    subfolder="transformer",
    quantization_config=BFLQuantizationConfig(compute_dtype=torch.bfloat16),
    dtype=torch.bfloat16,
)

pipe = ModularPipeline.from_pretrained(model_id)
pipe.load_components(dtype=torch.bfloat16)
pipe.update_components(transformer=transformer)
pipe.to("cuda")

Управление памятью

Если у вас даже 24 ГБ VRAM мало, используйте ComponentsManager с автоматическим CPU-offloading. Это перемещает компоненты на CPU, когда они не используются, экономя память ценой небольшого снижения скорости. Также полезно предварительно закодировать латенты (--cache_latents при обучении) и использовать 8-битный оптимизатор Adam.

⚠️
Важно про скорость. Использование референсных изображений удваивает время генерации. Это связано с тем, что токены референса добавляются к последовательности токенов текста и шума. Для изображения 1024x1024 это добавляет 4096 токенов к каждому вызову трансформера, увеличивая вычислительную нагрузку.

08Обучение LoRA: Адаптация под свой стиль

FLUX.3 поддерживает обучение LoRA как для text-to-image, так и для image-to-image. Это позволяет вам обучить модель специфическому стилю (например, таро-карты, аниме, архитектурный скетч) или научить её выполнять конкретные инструкции по редактированию.

Для обучения стиля таро-карт используется скрипт train_dreambooth_lora_flux3_klein.py. Ключевые параметры для экономии памяти:

  • --gradient_checkpointing: Пересчитывает активации на обратном проходе, снижая потребление VRAM.
  • --cache_latents: Предварительно кодирует изображения, освобождая VAE.
  • --use_8bit_adam: Хранит состояния оптимизатора в 8-битном формате.
terminalbash
accelerate launch train_dreambooth_lora_flux3_klein.py \
  --pretrained_model_name_or_path="black-forest-labs/flux-3-image-klein-base" \
  --dataset_name="multimodalart/1920-raider-waite-tarot-public-domain" \
  --caption_column="caption" \
  --instance_prompt="trtcrd" \
  --output_dir="trained-flux3-tarot-lora" \
  --mixed_precision="bf16" \
  --resolution=1024 \
  --use_aspect_ratio_buckets \
  --train_batch_size=1 \
  --rank=16 \
  --lora_alpha=16 \
  --learning_rate=1e-4 \
  --lr_scheduler="constant" \
  --max_train_steps=1500 \
  --validation_prompt="a trtcrd of a cat, tarot style" \
  --validation_epochs=25 \
  --seed=0 \
  --push_to_hub

Для image-to-image редактирования используется аналогичный скрипт, но данные подаются в виде троек: (референсное изображение, целевое изображение, инструкция). Референс адресуется в промпте как <ref_image_0>.

09Что это значит на практике

Появление FLUX.3 Image Klein меняет парадигму работы с генеративным ИИ. Больше не нужно довольствоваться случайными результатами или сложными компромиссами между качеством и контролем. Теперь вы можете:

  1. Создавать точные макеты: Используя JSON-координаты, вы можете размещать элементы дизайна в строго заданных позициях, что идеально для UI/UX дизайна и рекламных баннеров.
  2. Комбинировать референсы: Легко смешивать объекты из разных источников, создавая сложные сцены без необходимости сложного inpainting.
  3. Экономить ресурсы: Благодаря дистилляции и квантованию, запуск качественной генерации стал возможен даже на потребительских видеокартах, особенно с учетом оптимизаций для российских пользователей, использующих локальные серверы.
  4. Кастомизировать под себя: Гибкая архитектура и поддержка LoRA позволяют адаптировать модель под любые нишевые задачи, от медицинской визуализации до художественных проектов.

FLUX.3 — это не просто еще одна модель. Это инструмент, который возвращает контроль в руки создателя, позволяя направлять творческий процесс с хирургической точностью. Если вы работали с генерацией изображений раньше, обязательно попробуйте этот релиз — он того стоит.

Источник: Hugging Face ↗

FLUX.3 Image Klein: Полный гайд по новой модели от Black Forest Labs | AIKraft