Esta é uma tradução fornecida por conveniência. A referência técnica autoritativa é a versão em inglês; em caso de divergência, o texto em inglês prevalece.
Autenticação
Toda requisição precisa de uma chave de API, enviada em um destes cabeçalhos:
Crie uma chave no painel de Chaves de API do seu dashboard. A chave em texto puro é mostrada exatamente uma vez, na criação — se você perdê-la, revogue-a e gere uma nova. Você pode ter até 10 chaves ativas ao mesmo tempo; todas compartilham um único saldo de créditos.
Créditos e preços
Cada arquivo custa 1 crédito por segundo de duração processada, mínimo de 3 créditos — um clipe de 2 segundos ainda custa o piso de 3 créditos, um clipe de 10 segundos custa 10. Os créditos são debitados quando o trabalho é enviado (antes de o processamento começar), com base na duração do próprio arquivo, não em uma taxa fixa por arquivo. Uma requisição em lote cobra por cada arquivo do lote antecipadamente — se seu saldo não cobrir o lote inteiro, nada nele é criado. Se um arquivo se revelar ilegível, o crédito desse arquivo é reembolsado automaticamente.
| Plano | Créditos | Preço |
|---|---|---|
| Pacote de créditos — Micro | 15 (nunca expiram) | $1.99 |
| Pacote de créditos — Light | 150 (nunca expiram) | $9.99 |
| Pacote de créditos — Heavy | 900 (nunca expiram) | $39.99 |
| Plus Trimestral | 2.700 / trimestre | US$ 79,99/tri |
| Pro Mensal | 3.000 / mês | US$ 79,99/mês |
| Pro Anual | 36.000 / ano | US$ 799,99/ano |
Os créditos ficam na sua conta, não em uma chave individual — toda chave que você cria consome do mesmo pool. Verifique seu saldo a qualquer momento com GET /api/account (autenticação de sessão do dashboard, não autenticação por chave de API).
Enviar um arquivo — POST /api/v1/jobs
Dados de formulário multipart:
| Campo | Valores | Notas |
|---|---|---|
file | obrigatório | .gif, .mp4, .mov, .webm |
method | auto (padrão) · fast · rembg | fast usa preenchimento por inundação em vez de segmentação por IA — mais rápido, funciona melhor em fundos de cor sólida |
tolerance | 8–32 (padrão 16) | usado apenas por method=fast |
crop | true (padrão) · false | corta automaticamente para a caixa delimitadora do sujeito |
pad | 0–50 px (padrão 12) | espaçamento mantido ao redor do corte |
canvasW / canvasH | px | tamanho da tela de saída; omita para manter o tamanho original |
anchor | center (padrão) · bottom | posicionamento do sujeito ao redimensionar para uma tela |
outputFormat | gif (padrão) · apng · webm · mp4 | veja a nota abaixo sobre mp4 |
bgColor | transparent (padrão) · #rrggbb | obrigatório para mp4 |
trim | true · false (padrão) | apara automaticamente quadros ociosos de entrada/saída — apenas fontes GIF |
A saída mp4 não tem canal alfa, então só faz sentido com um bgColor sólido — solicitar mp4 com fundo transparente volta para gif automaticamente.
Resposta 202:
Consultar status — GET /api/v1/jobs/:id
previewUrl aparece assim que uma pré-visualização está disponível; downloadUrl só quando status é done. Um trabalho só é visível para a chave de API que o criou — qualquer outra chave recebe um 404.
Pré-visualização e download
GET /api/v1/jobs/:id/preview e GET /api/v1/jobs/:id/download transmitem o arquivo diretamente, autenticados da mesma forma que qualquer outra chamada — sem um token de download separado.
Lotes — POST /api/v1/batches
Os mesmos campos de POST /api/v1/jobs, mas repita o campo file uma vez por arquivo (até 20 arquivos por requisição). Um conjunto de opções se aplica a cada arquivo do lote.
GET /api/v1/batches/:id retorna { "id", "status": "processing | partial | done", "jobs": [...] } com cada entrada no mesmo formato de GET /api/v1/jobs/:id.
Erros
| Status | Corpo | Significado |
|---|---|---|
401 | { "error": "unauthorized" } | chave de API ausente, inválida ou revogada |
402 | { "error": "insufficient_credits", "creditsRemaining" } | créditos insuficientes — nenhum trabalho foi criado |
400 | { "error": "bad_request" } | nenhum arquivo válido, ou corpo multipart malformado |
422 | { "error": "unreadable_file" } | não foi possível analisar o arquivo — nenhum crédito cobrado |
404 | { "error": "not_found" } | o trabalho/lote não existe, ou pertence a outra chave |
429 | { "error": "rate_limited" } | muitas requisições — veja o cabeçalho Retry-After |
Limites de taxa
As requisições têm limite de taxa por chave de API. Se você atingir o limite, a resposta inclui um cabeçalho Retry-After (segundos) — espere esse tempo antes de tentar de novo. Precisa de um limite maior para uma integração de produção? fale conosco pelo seu dashboard.