Распознавание текста в документах
Данный метод позволяет распознавать текст на изображении.
HOST: https://smarty.mail.ru
ENDPOINT: /api/v1/text/recognize
Авторизационные данные передаются в строке запроса:
Параметр | Тип | Значение |
|---|---|---|
oauth_token | string | OAuth2 access token (required non-empty) |
oauth_provider | string | Провайдер OAuth2 (required non-empty) |
Поддерживаемые провайдеры OAuth2:
Провайдер | Значение oauth_provider | Получение токена |
|---|---|---|
VK Cloud | mcs | Смотрите в статье |
Параметры запроса передаются в формате JSON в теле запроса с name="meta":
Параметр | Тип | Значение |
|---|---|---|
images | []image_meta | Метаданные передаваемых изображений (required non-empty) |
mode | string | Параметр-флаг: выдавать ли детализированный ответ, если "detailed", то детализированный (к ответу добавляются координаты bounding box текста и confidence), (optional) |
Параметры image_meta:
Параметр | Тип | Значение |
|---|---|---|
name | string | имена файлов для сопоставления файлов в запросе и ответе (required non-empty) |
Изображения передаются в теле запроса, значения поля name должны соответствовать переданным в images.
curl -X 'POST' \'https://smarty.mail.ru/api/v1/text/recognize?oauth_token=<ваш токен>&oauth_provider=mcs' \-H 'accept: application/json' \-H 'Content-Type: multipart/form-data' \-F 'file=@docs_recognize_not_doc.jpg;type=image/jpeg' \-F 'meta={"images": [{"name": "file"}]}'
Параметр | Тип | Значение |
|---|---|---|
status | int | 200 в случае успешного взаимодействия с серверами Vision |
body | response | Тело ответа |
Параметры response:
Параметр | Тип | Значение |
|---|---|---|
objects | []object | Массив ответов для каждого файла |
Параметры object:
Параметр | Тип | Значение |
|---|---|---|
status | enum | Результат выполнения: - 0 — успешно;- 1 — перманентная ошибка;- 2 — временная ошибка |
error | string | Текстовое описание ошибки (optional) |
name | string | Имя файла для сопоставления файлов в запросе и ответе |
text | string | Распознанный текст |
results | []line | Если проставлен "mode":"detailed" — массив строк ответов по странице (текст, bounding box, confidence) |
Параметры line:
Параметр | Тип | Значение |
|---|---|---|
line_prob | float32 | Уверенность распознавания строки |
line_coord | []float32 | Координаты строки - x1,y1, x2, y2 - левый верхний и правый нижний точки охватывающего прямоугольника |
words | []word | Массив распознанных слов ответов в строке |
Параметры word:
Параметр | Тип | Значение |
|---|---|---|
prob | float32 | Уверенность распознавания слова |
coord | []float32 | Координаты слова - x1,y1, x2, y2 - левый верхний и правый нижний точки охватывающего прямоугольника |
text | string | Массив распознанных слов ответов в строке |
lang_prob | float32 | Уверенность распознавания языка |
lang | string | Eng/rus/unknown. Unknown когда не содержит букв алфавита |
{"status": 200,"body": {"objects": [{"status": 0,"name": "file","text": "Когда пришла весна,\nнаступили теплые дни. Там,\nгде раньше лежал снег,\nвесело бегут ручьи. Куда\nни взглянешь, всюду\nрасцветают подснежники.\nЕсли посмотреть на\nвесеннее небо, то можно\nувидеть стаи птиц,\nлетящих с юга. Когда\nпросыпается природа от\nзимнего сна, лес\nнаполняется весенней"}]},"htmlencoded": false,"last_modified": 0}
Пример запроса:
curl -X 'POST' \'https://smarty.mail.ru/api/v1/text/recognize?oauth_token=<ваш токен>&oauth_provider=mcs' \-H 'accept: application/json' \-H 'Content-Type: multipart/form-data' \-F 'file=@docs_recognize_not_doc.jpg;type=image/jpeg' \-F 'meta={"mode": "detailed","images": [{"name": "file"}]}'
Пример запроса:
curl -X 'POST' \'https://smarty.mail.ru/api/v1/text/recognize?oauth_token=<ваш токен>&oauth_provider=mcs' \-H 'accept: application/json' \-H 'Content-Type: multipart/form-data' \-F 'file=@persons_set_error_no_face.jpg;type=image/jpeg' \-F 'meta={"mode": "detailed","images": [{"name": "file"}]}'
Пример ответа:
{"status": 200,"body": {"objects": [{"status": 0,"name": "file"}]},"htmlencoded": false,"last_modified": 0}
Пример запроса:
curl -X 'POST' \'https://smarty.mail.ru/api/v1/text/recognize?oauth_token=<ваш токен>&oauth_provider=mcs' \-H 'accept: application/json' \-H 'Content-Type: multipart/form-data' \-F 'file=@empty.jpg;type=image/jpeg' \-F 'meta={"mode": "detailed","images": [{"name": "file"}]}'
Пример ответа:
{"status": 400,"body": "empty image","htmlencoded": false,"last_modified": 0}
Пример запроса:
curl -X 'POST' \'https://smarty.mail.ru/api/v1/text/recognize?oauth_token=<ваш токен>&oauth_provider=mcs' \-H 'accept: application/json' \-H 'Content-Type: multipart/form-data' \-F 'file=@persons_set_ok.jpg;type=image/jpeg' \-F 'meta={"mode": "detailed","images": [{"name": "file1"}]}'
Пример ответа:
{"status": 400,"body": "could not get image by name file1: http: no such file","htmlencoded": false,"last_modified": 0}