Download OpenAPI specification:Download
API VisionLabs Luna Platform 5. Версия API – 6.
Спецификация OpenAPI – единственный документ, содержащий актуальную информацию о API сервиса.
Спецификация может использоваться:
Все документы и код, созданные с использованием этой спецификации, могут содержать неточности, и их следует тщательно проверять.
Спецификацию OpenAPI можно получить с помощью ресурса /docs/spec. Заголовок "Accept" должен принимать значение "application/x-yaml".
Позволяет получить версии всех сервисов.
Luna-Request-Id | string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4... Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе. |
{- "LUNA PLATFORM": {
- "major": 0,
- "minor": 0,
- "patch": 0
}, - "luna-api": {
- "api": 5,
- "major": 3,
- "minor": 1,
- "patch": 2
}, - "luna-events": {
- "api": 1,
- "major": 1,
- "minor": 0,
- "patch": 5
}, - "luna-faces": {
- "api": 2,
- "major": 2,
- "minor": 3,
- "patch": 9
}, - "luna-image-store-bodies-samples": {
- "api": 1,
- "major": 2,
- "minor": 1,
- "patch": 11
}, - "luna-image-store-faces-samples": {
- "api": 1,
- "major": 2,
- "minor": 1,
- "patch": 10
}, - "luna-image-store-images": {
- "api": 1,
- "major": 2,
- "minor": 1,
- "patch": 13
}, - "luna-handlers": {
- "api": 1,
- "major": 1,
- "minor": 0,
- "patch": 0
}, - "luna-tasks": {
- "api": 1,
- "major": 1,
- "minor": 0,
- "patch": 13
}, - "luna-matcher-proxy": {
- "api": 1,
- "major": 1,
- "minor": 0,
- "patch": 0
}, - "luna-remote-sdk": {
- "api": 1,
- "major": 1,
- "minor": 0,
- "patch": 0
}, - "luna-lambda": {
- "api": 1,
- "major": 1,
- "minor": 0,
- "patch": 0
}
}
Позволяет получить параметры для ресурса.
Luna-Request-Id | string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4... Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе. |
{- "error_code": 37002,
- "desc": "Request timeout",
- "detail": "Service did not receive a complete request message within 60 seconds",
}
Позволяет получить все аккаунты.
page | integer >= 1 Default: 1 Номер страницы. |
page_size | integer [ 1 .. 1000 ] Default: 10 Количество элементов на странице. |
login | string (login) [ 3 .. 128 ] characters ^[a-z0-9_\-\.]+@[a-z]+\.[a-z]{2,}$ Example: login=user@visionlabs.ru Логин аккунта. |
account_type | string (account_type) Enum: "advanced_user" "user" "admin" Example: account_type=user Тип аккаунта. |
create_time__lt | string <date-time> (time) Example: create_time__lt=2018-08-11T09:11:41.674Z Верхнее пороговое значение для параметра |
create_time__gte | string <date-time> (time) Example: create_time__gte=2018-08-11T09:11:41.674Z Нижнее включенное пороговое значение для параметра |
targets | string Default: ["account_id","login","account_type","description","create_time","last_update_time"] Enum: "account_id" "login" "account_type" "description" "create_time" "last_update_time" Example: targets=login Список, разделенный запятыми, с полями "target". |
Luna-Request-Id | string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4... Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе. |
# This example is written using requests library import requests baseUri = "http://127.0.0.1:5000/6" url = f"{baseUri}/accounts" headers = { "Luna-Request-Id": "1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a", "Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE=" } response = requests.get(url, headers=headers) print(response.status_code) print(response.json())
{- "accounts": [
- {
- "account_id": "557d54ec-29ad-4f3c-93b4-c9092ef12515",
- "login": "mylogin@gmail.com",
- "account_type": "advanced_user",
- "description": "main admin account",
- "create_time": "2018-08-11T09:11:41.674Z",
- "last_update_time": "2018-08-11T09:11:41.674Z"
}
], - "total_count": 50
}
Позволяет создать аккаунт.
Luna-Request-Id | string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4... Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе. |
Content-Type | string Value: "application/json" Тип содержимого – |
Luna-Account-Id | string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]... Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a Идентификатор аккаунта для создания нового аккаунта. |
login required | string (login) [ 3 .. 128 ] characters ^[a-z0-9_\-\.]+@[a-z]+\.[a-z]{2,}$ Электронная почта аккаунта. |
password required | string (password) [ 3 .. 128 ] characters ^.{3,128}$ Пароль аккаунта. |
account_type required | string (account_type_for_creation) Enum: "advanced_user" "user" Тип аккаунта:
|
description | string (account_description) <= 128 characters Default: "" Описание аккаунта. |
{- "login": "mylogin@gmail.com",
- "password": "string",
- "account_type": "advanced_user",
- "description": "main admin account"
}
{- "account_id": "557d54ec-29ad-4f3c-93b4-c9092ef12515",
- "url": "/6/account",
}
Позволяет получить параметры для ресурса.
Luna-Request-Id | string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4... Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе. |
{- "error_code": 37002,
- "desc": "Request timeout",
- "detail": "Service did not receive a complete request message within 60 seconds",
}
Позволяет получить информацию об аккаунте.
targets | string Default: ["account_id","login","account_type","description","create_time","last_update_time"] Enum: "account_id" "login" "account_type" "description" "create_time" "last_update_time" Example: targets=login Список, разделенный запятыми, с полями "target". |
Luna-Request-Id | string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4... Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе. |
Luna-Account-Id | string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]... Deprecated Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a Идентификатор аккаунта. Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id. Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий). |
# This example is written using requests library import requests baseUri = "http://127.0.0.1:5000/6" url = f"{baseUri}/account" headers = { "Luna-Request-Id": "1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a", "Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE=" } response = requests.get(url, headers=headers) print(response.status_code) print(response.json())
{- "account_id": "557d54ec-29ad-4f3c-93b4-c9092ef12515",
- "login": "mylogin@gmail.com",
- "account_type": "advanced_user",
- "description": "main admin account",
- "create_time": "2018-08-11T09:11:41.674Z",
- "last_update_time": "2018-08-11T09:11:41.674Z"
}
Позволяет обновить аккаунт. Должно быть указано как минимум одно поле.
Luna-Request-Id | string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4... Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе. |
Luna-Account-Id | string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]... Deprecated Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a Идентификатор аккаунта. Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id. Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий). |
Content-Type | string Value: "application/json" Тип содержимого – |
login | string (login) [ 3 .. 128 ] characters ^[a-z0-9_\-\.]+@[a-z]+\.[a-z]{2,}$ Электронная почта аккаунта. |
password | string (password) [ 3 .. 128 ] characters ^.{3,128}$ Пароль аккаунта. |
account_type | string (account_type_for_creation) Enum: "advanced_user" "user" Тип аккаунта:
|
description | string (account_description) <= 128 characters Default: "" Описание аккаунта. |
{- "login": "mylogin@gmail.com",
- "password": "string",
- "account_type": "advanced_user",
- "description": "main admin account"
}
{- "error_code": 12022,
- "desc": "Bad/incomplete input data",
- "detail": "Failed to validate input json. Path: 'extra_field', message: 'extra fields not permitted'"
}
Позволяет получить параметры для ресурса.
Luna-Request-Id | string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4... Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе. |
{- "error_code": 37002,
- "desc": "Request timeout",
- "detail": "Service did not receive a complete request message within 60 seconds",
}
Позволяет создать токен.
grant_all_permissions | integer Default: 0 Enum: 0 1 Выдать все разрешения токену. "1" - выдать, "0" - не выдавать. Если значение равно "1", то поле "permissions" не требуется. Выдать только стандартные разрешения. |
Luna-Request-Id | string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4... Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе. |
Luna-Account-Id | string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]... Deprecated Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a Идентификатор аккаунта. Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id. Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий). |
Content-Type | string Value: "application/json" Тип содержимого – |
required | object token permissions * it is possible to use custom fields for permissions besides those given here custom fields must have 3-16 characters (lowercase letters, _) with possible permissions:
|
description | string (token_description) <= 128 characters Default: "" Описание токена. |
expiration_time required | string or null <date-time> Время окончания действия токена в формате RFC 3339. Значение |
visibility_area | string (visibility_area) Default: "all" Enum: "account" "all" Задает видимость данных для токена.
|
{- "description": "main account token",
- "expiration_time": "2050-11-11T11:11:11.111+03:00",
- "permissions": {
- "account": [
- "view"
], - "face": [
- "creation",
- "view",
- "modification",
- "deletion",
- "matching"
], - "list": [
- "creation",
- "view",
- "modification",
- "deletion"
], - "event": [
- "creation",
- "view",
- "matching"
], - "attribute": [
- "creation",
- "view",
- "modification",
- "deletion",
- "matching"
], - "handler": [
- "creation",
- "view",
- "modification",
- "deletion"
], - "verifier": [
- "creation",
- "view",
- "modification",
- "deletion"
], - "task": [
- "creation",
- "view",
- "modification",
- "deletion"
], - "face_sample": [
- "creation",
- "view",
- "deletion"
], - "body_sample": [
- "creation",
- "view",
- "deletion"
], - "image": [
- "creation",
- "view",
- "deletion"
], - "object": [
- "creation",
- "view",
- "deletion"
], - "token": [
- "creation",
- "view",
- "modification",
- "deletion"
], - "resources": [
- "iso",
- "sdk",
- "liveness"
], - "emit_events": {
- "allowed": 1,
- "white_list": null,
- "black_list": null
}, - "lambdas": [
- "creation",
- "view",
- "modification",
- "deletion"
]
}, - "visibility_area": "all"
}
{- "token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ0b2tlbklkIjoiN2Q0MjYwNmEtZmM3NS00NDU4LWE3OGUtOWYzNGM2MjIyZWQyIiwiZXhwaXJhdGlvblRpbWUiOm51bGwsImFjY291bnRJZCI6IjdkYjUzNThiLWZjMzMtNDIwZC1hYTgzLTk5YTRkOWY0MGM0MSJ9.kDL5oLTJaxKyYbwmKV1lejxrzsFoFzx5VOzvTR-i90k",
- "token_id": "557d54ec-29ad-4f3c-93b4-c9092ef12515",
- "url": "/6/tokens/557d54ec-29ad-4f3c-93b4-c9092ef12515",
}
Позволяет получить информацию о токенах.
page | integer >= 1 Default: 1 Номер страницы. |
page_size | integer [ 1 .. 1000 ] Default: 10 Количество элементов на странице. |
account_id | string <uuid> (account_id) ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]... Example: account_id=8950722f-3fd4-4223-b48f-03f95f0e8dfb Фильтр по "account_id". Не будет иметь эффекта, если для авторизации используется заголовок "Luna-Account-Id". |
create_time__lt | string <date-time> (time) Example: create_time__lt=2018-08-11T09:11:41.674Z Верхнее пороговое значение для параметра |
create_time__gte | string <date-time> (time) Example: create_time__gte=2018-08-11T09:11:41.674Z Нижнее включенное пороговое значение для параметра |
Luna-Request-Id | string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4... Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе. |
Luna-Account-Id | string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]... Deprecated Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a Идентификатор аккаунта. Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id. Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий). |
# This example is written using requests library import requests baseUri = "http://127.0.0.1:5000/6" # create token url = f"{baseUri}/tokens" headers = {"Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE="} payload = {"permissions": {"face": ["view"]}, "description": "description"} requests.post(url, json=payload, headers=headers) headers = { "Luna-Request-Id": "1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a", "Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE=" } url = f"{baseUri}/tokens" response = requests.get(url, headers=headers, params={"page": 1, "page_size": 10}) print(response.status_code) print(response.json())
{- "tokens": [
- {
- "permissions": {
- "account": [ ],
- "face": [ ],
- "list": [ ],
- "event": [ ],
- "attribute": [ ],
- "handler": [ ],
- "verifier": [ ],
- "task": [ ],
- "face_sample": [ ],
- "body_sample": [ ],
- "image": [ ],
- "object": [ ],
- "token": [
- "view"
], - "resources": [ ],
- "emit_events": {
- "allowed": 1,
- "white_list": null,
- "black_list": null
}, - "lambdas": [ ]
}, - "description": "main account token",
- "expiration_time": "2050-11-11T11:11:11.111+03:00",
- "visibility_area": "account",
- "token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ0b2tlbklkIjoiN2Q0MjYwNmEtZmM3NS00NDU4LWE3OGUtOWYzNGM2MjIyZWQyIiwiZXhwaXJhdGlvblRpbWUiOm51bGwsImFjY291bnRJZCI6IjdkYjUzNThiLWZjMzMtNDIwZC1hYTgzLTk5YTRkOWY0MGM0MSJ9.kDL5oLTJaxKyYbwmKV1lejxrzsFoFzx5VOzvTR-i90k",
- "token_id": "557d54ec-29ad-4f3c-93b4-c9092ef12515",
- "account_id": "557d54ec-29ad-4f3c-93b4-c9092ef12515",
- "create_time": "2018-08-11T09:11:41.674Z",
- "last_update_time": "2018-08-11T09:11:41.674Z"
}
]
}
Позволяет получить параметры для ресурса.
Luna-Request-Id | string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4... Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе. |
{- "error_code": 37002,
- "desc": "Request timeout",
- "detail": "Service did not receive a complete request message within 60 seconds",
}
Позволяет обновить токен. Нельзя обновить часть токена, нужно задать все поля для токена.
token_id required | string <uuid> (uuid) ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]... Example: 8950722f-3fd4-4223-b48f-03f95f0e8dfb Идентификатор токена. |
grant_all_permissions | integer Default: 0 Enum: 0 1 Выдать все разрешения токену. "1" - выдать, "0" - не выдавать. Если значение равно "1", то поле "permissions" не требуется. Выдать только стандартные разрешения. |
Luna-Request-Id | string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4... Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе. |
Luna-Account-Id | string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]... Deprecated Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a Идентификатор аккаунта. Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id. Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий). |
Content-Type | string Value: "application/json" Тип содержимого – |
required | object token permissions * it is possible to use custom fields for permissions besides those given here custom fields must have 3-16 characters (lowercase letters, _) with possible permissions:
|
description | string (token_description) <= 128 characters Default: "" Описание токена. |
expiration_time required | string or null <date-time> Время окончания действия токена в формате RFC 3339. Значение |
visibility_area | string (visibility_area) Default: "all" Enum: "account" "all" Задает видимость данных для токена.
|
{- "permissions": {
- "account": [ ],
- "face": [ ],
- "list": [ ],
- "event": [ ],
- "attribute": [ ],
- "handler": [ ],
- "verifier": [ ],
- "task": [ ],
- "face_sample": [ ],
- "body_sample": [ ],
- "image": [ ],
- "object": [ ],
- "token": [
- "view"
], - "resources": [ ],
- "emit_events": {
- "allowed": 1,
- "white_list": null,
- "black_list": null
}, - "lambdas": [ ]
}, - "description": "main account token",
- "expiration_time": "2050-11-11T11:11:11.111+03:00",
- "visibility_area": "account"
}
{- "token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ0b2tlbklkIjoiN2Q0MjYwNmEtZmM3NS00NDU4LWE3OGUtOWYzNGM2MjIyZWQyIiwiZXhwaXJhdGlvblRpbWUiOm51bGwsImFjY291bnRJZCI6IjdkYjUzNThiLWZjMzMtNDIwZC1hYTgzLTk5YTRkOWY0MGM0MSJ9.kDL5oLTJaxKyYbwmKV1lejxrzsFoFzx5VOzvTR-i90k",
- "token_id": "557d54ec-29ad-4f3c-93b4-c9092ef12515",
- "url": "/6/tokens/557d54ec-29ad-4f3c-93b4-c9092ef12515",
}
Позволяет получить токен по его идентификатору.
token_id required | string <uuid> (uuid) ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]... Example: 8950722f-3fd4-4223-b48f-03f95f0e8dfb Идентификатор токена. |
Luna-Request-Id | string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4... Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе. |
Luna-Account-Id | string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]... Deprecated Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a Идентификатор аккаунта. Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id. Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий). |
# This example is written using requests library import requests baseUri = "http://127.0.0.1:5000/6" headers = { "Luna-Request-Id": "1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a", "Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE=" } url = f"{baseUri}/tokens" payload = {"permissions": {"face": ["view"]}, "description": "description", "expiration_time": None} tokenId = requests.post(url, json=payload, headers=headers).json()["token_id"] url = f"{baseUri}/tokens/{tokenId}" response = requests.get(url, headers=headers) print(response.status_code) print(response.json())
{- "permissions": {
- "account": [ ],
- "face": [ ],
- "list": [ ],
- "event": [ ],
- "attribute": [ ],
- "handler": [ ],
- "verifier": [ ],
- "task": [ ],
- "face_sample": [ ],
- "body_sample": [ ],
- "image": [ ],
- "object": [ ],
- "token": [
- "view"
], - "resources": [ ],
- "emit_events": {
- "allowed": 1,
- "white_list": null,
- "black_list": null
}, - "lambdas": [ ]
}, - "description": "main account token",
- "expiration_time": "2050-11-11T11:11:11.111+03:00",
- "visibility_area": "account",
- "token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ0b2tlbklkIjoiN2Q0MjYwNmEtZmM3NS00NDU4LWE3OGUtOWYzNGM2MjIyZWQyIiwiZXhwaXJhdGlvblRpbWUiOm51bGwsImFjY291bnRJZCI6IjdkYjUzNThiLWZjMzMtNDIwZC1hYTgzLTk5YTRkOWY0MGM0MSJ9.kDL5oLTJaxKyYbwmKV1lejxrzsFoFzx5VOzvTR-i90k",
- "token_id": "557d54ec-29ad-4f3c-93b4-c9092ef12515",
- "account_id": "557d54ec-29ad-4f3c-93b4-c9092ef12515",
- "create_time": "2018-08-11T09:11:41.674Z",
- "last_update_time": "2018-08-11T09:11:41.674Z"
}
Позволяет удалить токен по его идентификатору.
token_id required | string <uuid> (uuid) ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]... Example: 8950722f-3fd4-4223-b48f-03f95f0e8dfb Идентификатор токена. |
Luna-Request-Id | string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4... Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе. |
Luna-Account-Id | string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]... Deprecated Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a Идентификатор аккаунта. Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id. Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий). |
# This example is written using requests library import requests baseUri = "http://127.0.0.1:5000/6" headers = { "Luna-Request-Id": "1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a", "Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE=" } url = f"{baseUri}/tokens" payload = {"permissions": {"face": ["view"]}, "description": "description", "expiration_time": None} tokenId = requests.post(url, json=payload, headers=headers).json()["token_id"] url = f"{baseUri}/tokens/{tokenId}" response = requests.delete(url, headers=headers) print(response.status_code)
{- "error_code": 12012,
- "desc": "Bad/incomplete input data",
- "detail": "Bad query parameters 'account_id'",
}
Позволяет получить параметры для ресурса.
token_id required | string <uuid> (uuid) ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]... Example: 8950722f-3fd4-4223-b48f-03f95f0e8dfb Идентификатор токена. |
Luna-Request-Id | string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4... Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе. |
{- "error_code": 37002,
- "desc": "Request timeout",
- "detail": "Service did not receive a complete request message within 60 seconds",
}
Позволяет проверить аккаунт, логин с паролем или токен.
account_id
, вернется account_type
login
/password
, вернутся account_id
и account_type
token
, вернутся account_type
и permissions
для токенаLuna-Request-Id | string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4... Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе. |
Content-Type | string Value: "application/json" Тип содержимого – |
login required | string (login) [ 3 .. 128 ] characters ^[a-z0-9_\-\.]+@[a-z]+\.[a-z]{2,}$ Электронная почта аккаунта. |
password required | string (password) [ 3 .. 128 ] characters ^.{3,128}$ Пароль аккаунта. |
{- "login": "mylogin@gmail.com",
- "password": "string"
}
{- "account_type": "advanced_user",
- "permissions": {
- "account": [ ],
- "face": [ ],
- "list": [ ],
- "event": [ ],
- "attribute": [ ],
- "handler": [ ],
- "verifier": [ ],
- "task": [ ],
- "face_sample": [ ],
- "body_sample": [ ],
- "image": [ ],
- "object": [ ],
- "token": [
- "view"
], - "resources": [ ],
- "emit_events": {
- "allowed": 1,
- "white_list": null,
- "black_list": null
}, - "lambdas": [ ]
}, - "account_id": "string"
}
Позволяет получить параметры для ресурса.
Luna-Request-Id | string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4... Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе. |
{- "error_code": 37002,
- "desc": "Request timeout",
- "detail": "Service did not receive a complete request message within 60 seconds",
}
Позволяет обнаруживать лица и/или тела и оценивать атрибуты на входных изображениях. После выполнения запроса полученные данные не сохраняются в базе данных или Image Store, а только возвращаются в ответе.
Порядок входящих изображений соответствует порядку элементов в выходном JSON.
Если входящее изображение повреждено, то для него возвращается ошибка. Обработка остальных изображений продолжается в обычном режиме.
Примечания к входящим данным:
image_type | integer Default: 0 Enum: 0 1 2 Тип входного изображения. 0 – необработанное изображение, 1 – биометрический образец лица, 2 – биометрический образец тела. | ||||||||
estimate_people_count | integer (int01) Default: 0 Enum: 0 1 Следует ли выполнять оценку количества людей на изображении. ⚠ Для выполнения оценки требуется включить функцию подсчета лиц в лицензии. | ||||||||
people_count_coordinates | integer Default: 1 Enum: 0 1 Следует ли возвращать координаты людей с оценкой количества людей. | ||||||||
multiface_policy | integer (multiface_policy) Default: 1 Enum: 0 1 2 Multiple face detection policy:
| ||||||||
detect_face | integer (detect_face) Default: 0 Enum: 0 1 Следует ли детектировать лица на изображении. | ||||||||
detect_body | integer (detect_body) Default: 0 Enum: 0 1 Следует ли детектировать тела на изображении. | ||||||||
estimate_head_pose | integer (estimate_head_pose) Default: 0 Enum: 0 1 Следует ли оценивать положение головы на изображении. Положение головы представлено углом наклона головы вверх/вниз (pitch), углом отклонения головы вправо/влево (roll), углом поворота головы вправо/влево (yaw). Не поддерживается с биометрическими образцами (см. параметр | ||||||||
estimate_emotions | integer (estimate_emotions) Default: 0 Enum: 0 1 Следует ли оценивать эмоции на изображении. Оценивается вероятностная оценка следующих эмоций: "anger" (злость), "disgust" (отвращение), "fear" (страх), "happiness" (счастье), "sadness" (грусть), "surprise" (удивление), "neutral" (нейтральность). | ||||||||
estimate_mask | integer (estimate_mask) Default: 0 Enum: 0 1 Следует ли оценивать состояние маски на лице. Оценивается вероятностная оценка следующих состояний маски: "medical_mask" (медицинская маска), "missing" (маска отсутствует), "occluded" (лицо перекрыто). Вероятностная оценка с наивысшим значением возвращается в параметре "predominant mask". | ||||||||
estimate_glasses | integer (estimate_glasses) Default: 0 Enum: 0 1 Следует ли оценивать очки на изображении. Возвращается один из следующих параметров: "eyeglasses" (очки), "sunglasses" (солнечные очки), "no_glasses" (очки отсутствуют). | ||||||||
estimate_liveness | integer (int01) Default: 0 Enum: 0 1 Следует ли оценивать Liveness на изображении. Оцениваются вероятностные оценки "quality" (качество) и "score" (точность определения). На основе этих вероятностных оценок возвращается следующий результат: "real" (проверка выявила, что человек является реальным), "spoof" (проверка выявила, что человек не является реальным), "unknown" (результат проверки неизвестен). Для выполнения этой оценки используется Liveness. См. руководство администратора для более подробной информации. ⚠ Требуются фотографии с веб-камеры или селфи. В противном случае результат может быть неверным. ⚠ Для выполнения оценки Liveness требуется включить функцию лицензирования Liveness. Оценка Liveness не поддерживается для биометрических образцов. Параметр | ||||||||
estimate_deepfake | integer (int01) Default: 0 Enum: 0 1 Следует ли оценивать Deepfake на изображении. ⚠ Для выполнения оценки требуется включить функцию Deepfake в лицензии. Не поддерживается с биометрическими образцами (см. параметр | ||||||||
estimate_landmarks68 | integer (detect_landmarks68) Default: 0 Enum: 0 1 Whether to detect basic 68-point facial landmarks in the image. Not supported with warped images (see | ||||||||
estimate_landmarks5 | integer (detect_landmarks5) Default: 0 Enum: 0 1 Whether to detect basic 5-point facial landmarks in the image. Not supported with warped images (see | ||||||||
estimate_quality | integer (estimate_quality) Default: 0 Enum: 0 1 Следует ли оценивать качество входного изображения лица. Оценивается каждый из следующих параметров: dark (степень того, что фото не затемнено), light (степень того, что фото не засвечено), blurriness (степень размытости), illumination (степень равномерности освещения), specularity (степень отсутствия бликов). Коэффициент качества оценивается для каждой вероятностной оценки. Его значение находится в диапазоне [0..1], где 0 соответствует низкому качеству, а 1 – высокому качеству. Влияние неравномерного освещения или большого количества бликов на алгоритмы распознавания лиц незначительно. | ||||||||
estimate_gaze | integer (estimate_gaze) Default: 0 Enum: 0 1 Следует ли оценивать направление взгляда на изображении. Взгляд представлен углом наклона взгляда вверх/вниз (pitch) и углом поворота взгляда вправо/влево (yaw) для обоих глаз одновременно. Не поддерживается с биометрическими образцами (см. параметр | ||||||||
estimate_eyes_attributes | integer (estimate_eyes_attributes) Default: 0 Enum: 0 1 Следует ли оценивать атрибуты глаз на изображении. Оцениваются параметры "right_eye" и "left_eye", которые содержат параметры "state" (opened (глаза открыты), closed (глаза закрыты) или occluded (глаза чем-то перекрыты)) и "iris_landmarks" (контрольные точки радужной оболочки). | ||||||||
estimate_mouth_attributes | integer (estimate_mouth_attributes) Default: 0 Enum: 0 1 Следует ли оценивать атрибуты рта на изображении. Оценивается каждая из следующих вероятностных оценок: "opened" (рот открыт), "occluded" (рот чем-то перекрыт), "smile" (улыбка), "score" (точность определения). | ||||||||
estimate_face_descriptor | integer (extract_descriptor) Default: 1 Enum: 0 1 Example: estimate_face_descriptor=1 Следует ли создавать биометрические шаблоны лиц. | ||||||||
estimate_basic_attributes | integer (extract_basic_attributes) Default: 0 Enum: 0 1 Следует ли извлекать базовые атрибуты лица (пол, возраст, этническая принадлежность). | ||||||||
estimate_body_descriptor | integer (extract_descriptor) Default: 1 Enum: 0 1 Example: estimate_body_descriptor=1 Следует ли создавать биометрические шаблоны тел. | ||||||||
estimate_upper_body | integer (int01) Default: 0 Enum: 0 1 Следует ли выполнять оценку атрибутов верхней части тела на изображении (верхняя одежда, цвет одежды, длина рукавов). | ||||||||
estimate_lower_body | integer (int01) Default: 0 Enum: 0 1 Следует ли выполнять оценку атрибутов нижней части тела на изображении (нижняя одежда, обувь). | ||||||||
estimate_accessories | integer (int01) Default: 0 Enum: 0 1 Следует ли оценивать аксессуары на теле человека на изображении (наличие рюкзака). | ||||||||
estimate_body_basic_attributes | integer (int01) Default: 0 Enum: 0 1 Следует ли оценивать базовые атрибуты тела на изображении (пол, возраст). | ||||||||
estimate_body_warp | integer (estimate_body_warp) Default: 0 Enum: 0 1 Следует ли создавать биометрический образец тела в формате Base64. | ||||||||
estimate_face_warp | integer (estimate_face_warp) Default: 0 Enum: 0 1 Следует ли создавать биометрический образец лица в формате Base64. | ||||||||
aggregate_attributes | integer (aggregate_attributes) Следует ли агрегировать следующие параметры:
Агрегация будет выполняться только в том случае, если включены соответствующие параметры для оценки перечисленных выше параметров. Если параметр задан, все оцененные параметры каждого изображения будут агрегированы и отображены в поле В противном случае все оцененные параметры каждого изображения будут отображаться в поле | ||||||||
pitch_threshold | integer (pitch_threshold) [ 0 .. 180 ] Example: pitch_threshold=180 Maximum deviation pitch angle from 0. If the estimated value is equal or less than the threshold, the image is filtered. Remove this parameter from the query, or set the parameter value to 180 if pitch angle filtration is not required. When the value is set to "0", all the images are filtered. | ||||||||
roll_threshold | integer (roll_threshold) [ 0 .. 180 ] Example: roll_threshold=180 Maximum deviation roll angle from 0. If the estimated value is equal or less than the threshold, the image is filtered. Remove this parameter from the query, or set the parameter value to 180 if roll angle filtration is not required. When the value is set to "0", all the images are filtered. | ||||||||
yaw_threshold | integer (yaw_threshold) [ 0 .. 180 ] Example: yaw_threshold=180 Maximum deviation yaw angle from 0. If the estimated value is equal or less than the threshold, the image is filtered. Remove this parameter from the query, or set the parameter value to 180 if yaw angle filtration is not required. When the value is set to "0", all the images are filtered. | ||||||||
score_threshold | number (score_threshold) [ 0 .. 1 ] Default: 0 Example: score_threshold=0.7 Порог оценки качества биометрического шаблона. Чем выше показатель качества изображения, тем лучше результаты извлечения биометрического шаблона. Все атрибуты с показателем качества ниже порогового значения будут проигнорированы (и не сохранены в БД). Функция будет работать как обычно со всеми остальными биометрическими шаблонами (если они оставлены). Проконсультируйтесь со специалистами VisionLabs о рекомендуемом значении этого параметра. Примечание. Этот параметр не связан с качеством изображения, оцененным в запросе на детекцию (параметром | ||||||||
mask_states | Array of integers (mask_states) non-empty Items Enum: 1 2 3 Example: mask_states=2&mask_states=3 Фильтр по состояниям маски.
| ||||||||
liveness_states | Array of integers (liveness_states) non-empty Items Enum: 0 1 2 Example: liveness_states=1 Фильтр по состояниям Liveness.
| ||||||||
deepfake_states | Array of integers (deepfake_states) non-empty Items Enum: 0 1 Example: deepfake_states=1 Фильтр по состояниям Deepfake.
| ||||||||
use_exif_info | integer Default: 1 Enum: 0 1 Example: use_exif_info=1 Следует ли автоматически поворачивать изображение на основе данных EXIF. Обрабатываемое изображение должно иметь EXIF данные, иначе автоматическая ориентация выполняться не будет. Не влияет на изображения в формате tiff (они всегда автоматически ориентированы). Не поддерживается с биометрическими образцами (см. параметры | ||||||||
extract_exif | integer (extract_exif) Default: 0 Enum: 0 1 Следует ли извлекать метаинформацию EXIF из входных изображений JPEG. Точные выходные данные могут отличаться из-за отсутствия обязательных требований по записи данных как к программному обеспечению, так и к цифровым камерам. Данная функция будет анализировать теги и выводить их имена и значения в том виде, в котором они предоставлены. Для более подробной информации см. спецификацию JEITA CP-3451. |
Accept | string Enum: "application/json" "application/msgpack" Заголовок запроса Accept. |
Luna-Request-Id | string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4... Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе. |
Content-Type | string Enum: "application/json" "multipart/form-data" "image/jpeg" "image/png" "image/bmp" "image/x-portable-pixmap" "image/tiff" "image/x-jpeg-base64" "image/x-png-base64" "image/x-bmp-base64" "image/x-tiff-base64" "image/x-portable-pixmap-base64" |
Luna-Account-Id | string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]... Deprecated Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a Идентификатор аккаунта. Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id. Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий). |
{- "images_estimations": [
- {
- "filename": "raw image",
- "exif": {
- "make": "Apple",
- "model": "iPhone 11",
- "gps": {
- "latitude": "55.0, 45.0, 18.29",
- "longitude": "37.0, 39.0, 16.32"
}, - "software": "13.6.1",
- "orientation": 6
}, - "estimations": [
- {
- "face": {
- "detection": {
- "rect": {
- "x": 71,
- "y": 45,
- "width": 134,
- "height": 178
}, - "landmarks5": [
- [
- 25,
- 25
], - [
- 83,
- 83
], - [
- 47,
- 47
], - [
- 33,
- 33
], - [
- 82,
- 82
]
], - "landmarks68": [
- [
- 1,
- 1
], - [
- 1,
- 1
], - [
- 4,
- 4
], - [
- 8,
- 8
], - [
- 14,
- 14
], - [
- 23,
- 23
], - [
- 33,
- 33
], - [
- 43,
- 43
], - [
- 60,
- 60
], - [
- 78,
- 78
], - [
- 96,
- 96
], - [
- 112,
- 112
], - [
- 124,
- 124
], - [
- 132,
- 132
], - [
- 135,
- 135
], - [
- 137,
- 137
], - [
- 138,
- 138
], - [
- 1,
- 1
], - [
- 8,
- 8
], - [
- 17,
- 17
], - [
- 26,
- 26
], - [
- 35,
- 35
], - [
- 59,
- 59
], - [
- 73,
- 73
], - [
- 86,
- 86
], - [
- 100,
- 100
], - [
- 113,
- 113
], - [
- 47,
- 47
], - [
- 45,
- 45
], - [
- 44,
- 44
], - [
- 43,
- 43
], - [
- 37,
- 37
], - [
- 42,
- 42
], - [
- 47,
- 47
], - [
- 54,
- 54
], - [
- 61,
- 61
], - [
- 14,
- 14
], - [
- 20,
- 20
], - [
- 29,
- 29
], - [
- 36,
- 36
], - [
- 28,
- 28
], - [
- 19,
- 19
], - [
- 69,
- 69
], - [
- 77,
- 77
], - [
- 86,
- 86
], - [
- 95,
- 95
], - [
- 88,
- 88
], - [
- 78,
- 78
], - [
- 33,
- 33
], - [
- 38,
- 38
], - [
- 45,
- 45
], - [
- 50,
- 50
], - [
- 57,
- 57
], - [
- 69,
- 69
], - [
- 82,
- 82
], - [
- 72,
- 72
], - [
- 60,
- 60
], - [
- 52,
- 52
], - [
- 45,
- 45
], - [
- 38,
- 38
], - [
- 36,
- 36
], - [
- 46,
- 46
], - [
- 51,
- 51
], - [
- 58,
- 58
], - [
- 77,
- 77
], - [
- 58,
- 58
], - [
- 51,
- 51
], - [
- 45,
- 45
]
], - "attributes": {
- "eyes_attributes": {
- "left_eye": {
- "iris_landmarks": [
- [
- 92,
- 92
], - [
- 92,
- 92
], - [
- 93,
- 93
], - [
- 93,
- 93
], - [
- 94,
- 94
], - [
- 95,
- 95
], - [
- 96,
- 96
], - [
- 98,
- 98
], - [
- 99,
- 99
], - [
- 100,
- 100
], - [
- 101,
- 101
], - [
- 102,
- 102
], - [
- 103,
- 103
], - [
- 104,
- 104
], - [
- 105,
- 105
], - [
- 105,
- 105
], - [
- 105,
- 105
], - [
- 105,
- 105
], - [
- 105,
- 105
], - [
- 104,
- 104
], - [
- 103,
- 103
], - [
- 102,
- 102
], - [
- 101,
- 101
], - [
- 100,
- 100
], - [
- 99,
- 99
], - [
- 98,
- 98
], - [
- 97,
- 97
], - [
- 96,
- 96
], - [
- 95,
- 95
], - [
- 94,
- 94
], - [
- 93,
- 93
], - [
- 93,
- 93
]
], - "state": "open"
}, - "right_eye": {
- "iris_landmarks": [
- [
- 152,
- 152
], - [
- 153,
- 153
], - [
- 153,
- 153
], - [
- 154,
- 154
], - [
- 154,
- 154
], - [
- 155,
- 155
], - [
- 157,
- 157
], - [
- 158,
- 158
], - [
- 159,
- 159
], - [
- 161,
- 161
], - [
- 162,
- 162
], - [
- 163,
- 163
], - [
- 164,
- 164
], - [
- 165,
- 165
], - [
- 166,
- 166
], - [
- 166,
- 166
], - [
- 166,
- 166
], - [
- 166,
- 166
], - [
- 166,
- 166
], - [
- 165,
- 165
], - [
- 164,
- 164
], - [
- 163,
- 163
], - [
- 162,
- 162
], - [
- 161,
- 161
], - [
- 159,
- 159
], - [
- 158,
- 158
], - [
- 158,
- 158
], - [
- 157,
- 157
], - [
- 156,
- 156
], - [
- 154,
- 154
], - [
- 154,
- 154
], - [
- 153,
- 153
]
], - "state": "open"
}
}, - "head_pose": {
- "pitch": 12.7464532852,
- "roll": -2.9892115593,
- "yaw": 17.7173442841
}, - "gaze": {
- "yaw": -5.9912848473,
- "pitch": -10.2646684647
}, - "emotions": {
- "predominant_emotion": "neutral",
- "estimations": {
- "anger": 8.682e-7,
- "disgust": 1.0670000000000001e-7,
- "fear": 4.386e-7,
- "happiness": 0.45658952,
- "sadness": 4.951e-7,
- "surprise": 0.0000029291,
- "neutral": 0.543405652
}
}, - "mask": {
- "predominant_mask": "occluded",
- "estimations": {
- "medical_mask": 0.020060448,
- "missing": 0.3235525191,
- "occluded": 0.6563870311
}, - "face_occlusion": {
- "predominant_occlusion": "correct",
- "estimations": {
- "full": 0.019,
- "clear": 0.02,
- "correct": 0.6108324766,
- "partially": 0.31,
- "mouth": 0.0209,
- "chin": 0.019097
}
}
}, - "glasses": {
- "glasses": "no_glasses"
}, - "mouth_attributes": {
- "score": 0.3884400725,
- "occluded": 1.4000000000000001e-9,
- "smile": 0.6115599275,
- "opened": 0.121500025
}, - "basic_attributes": {
- "ethnicities": {
- "predominant_ethnicity": "caucasian",
- "estimations": {
- "asian": 0.0000025556,
- "indian": 6.417e-7,
- "caucasian": 0.9999949932000001,
- "african_american": 0.0000017718000000000001
}
}, - "age": 24,
- "gender": 0
}, - "descriptor": {
- "sdk_descriptor": "ZHAAADgAAAB0k4SAf...IB6gHyAgH19fQ==",
- "score": 0.7854047418000001
}, - "liveness": {
- "prediction": "spoof",
- "estimations": {
- "quality": 0.7361597418785095,
- "score": 0.600364089012146
}
}, - "deepfake": {
- "prediction": "fake",
- "score": 0.600364089012146
}
}, - "quality": {
- "blurriness": 0.9769582748000001,
- "dark": 0.9542820454000001,
- "illumination": 0.8248310089,
- "specularity": 0.8472354412,
- "light": 0.8179533482
}, - "warp": "/9j/4AAQSkZJRgABAQAAAQABA..C4gb+KneZD/erEHWn0/asOTzP/9k="
}
}, - "body": {
- "detection": {
- "rect": {
- "x": 32,
- "y": 4,
- "width": 224,
- "height": 255
}, - "warp": "/9j/4AAQSkZJRgABAQAAAQABAA...CX6kdapTi1qS00f/Z",
- "attributes": {
- "descriptor": {
- "sdk_descriptor": "ZHAAAGUAAAC....AfX9",
- "score": 1
}, - "basic_attributes": {
- "apparent_age": 25,
- "apparent_gender": 0
}, - "upper_body": {
- "headwear": {
- "state": 0,
- "apparent_color": "undefined"
}, - "sleeve": {
- "length": "short"
}, - "upper_clothing": {
- "colors": [
- "white",
- "black"
]
}
}, - "lower_body": {
- "lower_garment": {
- "type": "trousers",
- "colors": [
- "white",
- "black"
]
}, - "shoes": {
- "apparent_color": "black"
}
}, - "accessories": {
- "backpack": {
- "state": 0
}
}
}
}
}
}
], - "image_estimations": {
- "people": {
- "count": 1,
- "coordinates": [
- [
- 125,
- 125
]
]
}
}
}
]
}
Позволяет получить параметры для ресурса.
Luna-Request-Id | string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4... Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе. |
{- "error_code": 37002,
- "desc": "Request timeout",
- "detail": "Service did not receive a complete request message within 60 seconds",
}
Запрос на анализ видео на основе указанных параметров аналитики, например оценки лица.
Luna-Request-Id | string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4... Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе. |
Content-Type | string Value: "application/json" |
required | object Внешний адрес до видео. |
required | Array of any Список параметров для комплексной видеоаналитики. |
{- "analytics": [
- {
- "name": "people_count",
- "targets": [ ],
- "parameters": {
- "roi": {
- "x": 3327,
- "y": 3327,
- "width": 3327,
- "height": 3327,
- "mode": "abs"
}, - "rate": {
- "period": 10,
- "unit": "frame"
}, - "probe_count": 0,
- "image_retain_policy": {
- "mimetype": "PNG",
- "quality": 1,
- "max_size": 640
}, - "people_count_threshold": 1
}
}
]
}
{- "video_data": {
- "frames_count": 0,
- "frame_rate": 0,
- "duration": 0
}, - "analytics": [
- {
- "name": "people_count",
- "result": {
- "crowd": {
- "events": [
- {
- "event_id": "string",
- "max_people_count": 0,
- "video_segment": {
- "start_time_offset": 0.123,
- "end_time_offset": 1.234,
- "start_frame_offset": 15,
- "last_frame_offset": 35
}, - "frames_estimations": [
- {
- "people_count": 0,
- "time_offset": 1.234,
- "frame_offset": 35,
- "people_coordinates": [
- [ ]
]
}
], - "aggregated_estimations": {
- "overview": {
- "frame_offset": 35,
- "time_offset": 1.234,
- "image": "string",
- "people_coordinates": [
- [
- 530.0869565217391,
- 201.7391304347826
], - [
- 272.69565217391306,
- 191.30434782608694
]
]
}
}
}
]
}
}
}
]
}
Позволяет получить параметры для ресурса.
Luna-Request-Id | string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4... Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе. |
{- "error_code": 37002,
- "desc": "Request timeout",
- "detail": "Service did not receive a complete request message within 60 seconds",
}
Позволяет выполнить визуальную проверку изображений фронтального типа на основе стандарта ISO/IEC 19794-5. Это означает, что изображения, прошедшие проверку, стандартизированы, а атрибуты лица человека соответствуют установленным требованиям. Для получения дополнительной информации о требованиях к атрибутам лица на изображении см. ISO/IEC 19794-5 пункты 7-10.
Выходной JSON содержит результат проверки для каждой проверки. Проверка изображения считается успешной, если набор этих результатов соответствует стандарту ISO.
Порядок входных изображений соответствует порядку элементов в выходном JSON. Если изображение повреждено, ресурс вернет ошибку для этого изображения, а другие изображения будут обработаны правильно.
Примечания к входящим данным:
image_type | integer Default: 0 Enum: 0 1 Тип входящего изображения. 0 - обычное изображение, 1 - нормализованное изображение лица. |
multiface_policy | integer (iso_multiface_policy) Default: 0 Enum: 0 1 2 multiple face detection policy:
|
extract_exif | integer (extract_exif) Default: 0 Enum: 0 1 Следует ли извлекать метаинформацию EXIF из входных изображений JPEG. Точные выходные данные могут отличаться из-за отсутствия обязательных требований по записи данных как к программному обеспечению, так и к цифровым камерам. Данная функция будет анализировать теги и выводить их имена и значения в том виде, в котором они предоставлены. Для более подробной информации см. спецификацию JEITA CP-3451. |
Accept | string Enum: "application/json" "application/msgpack" Заголовок запроса Accept. |
Luna-Request-Id | string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4... Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе. |
Content-Type | string Enum: "application/json" "multipart/form-data" "image/jpeg" "image/png" "image/bmp" "image/x-portable-pixmap" "image/tiff" "image/x-jpeg-base64" "image/x-png-base64" "image/x-bmp-base64" "image/x-tiff-base64" "image/x-portable-pixmap-base64" |
{- "images": [
- {
- "filename": "raw image",
- "status": 1,
- "error": {
- "error_code": 0,
- "desc": "Success",
- "detail": "Success",
}, - "estimations": [
- {
- "face": {
- "detection": {
- "iso": {
- "status": 1,
- "checks": [
- {
- "name": "image_format",
- "object_value": "JPEG",
- "threshold_value": [
- "JPEG",
- "JPEG2000",
- "PNG"
], - "result": 1
}, - {
- "name": "illumination_quality",
- "object_value": 0.6005162000656128,
- "threshold_value": {
- "min": 0.3,
- "max": 1
}, - "result": 1
}, - {
- "name": "specularity_quality",
- "object_value": 0.7662366628646851,
- "threshold_value": {
- "min": 0.3,
- "max": 1
}, - "result": 1
}, - {
- "name": "blurriness_quality",
- "object_value": 0.9429352283477783,
- "threshold_value": {
- "min": 0.61,
- "max": 1
}, - "result": 1
}, - {
- "name": "dark_quality",
- "object_value": 0.9020983576774597,
- "threshold_value": {
- "min": 0.5,
- "max": 1
}, - "result": 1
}, - {
- "name": "light_quality",
- "object_value": 0.7881984114646912,
- "threshold_value": {
- "min": 0.57,
- "max": 1
}, - "result": 1
}, - {
- "name": "head_yaw",
- "object_value": 2.818983316421509,
- "threshold_value": {
- "min": -5,
- "max": 5
}, - "result": 1
}, - {
- "name": "head_pitch",
- "object_value": 3.816443920135498,
- "threshold_value": {
- "min": -5,
- "max": 5
}, - "result": 1
}, - {
- "name": "head_roll",
- "object_value": 5.434040069580078,
- "threshold_value": {
- "min": -8,
- "max": 8
}, - "result": 1
}, - {
- "name": "gaze_yaw",
- "object_value": -3.773012399673462,
- "threshold_value": {
- "min": -5,
- "max": 5
}, - "result": 1
}, - {
- "name": "gaze_pitch",
- "object_value": 0.7140519022941589,
- "threshold_value": {
- "min": -5,
- "max": 5
}, - "result": 1
}, - {
- "name": "mouth_smiling",
- "object_value": 0.000290759839117527,
- "threshold_value": {
- "min": 0,
- "max": 0.5
}, - "result": 1
}, - {
- "name": "mouth_occluded",
- "object_value": 0.00009619363845558837,
- "threshold_value": {
- "min": 0,
- "max": 0.5
}, - "result": 1
}, - {
- "name": "mouth_open",
- "object_value": 0.6226108074188232,
- "threshold_value": {
- "min": 0,
- "max": 0.5
}, - "result": 1
}, - {
- "name": "glasses",
- "object_value": "no_glasses",
- "threshold_value": [
- "no_glasses",
- "eyeglasses"
], - "result": 1
}, - {
- "name": "left_eye",
- "object_value": "open",
- "threshold_value": [
- "open"
], - "result": 1
}, - {
- "name": "right_eye",
- "object_value": "open",
- "threshold_value": [
- "open"
], - "result": 1
}, - {
- "name": "head_horizontal_center",
- "object_value": 0.51,
- "threshold_value": {
- "min": 0.45,
- "max": 0.55
}, - "result": 1
}, - {
- "name": "head_vertical_center",
- "object_value": 0.51,
- "threshold_value": {
- "min": 0.3,
- "max": 0.5
}, - "result": 1
}, - {
- "name": "head_width",
- "object_value": 0.61,
- "threshold_value": {
- "min": 0.5,
- "max": 0.75
}, - "result": 1
}, - {
- "name": "head_height",
- "object_value": 0.71,
- "threshold_value": {
- "min": 0.6,
- "max": 0.9
}, - "result": 1
}, - {
- "name": "eye_distance",
- "object_value": 110,
- "threshold_value": {
- "min": 90,
- "max": null
}, - "result": 1
}, - {
- "name": "eyebrows_state",
- "object_value": "neutral",
- "threshold_value": [
- "neutral"
], - "result": 1
}, - {
- "name": "smile_properties",
- "object_value": "smile_lips",
- "threshold_value": [
- "none"
], - "result": 0
}, - {
- "name": "headwear_type",
- "object_value": "hat",
- "threshold_value": [
- "none"
], - "result": 0
}, - {
- "name": "natural_light",
- "object_value": 1,
- "threshold_value": 1,
- "result": 1
}, - {
- "name": "radial_distortion",
- "object_value": 0,
- "threshold_value": 0,
- "result": 1
}, - {
- "name": "red_eyes",
- "object_value": 0,
- "threshold_value": 0,
- "result": 1
}, - {
- "name": "face_color_type",
- "object_value": "color",
- "threshold_value": [
- "color"
], - "result": 1
}, - {
- "name": "background_lightness",
- "object_value": 0.5780888795852661,
- "threshold_value": {
- "min": 0.2,
- "max": 1
}, - "result": 1
}, - {
- "name": "background_uniformity",
- "object_value": 0.8874394297599792,
- "threshold_value": {
- "min": 0.5,
- "max": 1
}, - "result": 1
}, - {
- "name": "shoulders_position",
- "object_value": "parallel",
- "threshold_value": [
- "parallel"
], - "result": 1
}
]
}, - "rect": {
- "x": 108,
- "y": 58,
- "width": 113,
- "height": 165
}
}
}
}
]
}
]
}
Позволяет получить параметры для ресурса.
Luna-Request-Id | string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4... Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе. |
{- "error_code": 37002,
- "desc": "Request timeout",
- "detail": "Service did not receive a complete request message within 60 seconds",
}
Позволяет обнаруживать лица на входящих изображениях, создавать биометрические образцы и оценивать свойства лиц.
Детекции могут быть отфильтрованы по положению головы. Положение головы представлено углом наклона головы вверх/вниз (pitch), углом отклонения головы вправо/влево (roll), углом поворота головы вправо/влево (yaw).
Чтобы задать порог фильтрации для каждого угла, используйте соответствующие параметры запроса
(yaw_threshold
, pitch_threshold
and roll_threshold
). По умолчанию фильтрация не применяется.
Оцененные свойства лица не сохраняются в базе данных лиц. Они возвращаются только в ответе.
Биометрические образцы сохраняются в хранилище без возможности отключения сохранения. Вы можете отключить сохранение
биометрических образцов только используя обработчики.
Примечания к входящим данным:
multiface_policy | integer (multiface_policy) Default: 1 Enum: 0 1 2 Политика детекции нескольких лиц:
|
estimate_head_pose | integer (estimate_head_pose) Default: 0 Enum: 0 1 Следует ли оценивать положение головы на изображении. Положение головы представлено углом наклона головы вверх/вниз (pitch), углом отклонения головы вправо/влево (roll), углом поворота головы вправо/влево (yaw). Не поддерживается с биометрическими образцами (см. параметр |
estimate_emotions | integer (estimate_emotions) Default: 0 Enum: 0 1 Следует ли оценивать эмоции на изображении. Оценивается вероятностная оценка следующих эмоций: "anger" (злость), "disgust" (отвращение), "fear" (страх), "happiness" (счастье), "sadness" (грусть), "surprise" (удивление), "neutral" (нейтральность). |
estimate_mask | integer (estimate_mask) Default: 0 Enum: 0 1 Следует ли оценивать состояние маски на лице. Оценивается вероятностная оценка следующих состояний маски: "medical_mask" (медицинская маска), "missing" (маска отсутствует), "occluded" (лицо перекрыто). Вероятностная оценка с наивысшим значением возвращается в параметре "predominant mask". |
detect_landmarks68 | integer (detect_landmarks68) Default: 0 Enum: 0 1 Следует ли обнаруживать на изображении 68 контрольных точек лица.
Не поддерживается с биометрическими образцами (см. параметр |
extract_exif | integer (extract_exif) Default: 0 Enum: 0 1 Следует ли извлекать метаинформацию EXIF из входных изображений JPEG. Точные выходные данные могут отличаться из-за отсутствия обязательных требований по записи данных как к программному обеспечению, так и к цифровым камерам. Данная функция будет анализировать теги и выводить их имена и значения в том виде, в котором они предоставлены. Для более подробной информации см. спецификацию JEITA CP-3451. |
estimate_quality | integer (estimate_quality) Default: 0 Enum: 0 1 Следует ли оценивать качество входного изображения лица. Оценивается каждый из следующих параметров: dark (степень того, что фото не затемнено), light (степень того, что фото не засвечено), blurriness (степень размытости), illumination (степень равномерности освещения), specularity (степень отсутствия бликов). Коэффициент качества оценивается для каждой вероятностной оценки. Его значение находится в диапазоне [0..1], где 0 соответствует низкому качеству, а 1 – высокому качеству. Влияние неравномерного освещения или большого количества бликов на алгоритмы распознавания лиц незначительно. |
estimate_gaze | integer (estimate_gaze) Default: 0 Enum: 0 1 Следует ли оценивать направление взгляда на изображении. Взгляд представлен углом наклона взгляда вверх/вниз (pitch) и углом поворота взгляда вправо/влево (yaw) для обоих глаз одновременно. Не поддерживается с биометрическими образцами (см. параметр |
estimate_eyes_attributes | integer (estimate_eyes_attributes) Default: 0 Enum: 0 1 Следует ли оценивать атрибуты глаз на изображении. Оцениваются параметры "right_eye" и "left_eye", которые содержат параметры "state" (opened (глаза открыты), closed (глаза закрыты) или occluded (глаза чем-то перекрыты)) и "iris_landmarks" (контрольные точки радужной оболочки). |
estimate_mouth_attributes | integer (estimate_mouth_attributes) Default: 0 Enum: 0 1 Следует ли оценивать атрибуты рта на изображении. Оценивается каждая из следующих вероятностных оценок: "opened" (рот открыт), "occluded" (рот чем-то перекрыт), "smile" (улыбка), "score" (точность определения). |
pitch_threshold | integer (pitch_threshold) [ 0 .. 180 ] Example: pitch_threshold=180 Maximum deviation pitch angle from 0. If the estimated value is equal or less than the threshold, the image is filtered. Remove this parameter from the query, or set the parameter value to 180 if pitch angle filtration is not required. When the value is set to "0", all the images are filtered. |
roll_threshold | integer (roll_threshold) [ 0 .. 180 ] Example: roll_threshold=180 Maximum deviation roll angle from 0. If the estimated value is equal or less than the threshold, the image is filtered. Remove this parameter from the query, or set the parameter value to 180 if roll angle filtration is not required. When the value is set to "0", all the images are filtered. |
yaw_threshold | integer (yaw_threshold) [ 0 .. 180 ] Example: yaw_threshold=180 Maximum deviation yaw angle from 0. If the estimated value is equal or less than the threshold, the image is filtered. Remove this parameter from the query, or set the parameter value to 180 if yaw angle filtration is not required. When the value is set to "0", all the images are filtered. |
warped_image | integer (warped_image) Default: 0 Enum: 0 1 Является ли входное изображение биометрическим образцом или нет. |
use_exif_info | integer Default: 1 Enum: 0 1 Example: use_exif_info=1 Следует ли автоматически поворачивать изображение на основе данных EXIF. Обрабатываемое изображение должно иметь EXIF данные, иначе автоматическая ориентация выполняться не будет. Не влияет на изображения в формате tiff (они всегда автоматически ориентированы). Не поддерживается с биометрическими образцами (см. параметры |
estimate_face_quality | integer Default: 0 Enum: 0 1 Следует ли оценивать лицо и изображение с помощью проверки "face_quality". Позволяет выполнять различные проверки качества лица с пороговыми значениями, аналогичных стандарту ISO. Для получения дополнительной информации о требованиях к атрибутам лица на изображении см. ISO/IEC 19794-5 пункты 7-10. ⚠ Необходимо наличие параметра лицензирования ISO для выполнения проверки качества лица и изображения. |
Luna-Request-Id | string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4... Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе. |
Luna-Account-Id | string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]... Deprecated Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a Идентификатор аккаунта. Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id. Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий). |
Content-Type | string Enum: "image/jpeg" "image/png" "image/bmp" "image/x-portable-pixmap" "image/tiff" "multipart/form-data" "application/json" "image/x-jpeg-base64" "image/x-png-base64" "image/x-bmp-base64" "image/x-tiff-base64" "image/x-portable-pixmap-base64" |
{- "images": [
- {
- "filename": "face_1.jpg",
- "error": {
- "error_code": 0,
- "desc": "Success",
- "detail": "Success",
}, - "status": 1,
- "detections": {
- "samples": [
- {
- "face": {
- "detection": {
- "rect": {
- "x": 594,
- "y": 181,
- "width": 678,
- "height": 963
}, - "landmarks5": [
- [
- 169,
- 169
], - [
- 454,
- 454
], - [
- 325,
- 325
], - [
- 227,
- 227
], - [
- 466,
- 466
]
], - "quality": {
- "blurriness": 0.9740276337,
- "dark": 0.9211971164,
- "illumination": 0.8751303554,
- "specularity": 0.9605293274,
- "light": 0.8855836391
}, - "attributes": {
- "mouth_attributes": {
- "opened": 0.021500025,
- "occluded": 0.9998804331,
- "smile": 0,
- "score": 1
}, - "head_pose": {
- "pitch": 6.7033782005,
- "roll": -6.140639782,
- "yaw": 3.3139002323
}, - "gaze": {
- "yaw": 0.281270504,
- "pitch": -1.0716878176
}
}
}, - "url": "/6/samples/faces/f9285806-371e-4c61-be00-0424029856e3",
- "sample_id": "50cccef8-3ea8-42a0-8e6d-68b90ee148f6"
}
}
], - "filtered_detections": {
- "face_detections": [ ]
}
}
}
]
}
Позволяет получить параметры для ресурса.
Luna-Request-Id | string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4... Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе. |
{- "error_code": 37002,
- "desc": "Request timeout",
- "detail": "Service did not receive a complete request message within 60 seconds",
}
Позволяет сохранить биометрический образец лица или тела в хранилище.
samples_type required | string Enum: "faces" "bodies" Тип биометрических образцов. |
Luna-Request-Id | string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4... Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе. |
Luna-Account-Id | string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]... Deprecated Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a Идентификатор аккаунта. Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id. Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий). |
Content-Type | string Enum: "image/jpeg" "image/png" "image/bmp" "image/tiff" "image/x-portable-pixmap" |
Изображение, сгенерированное алгоритмами VisionLabs.
# This example is written using requests library import requests baseUri = "http://127.0.0.1:5000/6" headers = { "Luna-Request-Id": "1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a", "Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE=", "Content-Type": "image/jpeg", } with open("face_warp.jpg", "rb") as image_file: image = image_file.read() url = f"{baseUri}/samples/faces" response = requests.post(url, data=image, headers=headers) print(response.status_code) print(response.json())
{- "sample_id": "b5d6fd45-fcca-453d-ac05-3e594054b813",
- "url": "/6/samples/bodies/b5d6fd45-fcca-453d-ac05-3e594054b813"
}
Позволяет получить параметры для ресурса.
samples_type required | string Enum: "faces" "bodies" Тип биометрических образцов. |
Luna-Request-Id | string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4... Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе. |
{- "error_code": 37002,
- "desc": "Request timeout",
- "detail": "Service did not receive a complete request message within 60 seconds",
}
Позволяет получить биометрический образец лица или тела по его sample_id.
samples_type required | string Enum: "faces" "bodies" Тип биометрических образцов. |
sample_id required | string <uuid> (uuid) ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]... Example: 557d54ec-29ad-4f3c-93b4-c9092ef12515 |
Luna-Request-Id | string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4... Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе. |
Luna-Account-Id | string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]... Deprecated Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a Идентификатор аккаунта. Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id. Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий). |
# This example is written using requests library import requests baseUri = "http://127.0.0.1:5000/6" # create sample headers = { "Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE=", "Content-Type": "image/jpeg", } with open("face_warp.jpg", "rb") as image_file: image = image_file.read() url = f"{baseUri}/samples/faces" sampleId = requests.post(url, data=image, headers=headers).json()["sample_id"] # get sample headers = { "Luna-Request-Id": "1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a", "Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE=", } url = f"{baseUri}/samples/faces/{sampleId}" response = requests.get(url, headers=headers) print(response.status_code) print(response.json())
{- "error_code": 11065,
- "desc": "Authorization failed",
- "detail": "Bad format basic authorization header",
}
Позволяет проверить существование биометрического образца лица или тела по указанному sample_id
.
samples_type required | string Enum: "faces" "bodies" Тип биометрических образцов. |
sample_id required | string <uuid> (uuid) ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]... Example: 557d54ec-29ad-4f3c-93b4-c9092ef12515 |
Luna-Request-Id | string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4... Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе. |
Luna-Account-Id | string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]... Deprecated Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a Идентификатор аккаунта. Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id. Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий). |
# This example is written using requests library import requests baseUri = "http://127.0.0.1:5000/6" # create sample headers = { "Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE=", "Content-Type": "image/jpeg", } with open("face_warp.jpg", "rb") as image_file: image = image_file.read() url = f"{baseUri}/samples/faces" sampleId = requests.post(url, data=image, headers=headers).json()["sample_id"] # get sample headers = { "Luna-Request-Id": "1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a", "Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE=", } url = f"{baseUri}/samples/faces/{sampleId}" response = requests.head(url, headers=headers) print(response.status_code)
Позволяет удалить биометрический образец лица или тела по его sample_id.
samples_type required | string Enum: "faces" "bodies" Тип биометрических образцов. |
sample_id required | string <uuid> (uuid) ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]... Example: 557d54ec-29ad-4f3c-93b4-c9092ef12515 |
Luna-Request-Id | string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4... Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе. |
Luna-Account-Id | string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]... Deprecated Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a Идентификатор аккаунта. Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id. Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий). |
# This example is written using requests library import requests baseUri = "http://127.0.0.1:5000/6" # create sample headers = { "Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE=", "Content-Type": "image/jpeg", } with open("face_warp.jpg", "rb") as image_file: image = image_file.read() url = f"{baseUri}/samples/faces" sampleId = requests.post(url, data=image, headers=headers).json()["sample_id"] # get sample headers = { "Luna-Request-Id": "1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a", "Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE=", } url = f"{baseUri}/samples/faces/{sampleId}" response = requests.delete(url, headers=headers) print(response.status_code)
{- "error_code": 11065,
- "desc": "Authorization failed",
- "detail": "Bad format basic authorization header",
}
Позволяет получить параметры для ресурса.
samples_type required | string Enum: "faces" "bodies" Тип биометрических образцов. |
sample_id required | string <uuid> (uuid) ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]... Example: 557d54ec-29ad-4f3c-93b4-c9092ef12515 |
Luna-Request-Id | string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4... Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе. |
{- "error_code": 13003,
- "desc": "Object not found",
- "detail": "Image with id '7acc35cf-a3b2-4f87-8d8b-5496a2782d37' not found",
}
Позволяет получить биометрический образец по его идентификатору с помощью предыдущей версии API.
sample_id required | string <uuid> (uuid) ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]... Example: 557d54ec-29ad-4f3c-93b4-c9092ef12515 |
Luna-Request-Id | string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4... Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе. |
Luna-Account-Id | string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]... Deprecated Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a Идентификатор аккаунта. Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id. Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий). |
{- "error_code": 11065,
- "desc": "Authorization failed",
- "detail": "Bad format basic authorization header",
}
Позволяет проверить существование биометрического образца лица или тела по указанному sample_id
с помощью предыдущей версии API.
sample_id required | string <uuid> (uuid) ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]... Example: 557d54ec-29ad-4f3c-93b4-c9092ef12515 |
Luna-Request-Id | string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4... Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе. |
Luna-Account-Id | string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]... Deprecated Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a Идентификатор аккаунта. Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id. Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий). |
Позволяет удалить биометрический образец по идентификатору, используя предыдущую версию API.
sample_id required | string <uuid> (uuid) ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]... Example: 557d54ec-29ad-4f3c-93b4-c9092ef12515 |
Luna-Request-Id | string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4... Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе. |
Luna-Account-Id | string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]... Deprecated Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a Идентификатор аккаунта. Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id. Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий). |
{- "error_code": 11065,
- "desc": "Authorization failed",
- "detail": "Bad format basic authorization header",
}
Позволяет получить параметры для ресурса с помощью предыдущей версии API.
sample_id required | string <uuid> (uuid) ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]... Example: 557d54ec-29ad-4f3c-93b4-c9092ef12515 |
Luna-Request-Id | string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4... Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе. |
{- "error_code": 13003,
- "desc": "Object not found",
- "detail": "Image with id '7acc35cf-a3b2-4f87-8d8b-5496a2782d37' not found",
}
Позволяет получить биометрический образец лица по идентификатору.
sample_id required | string <uuid> (uuid) ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]... Example: 557d54ec-29ad-4f3c-93b4-c9092ef12515 |
Luna-Request-Id | string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4... Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе. |
Luna-Account-Id | string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]... Deprecated Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a Идентификатор аккаунта. Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id. Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий). |
{- "error_code": 11065,
- "desc": "Authorization failed",
- "detail": "Bad format basic authorization header",
}
Позволяет проверить существование биометрического образца лица по указанному sample_id
.
sample_id required | string <uuid> (uuid) ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]... Example: 557d54ec-29ad-4f3c-93b4-c9092ef12515 |
Luna-Request-Id | string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4... Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе. |
Luna-Account-Id | string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]... Deprecated Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a Идентификатор аккаунта. Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id. Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий). |
Позволяет удалить биометрический образец по его sample_id.
sample_id required | string <uuid> (uuid) ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]... Example: 557d54ec-29ad-4f3c-93b4-c9092ef12515 |
Luna-Request-Id | string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4... Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе. |
Luna-Account-Id | string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]... Deprecated Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a Идентификатор аккаунта. Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id. Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий). |
{- "error_code": 11065,
- "desc": "Authorization failed",
- "detail": "Bad format basic authorization header",
}
Позволяет получить параметры для ресурса.
sample_id required | string <uuid> (uuid) ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]... Example: 557d54ec-29ad-4f3c-93b4-c9092ef12515 |
Luna-Request-Id | string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4... Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе. |
{- "error_code": 13003,
- "desc": "Object not found",
- "detail": "Image with id '7acc35cf-a3b2-4f87-8d8b-5496a2782d37' not found",
}
Позволяет сохранить изображения с уникальным идентификатором.
Luna-Request-Id | string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4... Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе. |
Content-Type | string Enum: "image/jpeg" "image/png" "image/bmp" "image/tiff" "image/x-portable-pixmap" Тип передаваемого изображения. |
Luna-Account-Id | string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]... Deprecated Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a Идентификатор аккаунта. Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id. Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий). |
* (X-Luna-Meta-<user_defined_key>) | string Example: <user_defined_value> Пользовательская метаинформация (ключ-значение) изображения. Чтобы сохранить значения метаинформации для нескольких ключей, необходимо определить несколько заголовков. |
# This example is written using requests library import requests baseUri = "http://127.0.0.1:5000/6" headers = { "Luna-Request-Id": "1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a", "Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE=", "Content-Type": "image/jpeg", } with open("face_warp.jpg", "rb") as image_file: image = image_file.read() url = f"{baseUri}/images" response = requests.post(url, data=image, headers=headers) print(response.status_code) print(response.json())
{- "image_id": "141d2706-8baf-433b-82eb-8c7fada847da",
- "url": "/6/images/141d2706-8baf-433b-82eb-8c7fada847da",
}
Позволяет получить параметры для ресурса.
Luna-Request-Id | string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4... Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе. |
{- "error_code": 37002,
- "desc": "Request timeout",
- "detail": "Service did not receive a complete request message within 60 seconds",
}
Позволяет проверить существование изображение по указанному image_id
.
image_id required | string <uuid> (image_id) ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]... Example: 557d54ec-29ad-4f3c-93b4-c9092ef12515 Image ID. |
with_meta | integer Default: 0 Enum: 0 1 Example: with_meta=1 Следует ли извлекать пользовательскую метаинформацию изображения. |
Luna-Request-Id | string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4... Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе. |
Luna-Account-Id | string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]... Deprecated Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a Идентификатор аккаунта. Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id. Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий). |
# This example is written using requests library import requests baseUri = "http://127.0.0.1:5000/6" # create sample headers = { "Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE=", "Content-Type": "image/jpeg", } with open("face_warp.jpg", "rb") as image_file: image = image_file.read() url = f"{baseUri}/images" imageId = requests.post(url, data=image, headers=headers).json()["image_id"] # get image headers = { "Luna-Request-Id": "1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a", "Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE=", } url = f"{baseUri}/images/{imageId}" response = requests.head(url, headers=headers) print(response.status_code)
Позволяет удалить изображение.
image_id required | string <uuid> (image_id) ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]... Example: 557d54ec-29ad-4f3c-93b4-c9092ef12515 Image ID. |
Luna-Request-Id | string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4... Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе. |
Luna-Account-Id | string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]... Deprecated Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a Идентификатор аккаунта. Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id. Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий). |
# This example is written using requests library import requests baseUri = "http://127.0.0.1:5000/6" # create sample headers = { "Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE=", "Content-Type": "image/jpeg", } with open("face_warp.jpg", "rb") as image_file: image = image_file.read() url = f"{baseUri}/images" imageId = requests.post(url, data=image, headers=headers).json()["image_id"] # get image headers = { "Luna-Request-Id": "1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a", "Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE=", } url = f"{baseUri}/images/{imageId}" response = requests.delete(url, headers=headers) print(response.status_code)
{- "error_code": 11065,
- "desc": "Authorization failed",
- "detail": "Bad format basic authorization header",
}
Позволяет получить исходное изображение.
image_id required | string <uuid> (image_id) ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]... Example: 557d54ec-29ad-4f3c-93b4-c9092ef12515 Image ID. |
with_meta | integer Default: 0 Enum: 0 1 Example: with_meta=1 Следует ли извлекать пользовательскую метаинформацию изображения. |
Luna-Request-Id | string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4... Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе. |
Luna-Account-Id | string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]... Deprecated Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a Идентификатор аккаунта. Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id. Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий). |