电商产品图:一键抠图换背景
商品主图的需求很固定:主体清晰、背景干净、光线统一。 这套工作流把两件事拼在一起 —— 先用 BirefNet 把人/物抠出来,再用 SDXL 生成一张棚拍背景, 最后合成。拍得潦草的图也能救回来,而且适合批量。
一、节点结构(11 个节点)
LoadImage(商品照) ─→ LoadBackgroundRemovalModel(birefnet)
↓
(抠图 → 蒙版)
↓
CheckpointLoaderSimple(SDXL) ─→ KSampler(生成背景)
CLIPTextEncode(背景描述) ──────┘
EmptyLatentImage(1024×1024) ───┘
↓
ImageCompositeMasked(合成, x=96 y=96)
↓
SaveImage
二、抠图部分
| 项目 | 取值 |
|---|---|
| 抠图模型 | birefnet.safetensors |
| 适用对象 | 商品、静物、人像(发丝边缘表现比传统抠图好) |
BirefNet 在 ComfyUI 里通过背景移除加载器接入,输出的是透明前景 + 蒙版, 后面合成时用蒙版定位,不需要手动处理通道。
三、背景生成
正向提示词(棚拍风):
clean white studio product photography background,
soft shadow, minimalist, e-commerce
负向提示词(这一条很关键):
product, object, watermark, text
负向里为什么要拦 "product" 和 "text"?
因为你是在生成"背景"。不拦的话模型很容易自作主张在背景里再画一个商品或几个字,
合成时就露馅了。
| 参数 | 取值 |
|---|---|
| 背景尺寸 | 1024 × 1024 |
| 步数 / CFG | 24 步 / 6.5 |
| 采样器 | euler / normal |
| 合成位置 | x = 96,y = 96(留出边距,避免贴边) |
| resize_source | true(自动缩放前景以适配背景) |
四、实际用起来要注意
- 边缘白边:抠图边缘残留原背景色时,先把原图背景拍得干净些(纯色墙、纯色布), 比事后修边缘省事得多。
- 阴影:当前做法是让模型在背景里生成柔和阴影。 要求严格的话,建议前景单独加一层投影再合成。
- 批量:参数固定后,这个流程可以整目录跑 —— 同一批商品图用同一套参数, 出来的主图风格统一,这对店铺视觉一致性很重要。
- 比例:背景是方的(1024×1024)。要出 3:4 或 16:9 的主图, 把 EmptyLatentImage 改成对应档位,合成坐标也要跟着调。
五、产出示例
抠图 + 棚拍背景合成 · 1024×1024