Providers and pricing
Ten vendors, their published per-minute prices, and what each caveat means.
Ten vendors, ordered by how likely you are to reach for them rather than
alphabetically. The catalogue lives in code and is returned live by
list_avatar_providers — prefer asking it over trusting
this table, which is a copy.
The table#
| Provider | id | USD/minute | Key | Node plugin |
|---|---|---|---|---|
| LiveAvatar (HeyGen) | liveavatar | 0.095 | LIVEAVATAR_API_KEY | no |
| Beyond Presence | bey | 0.0875 | BEY_API_KEY | yes |
| bitHuman | bithuman | 0.04 | BITHUMAN_API_KEY | no |
| Simli | simli | unpublished | SIMLI_API_KEY | no |
| Anam | anam | 0.11 | ANAM_API_KEY | yes |
| Tavus | tavus | 0.32 | TAVUS_API_KEY | yes |
| D-ID | did | 0.35 | DID_API_KEY | yes |
| LemonSlice | lemonslice | 0.21 | LEMONSLICE_API_KEY | yes |
| Protoface | protoface | unpublished | PROTOFACE_API_KEY | yes |
| TruGen | trugen | unpublished | TRUGEN_API_KEY | yes |
These prices are ordering hints, never the number in a client quote. They were researched in August 2026 and every one is a secondary source. Unpublished means unpublished — not free, and not to be guessed at.
The caveats, which are the useful part#
- LiveAvatar (HeyGen) deprecated
avatar_personain favour ofvoice_agentwithin four months of shipping it. Expect churn. - Beyond Presence sells a dedicated speech-to-video SKU at roughly half its managed-agent price. Ask for that one.
- bitHuman claims CPU-only inference at 25fps and a self-hostable SDK. If that holds it is the cheapest sovereign path in the table — verify before betting on it.
- Simli was quoted at both $0.009 and $0.05 per minute by different sources and the discrepancy is unresolved. Confirm directly.
- Tavus is the most expensive here and is sold as a managed pipeline rather than raw audio-in, so the comparison is not like for like.
Available is not the same as listed#
{ "name": "list_avatar_providers", "arguments": { "available": true } }
With available: true you get only the vendors whose key is actually set in
this environment. The full list will happily name one that 401s at call time,
which is a failure that surfaces mid-conversation.
The same distinction on HTTP: GET /providers/avatar?available=true.
Control plane API
Which to choose#
- Cheapest, if its claims hold: bitHuman, and it is the only one that might let you stop paying per minute altogether.
- Most established: LiveAvatar, with the churn caveat attached.
- Node worker: six of the ten ship a Node plugin. The worker runtime here is Python, so that column is informational rather than a constraint.
Validate the choice with GET /providers/avatar/<id> before a call is
attempted rather than during one — an unknown provider is a 404 you can handle,
and a 401 mid-call is one you cannot.