/api/v1/generate/background-removeRemover fundo
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
| Campo | Tipo | Obrigatório | Valores / restrições |
|---|---|---|---|
imageUrl | string | sim | URL HTTPS pública da imagem (≤10 MB) |
callbackUrl | string | não | HTTPS, 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 -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
{
"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 pending → processing →
completed (com resultUrl do PNG transparente) ou failed. Ver
Ciclo de vida da task.
Exemplo de erro
{
"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ódigo | HTTP | Quando |
|---|---|---|
VALIDATION_ERROR | 400 | campo obrigatório ausente, URL não-HTTPS |
INSUFFICIENT_CREDITS | 402 | saldo insuficiente |
FORBIDDEN | 403 | token sem generate:image |
MAX_CONCURRENT_TASKS / RATE_LIMITED | 429 | 20 tasks simultâneas ou rate limit |
INTERNAL_ERROR | 500 | erro interno ao processar a cobrança |
GENERATION_FAILED | 502 | falha do provider |
PROVIDER_UNAVAILABLE | 503 | provider indisponível |