API HTTP
Le site est lui-même le client d'une API HTTP simple — tout ce que fait la zone de dépôt, vous pouvez le faire avec curl. L'API est gratuite pendant la bêta, sans clé. Limites : 30 requêtes en écriture par minute et par IP, plus des quotas quotidiens gratuits (20 conversions / 3 vocales / 30 détections — échecs remboursés). Agents IA : pointez-les vers /skill.md — toute cette page y est reproduite dans un format adapté.
Authentification et quotas
L'API est ouverte sans clé : les appels anonymes partagent le quota gratuit par IP (L1). Les agents et scripts qui ont besoin de plus d'amplitude peuvent utiliser une clé API (L2b) — créez-en une depuis votre page compte et envoyez-la en Bearer ; chaque clé dispose de ses propres quotas quotidiens. Les clés sont stockées en hachage SHA-256, le texte intégral n'est affiché qu'à la création et n'apparaît jamais dans les journaux.
| Identité | Conversions/jour | Voix/jour | Détections/jour |
|---|---|---|---|
| Anonyme (par IP) — L1 | 20 | 3 | 30 |
| Clé API (par clé) — L2b | 500 | 20 | 300 |
# Anonyme (L1) — sans clé
curl -X POST https://liteconvert.cc/api/public/detect -F "file=@document.pdf"
# Avec une clé API (L2b) — remplacez sk-… par votre clé
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"Besoin de plus d'amplitude — créez une clé API sur votre page compte.
Points de terminaison
| Méthode | Chemin | Rôle |
|---|---|---|
| POST | /api/public/detect | Identifier un fichier (champ multipart file). Synchrone, ≤20 s. |
| POST | /api/public/convert | Lancer une conversion (multipart meta + fichier). Renvoie request_id. |
| GET | /api/public/requests/{id} | Statut, progression et artefacts d'une requête. |
| GET | /api/public/requests/recent?limit=20 | Vos conversions récentes sur cet appareil (en-tête X-Owner-Token, anonyme). |
| GET | /api/public/requests/{id}/artifacts/{name} | Redirection 302 vers l'URL de téléchargement présignée. |
| GET | /api/public/requests/{id}/timeline | Journal des événements lisible de la conversion. |
| GET | /api/public/stats | Statistiques de réussite en direct. |
| GET | /api/public/conversions | Le catalogue des conversions (toutes les paires prises en charge). |
| GET | /api/public/catalog | Le manifeste de construction (clés canoniques avec family/lossy/steps) pour les intégrateurs. |
Détecter un fichier
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 }
}Convertir et télécharger
# 1. Soumettre (les sources URL envoient meta avec source_url, sans fichier)
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. Interroger
curl https://liteconvert.cc/api/public/requests/REQUEST_ID
# → { "status": "succeeded", "artifacts": [{ "name": "docx", "download": "…", … }] }
# 3. Télécharger (302 vers URL présignée, valide 1 h)
curl -L -o result.docx https://liteconvert.cc/api/public/requests/REQUEST_ID/artifacts/docxCodes d'erreur
| Statut | Code | Signification |
|---|---|---|
| 401 | INVALID_API_KEY | La clé présentée est invalide, ou elle a été révoquée. La révocation prend effet immédiatement — créez une nouvelle clé depuis votre page compte. |
| 429 | QUOTA_EXCEEDED | Quota gratuit du jour épuisé (réinitialisé à minuit UTC ; error.reset_at donne l'heure exacte). Les conversions échouées sont automatiquement remboursées. |
| 422 | UNSUPPORTED_CONVERSION | La paire de conversion n'est pas dans le catalogue. |
| 404 | ARTIFACT_EXPIRED | Le résultat a expiré et été supprimé (rétention 24 h) — reconvertissez. |
| 413/422 | INTAKE_FAILED | Échec de l'envoi ou dépassement de 200 Mo. |
| 502 | CONVERT_FAILED | Les moteurs ont tenté mais n'ont pas pu lire ce fichier. Les codes détaillés (NEEDS_OCR, ENCRYPTED_DOCUMENT, MALFORMED_DOCUMENT) sont renvoyés dans error.code de la requête, avec des messages fixes. |
| 400 | INVALID_SOURCE_URL | source_url est absent ou n'est pas une URL http(s) publique valide. |
| 400 | SOURCE_URL_BLOCKED | L'URL source pointe vers une adresse privée, de bouclage ou link-local : elle a été bloquée (protection SSRF). |
| 502 | SOURCE_URL_FETCH_FAILED | L'URL source n'a pas pu être téléchargée — hors ligne, délai dépassé, trop volumineuse ou non accessible publiquement. |
| 503 | CONVERT_API_UNAVAILABLE | Panne temporaire — réessayez dans une minute. |
Pour les agents IA
Récupérez /skill.md — c'est une fiche autonome avec les points de terminaison ci-dessus, des exemples complets et la déclaration de gratuité. Relisez-la en cas de doute ; elle évolue avec l'API.