--- title: "Face analytics" url: https://docs.catalyst.zoho.com/en/sdk/nodejs/v2/zia-services/face-analytics/ description: "This page describes the method to use the Face Analytics feature to detect faces with specified criteria in your Nodejs application with sample code snippets" last_updated: 2026-09-08T11:07:33Z service: Zia Services type: general related_links: - name: "Face analytics - API" url: /en/api/code-reference/zia-services/face-analytics/#FaceAnalytics --- # Face Analytics > **Note:** This SDK is currently in deprecation. Migrate to [JavaScript SDK](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/zia-services/face-analytics/) now. [Zia Face Analytics](https://docs.catalyst.zoho.com/en/zia-services/help/face-analytics/introduction/) performs facial detection in images, and analyzes the facial features to provide information such as the gender, age, and emotion of the detected faces. You must provide ._jpg_/._jpeg_ or ._png_ files as the input. Refer to the [API documentation](https://docs.catalyst.zoho.com/en/api/code-reference/zia-services/face-analytics/#FaceAnalytics) for the request and response formats. The `analyseFace()` method accepts the input image as its argument. You can also specify the analysis mode as `basic`, `moderate`, or `advanced`. You can also specify the attributes `age`, `smile`, or `gender` as `true` to detect or `false` to not detect. These values are optional. All attributes are detected and the `advanced` mode is processed by default. The response returns the prediction of the enabled attributes, the coordinates and landmarks of facial features of each face, and the confidence score of each analysis. The `zia` reference used below is defined in the [component instance page.](https://docs.catalyst.zoho.com/en/sdk/nodejs/v2/zia-services/get-component-instance) The promise returned here is resolved to a JSON object. ```javascript let fs = require('fs'); var zia = app.zia(); //Pass the input file, the mode, and the features to detect zia.analyseFace(fs.createReadStream('./face.png'), { mode: 'moderate', age: true, emotion: true, gender: false }).then((result) => { console.log(result); }) .catch((err) => console.log(err.toString())); //Push errors to Catalyst Logs ``` A sample response that you will receive for each version is shown below: **Node JS** ``` { "faces_count":1, "faces":[ { "co_ordinates":[ "401", "193", "494", "313" ], "emotion":{ "confidence":{ "smiling":"0.75", "not_smiling":"0.25" }, "prediction":"smiling" }, "gender":{ }, "confidence":1, "id":"0", "landmarks":{ "right_eye":[ [ "467", "230" ] ], "nose":[ [ "451", "264" ] ], "mouth_right":[ [ "474", "278" ] ], "left_eye":[ [ "426", "239" ] ], "mouth_left":[ [ "434", "283" ] ] }, "age":{ "confidence":{ "20-29":"0.73", "30-39":"0.08", "0-2":"0.0", "40-49":"0.0", "50-59":"0.0", ">70":"0.0", "60-69":"0.0", "10-19":"0.17", "3-9":"0.0" }, "prediction":"20-29" } } ] } { "faces_count":1, "faces":[ { "co_ordinates":[ 401, 193, 494, 313 ], "emotion":{ "confidence":{ "smiling":"0.75", "not_smiling":"0.25" }, "prediction":"smiling" }, "gender":{ }, "confidence":1, "id":0, "landmarks":{ "right_eye":[ [ 467, 230 ] ], "nose":[ [ 451, 264 ] ], "mouth_right":[ [ 474, 278 ] ], "left_eye":[ [ 426, 239 ] ], "mouth_left":[ [ 434, 283 ] ] }, "age":{ "confidence":{ "20-29":"0.73", "30-39":"0.08", "0-2":"0.0", "40-49":"0.0", "50-59":"0.0", ">70":"0.0", "60-69":"0.0", "10-19":"0.17", "3-9":"0.0" }, "prediction":"20-29" } } ] } ```