Envie uma imagem; a IA remove o fundo e retorna um PNG transparente. Síncrono — geralmente alguns segundos.
Autenticação e requisição
X-Api-Key: YOUR_API_KEY. Crie e gerencie chaves na sua página de conta.
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
image_file
|
file | obrigatório* | Imagem para processar, upload multipart. JPG / PNG / WebP, até 20 MB |
image_url
|
string | obrigatório* | Ou uma URL pública de imagem (forneça image_file ou image_url) |
size
|
string | opcional | preview (gratuito, com marca d'água) / full (HD, 1 crédito) / auto. Padrão: preview |
format
|
string | opcional | auto (PNG se transparente, caso contrário JPG — padrão) / png / jpg |
bg_color
|
string | opcional | Fundo do resultado: transparente (padrão) / white / qualquer #RRGGBB |
Exemplos de código
Escolha um idioma e copie — funciona imediatamente.1curl -X POST "https://api.pixmiller.com/v1/remove" \2 -H "X-Api-Key: YOUR_API_KEY" \3 -F "[email protected]" \4 -F "size=full"
1import requests23resp = requests.post(4 "https://api.pixmiller.com/v1/remove",5 headers={"X-Api-Key": "YOUR_API_KEY"},6 files={"image_file": open("product.jpg", "rb")},7 data={"size": "full"},8)9print(resp.json()["url"])
1import fs from "node:fs";23const form = new FormData();4form.append("image_file", new Blob([fs.readFileSync("product.jpg")]), "product.jpg");5form.append("size", "full");6const resp = await fetch("https://api.pixmiller.com/v1/remove", {7 method: "POST",8 headers: { "X-Api-Key": "YOUR_API_KEY" },9 body: form,10});11console.log((await resp.json()).url);
Resposta
1{2 "url": "https://cdn.pixmiller.com/result/8Kd2pQ.png"3}
url
URL temporária da imagem processada (a imagem original é excluída automaticamente após 3 dias).
Erros
Os erros retornam o código de status correspondente e um corpo JSON no formato {"errors":{"code":"…","message":"…"}}.
validation error
image_file ausente ou inválido, arquivo muito grande ou fontes de imagem conflitantes.
authentication_failed
O cabeçalho X-Api-Key está ausente ou é inválido.
not_enough_credit
size=full foi solicitado, mas a conta não possui créditos HD disponíveis.
invalid_image
A imagem não pôde ser processada — muito pequena, formato não suportado ou falha na decodificação.
throttled
Limite de requisições excedido. Aguarde e tente novamente após o cabeçalho Retry-After.