The application is an example of using Banuba SDK to perform face beautification.
To work with some face beautification features you have to use a separate effect. In the application you can find several of them. One example features combined face beautification features and the others showcase specific tasks: hair, lips, skin, eyes coloring. The reason is high-performance requirements due to the usage of neural networks. In applications, these features can be combined based on the device possibilities and product requirements.
There is a VSModel class in the project which contains the parameter setters each of which corresponds to parameters in the Beauty effect. The parameters are grouped for better representation on UI. The original list of parameters can be found in config.js file. In the example, the effect changes are applied with EffectPlayer.callJsMethod method inside MainActivity.onModelDataChanged callback which is emitted by any changes in the model. The value for JS call is a JSON string which is a regular set of key-value pairs. The effect values can be of two types: integer index and float value. The application uses SpinnerValueSetter and SeekBarValueSetter for that types of values.
More information about the effect and its parameters can be found here: beauty effect.
The examples given below are single feature effects. To switch them use EffectPlayer.loadEffect method. The only feature that can be modified is the color of segmental NN found fragment. In the example MainActivity.onColorChanged callback calls setColor effect method to apply a value.