E-commerce brasileiro tem um pesadelo recorrente: milhares de fotos de produto com fundo bagunçado. Pagar US$ 0,20 por imagem em remove.bg, ou montar pipeline interno? O rembg resolve isso por centavos por mil imagens, em 1 clique no GPUBrasil.
rembg é a melhor lib open-source de background removal. Suporta U2Net, BiRefNet, ISNet e modelos especializados (humanos, anime, roupas). Em RTX A4000, processa ~30 imagens/segundo.
O que é o rembg?
rembg é uma biblioteca Python de Daniel Gatis que envelopa modelos de segmentação de objetos em uma API simples. Desde 2020, é a solução open-source mais usada para remover fundo de imagens.
Características principais
- 10+ modelos: u2net, u2netp, isnet-general, birefnet-general, sam, etc
- Modelos especializados: u2net_human_seg (humanos), u2net_cloth_seg (roupas), isnet-anime
- API HTTP: servidor REST pronto na imagem oficial Docker
- Alpha matting: bordas suaves e cabelo realista
- Substituição de fundo: upload de fundo novo direto na chamada
- CLI: processe diretórios inteiros com 1 comando
- Licença MIT
Casos de uso brasileiros
- E-commerce: fotos de produto com fundo branco padronizado
- Marketplace: Mercado Livre, Shopee, Amazon — atender exigência de fundo branco em escala
- Fotografia 3x4: documentos com fundo branco/azul oficial
- Designers: recortes para layouts (Photoshop em batch)
- Marketing imobiliário: destacar imóveis em creatives
- Avatar/perfil: remover fundo de selfies para apps de IA
Hardware recomendado
rembg é leve mesmo em GPU. CPU também funciona, mas GPU acelera 5-10x:
- RTX A4000 (16GB): ideal, ~30 img/s
- RTX 4090: ~80 img/s (overkill, use só se já alocada)
- VRAM mínima: 4GB para modelos pequenos
RTX A4000 (R$ 1,80/h): processa ~108k imagens/h = R$ 0,000017 por imagem. remove.bg: ~R$ 0,40/img. Para 10k imagens: R$ 0,17 vs R$ 4.000 = economia de 99,99%.
Deploy em 1 clique
Passo 1: Iniciar template
- Console → Templates → 🎨 Imagem IA
- Selecione rembg
- GPU: RTX A4000 (recomendado)
- Clique em Iniciar
O template usa a imagem oficial danielgatis/rembg:latest e expõe a API HTTP na porta 7000.
Passo 2: API REST
import requests
url = "https://sua-instancia.gpubrasil.com.br/api/remove"
with open("produto.jpg", "rb") as f:
files = {"file": f}
params = {
"model": "isnet-general-use", # melhor balanço qualidade/velocidade
"alpha_matting": "true",
"alpha_matting_foreground_threshold": 270,
"alpha_matting_background_threshold": 20
}
r = requests.post(url, files=files, params=params)
# Salva PNG com fundo transparente
with open("produto_sem_fundo.png", "wb") as f:
f.write(r.content)
Passo 3: Substituir fundo
# Trocar fundo por branco puro (e-commerce)
import requests
from PIL import Image
from io import BytesIO
url = "https://sua-instancia.gpubrasil.com.br/api/remove"
with open("produto.jpg", "rb") as f:
r = requests.post(url, files={"file": f}, params={"bgcolor": "FFFFFF"})
img = Image.open(BytesIO(r.content))
img.save("produto_fundo_branco.jpg", "JPEG", quality=95)
Passo 4: Batch CLI (milhares de imagens)
# SSH na instância
ssh -i ~/.ssh/gpubrasil.pem ubuntu@SEU_IP
# CLI processa diretório inteiro
docker exec rembg rembg p \
-m isnet-general-use \
-a \
/input \
/output
# 10k imagens em ~5min em RTX A4000
Modelos disponíveis
- u2net: default, geral; rápido
- u2netp: versão leve do u2net
- u2net_human_seg: especializado em pessoas
- u2net_cloth_seg: recorta roupas separadamente
- isnet-general-use: melhor qualidade geral (recomendado)
- isnet-anime: personagens anime/desenho
- birefnet-general: top de qualidade, mais pesado
- sam: Segment Anything (precisa prompt de ponto)
Pipeline e-commerce completo
import requests
from PIL import Image
from io import BytesIO
import os
INPUT_DIR = "fotos_brutas/"
OUTPUT_DIR = "fotos_finais/"
URL = "https://sua-instancia.gpubrasil.com.br/api/remove"
for filename in os.listdir(INPUT_DIR):
with open(os.path.join(INPUT_DIR, filename), "rb") as f:
# 1. Remove fundo + bg branco
r = requests.post(URL, files={"file": f},
params={"model": "isnet-general-use",
"alpha_matting": "true",
"bgcolor": "FFFFFF"})
# 2. Padroniza tamanho ML/Shopee (1000x1000)
img = Image.open(BytesIO(r.content))
img.thumbnail((1000, 1000))
canvas = Image.new("RGB", (1000, 1000), "white")
pos = ((1000-img.width)//2, (1000-img.height)//2)
canvas.paste(img, pos)
# 3. Salva como JPEG otimizado
out = filename.rsplit(".",1)[0] + ".jpg"
canvas.save(os.path.join(OUTPUT_DIR, out), "JPEG", quality=92, optimize=True)
print("Pronto!")
rembg vs alternativas
- rembg vs remove.bg: 99% mais barato, dados ficam locais
- rembg vs Photoshop: processa em batch sem operador humano
- rembg vs SAM puro: rembg é "auto"; SAM precisa input do usuário
- rembg vs RemBG.ai: RemBG.ai é serviço pago em cima do mesmo modelo
Dicas de qualidade
- Alpha matting: ative para imagens com cabelo/pelo
- Modelo certo: use isnet-general-use para começar
- Pré-processamento: imagens claras com bom contraste rendem melhor
- Pós-processamento: uniformize sombra com PIL/OpenCV depois
Remova fundo de 100k imagens por menos de R$ 2
Ganhe R$ 25 grátis no GPUBrasil e suba rembg em 90 segundos.
Começar Grátis →Conclusão
Para qualquer operação de e-commerce, fotografia ou marketing brasileira que processe imagens em volume, o rembg no GPUBrasil é a solução economicamente óbvia. Em vez de pagar mensalidade ou crédito por imagem, você paga horas de GPU — e processa milhares de imagens por centavos.