POST/api/v1/generate/background-remove

Remover fundo

Bearer tokenescopo generate:image

Remoção de fundo recebe a URL de uma imagem e devolve a mesma imagem sem fundo (PNG com transparência). Responde 202 Accepted com um taskId. acompanhe o resultado por polling em GET /api/v1/tasks/:id ou via webhook.

Escopo necessário: generate:image.

Body

CampoTipoObrigatórioValores / restrições
imageUrlstringsimURL HTTPS pública da imagem (≤10 MB)
callbackUrlstringnãoHTTPS, host não-privado

A imageUrl passa por validação contra hosts privados (HTTPS, host não-privado, ≤10 MB). Não há prompt de usuário.

Resultado transparente (sem composição de fundo): o endpoint entrega somente o PNG transparente produzido. Aplicar um fundo sólido (branco/preto) ou desfocado (blur) é responsabilidade do cliente.

Exemplo de request

cURL
curl -X POST https://avatrix.io/api/v1/generate/background-remove \
  -H "Authorization: Bearer av_xxxxxxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: 9f1c-removebg-001" \
  -d '{
    "imageUrl": "https://storage.avatrix.io/uploads/AMABB58D/image-cf32dda8-c6ab-4f56-b9cf-94611fde1378.jpg"
  }'

Resposta — 202

JSON
{
  "success": true,
  "data": { "taskId": "...", "status": "queued" }
}

O status: "queued" é só o rótulo de criação. No polling (GET /api/v1/tasks/:id) a task evolui por pendingprocessingcompleted (com resultUrl do PNG transparente) ou failed. Ver Ciclo de vida da task.

Exemplo de erro

JSON
{
  "success": false,
  "error": {
    "code": "VALIDATION_ERROR",
    "message": "Campo 'imageUrl' é obrigatório (URL da imagem)."
  }
}

Idempotência

Envie o header Idempotency-Key (opcional, ≤128 chars, TTL 24h). Repetir a mesma chave retorna a resposta original sem novo débito. A concorrência é limitada a 20 tasks simultâneas por usuário. Ver Idempotência.

Custo

Valor fixo por geração.

Erros relevantes

CódigoHTTPQuando
VALIDATION_ERROR400campo obrigatório ausente, URL não-HTTPS
INSUFFICIENT_CREDITS402saldo insuficiente
FORBIDDEN403token sem generate:image
MAX_CONCURRENT_TASKS / RATE_LIMITED42920 tasks simultâneas ou rate limit
INTERNAL_ERROR500erro interno ao processar a cobrança
GENERATION_FAILED502falha do provider
PROVIDER_UNAVAILABLE503provider indisponível