Real-time AR SDK for camera apps

Live beauty and AR effects, built into your app.

Glowbeam is a real-time SDK for skin smoothing, makeup, 3D glasses and face effects. It runs on the device's GPU, sends no camera images anywhere, and you license only the features you ship.

  • Processed on the device
  • Licensed per feature
  • Android, iOS and desktop
A woman as the camera sees her, before any effect
The same woman wearing round metal 3D glasses drawn by Glowbeam

Demo footage features AI-generated people. Effects are rendered by the Glowbeam SDK.

Median with skin smoothing on, measured on an entry-level Galaxy A04s at 720×960
27.8fps
In the face mesh the tracker fits to every face it follows
478points
In ten tabs of the current effect pack, from makeup to crowns
86effects
Sent off the device. Camera frames are processed on the phone only
0images

Built for live streaming. First licensee: Lammy

Features

From a soft touch‑up to a full look.

Beauty, makeup and effects are separate modules. License one or all of them, and stack them on the same frame.

A woman as the camera sees her, before any effect
The same woman with skin smoothing, lipstick and blush
Before and after

Drag the line. Then switch the look.

One clip, run through the SDK once per look. The left side is the camera feed and the right side is what Glowbeam draws on the same frames.

Skin smoothing evens texture inside a face mask, so hair, eyes and brows stay sharp. Lipstick and blush come from the Tinting module and follow the lips and cheeks.

skin_smoothing 0.7lipstick_strength 0.5blusher_strength 0.3

Drag the line, or focus the clip and use the arrow keys.

Demo footage features AI-generated people. Effects are rendered by the Glowbeam SDK.

For developers

Three steps to a prettier camera.

One C++ engine with thin Kotlin and Swift layers. Every pixel operation runs in a shader on the GPU, and nothing in the per-frame path allocates memory.

  1. Add the package

    The ai.glowbeam:glowbeam-android AAR for Android, the Glowbeam pod for iOS, react-native-glowbeam for React Native, and headers with a static library for desktop. Downloads sit behind your customer sign-in.

  2. Install your licence

    The SDK checks the signature and that the licence was issued for this app and platform. Until it is valid, it draws nothing.

  3. Turn features on and pass frames

    Switch on the modules you licensed, set the sliders, and hand each camera texture to the engine on your GL thread. You get a texture back.

Android · CameraRenderer.kt
import ai.glowbeam.beauty.ArEngine

val engine = ArEngine.create(context)

engine.setLicenseToken(licenceToken)
engine.setActiveFeatures(arrayOf("beauty", "effects"))
engine.setParam("beauty", paramId = 0, value = 0.6f)

override fun onDrawFrame(gl: GL10?) {
    val output = engine.processFrame(
        cameraTexture, width, height,
        rotationDegrees, isFrontFacing = true, uvMatrix
    )
    drawToScreen(output)
}
Platforms

One engine, every screen you ship on.

The same C++17 core and shaders run everywhere, so a look matches from phone to desktop. Here is where each platform stands today.

Android

Pilot ready
  • Kotlin API over a native core, shipped as an AAR
  • CameraX and OpenGL ES 3.0, arm64 and x86_64
  • Measured on entry-level and flagship Galaxy phones

iOS

Preview
  • Swift API, Objective-C++ bridge, XCFramework
  • OpenGL ES path today, Metal port next
  • Privacy manifest declares no data collection

macOS

Preview
  • C++ API with a camera demo app
  • Where every stage is benchmarked
  • Virtual camera for OBS on the roadmap

Windows

In progress
  • The core builds and passes its tests in CI
  • GPU renderer in progress
  • DLL with headers, signed

React Native

Preview
  • One package over the Android and iOS SDKs
  • Video processors for LiveKit camera tracks
  • Effects, beauty and catalogue calls from JavaScript

Streaming

In progress
  • LiveKit tracks through the React Native package
  • OBS Studio through a desktop virtual camera
  • Tuned for long live sessions
Performance

Camera rate on a budget phone.

Most of your users do not own a flagship. We test on an entry-level phone, and every number here was measured on the named device.

Galaxy A04s · Exynos 850

27.8fps median

Skin smoothing at 0.5 with a face in frame, 720×960. The camera delivers 30 frames a second.

Before the low-end work8.8 fps
Now27.8 fps

The marker is the 30 fps camera. During long streams on the same phone, busy CPU fell from 490% to 369% of 800%.

GPU time per stage

Each bar is drawn against one 60 fps frame of 16.7 ms. A stage at strength 0 is skipped and costs nothing.

Skin smoothing · 1080p · M5 Max1.02 ms
Skin smoothing · 720p · M5 Max0.95 ms
Skin tone · 1080p · M1 Max0.34 ms
Eye enlargement · 1080p · M1 Max0.31 ms

Release build, OpenGL backend, with the GPU finished after every stage, so each figure is the full submit and GPU work.

Frame budgets we hold every change to
Target frame budgets by device tier
TierExample devicesResolutionTargetBudget
FlagshipiPhone 14 and up, Snapdragon 8 Gen 2 and up1080p60 fps16 ms
Upper midiPhone 11 to 13, Pixel 6 and up1080p30 fps33 ms
Lower midiPhone XR, Snapdragon 6 series720p30 fps33 ms
EntrySnapdragon 4 series540p24 fps41 ms

These are targets, not measurements. Changes that break them are rejected in review.

Security and licensing

Private by design. Licensed by the feature.

Glowbeam never sees your users. The only traffic to our server is the licence check and monthly usage counts from your app, and neither carries images.

Frames stay on the device

The engine has no network code, and CI checks that no socket APIs creep in. Camera frames and face landmarks never leave the phone and never reach the logs.

Signed licences

Every licence is an Ed25519-signed token. The SDK verifies the signature before it reads a single field, so a forged or edited token is refused.

Bound to your app

A licence names your app IDs, platforms and signing identities, and a token can carry a device key thumbprint. A token issued for one app is refused by any other.

Features you can switch

Beauty, makeup and effects switch on separately. Each slider can be capped to a range, and effect tabs or single effects can be turned off.

Fails closed

Without a valid licence for this app and platform the SDK draws nothing. Tokens are short-lived and refreshed every 30 minutes, so a stopped licence stops at the next check while online, and within one token lifetime at most.

Nothing loaded at runtime

Static linking only, no plugin loading, and every shader compiled into the binary. The iOS privacy manifest declares no data collection.

What a licence turns on

One token per app carries the switches your plan includes. Change the plan, and the next refresh applies it.

"ent": { "beauty": { "on": true, "params": { "skin_smoothing": [0, 1], "enlarge_eyes": [0, 0.5] } }, "tinting": { "on": true, "params": {} }, "effects": { "on": true, "tabs": { "makeup": true, "hats-and-crowns": true } } }
Pricing

Pay for the features you actually ship.

Monthly plans, priced per feature and scaled by monthly active users. Tell us what you need and we send a quote. Trial licences are free for evaluation.

Starter

One look in one app.

Contact usBilled monthly, per feature

  • One feature module: Beauty, Makeup or Effects
  • One app on up to two platforms
  • Monthly licence, renewed by payment
  • Email support
Ask about Starter

Custom

Everything, shaped around you.

Contact usBilled monthly, per feature

  • Every module and the full effect pack
  • Your own effect tabs and slider ranges
  • Volume pricing by monthly active users
  • Hands-on onboarding
Ask about Custom

Build a quote request

Pick what you need and we reply with a price for your volume. Nothing is charged from this page.

Features
Platforms

25,000MAU

Features
2
Platforms
2
Likely fit
Pro
Price
Quoted by email
Email this request
Questions

Good to know.

Something missing? Email us and a developer answers.

Does the SDK send camera frames to a server?

No. Glowbeam processes every frame on the device, and the engine has no network code at all. Your app talks to our licence server to fetch a licence token and report monthly usage counts, and neither request contains images or face data.

Which platforms can I ship on today?

Android is ready for pilot integrations. iOS, macOS and the React Native package are in preview, and Windows is in progress. The platform section above shows the current state of each.

How is it priced?

Monthly plans, priced per feature module and scaled by monthly active users. We do not publish prices yet. Send us a quote request and we reply with one for your volume.

What happens if a payment is late or a licence is stopped?

A licence runs until its paid-through date plus a short grace period. Tokens are short-lived and refreshed while the app runs, so once a licence stops, the SDK stops drawing effects at the next refresh.

Can I limit what my users can do?

Yes. Each licence turns Beauty, Makeup and Effects on separately, can cap every beauty and makeup slider to a range, and can switch effect tabs or single effects off. The SDK enforces those limits itself.

Does it work offline?

Yes, until the current licence token expires. If our server cannot be reached, the app keeps its cached token; only a refusal from the server removes it.

Can I get my own effects or a branded look?

Effects are built with our own art pipeline and packed into the SDK. Custom tabs, effect packs and slider ranges are part of the Custom plan.

Are the people in the demo clips real?

No. The demo footage features AI-generated people, made with Higgsfield. Every effect on them is rendered by the Glowbeam SDK, frame by frame, and not added in editing.

Put Glowbeam in front of your camera.

Get a trial licence, drop the SDK into a test build and see it on your own phones. We help with the first integration.