API REST + IA

Uma API para remover fundo, consultar saldo e automatizar imagens em escala.

Integre por upload ou URL remota, acompanhe o consumo da sua API key, habilite HD com créditos e conecte as ferramentas de IA no mesmo backend.

Autenticação

X-API-Key

Chaves criadas no dashboard, prontas para backend, scripts e automações.

Entradas

Upload e URL

Envie arquivo multipart ou use uma imagem publica via HTTP/HTTPS.

Observabilidade

Headers e créditos

Receba tamanho da imagem, modo de processamento e saldo de créditos restante.

Demo visual

Veja a API como produto, não só como endpoint.

Esta demo resume as funcionalidades principais: antes e depois do recorte, processamento por URL, leitura de saldo e os recursos de IA.

Demo local, sem consumir seu saldo

Comparador antes e depois

Foto real de produto processada pela mesma API publica mostrada nesta documentacao.

PNG transparente real
Foto original de produto antes do recorte
Foto com fundo removido pela API
⇄
Antes Depois

Entrada

Upload multipart ou URL remota publica.

Saida

PNG transparente com metadados uteis nos headers.

Créditos

HD, IA e URL remota usam saldo pré-pago.

Processamento classico por upload

Ideal para formulários, admin panels e uploads diretos do seu produto.

POST /api/remove-bg
X-API-Key: rbg_sua_chave

file=@produto.jpg
hd=true

Resposta util

  • X-Api-Quota-Remaining: 742
  • X-Processing-Mode: hd
  • X-Output-Width: 1600
  • X-Watermark-Applied: false

Quickstart

Se você quer sair do zero e fazer a primeira chamada o mais rápido possível, siga estes 4 passos.

Abrir dashboard

Passo 1

Crie sua chave

No dashboard, gere uma API key. O token bruto aparece apenas uma vez.

Passo 2

Descubra capacidades

Consulte GET /api/capabilities para ler limites, custos e recursos.

Passo 3

Envie a imagem

Use upload multipart ou URL remota para receber PNG transparente.

Passo 4

Monitore o saldo

Leia os headers de resposta ou chame GET /api/account.

curl -X POST https://api.removebg.com.br/api/remove-bg \
  -H "X-API-Key: rbg_sua_chave" \
  -F "file=@produto.jpg" \
  -F "hd=true" \
  -o produto-sem-fundo.png

Catálogo de endpoints

A API combina descoberta, operação, saldo e recursos de IA em uma única superfície consistente.

Público

GET /api/health

Health check simples com status, modelo carregado e versão da API.

Público

GET /api/capabilities

Descobre limites, formatos aceitos, custos, docs OpenAPI e recursos habilitados.

API key

POST /api/remove-bg

Remove o fundo a partir de upload multipart e responde com PNG.

API key

POST /api/remove-bg-url

Busca uma imagem pública por URL e devolve o PNG processado.

API key

GET /api/account

Consulta saldo, consumo recente e metadados da API key.

Créditos

POST /api/remove-bg/batch

Processa várias imagens e responde com ZIP. Ideal para lotes internos.

IA

POST /api/ai/background

Gera novos fundos com prompt de texto para compor a imagem final.

IA

POST /api/ai/upscale

Aumenta a resolução da imagem via IA em 2x ou 4x.

Autenticação e créditos

API key

Todas as rotas de integração usam o header X-API-Key. O formato do token sempre começa com rbg_.

X-API-Key: rbg_sua_chave_aqui

JWT do dashboard

Rotas de conta e painel usam Authorization: Bearer com sessão do Supabase. Isso vale para CRUD de API keys e informações internas do usuário no dashboard.

As rotas REST de integração para apps externos devem preferir API key.

Uso Custo Acesso API Modo HD Notas
Free R$ 0 Amostras grátis Não Bom para testar no site. Processamento via API exige saldo.
Créditos A partir de R$ 9,90 Consome saldo Sim HD, sem marca d'água, IA e melhor fluxo operacional.

Exemplos reais de uso

Além do hello world, estes cenários mostram como a API entra em fluxos de produto reais.

Gerar chave

E-commerce

Catálogo de produtos

Receba a foto enviada pelo lojista, remova o fundo e publique o PNG final no seu CDN.

POST /api/remove-bg
file=@tenis-frontal.jpg
hd=true

Resultado esperado: imagem limpa para marketplaces, ads e vitrines.

SaaS e automacao

Pipelines por URL

Quando o arquivo ja esta no storage, processe por URL sem reupload e encadeie com sua fila.

POST /api/remove-bg-url
{
  "image_url": "https://cdn.seusite.com/item.webp",
  "hd": true
}

Resultado esperado: integracao server-to-server com menos latencia operacional.

Conta e billing

Painel de saldo

Use o endpoint de conta para bloquear jobs grandes, alertar saldo baixo e abrir tickets proativos.

GET /api/account
X-API-Key: rbg_sua_chave

Resultado esperado: monitoramento real de saldo, consumo e uso por chave.

Remover fundo por upload

O endpoint principal recebe multipart/form-data e devolve um PNG com canal alfa. Ele pode operar em modo padrão ou HD. O uso pago consome créditos da carteira do usuário.

POST https://api.removebg.com.br/api/remove-bg
Campo Tipo Descrição
file Arquivo JPG, PNG ou WebP, com até 10 MB.
hd Boolean Quando true, tenta manter a resolução original para requests pagos.
curl -X POST https://api.removebg.com.br/api/remove-bg \
  -H "X-API-Key: rbg_sua_chave" \
  -F "file=@foto.jpg" \
  -F "hd=true" \
  -o saida.png
import requests

with open("foto.jpg", "rb") as source:
    response = requests.post(
        "https://api.removebg.com.br/api/remove-bg",
        headers={"X-API-Key": "rbg_sua_chave"},
        files={"file": source},
        data={"hd": "true"},
        timeout=60,
    )

response.raise_for_status()
with open("saida.png", "wb") as target:
    target.write(response.content)

print(response.headers.get("X-Api-Quota-Remaining"))

Headers de resposta

X-Api-Quota-RemainingCompatibilidade legado. No modelo atual, consulte saldo em /api/billing/account.
X-Processing-Modestandard ou hd.
X-Source-Originupload quando o arquivo veio por multipart.
X-Source-Width / HeightDimensões da imagem de entrada.
X-Output-Width / HeightDimensões do PNG final.
X-Watermark-AppliedIndica se o resultado recebeu marca d'água.

Remover fundo por URL remota

Esse endpoint foi criado para automacoes server-to-server. Ele baixa a imagem remota, valida o host, bloqueia localhost e enderecos privados e responde com o PNG processado.

POST https://api.removebg.com.br/api/remove-bg-url

Body JSON

{
  "image_url": "https://exemplo.com/assets/produto.webp",
  "hd": true
}

Regras da URL remota

  • Apenas URLs publicas HTTP ou HTTPS.
  • Hosts locais, privados ou reservados sao rejeitados.
  • Redirecionamentos sao limitados.
  • O arquivo continua sujeito ao limite de 10 MB e formatos permitidos.
curl -X POST https://api.removebg.com.br/api/remove-bg-url \
  -H "Content-Type: application/json" \
  -H "X-API-Key: rbg_sua_chave" \
  -d '{"image_url":"https://exemplo.com/foto.png","hd":true}' \
  --output foto-sem-fundo.png
const response = await fetch("https://api.removebg.com.br/api/remove-bg-url", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
    "X-API-Key": "rbg_sua_chave"
  },
  body: JSON.stringify({
    image_url: "https://exemplo.com/produto.jpg",
    hd: true
  })
});

const buffer = Buffer.from(await response.arrayBuffer());

Consultar conta, saldo e consumo

O endpoint GET /api/account ajuda a montar dashboards internos, alarmes de consumo e validações antes de iniciar jobs maiores.

curl https://api.removebg.com.br/api/account \
  -H "X-API-Key: rbg_sua_chave"
{
  "ok": true,
  "billing_model": "credits",
  "user": {
    "id": "user-123",
    "credit_balance": 742
  },
  "api_key": {
    "id": "key-123",
    "name": "producao",
    "key_prefix": "rbg_abcd"
  },
  "usage": {
    "credit_balance": 742,
    "credits_used": 240
  }
}

Quando usar

Checar saldo antes de rodar lotes ou filas internas.
Exibir saldo restante no painel do seu próprio SaaS.
Auditar qual chave está em uso e quando ela foi usada por último.

Recursos de IA

Além do recorte, a plataforma expõe endpoints para gerar fundo por prompt, melhorar imagem e expandir canvas com IA generativa. Eles ajudam a empacotar um workflow mais completo para devs, studios e e-commerce.

POST /api/ai/background

Recebe um prompt e o tamanho final desejado. Responde com URL da imagem gerada.

{
  "prompt": "fundo de estúdio clean com sombra suave",
  "size": "1024x1024"
}

POST /api/ai/upscale

Recebe a URL da imagem e o fator 2x ou 4x. Responde com URL do resultado melhorado.

{
  "image_url": "https://cdn.seusite.com/resultado.png",
  "scale": 4
}

POST /api/ai-image/expand

Recebe upload multipart, novo aspect ratio, posicionamento e qualidade para gerar outpainting real com IA.

image=@foto.jpg
aspectRatio=9:16
position=center
quality=high
outputFormat=image/png

POST /api/watermark-removal/remove

Remove marca d'água com inpainting. Envie a imagem e uma máscara PNG do mesmo tamanho, com branco na área a reconstruir e preto no restante.

curl -X POST https://api.removebg.com.br/api/watermark-removal/remove \
  -H "X-API-Key: rbg_sua_chave" \
  -F "image=@foto.jpg" \
  -F "mask=@mascara.png" \
  -F "quality=standard" \
  -F "outputFormat=image/png" \
  --output sem-marca.png
import requests

files = {
  "image": open("foto.jpg", "rb"),
  "mask": open("mascara.png", "rb"),
}
data = {"quality": "standard", "outputFormat": "image/png"}
headers = {"X-API-Key": "rbg_sua_chave"}

r = requests.post(
  "https://api.removebg.com.br/api/watermark-removal/remove",
  headers=headers,
  files=files,
  data=data,
)
r.raise_for_status()
open("sem-marca.png", "wb").write(r.content)
const form = new FormData();
form.append("image", imageFile);
form.append("mask", maskPngFile);
form.append("quality", "high");
form.append("outputFormat", "image/png");

const res = await fetch("/api/watermark-removal/remove", {
  method: "POST",
  headers: { "X-API-Key": "rbg_sua_chave" },
  body: form
});

const blob = await res.blob();

Erros, limites e comportamento esperado

Status Code Quando acontece
400EMPTY / INVALID_IMAGEArquivo vazio, corrompido ou não legível.
400REMOTE_FETCH_ERRORFalha ao buscar a imagem remota ou URL não permitida.
401BAD_API_KEYChave ausente, inválida ou revogada.
413TOO_LARGEImagem acima do limite permitido.
415BAD_TYPEFormato não suportado.
402INSUFFICIENT_CREDITSSaldo de créditos insuficiente para a operação.
500PROCESSING_ERRORFalha inesperada durante o processamento. Tente novamente.

Boas práticas de integração

Leia os headers

Eles ajudam a registrar saldo restante, modo HD e dimensões processadas sem chamadas extras.

Use account para preflight

Antes de jobs maiores, consulte /api/account e evite filas quebrando por falta de saldo.

Prefira URL remota em backend

Quando a imagem já estiver em um CDN público, evite reupload e processe direto por URL.

Mantenha retry consciente

Em erro 500 ou 502, aplique retry com backoff. Em 4xx, corrija o request antes de repetir.

Precisa de volume maior na API?

Podemos estruturar camadas dedicadas para operação contínua, SLA e volume customizado para marketplace, apps de edição e pipelines de e-commerce.