# Базовый OCR

«Базовый OCR» подойдёт для случаев, когда вам не нужны структурированные данные из документа, а нужно просто извлечь весь текст. Сервис поможет, когда нужно организовать поиск по большому массиву данных. Например, по книге.

Если вам нужны структурированные данные из документа, воспользуйтесь сервисом «[Извлечение данных](/dbrain-official/izvlechenie-dannykh.md)».

{% hint style="success" %}
Чтобы воспользоваться сервисом, отправьте POST-запрос на URL `https://latest.dbrain.io/basic_ocr`
{% endhint %}

## Параметры запроса к API

{% hint style="success" %}
**Асинхронный запрос**

async — boolean
{% endhint %}

Поведение по умолчанию: `async=false` — сервис обрабатывает запросы синхронно. При отправке запроса вы получите ответ только после окончательного завершения обработки запроса сервисом.

Если вам нужен асинхронный режим, укажите в запросе `async=true`. В таком случае в ответ на запрос сервис вернёт в `response body` параметр `task_id`. Например:

```json
"task_id": "96b8ccc950a70699927036842c624d7c"
```

Используйте этот `task_id`, чтобы получить результаты классификации в методе `result`:

```bash
curl -X 'GET' \
  'https://latest.dbrain.io/result/96b8ccc950a70699927036842c624d7c?token=XXX' \
  -H 'accept: application/json'
```

Не забудьте указать в параметре `token` ваш ключ лицензии. Рекомендуем запрашивать метод `result` в цикле с периодом 1-2 секунды.

{% hint style="success" %}
**Возврат изображений**

return\_crops — boolean
{% endhint %}

* Поведение по умолчанию: `false` — сервис не возвращает изображения найденных слов
* `true` — сервис возвращает изображения найденных слов

{% hint style="success" %}
**Тегирование запроса**

task\_tags — string array
{% endhint %}

Поведение по умолчанию: параметр не используется.

Функция тегирует запросы по вашему усмотрению. Это упрощает отслеживание пакетов документов, связанных с конкретным клиентом. Для использования функции, укажите в параметре `task_tags` удобный вам тег: `task_tags=тэг`

{% hint style="success" %}
**Движок извлечения текста**

**engine — string**
{% endhint %}

* Поведение по умолчанию: `i` — основной движок извлечения текста, работает в локальных версиях сервиса. Мы не рекомендуем менять этот параметр без прямого указания от нашей службы поддержки.
* `g` — второй альтернативный движок извлечения текста, работает только в облачной версии решения.

{% hint style="success" %}
**Рукописный текст**

handwritten — boolean
{% endhint %}

* Поведение по умолчанию: `false` — сервис ожидает документ, в котором содержится только печатный текст
* `true` — сервис ожидает документ, в котором содержатся рукописные символы

{% hint style="success" %}
**Язык извлечения текста**

language — string
{% endhint %}

* Поведение по умолчанию: `rus` — русский язык.
* `eng` — английский язык.
* `any` — смесь русского, английского и других языков.

## Тело запроса к API

{% hint style="success" %}
**Изображение**

image — string ($binary)
{% endhint %}

Обязательно для передачи в запросе. Сервис ожидает изображение в двоичном виде.

{% hint style="info" %}
Перед началом работы с сервисами советуем заглянуть в раздел «[Общая информация о сервисах](/dbrain-official/obshaya-informaciya-o-servisakh.md)». В нём перечислили форматы файлов, которые поддерживают сервисы, описали общие для всех сервисов параметры API и расшифровали коды ошибок.
{% endhint %}

## В ответе на запрос API:

* `task_id` — string, идентификатор запроса, формат: 32 символа, 16-ричная строка
* `error` — string, текстовое описание ошибки
* `task_tags` — array\[string], теги, если они переданы в параметре task\_tags
* `success` — boolean, статус выполнения запроса
* `status_code` — integer, дублирует [код состояния HTTP](/dbrain-official/obshaya-informaciya-o-servisakh.md#http-kody-otveta-na-zapros)
* `result` — массив, содержит смысловую часть ответа
  * `pages` — массив, содержит страницы документа
    * `text` — массив, содержит весь найденный на странице текст
      * `text` — весь текст на странице
      * `confidence` — уровень уверенности алгоритма в корректности извлечения всего текста в блоке. Считается как усреднённый уровень уверенности по словам
      * `coords` — координаты текста на документе по четырём точкам: верхний левый угол, верхний правый, нижний левый, нижний правый
    * `blocks` — массив, который содержит найденные на странице блоки текста — например абзацы
      * `block` — текст блока
      * `confidence` — уровень уверенности алгоритма в корректности извлечения всего текста в блоке, считается как усреднённый уровень уверенности по словам
      * `coords` — координаты блока на странице по четырём точкам: верхний левый угол, верхний правый, нижний левый, нижний правый
    * `words` — массив, содержит найденные на странице слова
      * `word` — текст слова
      * `confidence` — уровень уверенности алгоритма в корректности извлечения текста слова
      * `coords` — координаты слова на странице по четырём точкам: верхний левый угол, верхний правый, нижний левый, нижний правый
      * `image` — [data URL](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URLs) с MIME-типом JPEG в формате base64 — изображение слова. Возвращается, если в запросе передать `return_crops=true`
    * `letters` — массив, который содержит найденные на странице буквы
      * `letter` — текст буквы
      * `confidence` — уровень уверенности алгоритма в корректности извлечения текста буквы
  * `input_images` — [data URL](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URLs) с MIME-типом JPEG в формате base64 — оригинальное изображение. Возвращается, если в запросе передать `return_crops=true`


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://doc.dbrain.io/dbrain-official/fulltext-recognition.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
