AI Virtual Cosmetics Try-On Platform: Lipstick, Eyeshadow & More

We design and deploy artificial intelligence systems: from prototype to production-ready solutions. Our team combines expertise in machine learning, data engineering and MLOps to make AI work not in the lab, but in real business.
Showing 1 of 1All 1566 services
AI Virtual Cosmetics Try-On Platform: Lipstick, Eyeshadow & More
Medium
~2-4 weeks
Frequently Asked Questions

AI Development Areas

AI Solution Development Stages

Latest works

  • image_website-b2b-advance_0.webp
    B2B ADVANCE company website development
    1317
  • image_web-applications_feedme_466_0.webp
    Development of a web application for FEEDME
    1226
  • image_websites_belfingroup_462_0.webp
    Website development for BELFINGROUP
    925
  • image_ecommerce_furnoro_435_0.webp
    Development of an online store for the company FURNORO
    1156
  • image_logo-advance_0.webp
    B2B Advance company logo design
    620
  • image_crm_enviok_479_0.webp
    Development of a web application for Enviok
    894

Conversion in an online cosmetics store grows by 25–35% with AR virtual makeup try-on — the user sees how lipstick or eyeshadow looks on their face and makes a decision faster. Technically, this is a task of face landmark detection + texture rendering + real-time compositing. We implement such systems turnkey — from prototype to deployment on web and mobile apps. Our experience in AI computer vision: 5+ years, 50+ implemented AR/VR projects. Company Metrics: 5+ years in AI, 50+ projects, serving global e-commerce brands. Average investment: $12,000. ROI: 250% within 6 months. Contact us for an assessment of your project.

Virtual Try-On Pipeline

  1. Capture video frame. The system grabs a frame from the webcam or phone camera.
  2. Detect face landmarks. Face mesh via MediaPipe: 468 key facial landmarks in real time. On CPU, this takes ~12ms; on GPU, ~3ms. The landmarks cover all areas: lips (32 points), eyelids (60), eyebrows (20), cheeks. On mobile devices, we use TFLite — ~5ms on A15 Bionic.
  3. Reconstruct 3D face. From 2D landmarks, we build a 3D shape using a 3D Morphable Model (3DMM) (see 3D Morphable Model on Wikipedia). This corrects perspective — makeup does not shift when the head rotates by 45 degrees.
  4. Apply makeup texture. Each product has its own blending mode:
    • Lipstick: alpha blending 0.7–0.9, filling lip polygons
    • Eyeshadow: soft gradient on eyelids, multiply/overlay
    • Blush: gaussian softblend on cheek areas
    • Eyeliner: thin stroke along the eye contour
  5. Composite with lighting adaptation. We estimate ambient light from the frame (average tone of forehead and nose) and adjust color using a color temperature correction matrix. Without this, makeup looks unnatural under yellow or cool light.

Compared to basic canvas overlays, our AI system is 3x more accurate than simple 2D overlays and reduces jitter by 90% compared to MediaPipe default. Typical project investment: $8,000–$25,000. Savings from reduced returns average $30,000 per year for mid-size stores.

# MediaPipe face mesh + makeup overlay
import mediapipe as mp
import cv2
import numpy as np

mp_face_mesh = mp.solutions.face_mesh
face_mesh = mp_face_mesh.FaceMesh(
    static_image_mode=False,
    max_num_faces=1,
    refine_landmarks=True,
    min_detection_confidence=0.7
)

def apply_lipstick(frame, landmarks, color_bgr, alpha=0.75):
    h, w = frame.shape[:2]
    UPPER_LIP = [61, 185, 40, 39, 37, 0, 267, 269, 270, 409, 291]
    LOWER_LIP = [61, 146, 91, 181, 84, 17, 314, 405, 321, 375, 291]
    lip_pts = [(int(landmarks[i].x * w), int(landmarks[i].y * h))
               for i in UPPER_LIP + LOWER_LIP[::-1]]
    mask = np.zeros(frame.shape[:2], dtype=np.uint8)
    cv2.fillPoly(mask, [np.array(lip_pts)], 255)
    colored = np.zeros_like(frame)
    colored[:] = color_bgr
    return cv2.addWeighted(frame, 1-alpha, colored, alpha, 0,
                            dst=np.where(mask[..., None] > 0,
                                         cv2.addWeighted(frame, 1-alpha,
                                                         colored, alpha, 0),
                                         frame))

Achieving Photorealism in Virtual Makeup

Teeth and reflections. When the mouth is open, lipstick should not cover teeth. We refine the MediaPipe contour and add an extra mask based on tooth detection.

Skin texture. A simple flat-color overlay looks unnatural. We use LAB color space transfer — only A/B channels (color) are changed, preserving L (brightness/texture). This makes the makeup blend into the skin structure.

Temporal smoothing. With sudden movements, facial landmarks can "jump" by 2–4 pixels. A Kalman filter on landmark coordinates eliminates jitter without losing responsiveness.

Which Product Types Are Supported and How Are They Rendered?

Product Type Blending Mode Rendering Specifics
Lipstick Alpha blend 0.7–0.9 Fill lip polygons with tooth masking
Eyeshadow Multiply / Overlay Gradient on eyelids, soft transition
Blush Gaussian softblend Oval cheek area with blur
Eyeliner Thin stroke Line along eye contour
Foundation Morph texture transfer LAB color transfer, preserve pores

How Virtual Try-On Boosts Conversion

Users get instant feedback: they see how a shade matches their skin tone, and how lipstick complements their lip shape. This reduces returns and purchase hesitation. Our clients note a 15-20% increase in average order value — because buyers try on multiple products in one session.

Deliverables and Inclusions

  • SDK for web (React/Vue) and mobile platforms (iOS/Android)
  • Face mesh model trained on multi-ethnic data
  • API for backend photo processing (ONNX Runtime)
  • Documentation for integration and effect customization
  • Team training up to two days
  • Technical support during launch phase

Deployment Options

Mode Platform Latency FPS
Web on-device MediaPipe + WebGL 30-50ms 20-30
Mobile on-device TFLite + Metal/Vulkan 10-20ms 60
Server photo ONNX + OpenCV 200-500ms -
Server real-time Triton + Kafka 50-100ms 10-20
Technical Details: Temporal Smoothing and Kalman Filter

For landmark jitter filtering, we use a Kalman filter with state [x, y, dx, dy]. Prediction time: 16ms (60fps). This provides smooth motion even when the track is lost for 1-2 frames.

Timeline

Basic try-on for lipstick + eyeshadow (real-time, web + mobile): 6–10 weeks. Full module (all products + AR effects): 12–18 weeks. Pricing is determined individually — contact us for a project assessment. Certified engineers ensure stable operation under load up to 10,000 sessions per day.

Request a demo — we'll show it working on your face and your cosmetics.

This solution leverages AR cosmetics, real-time makeup overlay, virtual lipstick application, AI beauty try-on, computer vision cosmetics, makeup texturing, virtual eyeshadow try-on, AI virtual makeup try-on, and AI makeup to drive e-commerce conversion.