Папа БУ Попробовать 3 дня

Автоматизация обработки фото

6 мин чтения · инструкция · для опытных · обновлено 2026-08-20

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

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

Шаг ноль: договориться об именах

Пока файлы называются IMG_2831 и «фото3 (копия)», никакая автоматика не заработает. Первое, что нужно ввести, — правило имени, из которого машина понимает, к какому товару и какому ракурсу относится кадр.

Рабочая схема: артикул, подчёркивание, номер ракурса. Например, A1042_01.jpg — главный кадр товара A1042, A1042_04.jpg — четвёртый. Съёмщик переименовывает прямо на месте либо складывает кадры в папку с именем артикула, а скрипт разбирает.

Дальше всё строится на этом. Скрипт находит главный кадр по номеру 01, знает, куда класть результат, и не путает товары между собой.

Шаг первый: приёмник и очередь

Нужна одна папка, куда попадают исходники, и одна, куда уходит готовое. Между ними — обработчик.

Логика в псевдокоде:

для каждого файла в папке "входящие":
    если имя не подходит под шаблон -> переложить в "ручной разбор", записать в лог
    иначе:
        артикул, ракурс = разобрать имя
        поставить задачу в очередь: {файл, артикул, ракурс}
        переместить исходник в "архив/<дата>"

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

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

Шаг второй: приведение к стандарту

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

Типовой набор операций:

  • Поворот по данным ориентации из метаданных, иначе часть кадров окажется боком.
  • Обрезка до нужной пропорции — например, квадрат или вертикаль под требования площадки.
  • Ресайз по длинной стороне до целевого разрешения.
  • Пересохранение с контролем качества, чтобы уложиться в лимит веса.
  • Удаление лишних метаданных, включая геометку места съёмки.

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

Про то, как площадки пережимают загруженное и почему исходник стоит хранить отдельно, написано в разборе про то, как Авито сжимает фото.

Шаг третий: улучшение картинки

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

Здесь два пути.

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

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

отправить запрос с картинкой и параметрами режима
если код ответа 429 или 5xx:
    подождать с увеличением паузы, повторить (не больше N раз)
если ответ асинхронный:
    сохранить идентификатор задачи
    ждать уведомления на свой адрес обратного вызова
    либо периодически спрашивать статус
проверить результат: размер, пропорции, что файл вообще открывается

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

Раздел «Фото» в «Папе БУ» закрывает как раз этот слой: из снимка на телефон делает кадр для объявления или карточки маркетплейса, в двух режимах, не перерисовывая сам товар. Автопостинга и интеграций с маркетплейсами в сервисе нет — выкладку в любом случае строите вы сами.

Шаг четвёртый: выдача под площадки

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

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

Подробнее логика единого исходника разобрана в статье про одно фото для всех площадок, а конкретные размеры — в материале про размер фото для маркетплейса.

Где остаётся человек

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

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

Полезно вести простой журнал: сколько файлов пришло, сколько прошло, сколько ушло на ручной разбор, сколько повторов. Растущая доля ручного разбора — сигнал, что что-то в конвейере сломалось.

Сколько это стоит собрать

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

Если поток фотографий небольшой, конвейер не окупается: проще обработать руками. Считайте по времени, которое сейчас уходит на обработку в неделю.

Когда автоматизация не нужна

Первый случай — мало товаров. До нескольких десятков карточек в месяц конвейер обходится дороже ручной работы и добавляет точку отказа.

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

Третий — нестабильный ассортимент. Если сегодня одежда, завтра запчасти, послезавтра мебель, профили придётся переписывать чаще, чем они успевают приносить пользу.

Коротко

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

Если нужен готовый слой улучшения кадра, посмотрите раздел «Фото»: есть бесплатные пробные генерации без карты, чтобы оценить результат на своём товаре — попробовать.

Если решение под свой бизнес нужно, а разбираться самому некогда — напишите мне в Telegram: @artem_sergeevic. Я делаю такие сервисы на заказ: обсудим задачу и честно разберём, что в ней действительно нужно, а что можно не делать вовсе.

Пока вы читаете, кто-то отвечает вашему покупателю. «Папа БУ» отвечает в чатах Авито за минуту вашими словами и передаёт вам тех, кто готов к сделке.

Попробовать 3 дня бесплатно

Частые вопросы

С чего начать, если снимков сотня в неделю?
С единого правила именования файлов и одной папки-приёмника. Пока имена случайные, любой скрипт превращается в ручной разбор.
Чем массово менять размер и вес?
Консольными утилитами обработки изображений — они умеют пакетный ресайз, обрезку по центру, конвертацию и сжатие по циклу в скрипте.
Можно ли обойтись без программиста?
Частично. Ресайз, переименование и раскладку по папкам закрывают готовые утилиты и планировщик задач. Всё, что связано с API площадок, требует разработчика.
Где обязательно оставить человека?
На приёмке результата. Автомат не отличает удачный кадр от испорченного, поэтому финальный просмотр перед публикацией оставляют людям.
Помогла статья?

Ответ видят другие читатели: у полезных статей на витрине появляется оценка. А те, что не помогают, мы переписываем — по этой кнопке и решаем, какие именно.