


200 OK
Content-Type: application/json
{
2 "core": "core_version",
3 "tfss": "tfss_version",
4 "models": [
5 {
6 "name": "model_name",
7 "version": "model_version"
8 }
9 ]
10}200 OK
Content-Type: application/json
{“status”: 0, message: “”}POST localhost/v1/face/pattern/extract
Content-Type: image/jpeg
{Поток байт изображения}200 OK
Content-Type: application/octet-stream
{Поток байт биометрического шаблона}POST localhost/v1/face/pattern/compare
Content-Type: multipart/form-data;
boundary=--BOUNDARY--
Content-Length: Длина тела сообщения
--BOUNDARY--
Content-Disposition: form-data; name=”bio_feature”
Content_type: application/octet-stream
{Поток байт биометрического шаблона}
--BOUNDARY--
Content-Disposition: form-data; name=”bio_template”
Content_type: application/octet-stream
{Поток байт биометрического шаблона}
--BOUNDARY--200 OK
Content-Type: application/json
{“score”: 1.0, “decision”: “approved”}POST localhost/v1/face/pattern/verify
Content-Type: multipart/form-data;
boundary=--BOUNDARY--
Content-Length: Длина тела сообщения
--BOUNDARY--
Content-Disposition: form-data; name=”bio_template”
Content_type: application/octet-stream
{Поток байт биометрического шаблона}
--BOUNDARY--
Content-Disposition: form-data; name=”sample”
Content_type: image/jpeg
{Поток байт изображения}
--BOUNDARY--200 OK
Content-Type: application/json
{“score”: 1.0, “decision”: “approved”}POST localhost/v1/face/pattern/extract_and_compare
Content-Type: multipart/form-data;
boundary=--BOUNDARY--
Content-Length: Длина тела сообщения
--BOUNDARY--
Content-Disposition: form-data; name=”sample_1”
Content_type: image/jpeg
{Поток байт изображения}
--BOUNDARY--
Content-Disposition: form-data; name=”sample_2”
Content_type: image/jpeg
{Поток байт изображения}
--BOUNDARY--200 OK
Content-Type: application/json
{“score”: 1.0, “decision”: “approved”}POST localhost/v1/face/pattern/compare_n
Content-Type: multipart/form-data;
boundary=--BOUNDARY--
Content-Length: Длина тела сообщения
--BOUNDARY--
Content-Disposition: form-data; name=”template_1”
Content_type: application/octet-stream
{Поток байт биометрического шаблона}
--BOUNDARY--
Content-Disposition: form-data; name=”templates_n”; filename=”1.template”
Content_type: application/octet-stream
{Поток байт биометрического шаблона}
--BOUNDARY--
Content-Disposition: form-data; name=”templates_n”; filename=”2.template”
Content_type: application/octet-stream
{Поток байт биометрического шаблона}
--BOUNDARY--
Content-Disposition: form-data; name=”templates_n”; filename=”3.template”
Content_type: application/octet-stream
{Поток байт биометрического шаблона}
--BOUNDARY--200 OK
Content-Type: application/json
{'results': [
{'filename': '1.template', 'score': 0.0, 'decision': 'declined'},
{'filename': '2.template', 'score': 1.0, 'decision': 'approved'},
{'filename': '3.template', 'score': 0.21, 'decision': 'declined'}
]}POST localhost/v1/face/pattern/verify_n
Content-Type: multipart/form-data;
boundary=--BOUNDARY--
Content-Length: Длина тела сообщения
--BOUNDARY--
Content-Disposition: form-data; name=”sample_1”
Content_type: image/jpeg
{Поток байт изображения}
--BOUNDARY--
Content-Disposition: form-data; name=”templates_n”; filename=”1.template”
Content_type: application/octet-stream
{Поток байт биометрического шаблона}
--BOUNDARY--
Content-Disposition: form-data; name=”templates_n”; filename=”2.template”
Content_type: application/octet-stream
{Поток байт биометрического шаблона}
--BOUNDARY--
Content-Disposition: form-data; name=”templates_n”; filename=”3.template”
Content_type: application/octet-stream
{Поток байт биометрического шаблона}
--BOUNDARY--200 OK
Content-Type: application/json
{'results': [
{'filename': '1.template', 'score': 0.0, 'decision': 'declined'},
{'filename': '2.template', 'score': 1.0, 'decision': 'approved'},
{'filename': '3.template', 'score': 0.21, 'decision': 'declined'}
]}POST localhost/v1/face/pattern/extract_and_compare_n
Content-Type: multipart/form-data;
boundary=--BOUNDARY--
Content-Length: Длина тела сообщения
--BOUNDARY--
Content-Disposition: form-data; name=”sample_1”
Content_type: image/jpeg
{Поток байт изображения}
--BOUNDARY--
Content-Disposition: form-data; name=”samples_n”; filename=”1.jpeg”
Content_type: image/jpeg
{Поток байт изображения}
--BOUNDARY--
Content-Disposition: form-data; name=”samples_n”; filename=”2.jpeg”
Content_type: image/jpeg
{Поток байт изображения}
--BOUNDARY--
Content-Disposition: form-data; name=”samples_n”; filename=”3.jpeg”
Content_type: image/jpeg
{Поток байт изображения}
--BOUNDARY--200 OK
Content-Type: application/json
{'results': [
{'filename': '1.jpeg', 'score': 0.0, 'decision': 'declined'},
{'filename': '2.jpeg', 'score': 1.0, 'decision': 'approved'},
{'filename': '3.jpeg', 'score': 0.21, 'decision': 'declined'}
]}200 OK
Content-Type: application/json
{“status”: 0, message: “”}POST /v1/face/liveness/detect HTTP/1.1
Host: localhost
Content-Type: image/jpeg
Content-Length: [длина тела сообщения]
[поток байт изображения]HTTP/1.1 200 OK
Content-Type: application/json
{
"passed": false,
"score": 0.999484062
}POST /v1/face/liveness/detect HTTP/1.1
Host: localhost
Content-Length: [длина тела сообщения]
Content-Type: multipart/form-data; boundary=--BOUNDARY--
--BOUNDARY--
Content-Disposition: form-data; name="media_key1"; filename="video.mp4"
Content-Type: multipart/form-data;
[поток байт медиафайла]
--BOUNDARY--
Content-Disposition: form-data; name="payload"
{
"folder:meta_data": {
"partner_side_folder_id": "partner_side_folder_id_if_needed",
"person_info": {
"first_name": "John",
"middle_name": "Jameson",
"last_name": "Doe"
}
},
"resolution_endpoint": "https://www.your-custom-endpoint.com",
"media:meta_data": {
"media_key1": {
"foo": "bar2"
}
},
"media:tags": {
"media_key1": [
"video_selfie",
"video_selfie_blank"
]
},
"analyses": [
{
"type": "quality",
"meta_data": {
"example1": "some_example1"
},
"params": {
"threshold_spoofing": 0.6,
"extract_best_shot": false
}
}
]
}
--BOUNDARY--{
"company_id": null,
"time_created": 1720180784.769608,
"folder_id": "folder_id", // временный ID
"user_id": null,
"resolution_endpoint": "https://www.your-custom-endpoint.com",
"resolution_status": "FINISHED",
"resolution_comment": "[]",
"system_resolution": "SUCCESS",
"resolution_time": null,
"resolution_author_id": null,
"resolution_state_hash": null,
"operator_comment": null,
"operator_status": null,
"is_cleared": null,
"meta_data": {
"partner_side_folder_id": "partner_side_folder_id_if_needed",
"person_info": {
"first_name": "John",
"middle_name": "Jameson",
"last_name": "Doe"
}
},
"technical_meta_data": {},
"time_updated": 1720180787.531983,
"media": [
{
"folder_id": "folder_id", // временный ID
"media_id": "video_id", // временный ID
"media_type": "VIDEO_FOLDER",
"info": {
"thumb": null,
"video": {
"duration": 3.76,
"FPS": 22.83,
"width": 960,
"height": 720,
"md5": "8879b4fa9ee7add77aceb8d7d5d7b92d",
"size": 6017119,
"mime-type": "video/mp4"
}
},
"tags": [
"video_selfie",
"video_selfie_blank",
"orientation_portrait"
],
"original_name": "video-5mb.mp4",
"original_url": null,
"company_id": null,
"technical_meta_data": {},
"time_created": 1719573752.78253,
"time_updated": 1720180787.531801,
"meta_data": {
"foo4": "bar5"
},
"thumb_url": null,
"folder_time_created": null,
"video_id": "video_id", // временный ID
"video_url": null
}
],
"analyses": [
{
"analyse_id": null,
"analysis_id": null,
"folder_id": "folder_id", // временный ID
"folder_time_created": null,
"type": "QUALITY",
"state": "FINISHED",
"company_id": null,
"group_id": null,
"results_data": null,
"confs": {
"threshold_replay": 0.5,
"extract_best_shot": false,
"threshold_liveness": 0.5,
"threshold_spoofing": 0.42
},
"error_message": null,
"error_code": null,
"resolution_operator": null,
"technical_meta_data": {},
"time_created": 1720180784.769944,
"time_updated": 1720180787.531877,
"meta_data": {
"some_key": "some_value"
},
"source_media": [
{
"folder_id": "folder_id", // временный ID
"media_id": "video_id", // временный ID
"media_type": "VIDEO_FOLDER",
"info": {
"thumb": null,
"video": {
"duration": 3.76,
"FPS": 22.83,
"width": 960,
"height": 720,
"md5": "8879b4fa9ee7add77aceb8d7d5d7b92d",
"size": 6017119,
"mime-type": "video/mp4"
}
},
"tags": [
"video_selfie",
"video_selfie_blank",
"orientation_portrait"
],
"original_name": "video-5mb.mp4",
"original_url": null,
"company_id": null,
"technical_meta_data": {},
"time_created": 1719573752.78253,
"time_updated": 1720180787.531801,
"meta_data": {
"foo4": "bar5"
},
"thumb_url": null,
"folder_time_created": null,
"video_id": "video_id", // временный ID
"video_url": null
}
],
"results_media": [
{
"company_id": null,
"media_association_id": "video_id", // временный ID
"analysis_id": null,
"results_data": {
"confidence_spoofing": 0.000541269779
},
"source_media_id": "video_id", // временный ID
"output_images": [],
"collection_persons": [],
"folder_time_created": null
}
],
"resolution_status": "SUCCESS",
"resolution": "SUCCESS"
}
]
}POST /v1/face/liveness/detect HTTP/1.1
Host: localhost
Content-Length: [длина тела сообщения]
Content-Type: multipart/form-data; boundary=--BOUNDARY--
--BOUNDARY--
Content-Disposition: form-data; name="media_key1"; filename="video.mp4"
Content-Type: multipart/form-data;
[поток байт медиафайла]
--BOUNDARY--
Content-Disposition: form-data; name="payload"
{
"folder:meta_data": {
"partner_side_folder_id": "partner_side_folder_id_if_needed",
"person_info": {
"first_name": "John",
"middle_name": "Jameson",
"last_name": "Doe"
}
},
"resolution_endpoint": "https://www.your-custom-endpoint.com",
"media:meta_data": {
"media_key1": {
"foo": "bar2"
}
},
"media:tags": {
"media_key1": [
"video_selfie",
"video_selfie_blank"
]
},
"analyses": [
{
"type": "quality",
"meta_data": {
"example1": "some_example1"
},
"params": {
"threshold_spoofing": 0.6,
"extract_best_shot": true
}
}
]
}
--BOUNDARY--{
"company_id": null,
"time_created": 1720177371.120899,
"folder_id": "folder_id", // временный ID
"user_id": null,
"resolution_endpoint": "https://www.your-custom-endpoint.com",
"resolution_status": "FINISHED",
"resolution_comment": "[]",
"system_resolution": "SUCCESS",
"resolution_time": null,
"resolution_author_id": null,
"resolution_state_hash": null,
"operator_comment": null,
"operator_status": null,
"is_cleared": null,
"meta_data": {
"partner_side_folder_id": "partner_side_folder_id_if_needed",
"person_info": {
"first_name": "John",
"middle_name": "Jameson",
"last_name": "Doe"
}
},
"technical_meta_data": {},
"time_updated": 1720177375.531137,
"media": [
{
"folder_id": "folder_id", // временный ID
"media_id": "media_id", // временный ID
"media_type": "VIDEO_FOLDER",
"info": {
"thumb": null,
"video": {
"duration": 3.76,
"FPS": 22.83,
"width": 960,
"height": 720,
"md5": "8879b4fa9ee7add77aceb8d7d5d7b92d",
"size": 6017119,
"mime-type": "video/mp4"
}
},
"tags": [
"video_selfie",
"video_selfie_blank",
"orientation_portrait"
],
"original_name": "video-5mb.mp4",
"original_url": null,
"company_id": null,
"technical_meta_data": {},
"time_created": 1719573752.781861,
"time_updated": 1720177373.772401,
"meta_data": {
"foo4": "bar5"
},
"thumb_url": null,
"folder_time_created": null,
"video_id": "media_id", // временный ID
"video_url": null
}
],
"analyses": [
{
"analyse_id": null,
"analysis_id": null,
"folder_id": "folder_id", // временный ID
"folder_time_created": null,
"type": "QUALITY",
"state": "FINISHED",
"company_id": null,
"group_id": null,
"results_data": null,
"confs": {
"threshold_replay": 0.5,
"extract_best_shot": true,
"threshold_liveness": 0.5,
"threshold_spoofing": 0.42
},
"error_message": null,
"error_code": null,
"resolution_operator": null,
"technical_meta_data": {},
"time_created": 1720177371.121241,
"time_updated": 1720177375.531043,
"meta_data": {
"some_key": "some_value"
},
"source_media": [
{
"folder_id": "folder_id", // временный ID
"media_id": "media_id", // временный ID
"media_type": "VIDEO_FOLDER",
"info": {
"thumb": null,
"video": {
"duration": 3.76,
"FPS": 22.83,
"width": 960,
"height": 720,
"md5": "8879b4fa9ee7add77aceb8d7d5d7b92d",
"size": 6017119,
"mime-type": "video/mp4"
}
},
"tags": [
"video_selfie",
"video_selfie_blank",
"orientation_portrait"
],
"original_name": "video-5mb.mp4",
"original_url": null,
"company_id": null,
"technical_meta_data": {},
"time_created": 1719573752.781861,
"time_updated": 1720177373.772401,
"meta_data": {
"foo4": "bar5"
},
"thumb_url": null,
"folder_time_created": null,
"video_id": "media_id", // временный ID
"video_url": null
}
],
"results_media": [
{
"company_id": null,
"media_association_id": "media_id", // временный ID
"analysis_id": null,
"results_data": {
"confidence_spoofing": 0.000541269779
},
"source_media_id": "media_id", // temporary ID
"output_images": [
{
"folder_id": "folder_id", // временный ID
"media_id": "media_id", // временный ID
"media_type": "IMAGE_RESULT_ANALYSIS_SINGLE",
"info": {
"thumb": null,
"original": {
"md5": "e6effeceb94e79b8cb204c6652283b57",
"width": 720,
"height": 960,
"size": 145178,
"mime-type": "image/jpeg"
}
},
"tags": [],
"original_name": "<PIL.JpegImagePlugin.JpegImageFile image mode=RGB size=720x960 at 0x766811DF8E90>",
"original_url": null,
"company_id": null,
"technical_meta_data": {},
"time_created": 1719573752.781861,
"time_updated": 1719573752.781871,
"meta_data": null,
"folder_time_created": null,
"image_b64": "",
"media_association_id": "media_id" // временный ID
}
],
"collection_persons": [],
"folder_time_created": null
}
],
"resolution_status": "SUCCESS",
"resolution": "SUCCESS"
}
]
}{
"folder:meta_data": {
"partner_side_folder_id": "partner_side_folder_id_if_needed",
"person_info": {
"first_name": "John",
"middle_name": "Jameson",
"last_name": "Doe"
} },
"resolution_endpoint": "https://www.your-custom-endpoint.com",
"media:meta_data": {
"media_key1": {
"foo": "bar2",
"additional_info": "additional_info" // может влиять на оценку
},
"media_key2": {
"foo2": "bar3"
},
"media_key3": {
"foo4": "bar5"
}
},
"media:tags": {
"media_key1": [
"video_selfie",
"video_selfie_blank",
"orientation_portrait"
],
"media_key2": [
"photo_selfie"
],
"media_key3": [
"video_selfie",
"video_selfie_blank",
"orientation_portrait"
]
},
"analyses": [
{
"type": "quality",
"meta_data": {
"some_key": "some_value"
},
"params": {
"threshold_spoofing": 0.42, // влияет на результат
"extract_best_shot":true // вернется лучший кадр
}
}
]
}