API HTTP
O site é um cliente de uma API HTTP simples — tudo o que a zona de arrastar faz, você faz com curl. A API é gratuita durante o beta, sem chave exigida. Limites de taxa: 30 solicitações de escrita por minuto por IP, além das cotas diárias gratuitas (20 conversões / 3 de voz / 30 verificações — falhas são reembolsadas). Agentes de IA: aponte-os para /skill.md — ele contém esta página inteira em formato amigável a agentes.
Autenticação e cotas
A API está aberta sem nenhuma chave: chamadas anônimas compartilham a camada gratuita por IP (L1). Agentes e scripts que precisam de mais folga podem usar uma chave de API (L2b) — emita uma na sua página de conta e envie-a como token Bearer; cada chave tem suas próprias cotas diárias. As chaves são armazenadas como hashes SHA-256, o texto puro é exibido uma única vez na criação e nunca aparece nos logs.
| Identidade | Conversões/dia | Voz/dia | Verificações/dia |
|---|---|---|---|
| Anônimo (por IP) — L1 | 20 | 3 | 30 |
| Chave de API (por chave) — L2b | 500 | 20 | 300 |
# Anônimo (L1) — sem chave
curl -X POST https://liteconvert.cc/api/public/detect -F "file=@document.pdf"
# Com uma chave de API (L2b) — substitua sk-… pela sua chave
curl -X POST https://liteconvert.cc/api/public/convert \
-H "Authorization: Bearer sk-…" \
-F 'meta={"conversion":"pdf-docx"};type=application/json' \
-F "file=@document.pdf"Quer mais folga? — emita uma chave de API na sua página de conta.
Endpoints
| Método | Caminho | O que faz |
|---|---|---|
| POST | /api/public/detect | Identifica um arquivo (campo multipart file). Síncrono, ≤20 s. |
| POST | /api/public/convert | Envia uma conversão (multipart meta + file). Retorna request_id. |
| GET | /api/public/requests/{id} | Estado, progresso e artefatos de uma solicitação. |
| GET | /api/public/requests/recent?limit=20 | Suas conversões recentes neste dispositivo (cabeçalho X-Owner-Token, anônimo). |
| GET | /api/public/requests/{id}/artifacts/{name} | Redirecionamento 302 para a URL de download pré-assinada. |
| GET | /api/public/requests/{id}/timeline | Trilha de eventos legível da conversão. |
| GET | /api/public/stats | Estatísticas de taxa de sucesso ao vivo. |
| GET | /api/public/conversions | O catálogo de conversões (todos os pares suportados). |
| GET | /api/public/catalog | O manifesto de build (chaves canônicas com family/lossy/steps) para construtores de sites. |
Detectar um arquivo
curl -X POST https://liteconvert.cc/api/public/detect -F "file=@document.pdf"{
"request_id": "c0af…",
"status": "succeeded",
"report": { "declared": "pdf", "detected": "pdf", "match": true,
"mime": "application/pdf", "confidence": 0.99 }
}Converter e baixar
# 1. Enviar (origens URL enviam meta com source_url e sem a parte de arquivo)
curl -X POST https://liteconvert.cc/api/public/convert \
-F 'meta={"conversion":"pdf-docx"};type=application/json' \
-F "file=@document.pdf"
# → 202 { "request_id": "…", "status": "running" }
# 2. Consultar
curl https://liteconvert.cc/api/public/requests/REQUEST_ID
# → { "status": "succeeded", "artifacts": [{ "name": "docx", "download": "…", … }] }
# 3. Baixar (302 para a URL pré-assinada, válida por 1 h)
curl -L -o result.docx https://liteconvert.cc/api/public/requests/REQUEST_ID/artifacts/docxCódigos de erro
| Status | Código | Significado |
|---|---|---|
| 401 | INVALID_API_KEY | Foi apresentada uma chave inválida, ou a chave foi revogada. A revogação surte efeito imediatamente — emita uma nova chave na página de conta. |
| 429 | QUOTA_EXCEEDED | Cota diária gratuita esgotada (reinicia à meia-noite UTC; error.reset_at traz a hora exata). Conversões que falham são reembolsadas automaticamente. |
| 422 | UNSUPPORTED_CONVERSION | O par de conversão não está no catálogo. |
| 404 | ARTIFACT_EXPIRED | O resultado expirou e foi excluído (retenção de 24 h) — converta novamente. |
| 413/422 | INTAKE_FAILED | O envio falhou ou excedeu 200 MB. |
| 502 | CONVERT_FAILED | Os motores tentaram e não conseguiram ler este arquivo. Os códigos de detalhe (NEEDS_OCR, ENCRYPTED_DOCUMENT, MALFORMED_DOCUMENT) são retornados em error.code da solicitação com mensagens fixas. |
| 400 | INVALID_SOURCE_URL | source_url está ausente ou não é uma URL pública http(s) válida. |
| 400 | SOURCE_URL_BLOCKED | A URL de origem resolve para um endereço privado, de loopback ou link-local e foi bloqueada (proteção SSRF). |
| 502 | SOURCE_URL_FETCH_FAILED | Não foi possível baixar a URL de origem — offline, tempo esgotado, grande demais ou sem acesso público. |
| 503 | CONVERT_API_UNAVAILABLE | Falha temporária — tente novamente em um minuto. |
Para agentes de IA
Busque /skill.md — é uma folha de instruções autocontida com os endpoints acima, exemplos resolvidos e a declaração da camada gratuita. Releia em caso de dúvida; ela é atualizada junto com a API.