DocInspect API

Файл. Промпт. JSON-схема.
Ответ: структурированные данные.

POST /v1/task принимает счёт, договор или скан и возвращает чистый JSON по вашей схеме. Персональные данные вычищаются до LLM.

СЧЁТ № 214от 3 июля 2026 г.ПОСТАВЩИКООО «Стальпро»ИНН 7714563210 / КПП 771401001ПОКУПАТЕЛЬООО «Балтийский склад»ИНН 7805419372НАИМЕНОВАНИЕКОЛ-ВОСУММАСтеллаж СТ-120012214 800,00Тележка гидравлическая3187 560,00Итого: 402 360,00 ₽В т.ч. НДС 20 %: 67 060,00 ₽РуководительООО «СТАЛЬПРО»г. МоскваСчёт действителен до 17.07.2026
POST/v1/task
POST /v1/task200 OK
{
"result": {
"supplier": { "name": "ООО «Стальпро»", "inn": "7714563210" },
"invoice_number": "214",
"invoice_date": "2026-07-03",
"items": [
{ "name": "Стеллаж СТ-1200", "qty": 12, "amount": 214800.00 },
{ "name": "Тележка гидравлическая", "qty": 3, "amount": 187560.00 }
],
"total_amount": 402360.00,
"vat_amount": 67060.00
},
"anonymization": { "mode": "fail_closed", "items": 6 },
"pages_processed": 1,
"tokens_used": 1218
}

Первый вызов на вашем стеке

curl -X POST https://api.docinspect.ru/v1/task \
-H "X-API-Key: $DOCINSPECT_API_KEY" \
-F "file=@invoice.pdf" \
-F "prompt=Извлеки реквизиты счёта" \
-F 'output_schema={
"type": "object",
"properties": {
"supplier": {"type": "object", "properties": {
"name": {"type": "string"}, "inn": {"type": "string"}}},
"total_amount": {"type": "number"}
}
}'

Четыре эндпоинта. Весь пайплайн документов.

POST/v1/task

Опишите задачу словами

Файл, промпт и схема ответа. Классификация, извлечение, сравнение версий и анализ рисков: это разные промпты, а не разные эндпоинты.

POST/v1/extract

Экстракция по JSON-схеме

Каждое поле приходит с confidence. API пометит предупреждением битый ИНН или расхождение сумм раньше, чем вы их заметите.

POST/v1/split

Один PDF, внутри 14 документов

Границы документов в мультифайле определяются без LLM. На выходе: отдельные документы и их типы.

POST/v1/embed

Эмбеддинги для вашего поиска

Вектор на 256 измерений по любому тексту. Семантический поиск по архиву документов без собственного ML.

Персональные данные не доезжают до внешней LLM

Перед каждым внешним вызовом NDA-граница вычищает реквизиты, имена, компании и адреса. Модель работает с плейсхолдерами, реальные значения восстанавливаются в ответе локально.

ваш документ

Сторона договора
ООО «Стальпро»
ИНН
7714563210
Подписант
Козинцева А. В.
Адрес
Москва, Складочная, 3

что видит внешняя LLM

Сторона договора
{ORG_1}
ИНН
{INN_1}
Подписант
{PERSON_1}
Адрес
{ADDR_1}

422 ANONYMIZATION_INCOMPLETE

Режим fail_closed

Если скраббер не даёт гарантии, запрос наружу просто не уходит. Вы получаете код 422 и счётчики категорий, а не утечку.

152-ФЗ

Аргумент для безопасников

Обезличивание происходит до передачи данных третьей стороне: требование 152-ФЗ закрыто архитектурой, а не обещанием в договоре.

Кириллица со сканов. Таблицы выживают.

Основной движок PaddleOCR-VL, на подхвате GLM-OCR. Сканы, фото и таблицы превращаются в аккуратный markdown: структура строк и колонок сохраняется.

Форматы: PDF, DOCX, XLSX, JPG, PNG, WebP, TIFF. Лимит: 50 МБ.

Плохой скан не проходит молча: input_quality_score подскажет, когда стоит попросить пересъёмку.

markdown
| Наименование     |      Сумма |
|------------------|-----------:|
| Стеллаж СТ-1200  | 214 800,00 |
| Тележка гидравл. | 187 560,00 |

Договор на 91 страницу: один вызов

async_mode=true мгновенно возвращает task_id, дальше обычный поллинг. Ни таймаутов прокси на длинных сканах, ни ручной нарезки файла.

async polling
POST /v1/task            async_mode=true
  202 { "task_id": "9f3c41", "poll_url": "/v1/task/9f3c41" }

GET /v1/task/9f3c41
  { "status": "processing" }

GET /v1/task/9f3c41
  { "status": "done", "pages_processed": 91, "result": { … } }

Под капотом: цепочка из 5 моделей (Alice AI, YandexGPT Pro, gpt-oss-120b, Qwen, DeepSeek) с накоплением результата. Если провайдер лёг, задача доживает до ответа.

Цена известна до первого вызова

1 страница = 2 000 символов распознанного текста. Считается текст, а не листы PDF.

Посчитать в калькуляторе

Free

0 ₽

100 страниц в месяц

Для первого вызова и прототипа

Starter

5 000 ₽/мес

5 000 страниц в месяц

1 ₽ за страницу

Business

35 000 ₽/мес

50 000 страниц в месяц

0,7 ₽ за страницу

Enterprise

договорной

объём под задачу

On-premise, self-hosted LLM, SLA

Три шага до первого JSON

  1. Получите ключ

    Регистрация в личном кабинете. Ключ доступен сразу, 100 страниц в месяц бесплатно.

  2. Отправьте документ

    Один multipart-запрос: файл, промпт и схема ответа.

    curl -X POST https://api.docinspect.ru/v1/task \
      -H "X-API-Key: $KEY" -F "file=@invoice.pdf" \
      -F "prompt=Извлеки реквизиты счёта"
  3. Разберите ответ

    result соответствует вашей output_schema. Длинные документы: async_mode, пачки: /v1/split.