Face beauty SDK for Android

Natural, real-time face beauty for video and camera apps

Facevity retouches faces on the device while your users talk, stream or shoot: skin smoothing that keeps real texture, skin-only tone and brightness, light reshaping and colour filters, rendered on the GPU in a few milliseconds per frame.

  • Android 7.0+minSdk 24
  • On-deviceno face data leaves the phone
  • iOSin development
Portrait of a woman in a headscarf: originalPortrait of a woman in a headscarf: Facevity · GlamOriginalFacevity · Glam
Unedited SDK output, GLAM preset. Drag to compare. Test photo: CC0 (rawpixel).

Built for

One beauty pipeline for every camera surface in your app

Facevity sits between the camera and your encoder or preview. Whatever reads the frame next, whether a local preview, a video call, a live stream or a recorder, gets the retouched image.

Man waving at his phone during a video call

Video calling

Process the outgoing camera track so remote participants receive the beautified video, not just the local preview.

Young woman looking at her smartphone

Live streaming

Natural and Glam presets plus per-effect levels let hosts pick a look; changes apply on the next frame.

Three friends taking a selfie together

Camera & selfie apps

Front and rear cameras, texture or NV21/I420 buffers, and up to four faces per frame.

Features

Beauty effects, and nothing else

Facevity does one job: make faces look their best in real time, without the plastic look. Every effect works inside a landmark-driven skin mask, so backgrounds, hair and clothing stay untouched.

Skin smoothing

Edge-aware smoothing with frequency separation: blemishes and fine lines fade while pores, lashes, brows and lips stay crisp. Level 0 to 100.

Tone & brightness

Brightening, warmth, even tone and rosiness applied to skin only. Mid-tone lift keeps highlights, shadows and the richness of deep skin tones.

Retouch extras

Dark circles, smile-line softening, teeth whitening, lip colour and clarity on eyes, brows and hair.

Light face reshape

Slim face, jaw (V-line) and eye enlarging with smooth warps that do not tear or fold the image.

Colour filters

Eight parametric filters: natural, warm, cool, fresh, vivid, soft, rose and mono, each with an adjustable strength.

Real-time face tracking

478-point face mesh (MediaPipe Face Landmarker) with temporal smoothing; effects fade in and out gracefully when a face appears or leaves.

All effects, parameters and presets

Real output

Original vs Glam, across skin tones and lighting

These are unedited frames from the SDK's quality benchmark: six public-domain test photos covering medium-deep, deep and light skin, low indoor light and stubble. Nothing was retouched afterwards.

Integrations

Works with the video stack you already use

Facevity takes camera frames as an OpenGL texture or as NV21, NV12 or I420 buffers, so it plugs into the capture hook of common real-time video SDKs. The docs include integration examples for:

Agora RTC 4.x

Video frame observer, I420, post-capturer

ZEGOCLOUD Express 3.x

Custom video processing, GL texture

LiveKit Android 2.x

Camera track video processor

WebRTC

VideoProcessor, OES texture or I420

The examples follow each vendor's public API and are provided as reference code; check method names against the SDK version you ship. Product names are used only to describe compatibility.

Read the video-call guide
  1. Cameracapturer
  2. FacevityprocessTexture / processBuffer
  3. Video source & encoderyour RTC SDK
  4. Networkremote participants see the processed video

The local preview is drawn from the same processed frame; only the preview is mirrored.

Performance

Built for a 30 fps frame budget

A frame at 30 fps has 33 ms. Facevity keeps its work small and never holds up the camera. Numbers below are measured, with the conditions stated.

~1 ms

CPU time per frame on the caller's thread, texture path

Android Emulator (API 34, Apple-silicon host). On a OnePlus phone with a Mali GPU, 720p front camera: about 2 to 5 ms with a face in view.

2.5 to 4.7 ms

GPU time per frame for the Natural and Glam presets

Emulator, 400×500 to 640×800 frames. Expect 2 to 4× more on mid-range phones; heavy work runs at ≤ 640 px.

≤ 40 ms

longest wait on the buffer path, then the frame passes through

The camera is never blocked: if the GPU is still busy or the budget (configurable) is missed, the frame goes out untouched and is counted as dropped.

Measured October 2026 with the SDK's demo app and quality benchmark. Device coverage is still growing, so we recommend measuring on your own target devices with the demo app's live counters. Details

Privacy

Faces stay on the phone

All face tracking and rendering happen on the device. Facevity never uploads camera frames, face landmarks or any biometric data.

  • No network access on the frame path
  • Licence checks are verified offline from a signed token
  • Online activation sends only the licence key, app ID, signing-certificate fingerprint, a random install ID and the SDK version, about once a day
  • No camera or storage permission is required by the SDK itself

Licensing

Evaluate first, then go to production

Trial

Issued by our team for your app IDs, for up to 90 days. Full effects with a small “Facevity Trial” watermark.

Production

One-year licence by default, bound to your package names and, optionally, signing certificates. Upgrading a trial needs no new key and no app update.

Offline

A signed licence file you ship inside the app, for products that cannot call a licence server.

Pricing and licensing
Facevity demo app, split view, Glam presetFacevity demo app, split view, Glam preset

Evaluation demo

See it in your own hands

The trial includes the Facevity demo app: front and rear camera, split-screen and hold-to-compare views, Natural, Glam and Off presets, per-effect sliders and live counters for frame rate, processing time, face detection and dropped frames.

Then add the AAR to your own app. Most teams start with the texture path in a few dozen lines.

Add face beauty to your app

Tell us about your app and platform. We will set up a trial licence for your app IDs.