← Все проекты

imagegen · генерация · 2026✓ поставлена за день

Генерация изображений в своём контуре

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

Роль
Выбор модели и оборудования, развёртывание, режим работы, сравнение с облаком
Срок разработки
один день
Платформа
FLUX 3 Klein diffusers Apple Silicon
Доступ
Разработка для заказчика, публичного адреса нет
0 ₽за кадр, сколько бы их ни было
~85кадров за ночную смену
339 скадр 1024×1024 при 50 шагах
70 из 128 ГБпамяти занимает модель
Генерация изображений в своём контуре — FLUX 3 Klein на локальной машине

Экраны проекта

01 / 07
Сравнение

Одно описание, два сервиса

Кадры для роликов сначала сделала Nano Banana 2.5 в облаке, потом те же описания прогнали через FLUX 3 Klein на локальной машине.

Телефон: FLUX 3 KleinТелефон: Nano Banana 2.5Nano Banana 2.5FLUX 3 Klein

Своя установка даёт глубину резкости: задний план уходит в размытие, предмет объёмный. Расплата видна там же — чёрный аппарат местами сливается с тёмной столешницей, у облачной версии предмет отделён от фона лучше.

Все кадры: 1024×1024, 50 шагов, одно зерно. Описание уходило в модель ровно таким, как написано: автоматически дописывать его не давали.

Цена скорости

Сколько стоит каждый шаг

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

Один и тот же кадр, 20 шагов · 144 с
20 шагов · 144 с25 кадров в час
Один и тот же кадр, 28 шагов · 196 с
28 шагов · 196 с18 кадров в час
Один и тот же кадр, 50 шагов · 339 с
50 шагов · 339 с10 кадров в час

За ночную смену в 8 часов это около 85 кадров на 50 шагах и около 200 на 20.

Задача

Снять зависимость от чужого сервиса

Картинок нужно много: 12 кадров на один ролик, плюс обложки статей и иллюстрации для сайтов. В облаке их делать удобно, но за каждую надо платить, количество в час ограничено, кому принадлежит результат — из условий непонятно, а нужной модели там может и не оказаться.

Ставили модель, которой на тот момент было три дня от роду. Инструкций под эту технику ещё никто не написал: облегчённые версии, обещанные в описании, на ней вовсе не работают — это выяснилось уже в деле.

Решение

Своя генерация, поставленная за день

  • Генерация переехала на локальную машину. Модель, текстовый кодировщик и декодер лежат на машине заказчика, кадры считаются там же. Ни один запрос не уходит наружу, счёта за штуку нет, лимита на число генераций нет, интернет для работы не нужен.
  • Полный формат весов вместо облегчённых. Сборки fp8 и nvfp4, предложенные в карточке модели как способ снизить требования, на этой платформе не работают: первый не считается вычислителем, второй сделан под видеокарты другого производителя. Проверено отказом, дальше работа шла на полном формате — 19 ГБ на диске.
  • Понадобилась ещё не вышедшая версия библиотеки. Обычная с этой моделью не работает — она про неё пока не знает. Проверили до скачивания файлов, а не после сорока минут ожидания.
  • Измерения сделаны сериями, а не одиночными прогонами. 9 кадров подряд на одной загрузке модели: 339 секунд на кадр при разбросе 2,7 секунды. Первый кадр не отличается от девятого — прогрева, которого принято ожидать, нет вовсе.
  • Цена шага выведена отдельно. 20 шагов — 144 секунды, 28 — 196, 50 — 339. Зависимость линейная, шаг стоит 6,8 секунды: отсюда считается пропускная способность под любую настройку качества.
  • Память измерена системным счётчиком, а не счётчиком процесса. Встроенный показывал 1,2 ГБ и вводил в заблуждение: память, выделенную видеоядром, он не видит. По факту модель занимает около 70 ГБ из 128, и за час непрерывной работы не вытеснила ни один соседний процесс.
  • Измерена конкуренция за видеоядро. Пока идёт генерация, языковая модель на той же машине замедляется с 77 до 8 токенов в секунду, а короткий ответ растягивается с 0,3 до 2 секунд. Отсюда решение: генерация ставится на ночь, днём машина занята другими процессами.
  • Сравнение проведено на тех же описаниях. 12 кадров, сделанных ранее облачным сервисом, прогнаны на локальной машине теми же текстами и сведены попарно — иначе сравнивались бы не модели, а формулировки запросов.

Технологии

Чем собран проект

Модель
FLUX 3 Image Klein (base), 5,6 млрд параметров, полный формат bf16
Окружение
diffusers из репозитория разработки, PyTorch 2.14 через Metal, transformers, Python 3.12
Оборудование
Apple Mac Studio M4 Max, 128 ГБ единой памяти, macOS 26.6
С чем сравнивали
Gemini 2.5 Flash Image (nano-banana) через сервис-посредник kie.ai

Результат

✓картинки для блога, сайта и канала считаются на локальной машине: оплаты за кадр нет, лимита на число генераций нет
✓доступна модель, которой в облачном сервисе на тот момент не было ни за какие деньги
✓ночная смена даёт около 85 кадров при полном качестве и вдвое больше при коротком
✓кадр 1024×1024 при 50 шагах — 339 секунд, разброс 2,7 секунды на 9 прогонах подряд
✓цена шага выведена: 6,8 секунды, зависимость линейная — время под любое качество считается, а не измеряется
✓память под моделью — около 70 ГБ из 128, за час работы соседние процессы не вытеснены
✓развёртывание от чистой машины до первой картинки заняло час с четвертью
срочное остаётся за облаком: кадр у себя готовится минутами, а не секундами
повторяемость не проверялась: все прогоны сделаны с одним зерном

Откуда цифры: время, память и нагрузку измеряли на этом же оборудовании. Цены облака и характеристики модели — из её описания и прейскуранта сервиса на октябрь 2026. «Ноль за кадр» значит, что платить за каждую картинку больше не нужно; во сколько обходится кадр на локальной машине, не считали — она была у заказчика и покупалась не под эту задачу. Скорость облака не измеряли, поэтому сравнений по времени в кейсе нет.

Другие работы

Контакты

Нужен такой же результат?

Расскажите о задаче — ответ в течение дня: оценка срока, вилка бюджета и честное предупреждение, если она решается дешевле, чем вы рассчитывали.