Desenvolvedores

API de remoção de fundo

As mesmas requisições da API do remove.bg, as mesmas respostas. Troque a URL base e a chave; o resto do código fica como está.

Migrando do remove.bg

O remove.bg anunciou que seu serviço independente encerra em 1º de dezembro de 2026 e que as requisições da API self-service param no mesmo dia, com a API indo para a Leonardo.Ai. Se o seu código chama api.remove.bg, aponte para cá:

Anteshttps://api.remove.bg/v1.0/removebg
Depoishttps://imagic-ai.com/api/v1.0/removebg

O cabeçalho continua X-Api-Key, os campos mantêm os nomes e os erros seguem o formato do remove.bg, então bibliotecas cliente que permitem definir a URL base funcionam sem mudanças.

Obtenha uma chave

  1. Entre com o Google.
  2. Abra Minha conta e crie uma chave em Chaves da API de remoção de fundo.
  3. Copie a chave quando ela aparecer. Ela é exibida só uma vez.
Criar uma chave

Início rápido

Envie a imagem como upload de arquivo, em base64 ou como URL pública. O corpo da resposta é a imagem pronta.

curl
curl -H "X-Api-Key: $IMAGIC_API_KEY" \
  -F "image_file=@photo.jpg" \
  -F "size=auto" \
  -o no-bg.png \
  https://imagic-ai.com/api/v1.0/removebg
Python
import os, requests

response = requests.post(
    "https://imagic-ai.com/api/v1.0/removebg",
    files={"image_file": open("photo.jpg", "rb")},
    data={"size": "auto"},
    headers={"X-Api-Key": os.environ["IMAGIC_API_KEY"]},
)
response.raise_for_status()
with open("no-bg.png", "wb") as out:
    out.write(response.content)
Node.js
import { readFile, writeFile } from "node:fs/promises";

const form = new FormData();
form.append("image_file", new Blob([await readFile("photo.jpg")]), "photo.jpg");
form.append("size", "auto");

const res = await fetch("https://imagic-ai.com/api/v1.0/removebg", {
  method: "POST",
  headers: { "X-Api-Key": process.env.IMAGIC_API_KEY },
  body: form,
});
if (!res.ok) throw new Error(JSON.stringify(await res.json()));
await writeFile("no-bg.png", Buffer.from(await res.arrayBuffer()));

Campos da requisição

POST /api/v1.0/removebg aceita multipart/form-data, application/x-www-form-urlencoded ou JSON. Envie apenas um dos três campos de imagem.

CampoValoresObservações
image_filearquivoJPG, PNG ou WebP de até 22 MB.
image_file_b64string base64O mesmo arquivo em base64. O prefixo data: URL é aceito.
image_urlURL http(s)Nós fazemos o download. Só endereços públicos e portas web padrão, até 3 redirecionamentos.
sizepreview · small · regular · medium · hd · full · 4k · auto · 50MPpreview/small/regular: até 0,25 MP. medium: 1,5 MP. hd: 4 MP. full/4k/auto/50MP: até 25 MP (PNG até 10 MP). Todo tamanho conta como uma imagem.
formatauto · png · jpg · webp · zipauto devolve PNG quando o resultado tem transparência e JPG quando não tem. zip traz color.jpg e alpha.png, como no remove.bg.
channelsrgba · alphaalpha devolve só a máscara, em tons de cinza.
bg_colorhex (81d4fa, #81d4fa77) ou nome de corPreenche o fundo removido. Um JPG sem bg_color é achatado sobre branco.
croptrue · falseRecorta o resultado até o objeto.
crop_marginex.: 30px ou 10%Espaço em volta do objeto recortado. Até 500px ou 50%.
typeauto · person · product · car · animal · graphic · transportationAceito por compatibilidade. É devolvido em X-Type; não muda o recorte.

scale, position, roi, bg_image_url, bg_image_file e as opções de sombra não são suportados. Requisições que os usam recebem 400 em vez de uma imagem diferente sem aviso.

Resposta

Por padrão o corpo é a própria imagem, com estes cabeçalhos: X-Width, X-Height, X-Type, X-Foreground-Top, X-Foreground-Left, X-Foreground-Width, X-Foreground-Height, X-Credits-Charged (sempre 1) e X-RateLimit-Limit / -Remaining / -Reset para a cota diária. Envie Accept: application/json para receber JSON:

Accept: application/json
{
  "data": {
    "result_b64": "iVBORw0KGgo…",
    "foreground_top": 115,
    "foreground_left": 477,
    "foreground_width": 637,
    "foreground_height": 824
  }
}

Cota restante

GET /api/v1.0/account devolve a estrutura de conta do remove.bg. credits.total e api.free_calls são o número de imagens que restam hoje.

Erros

Os erros usam o formato do remove.bg, mostrado abaixo. Uma requisição que falha não consome imagens.

{"errors": [{"title": "Daily limit of 50 images reached. …", "code": "rate_limit_exceeded"}]}
StatusSignificado
400Entrada inválida: sem imagem, duas imagens, arquivo ilegível, opção não suportada ou uma image_url que não podemos ou não conseguimos baixar.
403O cabeçalho X-Api-Key está ausente, errado ou revogado.
429As 50 imagens de hoje acabaram. Retry-After informa os segundos até a cota renovar.
503O processamento está indisponível no momento. Tente de novo daqui a pouco.

Limites

  • 50 imagens por dia por conta, compartilhadas por todas as chaves. Até 3 chaves ativas por conta, para você poder trocá-las.
  • Uploads de até 22 MB. Saída de até 25 MP, ou 10 MP em PNG.
  • As requisições entram em fila e são processadas poucas por vez. Conte com alguns segundos por imagem, mais em fotos grandes.
  • Ainda não há plano pago, então por enquanto a cota diária é o teto.

O que esperar dos recortes

Os recortes vêm do modelo isnet-general-use, o mesmo do Removedor de Fundo. Ele é confiável com produtos, pessoas e animais sobre fundos comuns. Cabelo fino, vidro e objetos da mesma cor do fundo são seus pontos fracos, e o próprio modelo do remove.bg pode se sair melhor nesses casos. Teste com algumas imagens suas antes de migrar um fluxo de produção.

Perguntas

É um substituto oficial do remove.bg?
Não. A Imagic AI não tem vínculo com remove.bg, Canva ou Leonardo.Ai. A API aceita o formato de requisição do remove.bg para que o código existente continue funcionando.
A API é gratuita?
Sim. Cada conta tem 50 imagens por dia sem custo. Todo tamanho, inclusive preview, conta como uma imagem.
As bibliotecas cliente oficiais do remove.bg funcionam?
As que permitem definir a URL base funcionam trocando-a para https://imagic-ai.com/api. As que têm api.remove.bg fixo precisam dessa linha alterada no código ou de um pequeno wrapper.
Vocês guardam minhas imagens?
As imagens enviadas à API são processadas e devolvidas na resposta. Não vão para nenhuma galeria nem são usadas para treinar modelos.

Precisa de só algumas imagens, sem código?

Usar o Removedor de Fundo