makeup|SDK
makeup|SDK is a library based on visage|SDK face tracking used to configure and render virtual makeup.
Loading...
Searching...
No Matches
makeup|SDK API

makeup|SDK provides two APIs: Objective - C API for iOS and Java API for Android. Both APIs include following functionalities:

  • Creation and destruction of virtual makeup
  • Hiding and showing of virtual makeup
  • Updating virtual makeup
  • Retrieval of predefined virtual makeup from feature template descriptors
  • Retrieval of UI view in which camera feed and visible makeup features are rendered

For makeup|SDK to be used contents of lib directory of the package must be copied to platform dependent folders used to locate binary dependencies.

The following sections provide an overview of the APIs and give links to most important classes, as well as to sample projects demonstrating particular functions.

Objective - C API

The API provides function for manipulation of virtual makeup. Objective - C API is available for iOS only. The API is implemented in a single library:

  • MakeupSDK.framework - manipulation and rendering of virtual makeup based on visage|SDK face tracking and Unity3D rendering engine, requires:
    • # TFLiteLoader.framework

Virtual makeup functionality

Virtual makeup engine tracks face of a single user and controls rendering of virtual makeup to achieve AR functionality of virtual makeup. Virtual makeup is composed using template files storing description of used makeup feature and, optionally, a finish for selected feature. Virtual makeup rendering is demonstrated in MakeApp sample projects.

Skin tone estimation functionality

Provides color shade and monk scale obtained by estimating person's skin tone. Feature is demonstrated by SkinTone sample.

Face tracking functionality

Provides facial data obtained using visage|SDK.

Main classes

  • SDKProvider: Provides all MakeupSDK modules.
  • FrameProvider: An interface used to provide input image data for processing.
  • MakeupEngine: Provides functions for manipulation of virtual makeup features.
  • FeatureTemplate: A template storing description of a virtual makeup feature.
  • FinishTemplate: A template storing description of a virtual makeup finish.
  • FeatureTemplateRepository: Stores a list of predefined virtual makeup features.
  • FinishTemplateRepository: Stores a list of predefined virtual makeup finishes.
  • SkinToneAnalyzer/ FaceTracker: Provides functions for starting, reseting, and stopping skin tone/ face tracking analysis.

Migration from older versions

Visage Technologies strives to minimize changes in API and configuration files when releasing new versions of the SDK. The inevitable changes are listed here together with specific instructions for developers who have existing applications built with older versions.

Changes in this release

This section covers changes introduced in current release since makeup|SDK 4.1.

Rendering changes

Improved eyeliner rendering to blend naturally with eyelashes; higher intensity levels may be needed to achieve fuller color opacity.

Changes in older releases makeup|SDK 4.1

API changes

Support for multiple license types

Parameter of SDKProvider.GetProvider method is changed to support multiple license types enabling makeup, shade finder, and/or face tracking features.

  • Previously used SDKProvider.GetProvider method, which accepts "licensePath" NSString* parameter for enabling makeup feature, is removed. Please use new SDKProvider.GetProvider method with "licenses" parameter of NSDictionary* type. The "licenses" argument can contain multiple license type keys ( NSString* type values MAKEUP_LICENSE_KEY, SKINTONE_LICENSE_KEY, and/or FACETRACK_LICENSE_KEY) and corresponding license file path values (used in similar way as the previous argument). For more details, please see GetProvider API documentation.

Usage of proper "Makeup" name

makeup|SDK 4.1 API class, protocol, and methods containing occurrences of “MakeUp” are deprecated and new API class, protocol, and methods containing proper name “Makeup” are introduced.

Using the makeup|SDK in Swift iOS apps

The makeup|SDK API is now fully compatible with Swift. The following classes had their instance variables withprotection level converted to properties: FilterParameterTemplate, FilterTemplate, FilterQueueTemplate, MaskTemplate, PipeTemplate, FinishTemplate, FinishTemplateRepository, Color, BoundingBox, ElementTemplate, FeatureTemplate, FeatureTemplateRepository, Element, and Effect. Please use "." operator to access members inplace of using "->" operator in objective C code.

Input image type

"Image" type was renamed to "CamIL_Image". Previously used FrameProvider.AddFrame:(Image *) method was replaced by AddFrame: (FrameProvider) method.