HiAPI
博客

使用指南

用于电商产品图片的 Bria Eraser:4 项清理测试

通过掩码从真实产品照片中移除灰尘、影棚道具、背景杂物和反光,以及在上线列表前需要检查的内容。

2026年11月3日
用于电商产品图片的 Bria Eraser:4 项清理测试

产品目录拍摄中的大多数产品照片问题并不是“生成一张新图”的问题。产品本身已经拍摄正确——角度、标签、材质都没问题——需要去掉的是盖子上的毛絮、背景布上的胶带、生活场景照片里的线缆。Bria Eraser 正好适合这类工作,因为它只处理你掩码的像素。你提交一张源照片和一张黑白掩码;白色区域内的任何内容都会被移除,并填补周围区域。无需编写提示词,且请求中不得包含提示词。

我们在 2026-11-03 通过 hiapi API 运行了四个典型的电商清理案例:哑光手机壳上的灰尘、瓶子旁的影棚道具、运动鞋后的杂物,以及光泽马克杯上的柔光箱反光。下面的每个源图、掩码和结果都来自那次运行。

Bria Eraser 在产品图片工作流中的定位

如果你需要为产品生成新场景或新背景,生成模型是更好的起点——参见 Bria Product Shot 示例。Eraser 用于此步骤之前或之后:保留现有照片并移除不应随其发布的内容。

清理任务 掩码方法 我们的结果
深色产品上的灰尘颗粒和毛絮 自动检测亮斑,膨胀几个像素 干净,盖子上的纹理没有可见变化
白色背景布上的胶带、夹具、亚克力支撑 对非白色像素做阈值处理,为透明亚克力添加手绘多边形 干净;填补接近白色,而非纯 255 白
生活场景产品后的线缆和杯子 手绘多边形,远离产品 干净;杯子后的墙角被重建
光泽表面上的柔光箱高光 对产品主体上的亮区做阈值处理 高光已移除;马克杯看起来光泽度降低

价格为每张图 $0.0575(2026-11-03 对照 hiapi 定价 核实),因此这四项清理花费 $0.23。所有四项任务在提交后 36 到 44 秒内完成,包括我们自己的轮询时间。这是四次单次运行,不是延迟基准测试。

案例 1:哑光黑色手机壳上的灰尘和毛絮

深色哑光塑料在顶光下会显示每一颗颗粒。对每个 SKU 手动刷除 20 个小点是修图中缓慢的部分,因此我们改为生成掩码:将每个像素与其邻域的 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

这些并排对比都不可见,而生活场景照片——纹理最多的图像——变化最大。如果你的流水线将结果合成回原始图像(例如,精确保留认证的产品颜色),只将结果中掩码区域粘贴到源图上。

所有四个输出均为 1024×1024 PNG 文件,带有 alpha 通道,与源尺寸匹配。使用 preserve_alpha: false 和不透明源图时,每个结果中的 alpha 完全不透明;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 复制到你自己的存储中。Bria Eraser API 指南 包含完整的 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 会改变掩码之外的像素吗? 会略微改变。我们测得掩码之外的平均变化为 255 中的 0.6–2.1 级,并排不可见。如果你需要精确的原始像素,请将掩码区域合成回源图。

一次清理需要多长时间? 我们的四次运行从提交起各在 36–44 秒内完成。请在你自己的流水线中规划轮询和超时,而不是依赖这些数字。

从一张产品照片开始

拿一张有缺陷的真实产品目录照片,制作相同尺寸的掩码,并在 Bria Eraser 模型页面 上或使用上述请求运行它。一旦一个结果通过你的检查清单,就脚本化掩码步骤并运行批次。

立即开始构建持久 AI 产物

获取 API 密钥,通过一个基于任务(task)的 API 调用图像、视频和音频模型。

阅读 API 文档