LUNA PLATFORM 5 API (v.6.40.0)

Download OpenAPI specification:Download

API VisionLabs Luna Platform 5. Версия API – 6.

Спецификация OpenAPI – единственный документ, содержащий актуальную информацию о API сервиса.

Спецификация может использоваться:

  • Инструментами создания документации для визуализации API.
  • Инструментами генерации кода.

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

Спецификацию OpenAPI можно получить с помощью ресурса /docs/spec. Заголовок "Accept" должен принимать значение "application/x-yaml".

version

get version

Позволяет получить версии всех сервисов.

header Parameters
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") и вернет его в ответе.

Responses

Response samples

Content type
application/json
{
  • "LUNA PLATFORM": {
    },
  • "luna-api": {
    },
  • "luna-events": {
    },
  • "luna-faces": {
    },
  • "luna-image-store-bodies-samples": {
    },
  • "luna-image-store-faces-samples": {
    },
  • "luna-image-store-images": {
    },
  • "luna-handlers": {
    },
  • "luna-tasks": {
    },
  • "luna-matcher-proxy": {
    },
  • "luna-remote-sdk": {
    },
  • "luna-lambda": {
    }
}

version options

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

header Parameters
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") и вернет его в ответе.

Responses

Response samples

Content type
application/json
{}

accounts

get accounts

Позволяет получить все аккаунты.

Authorizations:
BasicAuthLunaAccountIdAuthBearerAuth
query Parameters
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 объекта.

create_time__gte
string <date-time> (time)
Example: create_time__gte=2018-08-11T09:11:41.674Z

Нижнее включенное пороговое значение для параметра create_time объекта.

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".

header Parameters
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") и вернет его в ответе.

Responses

Request samples

# 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())

Response samples

Content type
application/json
{
  • "accounts": [
    ],
  • "total_count": 50
}

create account

Позволяет создать аккаунт.

Authorizations:
BasicAuthLunaAccountIdAuth
header Parameters
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"

Тип содержимого – 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

Идентификатор аккаунта для создания нового аккаунта.

Request Body schema: 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}$

Пароль аккаунта.

account_type
required
string (account_type_for_creation)
Enum: "advanced_user" "user"

Тип аккаунта:

  • user - позволяет взаимодействовать только со своими данными

  • advanced_user - позволяет взаимодействовать со своими данными и просматривать данные других аккаунтов

description
string (account_description) <= 128 characters
Default: ""

Описание аккаунта.

Responses

Request samples

Content type
application/json
{
  • "login": "mylogin@gmail.com",
  • "password": "string",
  • "account_type": "advanced_user",
  • "description": "main admin account"
}

Response samples

Content type
application/json
{}

accounts options

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

header Parameters
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") и вернет его в ответе.

Responses

Response samples

Content type
application/json
{}

account

get account

Позволяет получить информацию об аккаунте.

Authorizations:
BasicAuthLunaAccountIdAuthBearerAuth
query Parameters
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".

header Parameters
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, запросы на сравнение и запросы на получение статистики событий).

Responses

Request samples

# 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())

Response samples

Content type
application/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"
}

patch account

Позволяет обновить аккаунт. Должно быть указано как минимум одно поле.

Authorizations:
BasicAuthLunaAccountIdAuth
header Parameters
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"

Тип содержимого – application/json.

Request Body schema: application/json
non-empty
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"

Тип аккаунта:

  • user - позволяет взаимодействовать только со своими данными

  • advanced_user - позволяет взаимодействовать со своими данными и просматривать данные других аккаунтов

description
string (account_description) <= 128 characters
Default: ""

Описание аккаунта.

Responses

Request samples

Content type
application/json
{
  • "login": "mylogin@gmail.com",
  • "password": "string",
  • "account_type": "advanced_user",
  • "description": "main admin account"
}

Response samples

Content type
application/json
Example
{
  • "error_code": 12022,
  • "desc": "Bad/incomplete input data",
  • "detail": "Failed to validate input json. Path: 'extra_field', message: 'extra fields not permitted'"
}

accounts options

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

header Parameters
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") и вернет его в ответе.

Responses

Response samples

Content type
application/json
{}

tokens

create token

Позволяет создать токен.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
query Parameters
grant_all_permissions
integer
Default: 0
Enum: 0 1

Выдать все разрешения токену. "1" - выдать, "0" - не выдавать. Если значение равно "1", то поле "permissions" не требуется.

header Parameters
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"

Тип содержимого – application/json.

Request Body schema: application/json
Any of
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: "creation", "view", "modification", "deletion"

"creation" — Allows POST requests.

"view" — Allows GET requests.

"modification" — Allows PUT and PATCH requests.

"deletion" — Allows DELETE requests.

description
string (token_description) <= 128 characters
Default: ""

Описание токена.

expiration_time
required
string or null <date-time>

Время окончания действия токена в формате RFC 3339. Значение null означает, что токен не имеет срока окончания.

visibility_area
string (visibility_area)
Default: "all"
Enum: "account" "all"

Задает видимость данных для токена.

Для аккаунтов с типом user значение по умолчанию account.

account — с помощью GET-запросов можно получить только данные, относящиеся к этому аккаунту.

all — данные всех существующих аккаунтов можно получить с помощью GET-запросов. Это значение можно установить для аккаунта типа advanced_user. Эта опция не работает для учетной записи типа user.

Responses

Request samples

Content type
application/json
{
  • "description": "main account token",
  • "expiration_time": "2050-11-11T11:11:11.111+03:00",
  • "permissions": {
    },
  • "visibility_area": "all"
}

Response samples

Content type
application/json
{
  • "token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ0b2tlbklkIjoiN2Q0MjYwNmEtZmM3NS00NDU4LWE3OGUtOWYzNGM2MjIyZWQyIiwiZXhwaXJhdGlvblRpbWUiOm51bGwsImFjY291bnRJZCI6IjdkYjUzNThiLWZjMzMtNDIwZC1hYTgzLTk5YTRkOWY0MGM0MSJ9.kDL5oLTJaxKyYbwmKV1lejxrzsFoFzx5VOzvTR-i90k",
  • "token_id": "557d54ec-29ad-4f3c-93b4-c9092ef12515",
  • "url": "/6/tokens/557d54ec-29ad-4f3c-93b4-c9092ef12515",
}

get tokens

Позволяет получить информацию о токенах.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
query Parameters
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 объекта.

create_time__gte
string <date-time> (time)
Example: create_time__gte=2018-08-11T09:11:41.674Z

Нижнее включенное пороговое значение для параметра create_time объекта.

header Parameters
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, запросы на сравнение и запросы на получение статистики событий).

Responses

Request samples

# 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())

Response samples

Content type
application/json
{
  • "tokens": [
    ]
}

tokens options

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

header Parameters
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") и вернет его в ответе.

Responses

Response samples

Content type
application/json
{}

replace token

Позволяет обновить токен. Нельзя обновить часть токена, нужно задать все поля для токена.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
path Parameters
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

Идентификатор токена.

query Parameters
grant_all_permissions
integer
Default: 0
Enum: 0 1

Выдать все разрешения токену. "1" - выдать, "0" - не выдавать. Если значение равно "1", то поле "permissions" не требуется.

header Parameters
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"

Тип содержимого – application/json.

Request Body schema: application/json
Any of
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: "creation", "view", "modification", "deletion"

"creation" — Allows POST requests.

"view" — Allows GET requests.

"modification" — Allows PUT and PATCH requests.

"deletion" — Allows DELETE requests.

description
string (token_description) <= 128 characters
Default: ""

Описание токена.

expiration_time
required
string or null <date-time>

Время окончания действия токена в формате RFC 3339. Значение null означает, что токен не имеет срока окончания.

visibility_area
string (visibility_area)
Default: "all"
Enum: "account" "all"

Задает видимость данных для токена.

Для аккаунтов с типом user значение по умолчанию account.

account — с помощью GET-запросов можно получить только данные, относящиеся к этому аккаунту.

all — данные всех существующих аккаунтов можно получить с помощью GET-запросов. Это значение можно установить для аккаунта типа advanced_user. Эта опция не работает для учетной записи типа user.

Responses

Request samples

Content type
application/json
Example
{
  • "permissions": {
    },
  • "description": "main account token",
  • "expiration_time": "2050-11-11T11:11:11.111+03:00",
  • "visibility_area": "account"
}

Response samples

Content type
application/json
{
  • "token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ0b2tlbklkIjoiN2Q0MjYwNmEtZmM3NS00NDU4LWE3OGUtOWYzNGM2MjIyZWQyIiwiZXhwaXJhdGlvblRpbWUiOm51bGwsImFjY291bnRJZCI6IjdkYjUzNThiLWZjMzMtNDIwZC1hYTgzLTk5YTRkOWY0MGM0MSJ9.kDL5oLTJaxKyYbwmKV1lejxrzsFoFzx5VOzvTR-i90k",
  • "token_id": "557d54ec-29ad-4f3c-93b4-c9092ef12515",
  • "url": "/6/tokens/557d54ec-29ad-4f3c-93b4-c9092ef12515",
}

get token

Позволяет получить токен по его идентификатору.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
path Parameters
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

Идентификатор токена.

header Parameters
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, запросы на сравнение и запросы на получение статистики событий).

Responses

Request samples

# 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())

Response samples

Content type
application/json
{
  • "permissions": {
    },
  • "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"
}

delete token

Позволяет удалить токен по его идентификатору.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
path Parameters
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

Идентификатор токена.

header Parameters
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, запросы на сравнение и запросы на получение статистики событий).

Responses

Request samples

# 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)

Response samples

Content type
application/json
{}

token options

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

path Parameters
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

Идентификатор токена.

header Parameters
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") и вернет его в ответе.

Responses

Response samples

Content type
application/json
{}

credentials verifier

verify credentials

Позволяет проверить аккаунт, логин с паролем или токен.

  • В случае успешной верификации account_id, вернется account_type
  • В случае успешной верификации login/password, вернутся account_id и account_type
  • В случае успешной верификации token, вернутся account_type и permissions для токена
  • В случае неуспешной верификации будет возвращена ошибка
header Parameters
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"

Тип содержимого – application/json.

Request Body schema: application/json
One of
login
required
string (login) [ 3 .. 128 ] characters ^[a-z0-9_\-\.]+@[a-z]+\.[a-z]{2,}$

Электронная почта аккаунта.

password
required
string (password) [ 3 .. 128 ] characters ^.{3,128}$

Пароль аккаунта.

Responses

Request samples

Content type
application/json
Example
{
  • "login": "mylogin@gmail.com",
  • "password": "string"
}

Response samples

Content type
application/json
{
  • "account_type": "advanced_user",
  • "permissions": {
    },
  • "account_id": "string"
}

credentials verifier options

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

header Parameters
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") и вернет его в ответе.

Responses

Response samples

Content type
application/json
{}

sdk

sdk resource

Позволяет обнаруживать лица и/или тела и оценивать атрибуты на входных изображениях. После выполнения запроса полученные данные не сохраняются в базе данных или Image Store, а только возвращаются в ответе.

Порядок входящих изображений соответствует порядку элементов в выходном JSON.

Если входящее изображение повреждено, то для него возвращается ошибка. Обработка остальных изображений продолжается в обычном режиме.

Примечания к входящим данным:

  • ограничивающие прямоугольники лица или тела, переданные с биометрическим образцом лица или тела, будут проигнорированы.
Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
query Parameters
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

Политика детекции нескольких лиц:

  • 0 – не обрабатывать изображения с несколькими обнаруженными лицами.

    Если параметр detect_body включен, система попытается обнаружить тело, связанное с обнаруженным лицом. Если тело обнаружено, его детекция будет связана с тем же событием, что и лицо.

    Если на изображении не обнаружено ни одного лица, изображения тела не возвращаются. Если параметр detect_face отключен, то не будет возвращена детекция тела.

  • 1 – обрабатывать изображения с несколькими обнаруженными лицами и/или телами.

    Если параметр detect_body включен, будут возвращены все детекции тел. Детекция лица и детекция тела одного и того же человека будут связаны с одним и тем же событием.

    Детекции тел возвращаются, даже если лица не обнаружены.

  • 2 – получить лучшее распознавание лица по изображению. На изображении обнаруживается одно лицо наилучшего качества.

    Если параметр detect_body включен, система попытается обнаружить тело, связанное с обнаруженным лицом. Если тело обнаружено, его детекция будет связана с тем же событием, что и лицо.

    Если на изображении не обнаружено ни одного лица, изображения тела не возвращаются. Если параметр detect_face отключен, то не будет возвращена детекция тела.

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).

Не поддерживается с биометрическими образцами (см. параметр warped_image или image_type).

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 не поддерживается для биометрических образцов. Параметр image_type должен быть установлен на "0".

estimate_deepfake
integer (int01)
Default: 0
Enum: 0 1

Следует ли оценивать Deepfake на изображении.

Для выполнения оценки требуется включить функцию Deepfake в лицензии.

Не поддерживается с биометрическими образцами (см. параметр warped_image).

estimate_landmarks68
integer (detect_landmarks68)
Default: 0
Enum: 0 1

Следует ли обнаруживать на изображении 68 контрольных точек лица.

Не поддерживается с биометрическими образцами (см. параметр warped_image или image_type).

estimate_landmarks5
integer (detect_landmarks5)
Default: 0
Enum: 0 1

Следует ли определять на изображении пять основных контрольных точек лица.

Не поддерживается с биометрическими образцами (см. параметр warped_image или image_type).

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) для обоих глаз одновременно.

Не поддерживается с биометрическими образцами (см. параметр warped_image или image_type).

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_face_occlusion
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)

Следует ли агрегировать следующие параметры:

  • БШ лица
  • БШ тела
  • базовые атрибуты лица (age, gender)
  • базовые атрибуты тела (apparent age, apparent gender)
  • состояния маски
  • эмоции
  • liveness
  • deepfake
  • атрибуты верхней части тела
  • атрибуты нижней части тела
  • акссесуары на теле

Агрегация будет выполняться только в том случае, если включены соответствующие параметры для оценки перечисленных выше параметров.

Если параметр задан, все оцененные параметры каждого изображения будут агрегированы и отображены в поле aggregate_estimations тела ответа как отдельные объекты для всех изображений.

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

pitch_threshold
integer (pitch_threshold) [ 0 .. 180 ]
Example: pitch_threshold=180

Максимальное отклонение угла наклона головы вверх/вниз (pitch) от 0. Если оценочное значение равно или меньше порогового значения, изображение фильтруется.

Если фильтрация по углу наклона головы вверх/вниз (pitch) не требуется, то необходимо удалить этот параметр из запроса или установить значение параметра равным 180.

Когда значение установлено на "0", все изображения фильтруются.

roll_threshold
integer (roll_threshold) [ 0 .. 180 ]
Example: roll_threshold=180

Максимальное отклонение угла отклонения головы вправо/влево (roll) от 0. Если расчетное значение равно или меньше порогового значения, изображение фильтруется.

Если фильтрация по углу наклона головы в сторону не требуется, то необходимо удалить этот параметр из запроса или установить значение параметра равным 180.

Когда значение установлено на "0", все изображения фильтруются.

yaw_threshold
integer (yaw_threshold) [ 0 .. 180 ]
Example: yaw_threshold=180

Максимальное отклонение угла поворота головы вправо/влево (yaw) от 0. Если оценочное значение равно или меньше порогового значения, изображение фильтруется.

Если фильтрация по углу наклона в сторону не требуется, необходимо удалить этот параметр из запроса или установить значение параметра равным 180.

Когда значение установлено на "0", все изображения фильтруются.

score_threshold
number (score_threshold) [ 0 .. 1 ]
Default: 0
Example: score_threshold=0.7

Порог оценки качества биометрического шаблона. Чем выше показатель качества изображения, тем лучше результаты извлечения биометрического шаблона.

Все атрибуты с показателем качества ниже порогового значения будут проигнорированы (и не сохранены в БД). Функция будет работать как обычно со всеми остальными биометрическими шаблонами (если они оставлены).

Проконсультируйтесь со специалистами VisionLabs о рекомендуемом значении этого параметра.

Примечание. Этот параметр не связан с качеством изображения, оцененным в запросе на детекцию (параметром estimate_quality).

face_occlusion_states
Array of strings (face_occlusion_states) non-empty
Items Enum: "face" "forehead" "eye" "nose" "mouth" "lower_face"
Example: face_occlusion_states=face

Список зон лица, которые не должны быть перекрыты. Если хотя бы одна из зон перекрыта, face will be filtered. face means that face_occlusion_score must be lower than corresponding threshold.

mask_states
Array of integers (mask_states) non-empty
Items Enum: 1 2 3
Example: mask_states=2&mask_states=3

Фильтр по состояниям маски.

Состояния маски Значение
missing (отсутствует) 1
medical_mask (медицинская) 2
occluded (лицо перекрыто) 3
liveness_states
Array of integers (liveness_states) non-empty
Items Enum: 0 1 2
Example: liveness_states=1

Фильтр по состояниям Liveness.

Состояние Liveness Значение
spoof 0
real 1
unknown 2
deepfake_states
Array of integers (deepfake_states) non-empty
Items Enum: 0 1
Example: deepfake_states=1

Фильтр по состояниям Deepfake.

Состояние Deepfake Значение
fake 0
real 1
use_exif_info
integer
Default: 1
Enum: 0 1
Example: use_exif_info=1

Следует ли автоматически поворачивать изображение на основе данных EXIF.

Обрабатываемое изображение должно иметь EXIF данные, иначе автоматическая ориентация выполняться не будет.

Не влияет на изображения в формате tiff (они всегда автоматически ориентированы).

Не поддерживается с биометрическими образцами (см. параметры warped_image или image_type).

extract_exif
integer (extract_exif)
Default: 0
Enum: 0 1

Следует ли извлекать метаинформацию EXIF из входных изображений JPEG.

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

Данная функция будет анализировать теги и выводить их имена и значения в том виде, в котором они предоставлены. Для более подробной информации см. спецификацию JEITA CP-3451.

header Parameters
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, запросы на сравнение и запросы на получение статистики событий).

Request Body schema:
string <binary>

Responses

Request samples

Content type
No sample

Response samples

Content type
Example
{
  • "images_estimations": [
    ]
}

sdk options

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

header Parameters
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") и вернет его в ответе.

Responses

Response samples

Content type
application/json
{}

videosdk

video analytics [beta]

Запрос на анализ видео на основе указанных параметров аналитики, например оценки лица.

header Parameters
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"
Request Body schema: application/json
required
object

Внешний адрес до видео.

required
Array of any

Список параметров для комплексной видеоаналитики.

Responses

Request samples

Content type
application/json
{
  • "video": {
    },
  • "analytics": [
    ]
}

Response samples

Content type
{
  • "video_data": {
    },
  • "analytics": [
    ]
}

videosdk options

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

header Parameters
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") и вернет его в ответе.

Responses

Response samples

Content type
application/json
{}

iso

iso resource

Позволяет выполнить визуальную проверку изображений фронтального типа на основе стандарта ISO/IEC 19794-5. Это означает, что изображения, прошедшие проверку, стандартизированы, а атрибуты лица человека соответствуют установленным требованиям. Для получения дополнительной информации о требованиях к атрибутам лица на изображении см. ISO/IEC 19794-5 пункты 7-10.

Выходной JSON содержит результат проверки для каждой проверки. Проверка изображения считается успешной, если набор этих результатов соответствует стандарту ISO.

Порядок входных изображений соответствует порядку элементов в выходном JSON. Если изображение повреждено, ресурс вернет ошибку для этого изображения, а другие изображения будут обработаны правильно.

Примечания к входящим данным:

  • ограничивающие прямоугольники лица или тела, переданные с биометрическим образцом лица или тела, будут проигнорированы.
Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
query Parameters
image_type
integer
Default: 0
Enum: 0 1

Тип входящего изображения. 0 - обычное изображение, 1 - нормализованное изображение лица.

multiface_policy
integer (iso_multiface_policy)
Default: 0
Enum: 0 1 2

Политика детекции нескольких лиц:

  • 0 – политика детекции нескольких лиц не разрешена.

  • 1 – политика детекции нескольких лиц разрешена.

  • 2 – получить только лучшую детекцию лица на изображении.

extract_exif
integer (extract_exif)
Default: 0
Enum: 0 1

Следует ли извлекать метаинформацию EXIF из входных изображений JPEG.

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

Данная функция будет анализировать теги и выводить их имена и значения в том виде, в котором они предоставлены. Для более подробной информации см. спецификацию JEITA CP-3451.

header Parameters
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"
Request Body schema:
string <binary>

Responses

Request samples

Content type
No sample

Response samples

Content type
Example
{
  • "images": [
    ]
}

iso options

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

header Parameters
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") и вернет его в ответе.

Responses

Response samples

Content type
application/json
{}

samples

detect faces

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

Детекции могут быть отфильтрованы по положению головы. Положение головы представлено углом наклона головы вверх/вниз (pitch), углом отклонения головы вправо/влево (roll), углом поворота головы вправо/влево (yaw). Чтобы задать порог фильтрации для каждого угла, используйте соответствующие параметры запроса (yaw_threshold, pitch_threshold and roll_threshold). По умолчанию фильтрация не применяется.

Оцененные свойства лица не сохраняются в базе данных лиц. Они возвращаются только в ответе.

Биометрические образцы сохраняются в хранилище без возможности отключения сохранения. Вы можете отключить сохранение

биометрических образцов только используя обработчики.

Примечания к входящим данным:

  • ограничивающие прямоугольники лица или тела, переданные с биометрическим образцом лица или тела, будут проигнорированы.
Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
query Parameters
multiface_policy
integer (multiface_policy)
Default: 1
Enum: 0 1 2

Политика детекции нескольких лиц:

  • 0 – политика детекции нескольких лиц не разрешена.

  • 1 – политика детекции нескольких лиц разрешена.

  • 2 – получить только лучшую детекцию лица на изображении.

estimate_head_pose
integer (estimate_head_pose)
Default: 0
Enum: 0 1

Следует ли оценивать положение головы на изображении. Положение головы представлено углом наклона головы вверх/вниз (pitch), углом отклонения головы вправо/влево (roll), углом поворота головы вправо/влево (yaw).

Не поддерживается с биометрическими образцами (см. параметр warped_image или image_type).

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 контрольных точек лица. Не поддерживается с биометрическими образцами (см. параметр warped_image).

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) для обоих глаз одновременно.

Не поддерживается с биометрическими образцами (см. параметр warped_image или image_type).

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

Максимальное отклонение угла наклона головы вверх/вниз (pitch) от 0. Если оценочное значение равно или меньше порогового значения, изображение фильтруется.

Если фильтрация по углу наклона головы вверх/вниз (pitch) не требуется, то необходимо удалить этот параметр из запроса или установить значение параметра равным 180.

Когда значение установлено на "0", все изображения фильтруются.

roll_threshold
integer (roll_threshold) [ 0 .. 180 ]
Example: roll_threshold=180

Максимальное отклонение угла отклонения головы вправо/влево (roll) от 0. Если расчетное значение равно или меньше порогового значения, изображение фильтруется.

Если фильтрация по углу наклона головы в сторону не требуется, то необходимо удалить этот параметр из запроса или установить значение параметра равным 180.

Когда значение установлено на "0", все изображения фильтруются.

yaw_threshold
integer (yaw_threshold) [ 0 .. 180 ]
Example: yaw_threshold=180

Максимальное отклонение угла поворота головы вправо/влево (yaw) от 0. Если оценочное значение равно или меньше порогового значения, изображение фильтруется.

Если фильтрация по углу наклона в сторону не требуется, необходимо удалить этот параметр из запроса или установить значение параметра равным 180.

Когда значение установлено на "0", все изображения фильтруются.

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 (они всегда автоматически ориентированы).

Не поддерживается с биометрическими образцами (см. параметры warped_image или image_type).

estimate_face_quality
integer
Default: 0
Enum: 0 1

Следует ли оценивать лицо и изображение с помощью проверки "face_quality".

Позволяет выполнять различные проверки качества лица с пороговыми значениями, аналогичных стандарту ISO. Для получения дополнительной информации о требованиях к атрибутам лица на изображении см. ISO/IEC 19794-5 пункты 7-10.

Необходимо наличие параметра лицензирования ISO для выполнения проверки качества лица и изображения.

header Parameters
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"
Request Body schema:
string <binary>

Responses

Request samples

Content type
No sample

Response samples

Content type
application/json
Example
{
  • "images": [
    ]
}

detector options

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

header Parameters
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") и вернет его в ответе.

Responses

Response samples

Content type
application/json
{}

save face/body sample

Позволяет сохранить биометрический образец лица или тела в хранилище.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
path Parameters
samples_type
required
string
Enum: "faces" "bodies"

Тип биометрических образцов.

query Parameters
ttl
integer
Enum: 1 2 3 4 5 6 7 14 30 60 90 180 365 -1
Example: ttl=1

Срок жизни объекта, в днях. По умолчанию применяется настройка времени жизни объектов в родительском бакете. Чтобы объект сохранялся на неопределенный срок, установите ttl=-1.

header Parameters
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"
Request Body schema:
One of
string <binary> (face_sample)

Изображение, сгенерированное алгоритмами VisionLabs.

Responses

Request samples

# 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())

Response samples

Content type
application/json
{
  • "sample_id": "b5d6fd45-fcca-453d-ac05-3e594054b813",
  • "url": "/6/samples/bodies/b5d6fd45-fcca-453d-ac05-3e594054b813"
}

face/body samples options

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

path Parameters
samples_type
required
string
Enum: "faces" "bodies"

Тип биометрических образцов.

header Parameters
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") и вернет его в ответе.

Responses

Response samples

Content type
application/json
{}

get face/body sample

Позволяет получить биометрический образец лица или тела по его sample_id. Возвращает время жизни в заголовке X-Luna-Expiry-Date.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
path Parameters
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
header Parameters
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, запросы на сравнение и запросы на получение статистики событий).

Responses

Request samples

# 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())

Response samples

Content type
application/json
Example
{}

check if face/body sample exists

Позволяет проверить существование биометрического образца лица или тела по указанному sample_id. Возвращает время жизни в заголовке X-Luna-Expiry-Date.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
path Parameters
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
header Parameters
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, запросы на сравнение и запросы на получение статистики событий).

Responses

Request samples

# 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)

remove face/body sample

Позволяет удалить биометрический образец лица или тела по его sample_id.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
path Parameters
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
header Parameters
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, запросы на сравнение и запросы на получение статистики событий).

Responses

Request samples

# 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)

Response samples

Content type
application/json
Example
{}

face/body sample options

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

path Parameters
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
header Parameters
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") и вернет его в ответе.

Responses

Response samples

Content type
application/json
{}

get sample | previous version Deprecated

Позволяет получить биометрический образец по его идентификатору с помощью предыдущей версии API. Возвращает время жизни в заголовке X-Luna-Expiry-Date.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
path Parameters
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
header Parameters
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, запросы на сравнение и запросы на получение статистики событий).

Responses

Response samples

Content type
application/json
Example
{}

check if sample exists | previous version Deprecated

Позволяет проверить существование биометрического образца лица или тела по указанному sample_id с помощью предыдущей версии API. Возвращает время жизни в заголовке X-Luna-Expiry-Date.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
path Parameters
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
header Parameters
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, запросы на сравнение и запросы на получение статистики событий).

Responses

remove sample | previous version Deprecated

Позволяет удалить биометрический образец по идентификатору, используя предыдущую версию API.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
path Parameters
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
header Parameters
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, запросы на сравнение и запросы на получение статистики событий).

Responses

Response samples

Content type
application/json
Example
{}

sample options | previous version Deprecated

Позволяет получить параметры для ресурса с помощью предыдущей версии API.

path Parameters
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
header Parameters
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") и вернет его в ответе.

Responses

Response samples

Content type
application/json
{}

get sample | legacy Deprecated

Позволяет получить биометрический образец лица по идентификатору. Возвращает время жизни в заголовке X-Luna-Expiry-Date.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
path Parameters
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
header Parameters
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, запросы на сравнение и запросы на получение статистики событий).

Responses

Response samples

Content type
application/json
Example
{}

check if face sample exists | legacy Deprecated

Позволяет проверить существование биометрического образца лица по указанному sample_id. Возвращает время жизни в заголовке X-Luna-Expiry-Date.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
path Parameters
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
header Parameters
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, запросы на сравнение и запросы на получение статистики событий).

Responses

remove face sample | legacy Deprecated

Позволяет удалить биометрический образец по его sample_id.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
path Parameters
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
header Parameters
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, запросы на сравнение и запросы на получение статистики событий).

Responses

Response samples

Content type
application/json
Example
{}

face sample options | legacy Deprecated

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

path Parameters
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
header Parameters
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") и вернет его в ответе.

Responses

Response samples

Content type
application/json
{}

images

create images

Позволяет сохранить изображения с уникальным идентификатором.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
query Parameters
ttl
integer
Enum: 1 2 3 4 5 6 7 14 30 60 90 180 365 -1
Example: ttl=1

Срок жизни объекта, в днях. По умолчанию применяется настройка времени жизни объектов в родительском бакете. Чтобы объект сохранялся на неопределенный срок, установите ttl=-1.

header Parameters
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>

Пользовательская метаинформация (ключ-значение) изображения. Чтобы сохранить значения метаинформации для нескольких ключей, необходимо определить несколько заголовков.

Request Body schema:
string <binary> (binary_image)

Responses

Request samples

# 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())

Response samples

Content type
application/json
{}

images options

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

header Parameters
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") и вернет его в ответе.

Responses

Response samples

Content type
application/json
{}

check if image exists

Позволяет проверить существование изображение по указанному image_id. Возвращает время жизни в заголовке X-Luna-Expiry-Date.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
path Parameters
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

Идентификатор изображения.

query Parameters
with_meta
integer
Default: 0
Enum: 0 1
Example: with_meta=1

Следует ли извлекать пользовательскую метаинформацию изображения.

header Parameters
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, запросы на сравнение и запросы на получение статистики событий).

Responses