Mindee: инструкция от гика, модели документов, OCR, API, автоматизация и ограничения

Mindee — облачная платформа обработки документов, ориентированная не на ручное редактирование PDF, а на превращение сканов, фотографий и цифровых документов в структурированные данные. Актуальная версия сервиса работает через веб-платформу app.mindee.com и REST API: пользователь выбирает или создаёт модель, проверяет её в Live Test, а затем передаёт документы через API и получает результат в JSON. Это важно для правильной идентификации продукта: в обзоре рассматривается именно сервис Mindee для document processing от Mindee, а не приложение для заметок, карт мыслей или локальный OCR-редактор со схожим названием.

Что такое Mindee и для каких задач он нужен

Mindee относится к классу AI Document Processing и OCR API. Его основная задача — распознавать содержимое документа, находить заданные поля и отдавать их в структурированном виде, который можно передать в бухгалтерскую систему, CRM, ERP, базу данных или собственное веб-приложение. Сервис рассчитан прежде всего на разработчиков и команды автоматизации: веб-интерфейс нужен для настройки и проверки модели, а масштабная обработка выполняется через API.

Актуальная платформа V2 доступна на app.mindee.com. В ней есть каталог готовых моделей для типовых документов и конструктор собственной схемы извлечения. В каталоге встречаются сценарии для счетов, чеков, паспортов, удостоверений личности, водительских прав, резюме, банковских выписок, транспортных и логистических документов. Если готовой структуры недостаточно, модель можно изменить или создать с нуля, задав поля, типы данных и правила извлечения.

По устройству Mindee ближе к инфраструктурному сервису, чем к обычной настольной программе. Он не заменяет PDF-редактор, не предназначен для верстки и не ставит своей целью визуальное исправление страниц. Для задач редактирования полезнее отдельный обзор бесплатных PDF-редакторов. Mindee решает другую часть процесса: забирает данные из документа и возвращает структуру, пригодную для дальнейшей автоматической обработки.

Основные параметры Mindee

Параметр Актуальное состояние
Разработчик и оператор Mindee, облачная document-processing платформа компании из Парижа
Тип продукта Облачная SaaS-платформа и REST API для AI Document Processing и OCR
Актуальная редакция Mindee V2 на app.mindee.com; V1 на platform.mindee.com поддерживается для существующих платных интеграций, но новые функции туда не добавляются
Основной результат Структурированный JSON с извлечёнными полями; при включении опций — полный OCR-текст, координаты полей и confidence score
Входные файлы PDF, JPEG/JPG, PNG, WebP, TIFF/TIF, HEIC
Лимиты файла До 100 МБ и до 200 страниц на один файл
Защищённые PDF PDF с паролем не принимаются
Способ обработки V2 Асинхронно: polling или webhooks
Официальные SDK Python, Node.js, PHP, Ruby, Java и .NET
Веб-проверка Live Test с документом слева и структурированным результатом справа, просмотром JSON и визуальной привязкой полей
Автоматизация REST API, webhooks, официальные SDK, Make; поддерживаются utility-модели Split, Crop, Classification и OCR, отмеченные в документации как beta
Пробный режим 14 дней; на публичных страницах пробный запуск указан без обязательной банковской карты
Платные планы Публичная страница цен показывает Starter от 44 € в месяц при годовой оплате, Pro от 116 € в месяц при годовой оплате и Enterprise с индивидуальной ценой
Интернет Обязателен: веб-платформа и обработка работают как облачный сервис

Для обычного пользователя главный вывод из таблицы простой: Mindee не требует установки отдельного OCR-клиента, но требует аккаунта, подключения к интернету и понимания, куда после распознавания должны попасть данные. Для разработчика важнее другое: входные документы имеют чёткие лимиты, V2 работает асинхронно, а результат предназначен для программного чтения.

Интерфейс и рабочие зоны

Веб-платформа построена вокруг моделей. Модель определяет, что именно требуется извлечь: например, дату документа, номер, сумму, имя поставщика, массив строк таблицы или признак наличия подписи. После создания модели пользователь переключается между настройками схемы, тестовым просмотром, параметрами обработки и средствами интеграции. Такой подход отделяет экспериментальную часть от production-интеграции: сначала структура отлаживается на конкретных документах, затем тот же model ID используется в API.

В актуальной документации и интерфейсных примерах элементы платформы показаны с английскими названиями — Live Test, API Keys, Insights, General Settings, Data Schema. Поэтому в инструкциях ниже сохранены именно эти подписи; Data Schema при этом допускает русскоязычные Title, Description и Guidelines для полей.

Каталог моделей и Custom document

Каталог нужен для быстрого старта с распространёнными документами. Готовую модель можно взять за основу и изменить. Для собственного формата предусмотрено создание Custom document. Это не шаблон с жёстко привязанными координатами: структура задаётся через Data Schema, поэтому модель ориентируется на смысл полей и правила, а не только на фиксированное положение текста.

Интерфейс Mindee с разделом Pre-built models и плиткой Custom document
Экран выбора готовой модели и создания собственного типа документа в Mindee.

Data Schema

Data Schema — центральная настройка модели извлечения. Поля поддерживают типы Text, Number, Date, Classification, Boolean, Nested Object, Object Detection и Barcode. Любое поле можно сделать массивом; для вложенных объектов допускается один уровень вложенности. Схема также поддерживает описания и инструкции на естественном языке. Название поля для API ограничено ASCII-символами и должно состоять из строчных латинских букв, цифр и подчёркиваний.

Документация рекомендует не перегружать схему: ориентир — не более 25 полей. За этой границей производительность модели заметно ухудшается. Для сложного документа практичнее разделить извлечение на несколько моделей или оставить в схеме только данные, реально нужные downstream-системе.

Live Test

Live Test — визуальная лаборатория модели. Документ отображается слева, извлечённые значения — справа. Интерфейс умеет показывать привязку поля к области исходного документа, а также полный JSON-ответ. При включённых confidence scores рядом с полями появляются уровни уверенности; при включённых polygons можно сопоставлять значение с координатами на странице. Такой просмотр особенно полезен до интеграции, потому что позволяет заметить неправильное имя поля, неудачное описание или неоднозначную структуру ещё до написания production-кода.

Live Test Mindee с документом слева и извлечёнными полями справа
Live Test показывает исходный документ рядом со структурированным результатом извлечения.

API Keys и интеграция

В левом меню платформы есть раздел API Keys. Ключ V2 используется только с V2: ключи V1 и V2 не взаимозаменяемы. После выбора model ID документ можно отправлять через REST API или официальный SDK. V2 не предоставляет синхронного режима обработки: приложение ставит inference в очередь и затем получает результат polling-запросами либо через webhook.

Экран Mindee для работы с API-ключом перед интеграцией
API-ключ связывает настроенную модель Mindee с приложением или серверным процессом.

Insights

Раздел Insights показывает использование платформы и API. В нём есть представления Traffic, Processing Time и Errors, а также фильтры по источнику запроса, периоду, API key и активированным опциям. Это не система бизнес-аналитики по содержимому документов, а операционный мониторинг самой интеграции: сколько страниц успешно обработано, как меняется среднее время inference и сколько серверных ошибок возникло.

Основные функции и как они связаны

Извлечение структурированных полей

Главная функция Mindee — extraction model. На вход поступает документ, модель применяет заданную Data Schema и возвращает поля в JSON. Для счета это могут быть дата, номер, поставщик, общая сумма и массив строк; для удостоверения — имя, даты и идентификаторы; для собственного документа — произвольный набор полей, который определяет пользователь. Значение этой функции не в самом OCR, а в переходе от неструктурированной страницы к структуре, которую приложение может обработать без ручного копирования.

Full OCR

Опция Raw Text добавляет полный текст страниц к API-ответу. Она полезна, когда кроме целевых полей требуется сохранить текстовую копию документа, построить поиск или передать распознанный текст в другую систему. Raw Text не отменяет извлечение по схеме: это дополнительный слой результата, а не замена модели.

Polygons

Polygons возвращают координаты областей, из которых было получено значение. Это позволяет подсветить источник поля в собственном интерфейсе, реализовать операторскую проверку или сопоставить JSON с конкретным участком страницы. В Live Test такая привязка видна визуально; в API она используется программно.

Confidence score

Confidence score предназначен для автоматизации решений после извлечения. В документации используются уровни Certain, High, Medium и Low. Практическая схема проста: значения с высокой уверенностью можно направлять дальше автоматически, а сомнительные — оставлять на ручную проверку. Это не гарантия правильности, поэтому критические финансовые или юридические поля всё равно требуют собственных правил контроля.

RAG и непрерывное улучшение

Continuous Learning на основе RAG использует собственные документы и исправления, чтобы давать модели дополнительный контекст. Функция особенно полезна на повторяющихся нестандартных шаблонах. При этом она зависит от качества Data Schema: если поле названо неоднозначно или содержит противоречивые инструкции, дополнительный контекст не устраняет фундаментальную ошибку модели.

Utility-модели

В V2 предусмотрены Split, Crop, Classification и OCR. Split ищет отдельные документы внутри многостраничного файла, Crop определяет границы документа на странице, Classification относит документ к категории, OCR извлекает сырой текст и границы слов. Документация отмечает utilities как beta, поэтому при проектировании production-процесса стоит отделять критичную схему извлечения от экспериментальных вспомогательных этапов.

Работа с многостраничными документами

Mindee принимает PDF до 200 страниц и многостраничные TIFF. Для захвата бумажного потока качество исходника остаётся базовым условием: перекос, сильное размытие и обрезанные края делают любое распознавание менее предсказуемым. Если документы формируются со сканера, полезно сначала стабилизировать источник; отдельный материал о выборе сканера помогает понять, какие устройства лучше подходят для массовой оцифровки.

Форматы, импорт и результат обработки

Сервис принимает PDF, JPEG/JPG, PNG, WebP, TIFF/TIF и HEIC. PNG должен быть неанимированным; TIFF может быть одно- или многостраничным. PDF допускает текстовые и графические элементы на одной странице, но файл не должен быть защищён паролем. Общий предел — 100 МБ и 200 страниц.

Источник можно передать как локальный файл через SDK или как публичный HTTPS URL. Для URL действуют дополнительные правила: ресурс должен открываться без пользовательской авторизации, отдавать бинарный файл, не быть зашифрованным и не требовать HTTP-редиректа. Подписанные ссылки, в которых токен находится в query string, допускаются. Если файл нужно сжать, удалить лишние страницы или изменить локально, это делают до отправки; официальный SDK содержит операции предварительной подготовки.

Выходной формат V2 — JSON. XML сервис не возвращает. Это принципиально отличает Mindee от конвертеров, которые превращают PDF в Word или таблицу. Для ручной переработки документа можно использовать конвертацию PDF в Google Docs, а Mindee лучше выбирать там, где данные должны поступать в программу автоматически.

Карта форматов и совместимости

Источник Поддержка Что сохраняется Практическое ограничение
PDF Да, одно- и многостраничный Текстовые и графические элементы используются при анализе До 200 страниц и 100 МБ; парольная защита не допускается
JPEG/JPG Да Изображение анализируется как одна страница Качество фото напрямую влияет на читаемость исходника
PNG Да Изображение анализируется как одна страница Анимация не поддерживается
WebP Да Изображение передаётся в API без промежуточной конвертации Общий лимит 100 МБ
TIFF/TIF Да Поддерживаются одно- и многостраничные файлы Сохраняется общий лимит 200 страниц
HEIC Да Фотография может быть отправлена напрямую Подходит для входа, но результат всё равно возвращается как JSON
HTTPS URL Да, как источник файла Mindee получает бинарное содержимое по ссылке Без редиректов; источник должен быть публично доступен по URL
JSON Выход Структурированные поля, метаданные и включённые дополнительные данные Не является визуальной копией исходного документа

Если конечной системе нужен CSV, Excel, Google Sheets или запись в SQL, преобразование выполняет интеграционный слой. Это удобно для автоматизации, но требует заранее определить схему данных. Например, после получения массива строк счета приложение может записать значения в таблицу и уже там применять условия; для работы с критериями пригодится руководство по подсчёту значений в Google Таблицах.

Как пользоваться программой — советы гика

Ниже собраны рабочие последовательности именно для актуальной Mindee V2. Они охватывают создание модели, настройку схемы, тестирование, дополнительные функции, API, webhooks и контроль эксплуатации. Все действия с документами в этом обзоре сосредоточены здесь, чтобы остальные разделы оставались обзорными.

Создать модель из каталога или Custom document

Цель. Подготовить модель, которая знает, какие данные извлекать.

Подготовка. Нужен аккаунт Mindee V2 и один типичный документ без пароля. Для пробного режима достаточно учётной записи; публичная страница пробного доступа указывает, что банковская карта не обязательна.

  1. Откройте app.mindee.com и войдите в аккаунт.
  2. Перейдите к списку моделей. Для типового документа выберите подходящую pre-built model. Для собственной структуры используйте плитку Custom document.
  3. Задайте понятное название модели и откройте её Data Schema.
  4. Удалите поля, которые не нужны downstream-системе, и добавьте только необходимые.
  5. Сохраните изменения модели.

Проверка. В модели должен появиться Data Schema с конкретными полями, а не общий список «всего, что можно найти».

Типичная ошибка. Сразу добавлять десятки полей «на будущее». Документация рекомендует держаться около 25 полей или меньше.

Безопасный откат. До массового редактирования схемы сохраните текущую структуру: в General Settings доступно действие Download Data Schema. Оно позволяет зафиксировать рабочую версию JSON-схемы перед изменениями.

Настроить Data Schema

Цель. Сделать результат предсказуемым для приложения.

Подготовка. Составьте перечень полей и определите их будущие типы: текст, число, дата, классификация, логическое значение, вложенный объект, объект на изображении или штрихкод.

  1. Откройте Data Schema выбранной модели.
  2. Для каждого поля задайте короткое однозначное имя. API-name используйте в нижнем регистре латиницей, с цифрами и подчёркиваниями.
  3. Выберите Field Type. Сумму задавайте как Number, дату — как Date, фиксированный набор состояний — как Classification.
  4. Если требуется несколько однотипных значений, включите режим нескольких элементов для поля.
  5. Добавьте Description и Guidelines только там, где названия недостаточно. Правило должно объяснять, какое значение выбирать или как его форматировать.
  6. Для общих правил используйте global guidelines, но не дублируйте в них инструкции каждого отдельного поля.

Проверка. Схема должна соответствовать типам, которые ожидает код: числа приходят числами, даты — стандартизированными датами, повторяющиеся строки — массивами.

Типичная ошибка. Использовать расплывчатое имя вроде company, когда в документе есть поставщик и покупатель.

Безопасный откат. Верните предыдущую схему из сохранённой копии и повторите Live Test на тех же документах.

Проверить модель в Live Test

Цель. Убедиться, что поля извлекаются из правильных мест до подключения API.

Подготовка. Возьмите несколько реальных по структуре, но допустимых по правилам конфиденциальности документов: хороший скан, фото с телефона и один сложный вариант.

  1. Откройте страницу Live Test внутри модели.
  2. Перетащите PDF или изображение в область загрузки либо выберите файл.
  3. Дождитесь окончания inference.
  4. Сопоставьте документ слева и значения справа.
  5. Переключитесь на raw JSON и проверьте имена полей, массивы, вложенные объекты и метаданные.
  6. Если включены polygons, щёлкните по выделенной области и проверьте, что она соответствует нужному полю.

Проверка. Валидация пройдена, когда значение, тип и область источника совпадают с ожиданиями на нескольких документах одного класса.

Типичная ошибка. Оценивать модель по одному идеальному образцу.

Безопасный откат. Не меняйте production-интеграцию до завершения Live Test. Если новая схема хуже старой, верните сохранённую версию и повторите тот же набор тестовых файлов.

Включить Raw Text, Polygons и confidence score

Цель. Добавить к базовому извлечению данные, которые нужны для поиска, визуальной проверки или маршрутизации.

Подготовка. Проверьте, что выбранный тариф включает нужную опцию. Доступность дополнительных возможностей зависит от выбранного тарифа, поэтому их нужно сверять с текущей таблицей функций перед production-запуском.

  1. Откройте настройки опций модели.
  2. Включите Raw Text, если требуется полный OCR-текст страниц.
  3. Включите Polygons, если приложение должно знать координаты извлечённых значений.
  4. Включите Confidence Score, если downstream-логика будет отделять надёжные значения от требующих проверки.
  5. Если на повторяющихся шаблонах требуется дополнительный контекст, подключите Continuous Learning (RAG) и добавляйте в его базу только проверенные примеры, относящиеся к той же задаче извлечения.
  6. Повторите Live Test и изучите raw JSON; для RAG сравните результат на одном и том же сложном документе до и после подключения контекста.
  7. Если опции должны меняться от документа к документу, задавайте их через параметры API-вызова вместо постоянной настройки по умолчанию.

Проверка. В ответе должны появиться только те дополнительные структуры, которые реально включены.

Типичная ошибка. Активировать все опции без сценария использования или добавлять в RAG непроверенные примеры с ошибочными значениями.

Безопасный откат. Отключите опцию на уровне модели или переопределите её в API-вызове; базовая Data Schema при этом не меняется.

Проверить Split, Crop, Classification и OCR utilities

Цель. Использовать вспомогательную модель до основного extraction, когда входной поток смешивает несколько типов документов или содержит несколько объектов на странице.

Подготовка. Сначала подтвердите, что utility нужен вашему сценарию. В актуальной документации Split, Crop, Classification и OCR отмечены как beta, поэтому критичную production-логику нельзя строить без отдельного тестового набора.

  1. Выберите нужный тип utility: Split для границ документов в многостраничном источнике, Crop для границ документа на странице, Classification для категории или OCR для сырого текста и границ слов.
  2. Подготовьте выборку, где присутствуют как обычные, так и пограничные случаи: смешанные пакеты, несколько документов на странице или похожие категории.
  3. Запустите utility на тестовых файлах и сохраните результат отдельно от production extraction.
  4. Сопоставьте найденные границы или категории с фактической структурой документов.
  5. Только после устойчивой проверки свяжите utility с последующей extraction model в своей интеграции.

Проверка. Каждый выделенный документ или класс должен однозначно соответствовать ожидаемому downstream-маршруту.

Типичная ошибка. Считать beta-utility гарантированным заменителем собственных правил контроля и сразу направлять его результат в учётную систему.

Безопасный откат. Отключите вспомогательный этап и верните поток к уже проверенной extraction model; результаты спорных документов направьте на ручную сортировку до повторного теста.

Создать API key и подготовить production-интеграцию

Цель. Связать модель с серверным приложением.

Подготовка. Модель должна пройти Live Test. Нужны model ID и серверная среда, где секрет можно хранить вне исходного кода.

  1. В левом меню платформы откройте API Keys.
  2. Создайте новый ключ именно для V2.
  3. Сохраните секрет в серверном менеджере секретов или переменной окружения и не помещайте его в клиентский код.
  4. В приложении инициализируйте клиент Mindee и укажите model ID.
  5. Для первой интеграции используйте polling: отправьте inference в очередь и дождитесь результата через клиентскую библиотеку.
  6. После стабильной проверки перенесите высоконагруженный процесс на webhooks, если приложение уже имеет публичный HTTPS endpoint.

Проверка. Тестовый вызов должен завершиться inference с результатом той же структуры, что отображалась в Live Test.

Типичная ошибка. Использовать ключ V1 в V2 или хранить ключ в клиентском JavaScript.

Безопасный откат. Отзовите скомпрометированный ключ в API Keys, создайте новый и обновите секрет только на сервере. Схему модели менять не нужно.

Отправить локальный файл или HTTPS URL

Цель. Передать документ в модель без нарушения технических лимитов.

Подготовка. Файл должен относиться к поддерживаемому формату, быть не больше 100 МБ и 200 страниц; PDF не должен иметь пароль.

  1. Для локального источника загрузите файл через класс input source соответствующего SDK.
  2. Если исходник слишком тяжёлый, примените встроенное сжатие или удалите лишние страницы до отправки.
  3. Для удалённого источника используйте HTTPS URL, который отдаёт бинарный файл напрямую.
  4. Убедитесь, что URL не требует заголовка Authorization и не перенаправляет запрос через HTTP 3xx.
  5. Передайте источник вместе с model ID в асинхронный inference.

Проверка. Запрос должен быть принят без 4xx-ошибки, а job — перейти из состояния ожидания к завершённому inference.

Типичная ошибка. Передавать ссылку на HTML-страницу просмотра файла вместо прямого файла.

Безопасный откат. Не повторяйте отправку бесконечно. Сначала сохраните ошибку, проверьте MIME, размер, количество страниц и доступность URL, затем повторите один исправленный запрос.

Получить результат через polling

Цель. Реализовать самый простой воспроизводимый цикл V2 без собственного webhook-сервера.

Подготовка. Нужен API key V2, model ID и корректный input source.

  1. Отправьте документ в очередь через официальный SDK.
  2. Сохраните job или inference ID, который возвращает клиент.
  3. Используйте механизм polling клиентской библиотеки, а не самодельный цикл с чрезмерной частотой.
  4. После завершения получите объект inference и извлеките result.
  5. Преобразуйте нужные поля в структуру вашей системы и сохраните у себя.

Проверка. Внутренний объект приложения должен содержать ожидаемые поля, а Insights — учитывать успешно обработанные страницы.

Типичная ошибка. Делать polling слишком часто и получить HTTP 429. Лимит polling для организации — 1200 запросов в минуту.

Безопасный откат. Остановите цикл, увеличьте интервал и используйте стандартную polling-конфигурацию SDK. Повторная отправка документа не нужна, пока существующий inference ещё доступен.

Настроить webhook для production-потока

Цель. Получать готовые результаты без постоянного опроса API.

Подготовка. Сервер должен иметь публичный HTTPS endpoint, который может принять callback и вернуть HTTP 2xx.

  1. Создайте webhook в платформе и сохраните его ID.
  2. Добавьте webhook ID в параметры inference.
  3. Отправьте документ асинхронно.
  4. На сервере примите callback, проверьте ожидаемую структуру payload и привяжите его к сохранённому inference.
  5. Сохраните результат у себя до истечения retention-периода Mindee.
  6. Возвращайте HTTP 2xx только после корректного приёма payload.

Проверка. Job должен показывать успешную отправку webhook, а ваш сервер — сохранить inference result.

Типичная ошибка. Webhook указывает на URL с редиректом, закрыт авторизационным заголовком или не отдаёт 2xx.

Безопасный откат. Отключите проблемный webhook, временно вернитесь к polling и исправьте endpoint без изменения модели.

Настроить политику обработки и хранения данных

Цель. Согласовать обработку документов с требованиями организации к региону и сроку хранения.

Подготовка. Убедитесь, что тариф включает data processing localization. Параметры задаются для конкретной модели, а не глобально для всего аккаунта.

  1. Откройте Model Settings выбранной модели.
  2. В Processing Zone выберите No Preference, Europe или United States в соответствии с политикой организации.
  3. Для API-результатов задайте Storage Duration от 1 до 24 часов; значение по умолчанию — 12 часов.
  4. Если результат нужно получить только один раз, включите Delete Extracted Data When Fetched.
  5. Сохраните настройки и выполните тестовый inference.

Проверка. После выбранного срока inference ID больше не должен возвращать данные; при Delete When Fetched результат удаляется после успешного получения или webhook-доставки.

Типичная ошибка. Использовать No Preference для документов, которые по внутренней политике должны обрабатываться только в ЕС.

Безопасный откат. Не меняйте рабочую модель без согласования. Создайте или настройте отдельную модель с требуемой Processing Zone и переключайте production только после проверки.

Сквозной сценарий: счёт от загрузки до записи результата

Цель. Получить воспроизводимый pipeline, где PDF-счёт превращается в запись бизнес-системы.

Подготовка. Создайте модель на основе invoice-подобной схемы или Custom document. Оставьте поля supplier_name, invoice_number, invoice_date, total_amount и массив line_items, если эти данные действительно нужны.

  1. В Data Schema проверьте типы: invoice_date — Date, total_amount — Number, line_items — массив вложенных объектов.
  2. В Live Test загрузите типичный PDF и убедитесь, что значения читаются из правильных областей.
  3. При необходимости включите Polygons и Confidence Score для операторской проверки.
  4. Создайте V2 API key и сохраните его на сервере.
  5. Приложение получает новый PDF, проверяет размер и отсутствие парольной защиты и отправляет документ в Mindee.
  6. Mindee обрабатывает inference асинхронно; приложение получает результат polling или webhook.
  7. Сервер проверяет обязательные поля и confidence уровня критичных значений.
  8. Только после этой проверки значения записываются в ERP, CRM или базу данных; исходный JSON сохраняется в журнале интеграции, если это допускает политика данных организации.
  9. В Insights контролируются количество успешных страниц, processing time и серверные errors.

Проверка. В целевой системе должна появиться одна запись с теми же реквизитами, которые показал Live Test, а повторная обработка того же документа не должна создавать дубликат, если такой контроль реализован downstream.

Типичная ошибка. Записывать значения в учётную систему без собственной бизнес-валидации суммы, даты и номера.

Безопасный откат. При ошибке не удаляйте исходный документ и не исправляйте запись молча. Пометьте интеграционную операцию как неуспешную, сохраните diagnostic ID и верните документ на ручную проверку.

Расширенный практикум: контролировать лимиты перед запуском потока

Цель. Не допускать отказов из-за размера, страниц и частоты запросов.

Подготовка. Зафиксируйте технические пределы V2: 100 МБ, 200 страниц, 200 отправок на обработку в минуту для организации и 1200 polling-запросов в минуту.

  1. Добавьте локальную проверку размера файла до API.
  2. Для PDF/TIFF считайте число страниц и отклоняйте или делите слишком большие источники.
  3. Ограничьте очередь отправки на уровне приложения, чтобы несколько API keys не превысили общий лимит организации.
  4. Для массового потока предпочитайте webhooks вместо частого polling.
  5. В логах сохраняйте HTTP status и inference ID, но не выводите API key.

Проверка. Нагрузочная очередь должна оставаться ниже API limits, а рост входного потока не должен приводить к серии 429.

Типичная ошибка. Считать rate limit отдельным для каждого ключа. В Mindee лимиты применяются ко всей организации.

Безопасный откат. Остановите отправку, сохраните очередь локально и возобновляйте её с контролируемой скоростью после снижения нагрузки.

Что происходит с производительностью и интернет-зависимостью

Mindee V2 обрабатывает документы на серверной стороне, поэтому локальная мощность компьютера почти не определяет скорость inference. На клиентской машине важны только подготовка файла, сетевое соединение и работа собственного приложения. Для браузерной проверки достаточно современного веб-клиента; для программной интеграции требования зависят от SDK и runtime.

Официальные библиотеки поддерживают Python, Node.js, PHP, Ruby, Java и .NET. Требования к локальной среде относятся к выбранному SDK и собственному приложению, а не к самому облачному движку: вычислительная часть inference остаётся на стороне сервиса.

В V2 обработка только асинхронная. Это снимает необходимость удерживать HTTP-соединение до завершения сложного документа, но заставляет проектировать состояние job. Для небольшого прототипа проще polling; для production-потока с большим числом документов webhook уменьшает лишние запросы. Среднее время inference можно наблюдать в Insights, но универсального времени обработки для любого файла нет: оно зависит от документа и используемых функций.

Без интернета сервис не выполняет распознавание. Это принципиальное ограничение для закрытых контуров и полевых сценариев без стабильной связи. Если политика запрещает отправку документов в публичное облако, публичная SaaS-версия Mindee не заменяет локальный OCR-движок.

Безопасность и приватность

Документы обрабатываются в облачной инфраструктуре. Для V2 у модели есть Processing Zone: No Preference, Europe или United States. При No Preference обработка может происходить в Европе или США; выбор конкретной зоны позволяет закрепить регион. Эта настройка доступна не во всех тарифах, поэтому её наличие нужно проверять до закупки, а не после интеграции.

Для API-результатов Storage Policy задаёт срок хранения от 1 до 24 часов, по умолчанию 12 часов. После истечения срока данные inference удаляются и запрос по ID возвращает 404. Опция Delete Extracted Data When Fetched позволяет удалить результат сразу после успешного получения polling-запросом или после доставки webhook. Это уменьшает время нахождения извлечённых данных в сервисе, но требует надёжно сохранять результат в своей системе с первого раза.

В публичных материалах Mindee указывает соответствие GDPR и инфраструктуру с SOC 2 Type II. Для реальной закупки этого недостаточно само по себе: организация должна сопоставить договор, DPA, выбранную Processing Zone, список субпроцессоров и собственные требования к персональным данным. Особенно это важно для паспортов, банковских выписок, медицинских и кадровых документов.

API key является секретом серверного уровня. Его нельзя встраивать в открытый фронтенд, мобильный пакет или публичный репозиторий. Webhook следует принимать только на контролируемом публичном HTTPS endpoint и не доверять входным данным до проверки ожидаемой структуры и связи с собственным заданием обработки. Эти меры не улучшают качество OCR, но отделяют ошибку распознавания от проблемы доступа к интеграции.

Тарифы, бесплатный режим и скрытая стоимость владения

На актуальной публичной странице цен Mindee показаны Starter, Pro и Enterprise. Starter начинается от 44 € в месяц при годовой оплате, Pro — от 116 € в месяц при годовой оплате. Enterprise оформляется через отдел продаж; на странице указан минимальный годовой объём от 500 000 credits. Один credit соответствует одной физической странице, независимо от типа документа и сложности извлечения.

Для Starter и Pro цена зависит от выбранного объёма credits. Публичная страница отдельно предупреждает, что отображаемые суммы справочные и могут меняться в зависимости от конфигурации. Поэтому бюджет нужно считать не по числу файлов, а по страницам: десятистраничный PDF расходует десять credits, а не один.

Пробный режим ограничен 14 днями. Постоянный бесплатный тариф на актуальной публичной pricing-странице не указан: после trial предлагаются Starter, Pro или Enterprise. Этого периода достаточно, чтобы проверить Data Schema, Live Test и API-интеграцию на небольшой репрезентативной выборке, не перенося в пилот весь рабочий архив. Публичные страницы пробного доступа указывают запуск без банковской карты, что снижает риск случайного перехода на платный режим во время технического знакомства.

Скрытая стоимость у Mindee чаще связана не с установкой, а с интеграцией. В бюджет входят время разработчика на приём JSON, бизнес-валидацию, защиту от дубликатов, webhooks, журналирование и обработку исключений. Если используются sensitive documents, отдельно потребуются юридическая и security-проверка. При большом количестве плохо подготовленных страниц расходы повышаются дважды: лишние страницы расходуют credits и увеличивают объём последующей проверки.

Ещё один фактор — архитектурная зависимость. Чем сильнее downstream-код привязан к конкретному Data Schema, тем дороже менять поставщика. Снизить эту стоимость можно через внутреннюю нормализованную модель данных: приложение принимает JSON Mindee, преобразует его в собственную структуру и только затем пишет в ERP или базу.

Жизненный цикл продукта: V1 и V2

Mindee V2 — текущая редакция на app.mindee.com. Старый интерфейс V1 доступен на platform.mindee.com. Ключи API между поколениями не общие, поэтому миграция требует создания нового V2 key и адаптации интеграции.

V2 отличается прежде всего моделью работы: обработка только асинхронная, доступны polling и webhooks, расширены инструменты кастомизации модели, появились новые варианты RAG и utility-моделей. Документация прямо указывает, что V1 больше не получает новые функции.

Для платных интеграций V1 доступ сохраняется по действующим условиям без объявленной общей даты отключения. Бесплатный V1 tier прекратил доступ 15 сентября 2025 года. Поэтому новый проект разумно строить на V2, а старую V1-интеграцию переносить планово: сначала воспроизвести схему и тестовый набор документов, затем заменить ключи и асинхронный workflow.

Плюсы Mindee

  • Модель ориентирована на структурированные данные, а не только на OCR-текст: типы полей, массивы и вложенные объекты сразу пригодны для API-интеграции.
  • Есть Live Test с визуальным сопоставлением документа, полей и JSON до production-запуска.
  • Поддерживаются PDF, JPEG, PNG, WebP, TIFF и HEIC, включая многостраничные PDF и TIFF.
  • V2 поддерживает собственные Data Schema и готовые модели, поэтому один сервис можно использовать и для типовых, и для нестандартных документов.
  • Асинхронные webhooks удобны для серверных потоков, где нельзя держать соединение до завершения OCR.
  • Raw Text, polygons, confidence scores и RAG дополняют базовое извлечение без необходимости менять downstream-формат целиком.
  • Processing Zone и настраиваемый срок хранения API-результата дают больше контроля над данными, чем фиксированная облачная политика.
  • Официальные SDK закрывают основные серверные языки и уменьшают объём ручной работы с HTTP.

Минусы Mindee

  • Это облачный сервис: без интернета и доступа к серверам Mindee распознавание не выполняется.
  • V2 требует асинхронной архитектуры; простое «отправил HTTP-запрос — сразу получил полный результат» не является поддерживаемой схемой.
  • Один файл ограничен 100 МБ и 200 страницами; большие архивы нужно предварительно делить или сжимать.
  • PDF с паролем не принимаются.
  • Выходной формат — JSON; готового универсального экспорта в Excel, Word или редактируемый PDF сервис не заменяет.
  • Полноценная production-интеграция требует разработки: хранение секретов, webhook/polling, валидация и обработка ошибок остаются на стороне клиента.
  • Набор advanced-функций зависит от тарифа, а публичные цены зависят от объёма credits и конфигурации.
  • Utility-модели Split, Crop, Classification и OCR в актуальной документации отмечены как beta.

Кому подойдёт

  • Разработчикам SaaS. Mindee можно встроить в собственное приложение и возвращать клиенту структурированные данные, не создавая OCR-движок с нуля.
  • Финансовым и бухгалтерским процессам. Счета, чеки и выписки удобно превращать в поля для ERP при наличии собственной проверки сумм и контрагентов.
  • Командам автоматизации. Webhooks, SDK и Make подходят для потока, где документ должен автоматически пройти от входящей папки до базы или CRM.
  • Проектам с нестандартными формами. Custom document и Data Schema позволяют не ограничиваться только заранее обученными типами.
  • Системам с операторской проверкой. Polygons и confidence score позволяют построить human-in-the-loop интерфейс поверх JSON.

Кому не подойдёт

  • Тем, кому нужен PDF-редактор. Mindee не предназначен для изменения текста, разметки и визуального сохранения документа.
  • Офлайн-сценариям. В закрытой сети без доступа к облаку нужен локальный OCR или on-premise продукт.
  • Пользователю без интеграционной задачи. Для разового копирования текста из одного скана API-платформа избыточна.
  • Проектам, где нельзя отправлять исходник внешнему SaaS. Региональная локализация не равна полностью локальному исполнению в инфраструктуре заказчика.
  • Процессам, которым нужен готовый Excel как конечный файл. Mindee отдаёт JSON; табличный экспорт нужно реализовать отдельно.

Сравнение с другими аналогами

Критерий Google Cloud Document AI Azure Document Intelligence Amazon Textract
Основная задача OCR, извлечение, классификация, разделение и специализированные processors Read/Layout, prebuilt-модели, custom extraction, classification и splitting Текст, рукописный текст, формы, таблицы, queries, invoices/receipts и ID
Платформа Google Cloud, API и processors Microsoft Azure / Foundry Tools, REST API и SDK AWS, API, Management Console и CLI
Порог освоения Средний или высокий: нужны GCP project, processor и IAM Средний: требуется Azure resource, endpoint и выбор модели Средний или высокий: типичный AWS-контур с IAM и часто S3
Форматы PDF и широкий набор изображений; для отдельных processors поддерживаются дополнительные типы Печатные и рукописные формы, PDF и изображения; конкретный набор зависит от модели PDF, TIFF, JPEG и PNG
Автоматизация Custom extractor, classifier, splitter, batch и другие processors Custom extraction/classification, prebuilt-модели, batch, REST и SDK Синхронные и асинхронные API, формы, таблицы и queries
Модель оплаты Usage-based, обычно по страницам и типу processor Pay as you go; есть F0 и стандартный S0, расчёт по анализируемым страницам Usage-based по обработанным страницам; для новых AWS-аккаунтов есть ограниченный Free Tier
Ограничение Стоимость и лимиты различаются по processors; некоторые функции имеют отдельные тарифы Разные модели поддерживают разные входные форматы; стоимость зависит от региона и режима Меньше форматов и сильная привязка к AWS-экосистеме; языковые возможности зависят от конкретной функции
Подходящий сценарий Организация уже использует GCP и хочет набор специализированных processors Проект находится в Azure и должен принимать также Office-документы в некоторых моделях Документы уже хранятся в S3 и инфраструктура построена вокруг AWS

Mindee отличается от этих платформ более узкой специализацией на document extraction и сравнительно компактной моделью настройки: Data Schema, Live Test, API key и асинхронный inference. Google, Microsoft и AWS дают более широкую облачную экосистему, но требуют учитывать инфраструктурные ресурсы, IAM и тарификацию конкретных сервисов. Выбор зависит не от абстрактной «точности OCR», а от того, где уже живут документы, кто будет поддерживать интеграцию и насколько важны кастомные схемы, human-in-the-loop и регион обработки.

Типичные проблемы и диагностика

Файл отклоняется сразу после отправки

Симптом: inference не создаётся, API возвращает клиентскую ошибку. Возможная причина: файл больше 100 МБ, содержит более 200 страниц или имеет неподдерживаемый тип. Диагностика: сравните размер, число страниц и расширение с Technical Limitations. Исправление: сожмите источник, удалите лишние страницы или разделите документ до отправки. Проверка результата: исправленный файл должен перейти в очередь обработки без 4xx по ограничению источника.

PDF не принимается, хотя расширение правильное

Симптом: обычный PDF из файлового менеджера отклоняется. Возможная причина: документ защищён паролем или зашифрован. Диагностика: откройте свойства PDF и проверьте, требуется ли пароль для чтения. Исправление: получите допустимую незашифрованную копию в соответствии с правами на документ. Проверка результата: незапароленный PDF должен приниматься при соблюдении остальных лимитов.

HTTPS URL работает в браузере, но Mindee его не загружает

Симптом: удалённый источник недоступен API, хотя пользователь видит его в браузере. Возможная причина: ссылка ведёт на HTML-страницу, требует cookies/Authorization header или делает HTTP 3xx redirect. Диагностика: проверьте, что URL отдаёт бинарный файл напрямую и не зависит от сессии. Исправление: используйте прямую HTTPS-ссылку или signed URL с token в query string. Проверка результата: сервер Mindee должен получить файл без промежуточной авторизации и редиректов.

API возвращает HTTP 429

Симптом: часть отправок или polling-запросов начинает получать Too Many Requests. Возможная причина: превышен организационный лимит: 200 отправок на обработку в минуту или 1200 polling-запросов в минуту. Диагностика: посчитайте суммарный поток всех моделей, IP и API keys одной организации. Исправление: добавьте очередь, ограничение скорости и backoff; для production-потока используйте webhooks. Проверка результата: после снижения частоты 429 прекращаются, а очередь обрабатывается стабильно.

Дополнительная функция недоступна в рабочей конфигурации

Симптом: базовое извлечение работает, а нужная optional feature не активируется или отсутствует в доступной конфигурации. Возможная причина: функция не входит в выбранный тариф. Диагностика: сравните активированные optional features с актуальной таблицей плана. Исправление: отключите недоступную опцию либо измените план после оценки необходимости. Проверка результата: базовый inference продолжает работать без функции, а после изменения тарифа нужная опция становится доступна в модели.

Inference ID внезапно возвращает 404

Симптом: ранее существовавший результат больше нельзя получить. Возможная причина: истёк Storage Duration или включён Delete Extracted Data When Fetched. Диагностика: проверьте Model Settings и журнал момента первого получения результата. Исправление: сохраняйте JSON в своей системе сразу после успешного polling/webhook; для отладки временно увеличьте retention в пределах 1–24 часов. Проверка результата: новый inference доступен в течение заданного окна и сохраняется локально до удаления на стороне Mindee.

Webhook не приходит

Симптом: job завершается, но сервер не получает callback. Возможная причина: endpoint не публичный, не HTTPS, делает redirect или не отвечает кодом 2xx. Диагностика: проверьте доступность endpoint извне, отсутствие редиректа и серверные логи приёмника. Исправление: используйте прямой публичный HTTPS route без редиректа и корректно завершайте обработчик ответом 2xx. Проверка результата: сервер фиксирует payload, отвечает 2xx и сохраняет результат без повторной ручной отправки документа.

Авторизация V2 не проходит после миграции с V1

Симптом: старый ключ работает в прежней интеграции, но новый V2 endpoint его не принимает. Возможная причина: V1 и V2 используют отдельные API keys. Диагностика: определите, в какой платформе был создан ключ. Исправление: создайте ключ в API Keys на app.mindee.com и обновите серверный секрет. Проверка результата: V2 inference авторизуется новым ключом, а старый V1 процесс остаётся изолированным.

Приложение ждёт синхронный JSON и зависает

Симптом: код ожидает полный extraction result в ответе на первую отправку. Возможная причина: архитектура перенесена из синхронного API, тогда как V2 работает только асинхронно. Диагностика: проверьте, сохраняет ли приложение job/inference ID и обрабатывает ли состояние очереди. Исправление: реализуйте polling через SDK или webhook callback. Проверка результата: пользовательский запрос больше не блокируется ожиданием, а результат приходит отдельным этапом.

Модель путает похожие поля

Симптом: supplier_name и customer_name или похожие даты периодически меняются местами. Возможная причина: неоднозначные field names, типы или guidelines. Диагностика: откройте Live Test на нескольких документах и сравните области извлечения. Исправление: уточните имя, тип и описание конкретного поля; уберите избыточные инструкции. Проверка результата: повторный тест на прежнем наборе должен стабильно привязывать значение к правильному полю.

Качество ухудшилось после расширения Data Schema

Симптом: после добавления большого числа полей часть прежних значений извлекается хуже. Возможная причина: схема перегружена; документация рекомендует максимум около 25 полей. Диагностика: сравните старую и новую схемы и число полей. Исправление: удалите ненужные поля или разделите задачу на более узкие модели. Проверка результата: на одинаковом тестовом наборе критичные поля снова должны извлекаться стабильно.

Что перестанет работать первым при сбое внешних зависимостей

Интернет. Без сетевого доступа перестают работать и веб-интерфейс, и API. Локально созданная очередь документов может ждать восстановления связи, но inference не выполняется на компьютере пользователя.

API key. Отозванный, неверный или V1-ключ в V2 блокирует новую обработку, хотя уже сохранённые у клиента JSON-результаты остаются в его системе.

Webhook endpoint. При недоступности callback-сервера extraction может завершиться, но автоматическая доставка результата нарушается. Поэтому job ID нужно сохранять и предусматривать повторную проверку.

Retention window. Если приложение слишком поздно обращается к inference, результат может быть уже удалён. Критичный поток должен сохранять данные сразу после получения, а не использовать Mindee как долговременное хранилище.

Тарифная функция. При отсутствии доступа к optional feature базовая схема может продолжить работу, но дополнительная возможность останется недоступной. Downstream-код должен отличать отсутствие функции от ошибки извлечения.

FAQ

Mindee — это обычная OCR-программа?

Нет. OCR является частью платформы, но основной продукт строится вокруг извлечения структурированных данных, Data Schema, API и автоматизации. Для ручного копирования текста из одного изображения существуют более простые решения; например, в материалах GeekHow разобраны сервисы перевода и распознавания по фото, где сценарий ориентирован на пользователя, а не на API-поток.

Можно ли получить Excel напрямую?

Основной программный результат Mindee — JSON. Если нужен XLSX или строка Google Sheets, преобразование выполняет интеграция после получения JSON. Это полезно, потому что формат таблицы можно контролировать самостоятельно, но готового универсального Excel-экспорта Mindee как основной функции не предоставляет.

Поддерживает ли Mindee русский язык?

V2 рассчитан на документы из большинства стран и поддерживает большинство языков и алфавитов. Data Schema позволяет писать Title, Description и Guidelines на русском языке, хотя API-name поля остаётся ASCII. Качество конкретного русского документа нужно оценивать в Live Test на собственных образцах.

Можно ли пользоваться сервисом без написания кода?

Настройка модели и Live Test выполняются в веб-интерфейсе. Для автоматического бизнес-процесса можно использовать Make и другие интеграционные варианты, но production-логика всё равно должна где-то принять результат, проверить его и записать в целевую систему.

Сохраняет ли Mindee документы навсегда?

Нет. Для API-результатов V2 Storage Duration настраивается от 1 до 24 часов, по умолчанию 12 часов. При включённом Delete Extracted Data When Fetched результат удаляется после успешного получения. Долговременное хранение следует организовать в собственной системе согласно её политике доступа и резервного копирования.

Можно ли закрепить обработку только в Европе?

Да, модель поддерживает Processing Zone Europe. Возможность выбора региона относится к тарифным функциям localization, поэтому до закупки нужно убедиться, что нужный план её включает.

Почему V2 нельзя использовать как обычный синхронный REST endpoint?

V2 поддерживает только асинхронную обработку. Документ ставится в очередь, после чего результат получают polling-механизмом или webhook. Это архитектурное свойство версии, а не временная ошибка.

Нужен ли отдельный компьютер с GPU?

Нет. Инференс выполняется на стороне облачного сервиса. Локальная машина или сервер нужны для подготовки файла, API-клиента и обработки результата, поэтому требования определяются выбранным SDK и собственным приложением.

Подойдёт ли Mindee для сканов из телефона?

Поддерживаются обычные форматы фотографий, включая JPEG, WebP и HEIC. Однако размытый, обрезанный или плохо освещённый исходник всё равно нужно проверять в Live Test. Сервис не отменяет базовые требования к качеству захвата.

Можно ли использовать один огромный Custom model для всех документов компании?

Технически схема настраивается произвольно, но документация рекомендует около 25 полей максимум и предупреждает о падении производительности при перегрузке. Для разных классов документов обычно устойчивее отдельные модели и classification/split на входе, чем одна чрезмерно широкая схема.

Итог: когда Mindee рационален

Mindee рационален, когда документ является входом в программный процесс, а не конечным объектом ручного редактирования. Типичный удачный сценарий — счёт, чек, удостоверение, резюме или собственная форма, из которой нужно получить конкретные поля и автоматически передать их дальше. В этом случае Data Schema, Live Test, JSON, webhooks и confidence score образуют связный pipeline.

Для единичной бытовой задачи сервис избыточен: проще использовать обычный OCR, PDF-инструмент или конвертер. Для закрытого контура без внешнего облака Mindee также не подходит, потому что обработка зависит от интернета и серверов провайдера.

Для команды разработчиков ключевой критерий выбора — не количество рекламируемых моделей, а управляемость интеграции. Если устраивают облачная обработка, лимиты 100 МБ и 200 страниц, асинхронная V2-архитектура и JSON как основной выход, Mindee даёт понятную связку от настройки схемы до production API. Если инфраструктура уже полностью построена на Google Cloud, Azure или AWS, сопоставимый сервис внутри той же экосистемы может снизить операционную сложность. В обоих случаях окончательное решение стоит принимать на собственном наборе документов и с заранее заданными полями, критериями проверки и требованиями к хранению данных.