Skip to content
Avatars

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#

ProvideridUSD/minuteKeyNode plugin
LiveAvatar (HeyGen)liveavatar0.095LIVEAVATAR_API_KEYno
Beyond Presencebey0.0875BEY_API_KEYyes
bitHumanbithuman0.04BITHUMAN_API_KEYno
SimlisimliunpublishedSIMLI_API_KEYno
Anamanam0.11ANAM_API_KEYyes
Tavustavus0.32TAVUS_API_KEYyes
D-IDdid0.35DID_API_KEYyes
LemonSlicelemonslice0.21LEMONSLICE_API_KEYyes
ProtofaceprotofaceunpublishedPROTOFACE_API_KEYyes
TruGentrugenunpublishedTRUGEN_API_KEYyes

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_persona in favour of voice_agent within 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.

Up nextOverview