Vision OCR API

Распознавание текста на базе Yandex Vision OCR. Печатный, рукописный, табличный текст. 48 языков, JPEG/PNG/PDF. Endpoint /v1/vision/ocr — multipart upload или JSON base64.

48
языков
4
режима OCR
~0.7с
типичная задержка
0.33 ₽
за запрос

Что это

SOTA OCR для русского — без зарубежных сервисов

/v1/vision/ocr проксирует к Yandex Vision OCR — российскому движку оптического распознавания. Лучшее качество на кириллице среди публичных сервисов. Распознаёт рукописный текст и табличные структуры — там, где Tesseract и Google Vision не справляются.

Режимы распознавания

4 модели под разные задачи

page
Печатный текст (default)
48 языков
Многострочные документы. Договоры, статьи, скан-копии.
line
Одиночная строка
48 языков
Заголовки, чеки, баннеры — когда текст в одну линию.
handwritten
Рукописный
ru + en
Распознаёт почерк. SOTA для русской рукописи в открытом доступе.
table
Таблицы
ru + en
Cохраняет структуру: cells, rows. Возвращает bounding boxes для каждой ячейки.

Возможности

Что умеет API

📑

JPEG, PNG, PDF

Изображения до 20 мегапикселей, PDF до 1 страницы. Magic-byte автоопределение MIME при multipart upload.

✏️

Рукописный текст

Модель handwritten распознаёт почерк (русский + английский). Работает на скан-копиях, фото с телефона, и журналах.

📋

Таблицы со структурой

Режим table сохраняет cells/rows. Возвращает bounding boxes для каждой ячейки — готовый Excel-импорт.

🌍

48 языков

Русский, английский, немецкий, французский, испанский, китайский, арабский и десятки других. Multilingual текст в одном документе.

🔒

Суверенный контур

Yandex Cloud в РФ — данные не покидают страну. Подходит для 152-ФЗ, KYC-процессов, банков и госсектора.

Сабсекундная задержка

~0.6-0.7 секунды на запрос для типовой страницы. Multipart upload или JSON base64 — оба пути одинаково быстрые.

Примеры запросов

Multipart upload · загрузка файлом

# curl
curl https://api.neuralgate.ru/v1/vision/ocr \
  -H "Authorization: Bearer $NEURALGATE_API_KEY" \
  -F "image=@document.pdf" \
  -F "model=page" \
  -F "language_codes=ru,en"

# Ответ
{
  "object": "ocr.result",
  "model": "yandex-vision/page",
  "text": "Договор поставки № 123/2026...",
  "width": "1240", "height": "1754",
  "blocks": [/* bounding boxes для каждого блока */],
  "usage": {"image_bytes": 487293, "cost_rub": 0.33}
}

Рукописный текст · model=handwritten

curl https://api.neuralgate.ru/v1/vision/ocr \
  -H "Authorization: Bearer $NEURALGATE_API_KEY" \
  -F "image=@journal.jpg" \
  -F "model=handwritten" \
  -F "language_codes=ru"

JSON base64 path · без multipart

curl https://api.neuralgate.ru/v1/vision/ocr \
  -H "Authorization: Bearer $NEURALGATE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "content": "<base64-encoded image>",
    "mime_type": "image/png",
    "model": "table",
    "language_codes": ["ru", "en"]
  }'

Python · multipart через requests

import requests, os

with open("receipt.jpg", "rb") as f:
    resp = requests.post(
        "https://api.neuralgate.ru/v1/vision/ocr",
        headers={"Authorization": f"Bearer {os.environ['NEURALGATE_API_KEY']}"},
        files={"image": ("receipt.jpg", f, "image/jpeg")},
        data={"model": "page", "language_codes": "ru"},
    )
print(resp.json()["text"])

Use cases

Где применяют OCR

Сканирование документов

Договоры, акты, счета. Печатный текст распознаётся с точностью >99% для кириллицы.

Рукописные журналы

Журналы записи в салонах, бумажные ведомости, школьные тетради. Поддержка ru + en.

Таблицы и формы

Excel-export старых PDF, расшифровка прайс-листов, формуляры со структурой ячеек.

Чеки и счета

Автоматическая обработка чеков для финтеха. Распознавание сумм, дат, реквизитов.

Паспорта и удостоверения

KYC-процессы: распознавание ФИО, серий, номеров. Передавайте PDF или фото камерой.

Архивы и оцифровка

Книги, газеты, исторические документы. Поддержка многоязычной разметки.

Готовы интегрировать?

Получите бесплатный тестовый ключ и попробуйте Vision OCR за 5 минут.

Получить ключ → К API-документации

Vision OCR API — частые вопросы

То, что обычно спрашивают разработчики и техлиды.

Какие форматы файлов поддерживаются?

JPEG, PNG, PDF (1 страница). Максимальный размер изображения — 20 мегапикселей (ширина × высота). Magic-byte автодетект MIME-типа при multipart upload — не обязательно указывать Content-Type.

Какая модель лучше для какой задачи?

page (default) — для большинства документов с печатным текстом, многострочный layout. line — когда заранее знаете, что текст в одну строку (чеки, баннеры). handwritten — для рукописного текста (только ru + en). table — для табличных данных, сохраняет структуру cells (только ru + en).

Какая точность распознавания?

>99% для печатного кириллического текста (модель page), 85-95% для рукописного (handwritten). Yandex Vision — SOTA для русского языка среди публичных сервисов. Сравнение с Tesseract: точность на кириллице 1.5-2× выше.

Можно ли отправить многостраничный PDF?

Пока — нет, ограничение 1 страница на запрос (upstream ограничение Yandex Vision). Для многостраничных документов планируется async-endpoint в будущей итерации. Workaround: разбейте PDF на страницы и отправьте N запросов параллельно.

Какая стоимость?

0.33 ₽ за запрос (фиксированная цена, не зависит от размера изображения). Pre-debit 0.30 ₽ × markup 1.10. В каждом ответе x-neuralgate-charge-rub и usage.cost_rub для биллинг-аудита.

Сохраняются ли загруженные изображения?

На стороне НейроГейт — нет, изображения не логируются (только метаданные: размер, модель, request_id). На стороне Yandex — согласно их Privacy Policy. Для строгой конфиденциальности — on-prem решение Цитадель.

Можно ли получить bounding boxes?

Да. Ответ содержит поле blocks с координатами каждого блока, строки, слова: {vertices: [{x, y}, ...]}. Полезно для overlay-визуализации поверх исходного изображения.