Platforms
Every platform bitHuman runs on: iOS & iPadOS, macOS, Android, Flutter, the web, Python, the CLI, LiveKit and the REST API, with where the avatar renders and the current version.
Apps
The avatar renders inside your app, on the device in front of the user.
-
iOS & iPadOS
One Swift package. The avatar renders on the iPhone or iPad. Renders on the deviceFirst result in 15 minSwift package 2.18.0 -
macOS
The same Swift package in a Mac app, or from a terminal with swift run. Renders on the deviceFirst result in 5 minSwift package 2.18.0 -
Android
One Maven Central dependency. The avatar renders on the phone. Renders on the deviceFirst result in 15 minexpression2-android 0.5.2essence2-android 0.8.1 -
Flutter
One plugin for a Flutter app. The avatar renders on the phone. Renders on the deviceFlutter plugin 2.6.20 -
Web
One iframe on any page. The avatar renders in the cloud, or in the tab with WebGPU. bitHuman cloudIn the browser (WebGPU)First result in 1 min
Code & terminal
Render on your own Mac or Linux machine, including a PC with no GPU.
Agents & APIs
Add a face to a voice agent, or drive agents and videos over HTTPS.
Your stack
The Swift and Android SDKs take any 16 kHz mono speech your pipeline produces and return frames, so any speech-recognition, language-model and voice stack works. For a managed agent, bring your own language model: any OpenAI-compatible endpoint, including one in your own network (Providers (BYOK)).
How the pieces fit: How it works · where each model runs: Compare models · where it runs and what reaches bitHuman: Deployment options.
SDK reference
Runs everywhere
Measured faster than real time on every configuration we publish, including 10-minute held runs on iPhone and Android. Updated September 27, 2026. How we measure
- iPhone Renders on the device
- Essence 2
2.1× real time
iPhone 15 · Swift package 2.17.3 · measured 2026-09-27- Expression 2
5.5× real time
iPhone 15 · Swift package 2.18.0 · measured 2026-09-27
Held 10 min: Essence 2 1.3× · Expression 2 5.1×
iPhone 15
- Android Renders on the device
- Essence 2
2.0× real time
Samsung Galaxy S25+ · essence2-android 0.7.0 · measured 2026-09-25- Expression 2
2.4× real time
Samsung Galaxy S25+ · expression2-android 0.4.10 · measured 2026-09-23
Held 10 min: Essence 2 1.4× · Expression 2 2.2×
Samsung Galaxy S25+
- Browser In the browser (WebGPU)
- Essence 2
1.7× real time
Chrome on Apple M4 · web viewer · measured 2026-09-27- Expression 2
1.9× real time
Chrome on Apple M4 · web viewer · measured 2026-09-27
Chrome on Apple M4
- Linux PC No GPU
- Essence 2
2.0× real time
Intel Core i7-13700F (x86_64), CPU only (no GPU) · CLI 2.8.1 · measured 2026-09-27- Expression 2
2.2× real time
Intel Core i7-13700F (x86_64), CPU only (no GPU) · CLI 2.8.1 · measured 2026-09-27
Intel Core i7-13700F (x86_64)
- Mac Renders on the device
- Essence 2
4.8× real time
Apple M4 · Swift package 2.15.0 · measured 2026-09-24- Expression 2
8.8× real time
Apple M4 · Swift package 2.15.0 · measured 2026-09-24
Apple M4
- bitHuman cloud Streams to any screen
- Essence 2
4.1× real time
NVIDIA RTX 4090 · cloud API · measured 2026-09-27- Expression 2
17.0× real time
NVIDIA RTX 4090 · cloud API · measured 2026-09-23
NVIDIA RTX 4090
Times real time: seconds of avatar video rendered per second. At 1.0× or more, an avatar holds a live conversation. Every configuration