Skip to content

Build apps with character

A real-time, lip-synced avatar for your iPhone, Android, Mac, web or Python app.

Start with your integration

Running fully offline? The offline license starts at Business. Upgrade to Business

Examples you can clone

All examples

Built with bitHuman

bitHuman Live is our own app: talk face to face with AI characters. We built it with the bitHuman Flutter pluginas an example of what you can build with bitHuman.

bitHuman Live isn't open source; its code is not published. For code you can clone, use the examples above.

Before you build

Before you ship

Plan. From 19 October 2026, API and SDK use requires the Creator plan or higher. Plans and top-ups

Credential. The Apple and Android SDKs authenticate with your account's API secret today, so a shipped app carries it. Fetch it from your backend at startup, never compile it in, use a separate secret for each app, and rotate it if it leaks. What a shipped app holds (docs)

AI disclosure. Tell your users they are talking to an AI. Acceptable use

From a plan to a first avatar

  1. Choose a plan. From 2026-10-19, API and SDK use requires the Creator plan or higher.
  2. Create an API secret. Create an API secret in the developer dashboard.
  3. Install an SDK. Ways to build: the Swift package (iOS, iPadOS, macOS), the Android SDK (from bitHuman's Maven repository at maven.bithuman.ai), the Python SDK (bithuman), the CLI with a built-in MCP server, the LiveKit Agents plugin, the Flutter plugin, the web embed and the REST API.
  4. Pick a model. bitHuman has two current models: Essence 2 renders a photoreal person from one portrait; Expression 2 renders any character (people, animals, cartoons) from one portrait.

How an app fits together

Your app sends speech to the avatar and displays its frames. Conversation services are chosen separately.

Companion app guideLiveKitPerformanceSupported platforms

For AI coding agents

Is there an iOS and Android SDK for bitHuman avatars?
Yes. The Swift package renders Essence 2 and Expression 2 on iPhone, iPad and Mac. essence2-android and expression2-android, from bitHuman's Maven repository (maven.bithuman.ai), render them on arm64 Android phones. Measured results for each device are published at docs.bithuman.ai/performance.
Does the avatar render on the phone or in the cloud?
With the Swift and Android SDKs, on the phone. With the web embed, in the bitHuman cloud by default, or in the browser tab with WebGPU (render=local), falling back to cloud rendering. With a LiveKit cloud avatar, in the bitHuman cloud.
Does the SDK include the voice and the AI conversation?
The Swift and Android SDKs only render: your app passes in 16 kHz speech and draws the frames. Use any speech recognition, language model and voice, or use bitHuman's managed agent through the web embed. On a Mac or a Linux PC, the bitHuman CLI's local conversation brain can run the whole conversation on the machine.
Can I use my own language model and persona?
Yes. Any OpenAI-compatible endpoint works. Set the persona in your model's system prompt or, for a managed agent, in its system_prompt.
Can I build an AI companion app with bitHuman?
Yes. bitHuman provides the companion's face, rendered in real time on the phone, on the Mac or in the browser, and you choose the voice, the language model and the persona. The companion guide in the docs walks through adding the SDK, the API secret, resampling speech, replies, interruption and closing the avatar with the screen.
What does it cost?
From 19 October 2026, API and SDK use requires the Creator plan or higher. Rendering on the device uses 2 credits per minute, about $0.02 at top-up rates. A bitHuman cloud avatar uses 4 credits per minute, and the all-inclusive managed voice chat uses 10. In the bitHuman cloud and in bitHuman Live, credits pay for active session time, talking or idle, by the exact second. On your own devices or servers, current versions of the Essence 2 and Expression 2 SDKs, the bitHuman Python SDK and the bitHuman CLI charge credits only for the seconds the character is speaking, not for the time it waits.
Does it work offline on a phone?
No. Apps on phones and Macs need a connection to start a session, and they keep rendering through a network drop of up to 5 minutes. The web embed needs a connection throughout. Offline license is only available to Business and Enterprise clients who want to run real-time avatars completely locally, off the internet — e.g. kiosks, trade shows, ATM machines, embedded screens. Linux PCs and terminals; arranged through sales.
What data does the SDK send to bitHuman?
Usage reports for metering, such as which session ran and for how long. They never contain audio, video, images or conversation text. The SDK also checks your API secret when a session starts. With the web embed, the conversation itself runs on bitHuman's servers.
Can I use bitHuman in a React or Next.js app?
Yes, with the iframe embed or the floating website widget. There is no npm package: the embed is an iframe in any framework, and the docs web page has a React snippet.
What is bitHuman?
bitHuman has two current models: Essence 2 renders a photoreal person from one portrait; Expression 2 renders any character (people, animals, cartoons) from one portrait. Essence 2 and Expression 2 render on the device: iPhone, iPad and Mac (Swift package), Android arm64 (Android SDK), macOS on Apple silicon and Linux x86_64/arm64 (CLI, Python SDK), and in a browser tab with WebGPU.
Which platforms does bitHuman run on?
Essence 2 and Expression 2 render on the device: iPhone, iPad and Mac (Swift package), Android arm64 (Android SDK), macOS on Apple silicon and Linux x86_64/arm64 (CLI, Python SDK), and in a browser tab with WebGPU. Both models run live on a standard Linux PC with no GPU. Expression 1 runs in the bitHuman cloud only.
Which SDKs and tools does bitHuman have?
Ways to build: the Swift package (iOS, iPadOS, macOS), the Android SDK (from bitHuman's Maven repository at maven.bithuman.ai), the Python SDK (bithuman), the CLI with a built-in MCP server, the LiveKit Agents plugin, the Flutter plugin, the web embed and the REST API. The bitHuman plugin for LiveKit Agents (livekit-plugins-bithuman on PyPI) adds a real-time talking avatar to a LiveKit voice agent. pipecat-bithuman on PyPI adds a bitHuman avatar to a Pipecat voice bot: the bot's speech in, a lip-synced avatar video out. Requirements: Python 3.10–3.14 on macOS 14+ (Apple silicon), Linux x86_64 or arm64, or Windows 11 x86_64; Swift package: Xcode 26 or newer and a physical iPhone or iPad.

Not answered here?

Get help on Discord