Source: https://www.bithuman.ai/developers

# Build apps with character

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

Choose an integration

## Start with your integration

- ### [iPhone & iPad](https://www.bithuman.ai/developers/ios)
  Swift, rendered on the device.
  Quickstart
- ### [Android](https://www.bithuman.ai/developers/android)
  Kotlin, rendered on the phone.
  Quickstart
- ### [Mac](https://www.bithuman.ai/developers/mac)
  Swift package or the CLI.
  Quickstart
- ### [Python](https://www.bithuman.ai/developers/python)
  For macOS and Linux apps.
  Quickstart
- ### [Web](https://www.bithuman.ai/developers/web)
  An embed or a website widget.
  Quickstart
- ### [In-browser render](https://docs.bithuman.ai/platforms/web/webgpu)
  In the visitor's browser, with WebGPU.
  WebGPU docs
- ### [Offline](https://www.bithuman.ai/offline)
  No internet. Linux PCs and terminals.
  Offline license
- ### Customize your own
  Custom builds for your deployment.
  [Contact sales](https://www.bithuman.ai/enterprise#contact)

- [Add an avatar to a LiveKit or Pipecat agent](https://www.bithuman.ai/developers/voice-agents)
- [Shipping an app: keep your API secret off the device](https://docs.bithuman.ai/start/api-secret#what-a-shipped-app-holds)

Running fully offline? The offline license starts at Business. [Upgrade to Business](https://www.bithuman.ai/sign-up?plan=business&next=%2Fdeveloper%3Ftab%3Doffline&from=developers)

## Examples you can clone

[All examples](https://www.bithuman.ai/developers/examples)

- ### [A web app](https://gitlab.com/bithuman/sdk/bithuman-examples/-/tree/main/integrations/nextjs-ui)
  A browser front end for an avatar agent in a LiveKit room.
- ### [A Python app](https://gitlab.com/bithuman/sdk/bithuman-examples/-/tree/main/python/quickstart)
  Open an avatar, play speech through it and watch it talk; conversation.py adds a voice conversation.
- ### [An iPhone app](https://gitlab.com/bithuman/sdk/bithuman-examples/-/tree/main/swift/ios-expression2)
  A SwiftUI app with a talking character, rendered on the iPhone or iPad.

## Built with bitHuman

[bitHuman Live](https://www.bithuman.ai/live) is our own app: talk face to face with AI characters. We built it with the [bitHuman Flutter plugin](https://www.bithuman.ai/integrations/flutter)as 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](https://docs.bithuman.ai/pricing#plans)

**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)](https://docs.bithuman.ai/start/api-secret#what-a-shipped-app-holds)

**AI disclosure.** Tell your users they are talking to an AI. [Acceptable use](https://www.bithuman.ai/legal/acceptable-use)

**From a plan to a first avatar**

1. [Choose a plan](https://www.bithuman.ai/pricing). From 2026-10-19, API and SDK use requires the Creator plan or higher.
2. [Create an API secret](https://docs.bithuman.ai/start/api-secret). Create an API secret in the developer dashboard.
3. [Install an SDK](https://docs.bithuman.ai/start). 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](https://docs.bithuman.ai/models). 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 guide](https://docs.bithuman.ai/build/companion-app) [LiveKit](https://docs.bithuman.ai/platforms/livekit) [Performance](https://docs.bithuman.ai/performance) [Supported platforms](https://docs.bithuman.ai/platforms)

**For AI coding agents**

[llms.txt](https://docs.bithuman.ai/llms.txt) [llms-full.txt](https://docs.bithuman.ai/llms-full.txt) [OpenAPI](https://docs.bithuman.ai/api/openapi.yaml) [MCP server](https://docs.bithuman.ai/build/mcp)

**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](https://discord.gg/JtFz5Mra7w)
