Looma Beauty Camera

A real-time beauty camera for live streaming and calls — skin retouch, face shaping, make-up, colour filters, 170 face masks and 50 virtual backgrounds — with a ready-made panel your users already know how to use. It is free for every AppLooma RTC project.

Every platform

Looma Beauty Camera is available for Android (com.applooma:beauty-android:0.1.2), iOS (Swift package LoomaBeautyCamera-iOS 0.2.1), Web (@applooma/beauty-web 0.1.1), Flutter (looma_beauty_camera 0.1.2) and React Native (@applooma/beauty-react-native 0.1.2). The steps below show Android; each package README has the same calls for its platform.

Install#

Both libraries come from Maven Central — no extra repository, no key.

build.gradle.kts
dependencies {
implementation("com.applooma:rtc-android:0.4.24")
implementation("com.applooma:beauty-android:0.1.2")
}

Android 6.0 (API 23) or newer and OpenGL ES 2.0. Face tracking runs on the device; nothing leaves the phone.

Turn it on#

Create one AppBeauty and hand it to the engine. Every camera frame then goes through it — the host sees the effect in their own preview and viewers receive the processed video. Smart Beauty is on from the start.

Kotlin
val beauty = AppBeauty.create(context)
engine.setTextureProcessor(beauty)
engine.startPreview() // see it before going live
Java
AppBeauty beauty = AppBeauty.create(context);
engine.setTextureProcessor(beauty);

The built-in panels#

Two bottom sheets give users the full set of controls with no UI work on your side:

AppBeautyPanel.show(activity, beauty) // Presets · Beauty · Make up · Filter
AppBeautyPanel.showMagic(activity, beauty) // Mask · Background
TabWhat is in it
Presets10 one-tap looks: Smart Beauty, Natural Skin, Fresh Air, Soft Focus, Men Matte, Youth Glow, Glass Skin, Rosy Glow, Pure, Gentleman.
BeautySkin (smooth, brighten, rosy, sharpen, complexion, contour, 3D light, low light, dark circles, blemishes), Touch Up, Face, Eyes, Nose and Mouth shaping.
Make up79 complete looks in 7 categories, each with its own matching filter.
Filter52 colour filters in 9 categories.
Mask170 face masks that follow the head — ears, crowns, glasses, face paint, hats, festival looks.
BackgroundUpload your own picture, 31 rooms and scenes, blur and frosted glass, and 13 romantic backdrops.

Long-press any look, filter or mask to add it to Favorites.

Control it from code#

Build your own UI, or set a look for the user:

beauty.setPreset(AppBeautyPreset.NATURAL)
beauty.options = beauty.options
.with(AppBeautyItem.SMOOTH, 0.7f)
.with(AppBeautyItem.BIG_EYES, 0.2f)
beauty.mask = AppMasks.byId("kitty") // null for none
beauty.background = AppBeautyBackground.BLUR // NONE to switch off
beauty.options = AppBeauty.OFF // everything off

Masks

AppMasks.categories // ["Hot", "Accessory", "Cute", "Simple", "Love", "Novel", "Festival", "Men", "Buddy"]
AppMasks.inCategory("Cute") // List<AppMask>

Your own background picture

The panel's Upload card opens the gallery for the user. From code, set any upright bitmap:

beauty.customBackground = bitmap
beauty.background = AppBeautyBackground.CUSTOM

Pictures download on demand#

To keep your app small, the SDK carries only the small card pictures. A mask or background downloads the first time a user picks it — the card shows Loading… for a moment — and then stays on the phone.

Performance#

  • Runs on the GPU; about 10 ms a frame at 1080p on a mid-range phone.
  • Background replacement adds person segmentation; masks add almost nothing.
  • When no face is in view, face effects fade out smoothly instead of switching off.

License#

Free to use in any app built on AppLooma RTC, commercial or not. See the Looma Beauty Camera Free License.