Realtime
Live talking faces — not pre-rendered
Real-time facial animation from a single portrait. Self-hostable on NVIDIA GPUs and Apple Silicon (M3+).
- 41-45 FPSreal-time on M3 / RTX 4090
- On-deviceGPU or Apple Silicon
- Self-hostableyour infrastructure
41-45 FPS real-time
Modern GPUs and Apple Silicon (M3+) — responsive enough for live conversation.
Stable motion
Cuts flicker and jitter that make avatars feel synthetic.
Beyond lip-sync
Head motion, expression, and speech-driven emotion — not just mouth movement.
Self-hostable
NVIDIA GPUs or Apple Silicon, on your own infrastructure.
Quickstart
Pass any portrait as the identity, grab an API secret, stream real-time animation.
# pip install bithuman
import asyncio
from bithuman import Bithuman
async def main():
# Expression takes any portrait as identity and generates expressions on-device.
bh = Bithuman(
api_secret="YOUR_API_SECRET",
model="expression.imx",
identity="portrait.jpg",
)
async for frame in bh.speak("Hello, I'm an Expression avatar."):
# Real-time RGB frame on NVIDIA GPU or Apple Silicon (M3+)
handle(frame)
asyncio.run(main())Technical details
Flow matching
Learns a smooth path from a still portrait to natural facial motion in a few steps — not many trial-and-correct passes — giving fast, stable results.
Performance
41-45 FPS on modern GPUs and Apple Silicon (M3+), with extra headroom from flow matching's few-step generation.
Use cases
- Live conversation agents
- Customer support avatars
- Talking video with real-time delivery
Build with bitHuman Expression
Ship your first character in minutes — from local prototype to production at scale.
