``findface-sf-api`` --------------------------------- The ``findface-sf-api`` service implements HTTP API to access the FindFace core functions such as object detection and object recognition. .. note:: The mentioned functions themselves are provided by ``findface-extraction-api``. The ``findface-sf-api`` interfaces with the following FindFace core components: * feature vector database powered by Tarantool via the ``findface-tarantool-server`` service * ``findface-extraction-api`` that provides object detection and object recognition * ``findface-upload`` that provides a storage for original images and FindFace core artifacts To detect an object in an image, you need to send the image in an API request to ``findface-sf-api``. The ``findface-sf-api`` will then redirect the request to ``findface-extraction-api`` for object detection and recognition. If there is a configured video object detection module in the system (like in FindFace Multi), ``findface-sf-api`` also interfaces with the ``findface-facerouter`` service. It receives data of detected objects and processing directives from ``findface-facerouter`` and executes the received directives (for example, saves objects into a specific database gallery). .. note:: In FindFace Multi, ``findface-facerouter`` functions are performed by ``findface-security``. Functionality: * HTTP API implementation (object detection and object recognition methods, performed via ``findface-extraction-api``). * saving object data to the feature vector database (performed via ``findface-tarantool-server``), * saving original images, object thumbnails and normalized object images to an NginX-powered web server (via ``findface-upload``). * provides interaction between all the FindFace core components. The ``findface-sf-api`` configuration is done through the ``/etc/findface-sf-api.ini`` configuration file. You can find its default content :download:`here <_scripts/findface-sf-api.ini.txt>`. When configuring ``findface-sf-api``, refer to the following parameters: +---------------------------------------------+----------------------------------------------------------------------------------------------------------+ | Parameter | Description | +=============================================+==========================================================================================================+ | ``extraction-api`` -> ``extraction-api`` | IP address of the ``findface-extraction-api`` host. | +---------------------------------------------+----------------------------------------------------------------------------------------------------------+ | ``limits`` -> ``body-image-length`` | The maximum size of an image in an API request, bytes. | +---------------------------------------------+----------------------------------------------------------------------------------------------------------+ | ``normalized-storage`` -> ``webdav`` -> | WebDAV NginX path to send original images, thumbnails and normalized object images to the | | ``upload_url`` | ``findface-upload`` service. | +---------------------------------------------+----------------------------------------------------------------------------------------------------------+ | ``storage-api`` -> ``shards`` -> ``master`` | IP address of the ``findface-tarantool-server`` master shard. | +---------------------------------------------+----------------------------------------------------------------------------------------------------------+ | ``storage-api`` -> ``shards`` -> ``slave`` | IP address of the ``findface-tarantool-server`` replica shard. | +---------------------------------------------+----------------------------------------------------------------------------------------------------------+