HiAPI
Блог

Руководство по использованию

Bria Eraser для изображений товаров электронной коммерции: 4 теста очистки

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

Nov 3, 2026
Bria Eraser для изображений товаров электронной коммерции: 4 теста очистки

Большинство проблем на фотографиях товаров из каталожных съёмок — это не проблема «сгенерировать новое изображение». Сам товар уже снят правильно — ракурс, этикетка, материал в порядке — убрать нужно ворсинки на крышке, скотч на фоновой ткани, кабели на фотографии из жизни. Bria Eraser подходит именно для такой работы, потому что он работает только с пикселями, которые вы замаскировали. Вы отправляете исходную фотографию и чёрно-белую маску; всё, что находится в белой области, удаляется, а окружающая область заполняется. Писать промпт не нужно, и запрос не должен содержать промпт.

2026-11-03 мы прогнали через API hiapi четыре типичных случая очистки для электронной коммерции: пыль на матовом чехле для телефона, студийный реквизит рядом с флаконом, посторонние предметы за кроссовками и отражение софтбокса на глянцевой кружке. Каждое исходное изображение, маска и результат ниже взяты из того прогона.

Место Bria Eraser в рабочем процессе с изображениями товаров

Если вам нужно сгенерировать для товара новую сцену или новый фон, генеративная модель — лучшая отправная точка: см. примеры Bria Product Shot. Eraser применяется до или после этого шага: сохранить существующую фотографию и убрать то, что не должно публиковаться вместе с ней.

Задача очистки Метод маски Наш результат
Пылинки и ворсинки на тёмном товаре Автоматическое обнаружение светлых пятен, расширение на несколько пикселей Чисто, текстура на крышке без видимых изменений
Скотч, зажимы, акриловые подпорки на белой фоновой ткани Пороговая обработка небелых пикселей, ручные полигоны для прозрачного акрила Чисто; заполнение близко к белому, но не чисто 255
Кабели и чашки за товаром на фото из жизни Ручные полигоны вдали от товара Чисто; угол стены за чашкой восстановлен
Блик софтбокса на глянцевой поверхности Пороговая обработка ярких зон на корпусе товара Блик удалён; кружка выглядит менее глянцевой

Цена — $0.0575 за изображение (проверено 2026-11-03 по тарифам hiapi), так что эти четыре очистки стоили $0.23. Все четыре задачи были выполнены в течение 36–44 секунд после отправки, включая время нашего собственного опроса. Это четыре одиночных запуска, а не бенчмарк задержки.

Случай 1: пыль и ворсинки на матовом чёрном чехле для телефона

Тёмный матовый пластик при верхнем свете показывает каждую крупинку. Вручную вычищать 20 мелких точек для каждого SKU — медленная часть ретуши, поэтому мы сгенерировали маску: сравнивали каждый пиксель с медианой его окрестности размером 15 пикселей, сохраняли всё, что ярче более чем на 22 уровня, ограничивали поиск областью крышки, а затем расширяли каждое пятно на 5 пикселей, чтобы захватить мягкие края пыли.

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

import numpy as np
from PIL import Image, ImageFilter

src = Image.open("case.png").convert("L")
gray = np.asarray(src).astype(int)
local = np.asarray(src.filter(ImageFilter.MedianFilter(15))).astype(int)

mask = np.zeros(gray.shape, bool)
lid = (slice(265, 410), slice(190, 840))          # rows, cols of the lid top only
mask[lid] = (gray - local)[lid] > 22               # specks brighter than their surroundings

out = Image.fromarray((mask * 255).astype("uint8"))
out = out.filter(ImageFilter.MaxFilter(11))         # grow each speck ~5 px
out.save("case-mask.png")                           # same size as the source

Для светлого товара с тёмной пылью инвертируйте сравнение (local - gray). Эти координаты привязаны к данной фотографии; для каталога товаров выводите рамку из маски товара или фиксированного шаблона съёмки.

Случай 2: скотч и акриловый клин на белой фоновой ткани

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

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

Одно, что нужно проверить перед загрузкой на маркетплейс: средний RGB заполненной области — 252, а не 255. Когда мы растянули контраст, контур маски стал слабо заметен на окружающей фоновой ткани. При обычном просмотре это невидимо, и исходная фоновая ткань тоже не была чисто белой (около 254). Если ваш канал требует чисто белое главное изображение, выполните после стирания вашу обычную процедуру отбеливания фона, а не ожидайте от Eraser значения 255,255,255.

Случай 3: кабели и чашка за кроссовками на фото из жизни

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

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

Случай 4: отражение софтбокса на глянцевой кружке

Это случай, требующий осторожности. Маска покрывала большой прямоугольный блик на корпусе кружки.

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

Что изменилось за пределами маски

Eraser не возвращает неизменённые пиксели побайтово. Сравнение исходной фотографии и результата вне каждой маски (средняя абсолютная разница на пиксель, шкала 0–255):

Случай Среднее изменение 99-й процентиль
Пыль 1.1 4.7
Реквизит 0.6 6.0
Посторонние предметы 2.1 10.7
Отражение 0.7 5.0

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

Все четыре результата — PNG-файлы 1024×1024 с альфа-каналом, совпадающие по размеру с исходными. При preserve_alpha: false и непрозрачном исходном изображении альфа в каждом результате полностью непрозрачна; preserve_alpha важен только если во входных данных уже есть прозрачность.

Запросы, которые мы отправляли

Во всех случаях использовалась одна и та же структура запроса; менялись только два URL. Исходное изображение и маска должны быть общедоступны, а маска — совпадать по размеру с исходным изображением.

curl --request POST "https://api.hiapi.ai/v1/tasks" \
  --header "Authorization: Bearer $HIAPI_API_KEY" \
  --header "Content-Type: application/json" \
  --data-raw '{
  "model": "bria-eraser",
  "input": {
    "image_url": "https://static.hiapi.ai/blog/bria-eraser-ecommerce-product-images/dust-src.png",
    "mask_url": "https://static.hiapi.ai/blog/bria-eraser-ecommerce-product-images/dust-mask.png",
    "mask_type": "manual",
    "preserve_alpha": false
  }
}'

Прочитайте data.taskId из ответа, опрашивайте GET https://api.hiapi.ai/v1/tasks/<taskId>, пока data.status не станет success, затем скачайте data.output[0].url. Этот URL временный, поэтому сразу скопируйте PNG в собственное хранилище. Руководство по API Bria Eraser содержит полный пример опроса на Python и описание обработки ошибок.

Мы отправили все четыре задачи параллельно из одного скрипта — именно так происходит пакетная обработка каталога товаров. Сохраняйте каждый taskId вместе с вашим SKU и ID изображения, чтобы опрос после тайм-аута можно было возобновить, а не отправлять задачу заново и платить дважды.

Чек-лист очистки каталога товаров

  1. Маскируйте дефекты, а не товар. Держите контур товара, этикетки и логотипы чёрными. Если дефект касается края товара, лучше слегка уменьшить маску, чем перерисовывать контур.
  2. Расширяйте маску на несколько пикселей. У пыли и скотча мягкие края; маска точного совпадения оставит ореол.
  3. Проверяйте заполнение по требованиям. Чисто белый фон, восстановленные архитектурные конструкции и поверхности материалов (глянец, текстура) — отдельные пункты проверки.
  4. Сохраняйте исходные файлы. Архивируйте исходное изображение и маску вместе с результатом, чтобы проверяющий видел, что было удалено.
  5. Считайте бюджет на изображение, а не на дефект. Один запрос удаляет всё в одной маске, поэтому объединяйте все дефекты на фотографии в одну маску. При цене $0.0575 за изображение 1 000 очищенных фотографий стоят $57.50 — разбор тарифов охватывает оценку для пакетов.

Если вы выбираете для такой работы между редактированием по маске и по инструкции, сравнение Bria Eraser и Nano Banana 2.1 прогоняет оба метода на одинаковых фотографиях.

Часто задаваемые вопросы

Нужен ли Bria Eraser промпт, чтобы понять, что удалять? Нет. Маска — единственная инструкция: белый означает удаление, чёрный — сохранение. Запрос не должен содержать поля промпта.

Может ли он автоматически удалять пыль, чтобы мне ничего не рисовать? Eraser требует маску для каждого запроса. Маску можно получить из кода, как показано в случае 1, поэтому скрипт может находить и маскировать пятна в пакете без ручной зачистки. Перед запуском пакета проверьте образцы масок.

Сделает ли он фон моего товара чисто белым? Автоматически — нет. В нашем тесте с белой фоновой тканью средний RGB заполненной области составил 252. Если ваш маркетплейс требует 255, используйте отдельный шаг отбелки.

Безопасно ли удалять отражение с глянцевого товара? Технически возможно, но удаление блика делает глянцевый товар похожим на матовый. Маскируйте только отвлекающую часть и сверяйте результат с описанием товара.

Меняет ли Eraser пиксели вне маски? Меняет незначительно. Мы измерили среднее изменение вне маски в 0.6–2.1 уровня из 255, при сравнении бок о бок это невидимо. Если вам нужны точные исходные пиксели, вставьте область маски из результата обратно в исходное изображение.

Сколько времени занимает одна очистка? Наши четыре запуска каждый завершился за 36–44 секунды с момента отправки. Планируйте опрос и тайм-ауты в своём конвейере, а не полагайтесь на эти цифры.

Начните с одной фотографии товара

Возьмите реальную каталожную фотографию с дефектом, сделайте маску того же размера и запустите её на странице модели Bria Eraser или с помощью запроса выше. Как только один результат пройдёт ваш чек-лист, автоматизируйте шаг создания маски и запускайте пакеты.

Похожие статьи

Все статьи →

Начните работать с постоянными артефактами ИИ

Получите API-ключ и вызывайте модели изображений, видео и аудио через один API на основе tasks.

Читать документацию API