face-age
v2.1.15
Published
A skin data-based beauty & healthcare platform, which provides a customized solution through accurate skin analysis.
Downloads
174
Maintainers
Readme
Getting Started
Installation
npm install face-age --save
yarn add face-age --save
Direct <script>
Inclusion
<script src="https://cdn.jsdelivr.net/npm/face-age"></script>
Wrappers for React/Vue
Integrate easily with 3rd party frameworks
Usage
import FaceAge from 'face-age';
To create a basic analysis with minimal configuration:
const options = {
elementId: 'FaceAge-module', // Required if using displayModel 'widget' or 'section'
faceageId: '<Face Age Client ID>', // Your Face Age license ID
showProducts: true,
showRoutine: true,
};
const faceAge = new FaceAge(options);
faceAge.render();
Get Face Age ID
For more advanced settings:
const options = {
elementId: 'FaceAge-module',
faceageId: '<Face Age Client ID>', // Your Face Age license ID
displayModel: 'section',
language: 'en',
height: '550px',
currency: '$',
quiz: true,
defaultQuiz: { email: 'hi@getfaceage.com' },
showProducts: true,
showRoutine: true,
showAddToCart: true,
problems: ['fineWrinkles', 'eyeWrinkles'],
showCamera: true,
showUpload: true,
};
const faceAge = new FaceAge(options);
faceAge.render();
Options
You can set analysis options using new FaceAge()
. To modify global default options, use the options
object.
elementId
- Type:
String
Required if using the displayModel 'widget' or 'section'.
faceageId
- Type:
String
Your Face Age license ID, obtainable from the panel after creating an account.
displayModel
- Type:
String
- Default:
'section'
- Options:
'widget'
: Only displays the analysis environment.'section'
: Occupies one line on the page.'modal'
: Shows the analysis in a full-screen modal.
You can choose between different display modes.
language
- Type:
String
- Default:
'en'
Specify the desired language.
width
- Type:
Number
(optional)
Applicable when displayModel is set to 'widget'
.
height
- Type:
Number
(optional)
Applicable when displayModel is set to 'widget'
.
currency
- Type:
String
- Default:
'$'
Set the currency unit.
quiz
- Type:
Boolean
- Default:
true
Toggle quiz display for users.
defaultQuiz
- Type:
Object
- Example:
{ email: 'hi@getfaceage.com' }
Prepopulate quiz fields with user information.
showProducts
- Type:
Boolean
- Default:
false
showRoutine
- Type:
Boolean
- Default:
false
showAddToCart
- Type:
Boolean
- Default:
true
showCamera
- Type:
Boolean
- Default:
true
Allow users to capture images using the camera.
showUpload
- Type:
Boolean
- Default:
true
Enable or disable image uploads.
problems
- Type:
Array
- Default:
['fineWrinkles', 'eyeWrinkles', 'deepWrinkles', 'darkCircle', 'eyeBag', 'pores', 'pigment', 'redness', 'oiliness', 'acne']
- Options:
fineWrinkles
eyeWrinkles
deepWrinkles
darkCircle
eyeBag
pores
pigment
redness
oiliness
acne
Limit the types of skin issues displayed during analysis.
API
Once the image is analyzed, you can retrieve the results using the following commands:
Get Advisor Data
Retrieve advisor data after the analysis:
faceAge.API.getAdvisorData((data) => {
console.log('Advisor data analysis:', data);
});
Get Active Selections
Retrieve active selections after completing the form:
faceAge.API.getActiveSelections((data) => {
console.log('Quiz active selection data:', data);
});
Get Routine Groups
Retrieve routine groups that the software supports:
console.log('Routine Groups:', faceAge.API.getRoutineGroup());
Add Custom Products
Manually add and display custom products:
faceAge.API.setCustomProducts([
{
id: 1,
url: 'https://getfaceage.com',
image: 'https://demo.getfaceage.com/static/products/pr5.png',
title: 'Skin moisturizers',
description: 'Vitamin C. Rooster 30ml', //optional
routineGroups: {'morning': ['cleanser', 'serum']}, //optional
problems: ['acne', 'wrinkles'], //optional
price: 40,
offerPrice: 18.99, //optional
variables: { //optional
'size': {
title: 'Size',
option: [
{label: '10 cc', value: '10', price: 40 /*optional*/, offerPrice: 18.99 /*optional*/},
{label: '25 cc', value: '25', price: 52 /*optional*/, offerPrice: 19.99 /*optional*/},
{label: '35 cc', value: '35'}
]
}
},
}
]);
Complete Example of API Usage
faceAge.API.getAdvisorData((data) => {
// Use the data from the analysis
console.log('Advisor data analysis:', data);
console.log('User Image:', faceAge.API.getImage());
faceAge.API.getActiveSelections((data) => {
console.log('Quiz active selection data:', data);
});
faceAge.API.setCustomProducts([
{
id: 1,
url: 'https://getfaceage.com',
image: 'https://demo.getfaceage.com/static/products/pr5.png',
title: 'Skin moisturizers',
description: 'Vitamin C. Rooster 30ml', //optional
routineGroups: {'morning': ['cleanser', 'serum']}, //optional
problems: ['acne', 'wrinkles'], //optional
price: 40,
offerPrice: 18.99, //optional
}
]);
});
Events
Add custom event listeners for different interactions:
onClickProblem
faceAge.onClickProblem((key) => {
// Get user status and information when they click on a problem
console.log('User clicked on problem:', key);
});
onDisplayProducts
faceAge.onDisplayProducts((data) => {
// Display product information when the product list is shown
console.log('Display Products:', data);
});
onDisplayRoutines
faceAge.onDisplayRoutines((data) => {
// Display routine information when the routine list is shown
console.log('Display Routines:', data);
});
onAddToCart
faceAge.onAddToCart((data) => {
// Retrieve product information when a user clicks add to cart
console.log('User clicked add to cart:', data);
});
onClickProduct
faceAge.onClickProduct((product) => {
// Retrieve product details when a user clicks on a product
console.log('User clicked on product info:', product);
});
onResetData
faceAge.onResetData(() => {
// Trigger when the user refreshes the information
console.log('User clicked reset data');
});
onCloseModal
faceAge.onCloseModal(() => {
// Trigger when the user closes the modal. You could forward them to checkout if products were added to cart.
console.log('User clicked close');
});
onCheckout
faceAge.onCheckout((data) => {
// Trigger when the user clicks the checkout button
console.log('User clicked checkout');
});
New Features
- Face Mask & Skin Routine: Display skin routine products and allow users to manage their routines.
- Summary of Skin Information: Provide users with a summary of their skin analysis.
- Multiple Languages: Support for multiple languages and custom labels.
- Customizable Themes: Customizable themes and layouts to match user preferences.
Contact
- Website: getfaceage.com
- Panel: panel.getfaceage.com
- Email: dev@getfaceage.com