.. _sf-api-config: ``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 the router service (e.g. ``findface-facerouter`` service). It receives data of detected objects and processing directives from the router service (e.g. ``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-multi-legacy``. 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 ``findface-sf-api.yaml`` configuration file. You can find its default content :download:`here <_scripts/findface-sf-api.yaml>`. When configuring ``findface-sf-api``, refer to the following parameters: .. list-table:: :widths: 14 45 :header-rows: 1 * - 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`` → ``upload-url`` - WebDAV NginX path to send original images, thumbnails and normalized object images to the ``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.