Объекты

Добавить объект «Лицо»

Чтобы добавить в карточку объекта «Люди» новый объект «Лицо», используйте следующий метод:

POST /objects/faces/

Добавленный объект содержит исходное фотоизображение, миниатюру лица и другие атрибуты.

Совет

  • Чтобы добавить новый объект «Силуэт» в карточку объекта «Люди», используйте /objects/bodies/ вместо /objects/faces/.

  • Чтобы добавить новый объект «Транспортное средство» в карточку, соответствующую этому объекту, используйте /objects/cars/ вместо /objects/faces/.

Тело запроса является обязательным и содержит multipart/form-data со следующими параметрами:

Название

Тип

Описание

create_from

string

Может содержать одно из следующих выражений, каждое из которых представляет собой ссылку на исходный объект, на основе которого будет создан новый объект:

  • detection:<detection_id>: используйте id объекта, обнаруженного на исходном изображении с помощью метода POST /detect. В параметре source_photo укажите то же исходное изображение, которое использовалось в методе POST /detect.

  • {face|body|car}event:<event_id>: используйте событие с объектом определенного типа (face — лицо, body — силуэт, car — транспортное средство), чтобы создать новый объект, аналогичный объекту из события. Параметр source_photo должен быть пустым при использовании этого выражения.

  • {face|body|car}object:<object_id>: используйте существующий объект определенного типа (face — лицо, body — силуэт, car — транспортное средство) в качестве шаблона для создания нового объекта. Параметр source_photo должен быть пустым при использовании этого выражения.

Допустимые выражения для каждого метода:

  • POST /objects/faces/: faceevent:<event_id>, faceobject:<object_id>, detection:<detection_id>.

  • POST /objects/bodies/: bodyevent:<event_id>, bodyobject:<object_id>, detection:<detection_id>.

  • POST /objects/cars/: carevent:<event_id>, carobject:<object_id>, detection:<detection_id>.

detect_id

string

Вспомогательный параметр.

mf_selector

enum

Определяет поведение по умолчанию, когда на исходном изображении, указанном в параметре source_photo, обнаружено несколько объектов, а в параметре create_from не задано выражение detection:<detection_id>.

Значение по умолчанию: reject.

Допустимые значения:

  • reject: отклонить запрос, если на исходном изображении несколько объектов.

  • biggest: выбрать наибольший объект на исходном изображении.

upload_list

integer

ID списка карточек, объединенных в одну пакетную загрузку.

Служебный параметр, используется только на стороне фронтенда.

source_photo

binary

Исходное изображение.

Обязательный параметр, если в параметре create_from указано выражение detection:<detection_id>. В остальных случаях параметр является опциональным.

frame_coords_left

integer

X-координата (в пикселях) левого верхнего угла ограничивающей рамки объекта.

frame_coords_top

integer

Y-координата (в пикселях) левого верхнего угла ограничивающей рамки объекта.

frame_coords_right

integer

X-координата (в пикселях) правого нижнего угла ограничивающей рамки объекта.

frame_coords_bottom

integer

Y-координата (в пикселях) правого нижнего угла ограничивающей рамки объекта.

active

boolean

Если true, то добавленный объект будет активным.

Значение по умолчанию: true.

card

integer

ID карточки, в которую будет добавлен объект.

Обязательный параметр.

CURL пример

curl -X POST "http://<findface-ip:port>/objects/faces/" \
  -H "Authorization: Token <token>" \
  -H "Content-Type: multipart/form-data" \
  -F "create_from=detection:d1svumckd5qs72mq52b0" \
  -F "source_photo=@sample_face.jpg" \
  -F "card=1"

Совет

Замените sample_face.jpg на абсолютный путь к файлу, если он не находится в текущей рабочей директории. Пример: "source_photo=@/home/ubuntu/sample_face.jpg"

Например, чтобы добавить новый объект «Лицо», выполните следующие действия:

  1. Используйте метод POST /detect, чтобы обнаружить лицо на фотографии. Скопируйте id обнаруженного лица.

  2. Отправьте запрос POST /objects/faces/ со следующими параметрами:
    • create_from: укажите id из п. 1 в формате detection:<detection_id>.

    • source_photo: укажите то же изображение, которое использовалось в запросе POST /detect.

    • card: укажите ID карточки, в которую нужно добавить новый объект «Лицо».

    В случае успешного ответа (Created: 201) возвращается JSON-объект со следующими параметрами. Пример.

Примечание

* – означает, что параметр является обязательным. 🆁 – только для чтения.

Название

Тип

Описание

card*

integer

ID карточки.

created_date*

date-time 🆁

Дата и время создания объекта.

modified_date*

date-time 🆁

Дата и время последнего изменения объекта.

source_photo_name*

string 🆁

Название файла исходного изображения, которое использовалось при создании объекта.

source_photo

uri 🆁

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

thumbnail*

uri 🆁

URL миниатюры объекта.

frame_coords_left

integer

X-координата (в пикселях) левого верхнего угла ограничивающей рамки объекта.

frame_coords_top

integer

Y-координата (в пикселях) левого верхнего угла ограничивающей рамки объекта.

frame_coords_right

integer

X-координата (в пикселях) правого нижнего угла ограничивающей рамки объекта.

frame_coords_bottom

integer

Y-координата (в пикселях) правого нижнего угла ограничивающей рамки объекта.

active

boolean

true, если объект активен.

Значение по умолчанию: true.

features*

object

Объект, содержащий дополнительные данные в формате «ключ–значение». Ключи могут быть произвольными, а значениями могут быть строки, целые числа, числа с плавающей запятой, булевы значения, объекты, массивы или null.

id*

string 🆁

ID добавленного объекта.

meta

object

Объект, содержащий метаданные.

Пример ответа

{
 "card": 3,
 "created_date": "2025-06-09T16:00:12+00:00",
 "modified_date": "2025-06-09T16:00:12+00:00",
 "source_photo_name": "face1.jpg",
 "source_photo": "http://<findface-ip:port>/uploads/cards/Ad/3/face_face1_YB9Eep.jpg",
 "thumbnail": "http://<findface-ip:port>/uploads/cards/G0/3/face_face1_thumbnail_RNeQrf.jpg",
 "frame_coords_left": 722,
 "frame_coords_top": 31,
 "frame_coords_right": 801,
 "frame_coords_bottom": 132,
 "active": true,
 "features": {},
 "id": "4696237533220385428",
 "meta": {}
}

Полезные API запросы

GET /objects/bodies/
POST /objects/bodies/
GET /objects/bodies/{id}/
DELETE /objects/bodies/{id}/
PATCH /objects/bodies/{id}/
GET /objects/cars/
POST /objects/cars/
GET /objects/cars/{id}/
DELETE /objects/cars/{id}/
PATCH /objects/cars/{id}/
GET /objects/faces/
POST /objects/faces/
GET /objects/faces/{id}/
DELETE /objects/faces/{id}/
PATCH /objects/faces/{id}/