К содержимому
MoranaLabs
E-commerce / Контент — 04 июн. 2026 г.

Генерация товарных изображений на потоке: диффузия on-prem 

Тридцать восемь тысяч изображений в сутки — это двадцать шесть картинок в минуту без остановки. На таком потоке проект перестает быть про качество генерации и становится про очередь, автоматическую приемку и расписание GPU.

38 тыс./сутки
изображений в потоке
−82 %
стоимость против студии
94 %
проходят бренд-контроль
стенд · запускается здесь

Стенд: съемка против генерации в контуре

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

СТУДИЙНОЙ СЪЕМКОЙГЕНЕРАЦИЕЙ В КОНТУРЕПОТОЛОК РУЧНОГО СПОСОБА20 тыс.2,4 млн изображений в месяц210 ₽
себестоимость конвейера за месяц: 42,93 млн ₽
  • постоянная часть640 тыс. ₽
  • инференс и хранение39,9 млн ₽
  • человек на проверке2,39 млн ₽

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

37,66 ₽
генерацией в контуре: цена за изображение
210 ₽
студийной съемкой: цена за изображение
×6
отношение по одной переменной части
45 тыс.
максимум изображений в месяц студийной съемкой; выше — способа просто нет
Отношение ×6 — это по одной переменной части, без амортизации платформы и без человека на проверке. С ними получается ×5,6. Обе цифры настоящие, но решение принимается по второй.

Стоимость студийного кадра, объемы и цена GPU-часа синтетические, порядок — крупный товарный каталог. Доля, не прошедшая бренд-контроль, взята из работы.

Поток, а не картинка

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

При таком объеме вопрос «красиво ли рисует модель» уходит на второй план. На первый выходят другие: сколько стоит один кадр в машинном времени, что делать с очередью, когда каталог заливают пачкой в сто тысяч позиций, и кто проверяет результат, если проверять глазами физически некому.

Требование, определившее архитектуру

Работа только на серверах заказчика. Фотографии товаров до релиза коллекции — коммерческая информация, и отправка их во внешний сервис означает передачу этих данных третьей стороне.

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

Товар остается собой

Базовое правило то же, что и в любой каталожной генерации: реальный предмет сохраняется в кадре без изменений, модель дорисовывает сцену вокруг него. Стиль, фон и композиция подчинены бренд-гайду и удерживаются адаптерами, дообученными на утвержденных референсах.

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

Автоматический бренд-контроль

Что проверяетсяПочему это ловится машиной
Фон в заданной палитреФормальная проверка распределения цвета по кадру
Положение и масштаб товараГеометрия относительно границ кадра задана гайдом в числах
Поля и безопасная зонаТребование площадки, проверяется арифметически
Целостность предметаСравнение области товара с исходником по допуску
Артефакты на границеАнализ контура: ореолы и разрывы дают характерный отклик
Тень и опораНаличие тени в ожидаемом секторе от источника света

94% кадров проходят этот контроль без правок. Оставшиеся 6% — это очередь к человеку, и она конечна: около двух тысяч кадров в сутки, которые разбирает небольшая команда.

Резали шаги, пока не дрогнет приемка

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

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

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

Расписание вместо мощности

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

Кадры считаются пачками: групповая обработка на GPU дает заметно больше кадров в час, чем поштучная, при том же железе.

Откуда минус 82% к стоимости

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

Генерация убирает логистику и ретушь и делает пересъемку каталога под новый гайд вопросом машинного времени. Именно этот пункт заказчики недооценивают на входе: смена оформления карточек перестает быть проектом на квартал.

Что ломается на потоке первым

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

Где это не заменяет камеру

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

Направление — генеративный ИИ, эксплуатация моделей под нагрузкой — MLOps, ранняя версия той же идеи для маркетплейса — в кейсе генерации карточек на диффузии.

38 тыс./сутки
товарных изображений в потоке
  • generative
  • diffusion
  • on-prem
  • inference opt
  • content
заказчик

E-commerce / Контент · детали под NDA

СтендПроверить расчет руками ↑

Те же цифры, но с ручками: порог, нагрузка, объем.

Комментарий инженера

Шаги генерации пришлось резать — иначе поток было не вытянуть, а интуиция шептала, что картинка посыпется. Превратили это в рутину: срезаем шаг, гоняем выход через наш же бренд-контроль, смотрим отбраковку. Она не выросла ни разу, сколько ни резали. Запас прочности у модели оказался больше, чем мы ей приписывали, а спорить с цифрой приемки куда продуктивнее, чем с ощущением «стало хуже».
инженер генеративных пайплайнов · MoranaLabs
Другие кейсы
— заявка

Опишите задачу  ответим как инженеры. 

Оставьте имя и Telegram — остальное обсудим. Без брифов на 40 слайдов и звонков по три раза.

Отвечаем за пару часовотвечает инженер, а не отдел продажNDA до передачи данных

Любой один канал — куда удобнее, туда и ответим

Или сразу написать в Telegram

Без спама и звонков-роботов. Нажимая кнопку, вы соглашаетесь с политикой конфиденциальности и обработкой персональных данных.