Developers · Python
Real-time avatars from Python on Mac and Linux
pip install bithuman, load an avatar, push audio, and get lip-synced frames on your own machine — for desktop companions, kiosks and server pipelines. On Linux it renders both models on the CPU alone; a standard PC needs no GPU.
From 12 October 2026, API and SDK use requires the Creator plan or higher.
Install
pip install "bithuman[expression-2]"What you need: API secret (from the docs)
Add a conversation
conversation.py in the quickstart
Your microphone goes to OpenAI Realtime with your own key, and the avatar answers in a window on your machine.
The LiveKit plugin, for servers
Give a LiveKit voice agent a face rendered on your own server, or a bitHuman cloud avatar. The worker holds your API secret as BITHUMAN_MASTER_SECRET and, for a cloud avatar, mints a one-hour token per session, so the secret stays on your server.
When the avatar renders in your app on the device and you use your own voice and language services, bitHuman receives usage metering only, never audio, video or conversation text.
Requirements
- Python 3.10–3.14 on macOS 14 or newer with Apple silicon, or on Linux x86_64 or arm64.
- Install into a virtual environment; the package installs no command-line tool (the CLI is a separate binary).
What it costs
| Item | On the device (Essence 2, Expression 2) | bitHuman cloud avatar | Managed voice chat (all-inclusive) |
|---|---|---|---|
| Credits per minute of active session time | 2 | 4 | 10 |
| At top-up rates ($1 = 100 credits) | about $0.02 | about $0.04 | about $0.10 |
From 12 October 2026, API and SDK use requires the Creator plan or higher.
Rates from GET https://api.bithuman.ai/v1/pricing, as published on docs.bithuman.ai/pricing.
Examples you can clone

Python quickstart
Open an avatar, play speech through it and watch it talk; conversation.py adds a voice conversation.
Python · Mac, Linux

Python with LiveKit
A voice agent with a face: rendered on your own machine, or a bitHuman cloud avatar in your LiveKit room.
Python · Mac, Linux, LiveKit

Gradio web demo
Talk to an avatar in the browser through a Gradio page.
Python · Web (Python)
Before you ship
Keep the API secret on the machine that renders, in an environment variable or a secret store, never in source control. Give each app its own secret so you can rotate one without touching the others.
Not available on this platform
- Native Windows: use WSL2.
- Intel Macs.
