Для разработчиков

HTTP API

Сайт — клиент простого HTTP API: все, что делает зона перетаскивания, вы можете сделать с помощью curl. API бесплатный в бета-период, без ключа. Лимиты запросов: 30 записывающих запросов в минуту на IP плюс дневные бесплатные лимиты (20 конвертаций / 3 голосовые / 30 проверок — неудачные не засчитываются). ИИ-агентам: направляйте их на /skill.md — там вся эта страница в удобном для агентов виде.

Аутентификация и лимиты

API открыт без всякого ключа: анонимные вызовы делят бесплатный уровень на IP (L1). Агентам и скриптам, которым нужно больше, подойдет API-ключ (L2b) — выпустите его на странице аккаунта и передавайте как Bearer-токен; у каждого ключа свои дневные лимиты. Ключи хранятся в виде хешей SHA-256, открытый текст показывается один раз при создании и никогда не попадает в логи.

Тип доступаКонвертаций/деньГолос/деньПроверок файлов/день
Анонимно (на IP) — L120330
API-ключ (на ключ) — L2b50020300

Лимиты обновляются в полночь UTC; неудачные конвертации автоматически не засчитываются. Записывающие запросы ограничены 30 в минуту на IP.

# Анонимно (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"

401 INVALID_API_KEY: ключ передан как Bearer-токен, но не прошел проверку (недействителен или отозван) — переданный ключ всегда отклоняется и никогда не понижается до анонимного. Запросы без ключа или с заголовком Authorization, который не является Bearer-ключом, просто расходуют анонимную квоту L1. 429 QUOTA_EXCEEDED: дневная квота этого типа доступа исчерпана; error.reset_at содержит точное время обновления (полночь UTC).

Нужно больше пространства — выпустите 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

Коды ошибок

СтатусКодЗначение
401INVALID_API_KEYПередан недействительный ключ или ключ отозван. Отзыв действует немедленно — выпустите новый ключ на странице аккаунта.
429QUOTA_EXCEEDEDДневная бесплатная квота исчерпана (обновление в полночь UTC; error.reset_at содержит точное время). Неудачные конвертации автоматически не засчитываются.
422UNSUPPORTED_CONVERSIONПары конвертации нет в каталоге.
404ARTIFACT_EXPIREDСрок действия результата истек, и он был удален (хранение 24 ч) — сконвертируйте заново.
413/422INTAKE_FAILEDЗагрузка не удалась или превышено 200 МБ.
502CONVERT_FAILEDДвижки попытались, но не смогли прочитать этот файл. Коды деталей (NEEDS_OCR, ENCRYPTED_DOCUMENT, MALFORMED_DOCUMENT) возвращаются в error.code запроса с фиксированными сообщениями.
400INVALID_SOURCE_URLsource_url отсутствует или не является действительным публичным http(s)-URL.
400SOURCE_URL_BLOCKEDИсходный URL указывает на приватный, loopback или link-local адрес и был заблокирован (защита от SSRF).
502SOURCE_URL_FETCH_FAILEDИсходный URL не удалось скачать — офлайн, тайм-аут, слишком большой или недоступен публично.
503CONVERT_API_UNAVAILABLEВременный сбой — повторите через минуту.

Для ИИ-агентов

Загрузите /skill.md — это самодостаточная инструкция с эндпоинтами выше, разобранными примерами и декларацией бесплатного уровня. Перечитывайте при сомнениях; она обновляется вместе с API.