POST/api/v1/generate/skin-enhance

Melhorar pele

Bearer tokenescopo generate:image

Melhorar pele adiciona micro-texturas e poros realistas para remover o "look de plástico", presente em algumas imagens geradas por IA, preservando feições, expressão, cabelo, roupas e fundo. 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çõesPadrão
imageUrlstringsimURL HTTPS pública da imagem (≤10 MB)
textureLevelinteironão0–100 (intensidade da micro-textura)50
poresDetailinteironão0–100 (nível de detalhe dos poros)50
lightingFixbooleannãotrue / false (naturalizar iluminação)true
callbackUrlstringnãoHTTPS, host não-privado

A imageUrl passa por validação contra hosts privados (HTTPS, host não-privado, ≤10 MB). Não é necessário enviar prompt, basta enviar os valores desejados para textureLevel, poresDetail e lightingFix.

Aspect ratio: derivado automaticamente das dimensões da imagem enviada. Falha de detecção não bloqueia a requisição e aplica proporção padrão 1:1.

Exemplo de request

cURL
curl -X POST https://avatrix.io/api/v1/generate/skin-enhance \
  -H "Authorization: Bearer av_xxxxxxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: 9f1c-skin-001" \
  -d '{
    "imageUrl": "https://storage.avatrix.io/assets/image-6386c98d-4ebb-4cb8-b6ab-b5ec7da7d4d8.png",
    "textureLevel": 60,
    "poresDetail": 50,
    "lightingFix": true
  }'

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) ou failed. Ver Ciclo de vida da task.

Exemplo de erro

JSON
{
  "success": false,
  "error": {
    "code": "VALIDATION_ERROR",
    "message": "Campo 'textureLevel' deve estar entre 0 e 100."
  }
}

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. Não depende dos megapixels da imagem.

Erros relevantes

CódigoHTTPQuando
VALIDATION_ERROR400campo obrigatório ausente, URL não-HTTPS, textureLevel/poresDetail fora de 0–100, lightingFix não-booleano
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