HTTP API
Сайт — клиент простого HTTP API: все, что делает зона перетаскивания, вы можете сделать с помощью curl. API бесплатный в бета-период, без ключа. Лимиты запросов: 30 записывающих запросов в минуту на IP плюс дневные бесплатные лимиты (20 конвертаций / 3 голосовые / 30 проверок — неудачные не засчитываются). ИИ-агентам: направляйте их на /skill.md — там вся эта страница в удобном для агентов виде.
Аутентификация и лимиты
API открыт без всякого ключа: анонимные вызовы делят бесплатный уровень на IP (L1). Агентам и скриптам, которым нужно больше, подойдет API-ключ (L2b) — выпустите его на странице аккаунта и передавайте как Bearer-токен; у каждого ключа свои дневные лимиты. Ключи хранятся в виде хешей SHA-256, открытый текст показывается один раз при создании и никогда не попадает в логи.
| Тип доступа | Конвертаций/день | Голос/день | Проверок файлов/день |
|---|---|---|---|
| Анонимно (на IP) — L1 | 20 | 3 | 30 |
| API-ключ (на ключ) — L2b | 500 | 20 | 300 |
# Анонимно (L1) — ключ не нужен
curl -X POST https://liteconvert.cc/api/public/detect -F "file=@document.pdf"
# С API-ключом (L2b) — замените sk-… на свой ключ
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"Нужно больше пространства — выпустите API-ключ на странице аккаунта.
Эндпоинты
| Метод | Путь | Что делает |
|---|---|---|
| POST | /api/public/detect | Распознать файл (multipart-поле файла). Синхронно, ≤20 с. |
| POST | /api/public/convert | Отправить конвертацию (multipart meta + файл). Возвращает request_id. |
| GET | /api/public/requests/{id} | Статус, прогресс и артефакты запроса. |
| GET | /api/public/requests/recent?limit=20 | Ваши недавние конвертации на этом устройстве (заголовок X-Owner-Token, анонимно). |
| GET | /api/public/requests/{id}/artifacts/{name} | Редирект 302 на предподписанный URL скачивания. |
| GET | /api/public/requests/{id}/timeline | Понятная человеку цепочка событий конвертации. |
| GET | /api/public/stats | Статистика успешности в реальном времени. |
| GET | /api/public/conversions | Каталог конвертаций (все поддерживаемые пары). |
| GET | /api/public/catalog | Манифест сборки (канонические ключи с семейством/lossy/шагами) для создателей сайтов. |
Распознать файл
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 }
}Конвертировать и скачать
# 1. Отправить (источники-URL передают meta с source_url и без части файла)
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. Опрашивать
curl https://liteconvert.cc/api/public/requests/REQUEST_ID
# → { "status": "succeeded", "artifacts": [{ "name": "docx", "download": "…", … }] }
# 3. Скачать (302 на предподписанный URL, действует 1 ч)
curl -L -o result.docx https://liteconvert.cc/api/public/requests/REQUEST_ID/artifacts/docxКоды ошибок
| Статус | Код | Значение |
|---|---|---|
| 401 | INVALID_API_KEY | Передан недействительный ключ или ключ отозван. Отзыв действует немедленно — выпустите новый ключ на странице аккаунта. |
| 429 | QUOTA_EXCEEDED | Дневная бесплатная квота исчерпана (обновление в полночь UTC; error.reset_at содержит точное время). Неудачные конвертации автоматически не засчитываются. |
| 422 | UNSUPPORTED_CONVERSION | Пары конвертации нет в каталоге. |
| 404 | ARTIFACT_EXPIRED | Срок действия результата истек, и он был удален (хранение 24 ч) — сконвертируйте заново. |
| 413/422 | INTAKE_FAILED | Загрузка не удалась или превышено 200 МБ. |
| 502 | CONVERT_FAILED | Движки попытались, но не смогли прочитать этот файл. Коды деталей (NEEDS_OCR, ENCRYPTED_DOCUMENT, MALFORMED_DOCUMENT) возвращаются в error.code запроса с фиксированными сообщениями. |
| 400 | INVALID_SOURCE_URL | source_url отсутствует или не является действительным публичным http(s)-URL. |
| 400 | SOURCE_URL_BLOCKED | Исходный URL указывает на приватный, loopback или link-local адрес и был заблокирован (защита от SSRF). |
| 502 | SOURCE_URL_FETCH_FAILED | Исходный URL не удалось скачать — офлайн, тайм-аут, слишком большой или недоступен публично. |
| 503 | CONVERT_API_UNAVAILABLE | Временный сбой — повторите через минуту. |
Для ИИ-агентов
Загрузите /skill.md — это самодостаточная инструкция с эндпоинтами выше, разобранными примерами и декларацией бесплатного уровня. Перечитывайте при сомнениях; она обновляется вместе с API.