使用指南
用于电商产品图片的 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 一起存储,以便超时的轮询可以恢复,而不是重新提交并再次计费。
产品目录清理检查清单
- 掩码缺陷,而非产品。 保持产品轮廓、标签和标志为黑色。如果缺陷触及产品边缘,宁可使用稍小的掩码,也不要重绘轮廓。
- 将掩码扩大几个像素。 灰尘和胶带具有软边缘;精确匹配的掩码会留下光晕。
- 根据要求检查填补。 纯白背景、重建的建筑结构和材料表面(光泽、纹理)是独立的检查项。
- 保留原始文件。 将源图和掩码与结果一起归档,以便审核者看到移除了什么。
- 按图像预算,而非按缺陷。 一个请求移除一个掩码中的所有内容,因此将照片中的所有缺陷合并到一个掩码中。每张图 $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 模型页面 上或使用上述请求运行它。一旦一个结果通过你的检查清单,就脚本化掩码步骤并运行批次。
相关文章
查看全部文章 →-
使用指南
GPT Image 2.6 是什么?markup 编辑与已知规格
OpenAI API 规范里关于 GPT Image 2.6 的全部信息、新 markup 编辑参数怎么用,以及还没公布的部分。
4 -
使用指南
Vidu Q4 Preview API 多少钱?540p 每秒 $0.0515
两个模式同价,五档分辨率、3–16 秒怎么计费,$10 能跑多少条,以及和站内视频模型的价格对照。
3 -
使用指南
Recraft V4.1 Flash 电商产品图:每张 $0.01 批量目录图
在 recraft-v4.1-flash/text-to-image 上的一次真实并行批量:商品列表图与场景图、实测背景白度、耗时以及批量脚本。