Сгенерированная титульная карточка с надписью «FLUX 3 Image Klein vs FLUX 3 Image Klein Pup» и подзаголовком «один генерирует изображение, другой пишет промпт». На левой карточке: «Klein: генератор на 5,6B, 5,6 ГБ FP8, INT8 от 8 ГБ», на правой: «Pup: дообученная Qwen3.5 на 9B, 18,8 ГБ BF16, Apache 2.0», а в нижнем колонтитуле: «Обе цифры — по карточкам моделей Hugging Face». Логотип OrcaRouter расположен в правом нижнем углу.
Guides & Insights

FLUX 3 Image Klein vs FLUX 3 Image Klein Pup: модель против собственного генератора промптов

Автор

Magnus Corvin

Дата публикации

Новые модели · 20Все модели →
Бенчмарки: Artificial Analysis · обновляется ежедневно
Назад ко всем статьям

Название в репозитории намекает на сравнение, которого не существует. FLUX 3 Image Klein и FLUX 3 Image Klein Pup выглядят как две модели из одного семейства — так же, как любая другая страница «vs» в этом блоге противопоставляет два генератора с разными сильными сторонами. Но это не так. FLUX 3 Image Klein — это модель изображений на 5.6B, выпущенная 15 октября 2026 года. FLUX 3 Image Klein Pup — под названием «Prompt Upsampler» на своей карточке модели — это языковая модель на 9B, вся задача которой состоит в том, чтобы переписывать ваш короткий промпт в длинное подробное описание, которое модель изображений была обучена получать.

Настоящий вопрос не в том, какой из них лучше. А в том, является ли второй необязательным. Black Forest Labs утверждает, что нет: в карточке модели прямо сказано, что Klein «не предназначена для работы без апсемплера промптов перед ней» и что короткий промпт, отправленный как есть, даёт шаблонный результат. Именно это утверждение и стоит проверить, потому что если его принять, это меняет ваш бюджет памяти, задержку, лицензионные обязательства и — в одном конкретном случае — точность ваших правок.

Что на самом деле представляет собой каждый из этих двух

Разделение чище, чем можно судить по названию. У одной модели есть зрение, у другой — нет, и только одна из них вообще имеет дело с пикселями.

• Роль — Klein генерирует и редактирует изображения; Pup выводит текст и никогда ничего не отрисовывает

• Параметры — 5,6 млрд для генератора, 9 млрд для апсемплера, поэтому вспомогательная модель — более крупная.

• Происхождение — Klein — это модель изображений из линейки FLUX 3; Pup — это полностью дообученная версия Qwen/Qwen3.5-9B, которая, в свою очередь, происходит от Qwen3.5-9B-Base

• Веса на диске — 11,2 ГБ в BF16 и 5,6 ГБ в FP8 для Klein; 18,8 ГБ для safetensors Pup в BF16

• Лицензия — FLUX Kommunity License для Klein, с его порогом выручки в $5 млн; Apache 2.0 для Pup

• Входные данные — Klein принимает текст, референсные изображения и ограничивающие рамки; Pup принимает тот же запрос плюс до 10 референсных изображений и возвращает один промпт

• Вывод — пиксели против английского текста

Последнюю строку люди часто упускают. Язык вывода Pup всегда английский, даже если входной запрос на другом языке. Если ваш конвейер регистрирует промпты для проверки, промпт, который видит проверяющий, — не тот промпт, который ввёл пользователь.

Значение 8 ГБ не сохраняется в стандартном конвейере

Главное аппаратное утверждение относительно Klein: сборка INT8 работает на карте RTX с объёмом видеопамяти всего от 8 ГБ. Это утверждение касается генератора, и само по себе оно, похоже, подтверждается — квантованный чекпойнт создан для этого, а опубликованные вместе с ним тайминги были измерены NVIDIA.

Теперь добавьте конвейер по умолчанию. Веса Pup составляют 18,8 ГБ в BF16 до каких-либо накладных расходов среды выполнения. Вы не можете уместить 18,8 ГБ весов в 8 ГБ видеопамяти. Эти два числа описывают две разные вещи, и в материалах релиза они расположены достаточно близко, чтобы читатель мог обоснованно заключить, что всё это работает на старой видеокарте. Это не так — по крайней мере, не в конфигурации, которую, по словам BFL, ожидает модель.

Есть три честных выхода, и они стоят по-разному:

• Квантуйте апсемплер — для Pup существуют community-сборки GGUF в вариантах Q8_0, Q5_K_M, IQ4_XS и IQ3_S с отдельным проектором зрения, что существенно уменьшает помощника ценой некоторого снижения качества промпта

• Запускайте апсемплер в другом месте — это текстовая модель, поэтому ей не нужно делить GPU с генератором, достаточно сетевого перехода

• Пропустите это с помощью --no-pup — бесплатно, сразу и это тот вариант, который BFL не рекомендует.

Арифметика памяти — это самое полезное, что стоит понимать об этой связке. Она также объясняет целый класс жалоб: кто-то сообщает, что Klein работает медленно или не помещается, а на самом деле он сообщает, что запустил описанный в документации конвейер на оборудовании, рассчитанном на урезанный вариант.

Что Pup делает с промптом

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

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

Это ещё и потеря контроля, причём потеря безмолвная. Ваше предложение не аннотируется — его заменяют. Если апсемплер решит, что послеполуденный свет — это «золотой час», а собака — бордер-колли, генератор никак не узнает, что вы имели в виду не это. Для исследовательской работы это особенность. Для списка кадров это переменная, которую вы не просили.

Четыре режима — и почему режим важнее, чем промпт

Pup — это не одна модель с одним поведением. Она выбирает системный промпт в зависимости от задачи, и таких промптов четыре: текст-в-изображение, изображение-в-изображение, текст-в-изображение с ограничивающими рамками и изображение-в-изображение с ограничивающими рамками. Неверный режим порождает хорошо написанный промпт для неправильной задачи — это сбой, который выглядит как проблема качества модели, но ею не является.

Настройки сэмплирования тоже различаются в зависимости от режима, и это различие не косметическое. Декодирование жадное при нулевой температуре с максимумом в 3 584 новых токена и отключённым мышлением. Штраф за присутствие составляет 1,5 для text-to-image и 0 для редактирования. Этот ноль выбран намеренно: штраф за повторения побуждает модель вводить новый материал, а это именно то, чего не нужно, когда задача — дословно воспроизвести инструкцию редактирования. Референсные изображения также масштабируются по-разному в зависимости от того, сколько вы их предоставляете — около 1 мегапикселя для одного, 724² для двух, 512² для трёх и более — поэтому задача с десятью референсами обусловливается гораздо меньшими изображениями, чем задача с одним референсом.

A generated two-card memory diagram titled 'The default pipeline does not fit in 8 GB'. The left card, headed 'FLUX 3 Image Klein', lists 'Parameters 5.6B', 'FP8 weights 5.6 GB', 'BF16 weights 11.2 GB' and 'INT8 build from 8 GB VRAM'. The right card, headed 'FLUX 3 Image Klein Pup', lists 'Parameters 9B', 'BF16 weights 18.8 GB' and 'Licence Apache 2.0'. A bar across the bottom reads 'Default pipeline: generator plus 18.8 GB of upsampler weights'. A footer reads 'Weights per the Hugging Face model cards; the 8 GB claim covers the INT8 generator alone.' The OrcaRouter logo sits bottom-right.

Лицензия разделена ровно пополам

Это та часть, которой почти не уделяют внимания, а, вероятно, следовало бы. Две половины пайплайна распространяются под разными лицензиями. Klein — это FLUX Kommunity License: бесплатно для коммерческого использования при годовой выручке ниже $5M, платная лицензия — выше этого порога. Pup — Apache 2.0, без каких-либо условий по выручке.

Таким образом, компания, превышающая порог, может свободно использовать апсемплер промптов, и ей всё равно нужна лицензия на использование генератора, который он снабжает. А компания ниже порога, которая хочет дообучать промптную часть, располагает гораздо большей свободой действий, чем та, что хочет дообучать часть изображений. Если вы планируете выпускать продукт, читайте две лицензии по отдельности, а не воспринимайте «стек Klein» как единое целое. Разрешительная половина — это та половина, которую легко упустить из виду.

Что на самом деле меняется, когда вы это отключаете

Отключение Pup — это один флаг, а эффекты несимметричны по задачам.

• Текст-в-изображение — крупнейшая регрессия. Короткие промпты становятся обобщёнными, и это именно тот сбой, о котором предупреждает BFL, а разрыв увеличивается тем сильнее, чем короче ваш промпт

• Мультиреференс — именно апсемплер превращает «поместите этих трёх человек в комнату» в описание, учитывающее все три референса; без него соблюдение референсов заметно ослабевает

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

• Точное редактирование — наименее однозначный случай, и тот, где его отключение может помочь

Этот последний пункт — контринтуитивный, и он происходит из того же места, что и штраф за нулевое присутствие. Инструкция по редактированию обычно узкая: изменить этот объект, переместить этот элемент, удалить эту вещь. Задача апсемплера — расширять, поэтому он расширяет сцену вокруг вашей инструкции, а также саму инструкцию. Когда правка действительно локальна, это окружающее расширение в лучшем случае является шумом. Когда оно противоречит чему-то в кадре, оно хуже шума.

Наш собственный опыт запуска Klein на локализованных правках — изменение одного объекта, перемещение элемента в ограниченную область, сохранение остального кадра нетронутым — показывает, что именно в этом узком режиме модель наиболее убедительна. Что делает вопрос об апсемплере скорее более острым, а не более мягким: задача, в которой генератор сильнее всего, — это также задача, в которой расширение помощника наименее желательно. Протестируйте оба режима на собственных промптах для правок, прежде чем решать. Это случай, когда общий совет поставщика и ваша конкретная рабочая нагрузка могут вполне законно расходиться.

A screenshot of the Hugging Face model card for black-forest-labs/flux-3-image-klein-pup, showing the title FLUX 3 Image Klein Prompt Upsampler, a description of a 9B vision-language model that expands a short image request into a detailed prompt for FLUX 3 Image, the statement that Klein is not meant to run without a prompt upsampler in front of it, the worked example turning 'A man walking with his dog, afternoon sun' into a 220-word caption, an Apache 2.0 licence, 9B parameters in BF16, and a model tree showing a fine-tune of Qwen3.5-9B.A screenshot of the Hugging Face model card for black-forest-labs/flux-3-image-klein, showing a gated-model notice asking the visitor to agree to share contact information, a sample image grid, a model size of 6B parameters in BF16, the tag 'License: flux-kommunity-license', 3,241 downloads in the last month, and model-tree counts of 1 adapter, 4 fine-tunes and 5 quantizations.

Решение на практике

Если вы вызываете API вендора, а не что-либо скачиваете, большая часть этого неактуальна. Хостируемый эндпоинт применяет собственный апсэмплинг промпта и восстановление пикселей на стороне сервера, так что вы уже получаете поведение с расширенным промптом независимо от того, задумываетесь ли вы об этом. Выбор становится реальным только когда вы забираете веса.

Когда вы это сделаете, разделение будет примерно таким. Оставьте Pup, если ваши промпты короткие, работа носит исследовательский характер или вы генерируете, а не редактируете. Откажитесь от него или запустите квантованную сборку, если ваша видеокарта небольшая, правки узкие и буквальные или ваши промпты уже достаточно длинные и конкретные, так что расширение в основном добавляет вымышленные детали. Квантуйте его, если вам нужно и то и другое и вы можете принять некоторую потерю качества промптов в обмен на размещение всего конвейера на одном устройстве.

Одно практическое замечание о том, как попробовать это дёшево: две половины выходят из строя независимо, а слой маршрутизации — обычный способ не ставить производственный путь в зависимость от одного эндпоинта. OrcaRouter предоставляет один API, совместимый с OpenAI, поверх 200+ моделей с наценкой 0% — прайс-лист провайдера передаётся без изменений — и автоматическим переключением при сбое между провайдерами, так что деградировавший эндпоинт не превращается в проваленную задачу. Это не помогает с самим Klein, которого нет в нашем каталоге из 210 моделей и который мы не обслуживаем. Для этого пайплайна маршруты — это веса и вендорский API; аргумент о маршрутизации важен для моделей, которые вы ставите вокруг него.

Что изменило бы ответ?

Опубликованное абляционное исследование. Никто не выпускал прямого сравнения Klein с Pup и без него на одних и тех же промптах, оценённого кем-либо, кроме самой лаборатории, и именно из-за отсутствия этой единственной таблицы всё остаётся вопросом суждения. Пока её нет, защитимая позиция — самая негламурная: апсемплер является частью системы в том виде, как она спроектирована, утверждение о 8 ГБ на него не распространяется, а единственная рабочая нагрузка, где можно обоснованно переопределить значение по умолчанию, — это та, в которой эта модель сильнее всего.