Pricing and credits
Every rate per model and platform, creation costs, plans and offline licensing.
Prices are in credits; at the top-up rate, 4 credits a minute is about $0.04. How billing works sets out what is billed and how. Everything bills against your API secret. To estimate a month or an app, use the estimate; your balance is on the Billing API.
How billing works
- In the bitHuman cloud, credits pay for active session time, talking or idle, by the exact second.
- On your own devices or servers, online sessions with current versions of the Essence 2 and Expression 2 SDKs and the bitHuman CLI charge credits only for the seconds the character is speaking.
- Counted as speaking time for now: an Expression 2 avatar without an idle animation while it waits, the short pause after each reply, and the CLI’s Essence 2
--offscreenmode. We are changing this in the SDKs and the CLI. - Talking videos: whole minutes of output, minimum one.
- Rates: Essence 2 and Expression 2 use 2 credits a minute on the device or your servers and 4 credits a minute in the bitHuman cloud; a managed agent’s voice chat is 10 credits a minute, all-inclusive. Essence 1: 1 credit a minute on your own machine, 2 in the bitHuman cloud.
- Offline: priced per character, not by usage; see Offline licensing below.
- Sessions that don’t report speaking time (older SDK versions, and some Essence 1 sessions through the bitHuman Python SDK): on your own devices or servers, a session is charged at most 22% of its connected time with idle time removed, at the same rate, up to 60 billed minutes a session per day (UTC) and never more than its full connected time would cost. Questions? Contact support.
Serving — credits per live minute
| Model | Cloud | Self-hosted and on-device |
|---|---|---|
Essence 2 (essence-2) | 4 credits/min | 2 credits/min |
Expression 2 (expression-2) | 4 credits/min | 2 credits/min |
Essence 1 (essence-1) | 2 credits/min | 1 credit/min |
Expression 1 (expression-1) | 4 credits/min | — |
A managed conversational agent bills one all-inclusive rate: it covers the avatar, whether it renders in the bitHuman cloud or in the viewer’s browser.
| Surface | Rate |
|---|---|
| Managed voice chat (all-inclusive) | 10 credits/min |
| Managed voice chat, camera on (vision; replaces the voice chat rate) | 30 credits/min |
An avatar-only session (your own agent through the plugin or the API) that renders in the viewer’s browser bills the model’s self-hosted rate above. Inside a managed agent’s chat the all-inclusive rate covers it.
How sessions in the bitHuman cloud are billed: active session time, talking or idle: exact seconds x rate / 60, rounded down per session with the remainder carried to your next session; no minimum.
Two ways to pay for a live avatar:
- Avatar only: you bring the conversation (your own speech-to-text, language model and voice, through an SDK, the plugin or the API) and pay only the model’s rate in the first table.
- Managed agent: bitHuman runs the whole conversation (listening, the replies, the voice) and the avatar, as in the web embed, for one all-inclusive rate in the second table.
A stopped or disconnected session accrues nothing.
On a phone or a Mac, a session ends on its own once its app has been in the background, or has asked for no frame, for 60 seconds, and is billed up to that point. This applies from Swift package 2.20.4, essence2-android 0.9.5, expression2-android 0.6.1 and Flutter plugin 2.6.37. File rendering (bithuman render, or render() in the Python SDK) bills the duration of the video it writes, at the self-hosted rate.
Expression 1 (expression-1) runs on NVIDIA GPUs in the bitHuman cloud.
Creation — one-time credits
| Action | Credits |
|---|---|
Create an agent: essence-1 or expression-1 | 250 |
Create an agent: essence-2 | 500 |
Create an agent: expression-2 | 2000 |
Create an agent: auto | the routed model’s rate (500 or 2000) |
| Add a model to an agent | the same per-model rates; 0 for Expression 1 |
| Generate gestures for an Essence 1 agent (Gestures); paused for now, nothing is charged | 250 |
A failed creation is refunded automatically. GET /v1/pricing returns this schedule as JSON; send your API secret in the api-secret header.
Talking video — per minute of output
Talking-video renders bill per minute of finished output, rounded up, minimum one minute. A failed render is refunded.
| Model | Per minute of output |
|---|---|
essence-2 | 4 credits |
expression-2 | 4 credits |
essence-1 | 2 credits |
expression-1 | 4 credits |
Plans
API and SDK use needs the Creator plan or higher: since 2026-10-18 at 8:00 PM ET a Free account’s API secret is refused with 403 PLAN_REQUIRED. A Free account can try the sample avatars on bithuman.ai, but cannot create agents or buy credit top-ups. Refusals and fixes: Plan and credit refusals. Choose a plan.
| Plan | Monthly | Yearly | Credits / month | Agents | Concurrent cloud sessions |
|---|---|---|---|---|---|
| Free | $0 | — | 99 | none: cannot create | 1 |
| Creator | $20 | $204 | 2,000 | 7 | 3 |
| Pro | $99 | $1,010 | 12,000 | 40 | 10 |
| Business | $299 | $2,990 | 50,000 | 200 | 50 |
| Enterprise | $999 | $9,990 | 250,000 | 1,000 | 200 |
| Custom | Contact sales | — | by agreement | by agreement | by agreement |
Annual plans bill twelve months of credits up front. Switching to a cheaper plan takes effect at your next renewal: you keep your current plan’s credits until then.
- Agents: a creation over your plan’s limit returns
403 AGENT_LIMIT_REACHED, with anupgrade_url. Existing agents keep working. - Concurrent sessions limit live cloud sessions; a session over the limit is refused with
403 CONCURRENCY_LIMIT_REACHED, with anupgrade_url(rate limits). Self-hosted and on-device sessions are limited only by credits. - Creation costs credits: a creation you cannot pay for returns
402 INSUFFICIENT_BALANCE, with atopup_url, and creates nothing.
Top-up credits
On the Creator plan or higher, top up any time at $1 = 100 credits. Top-up credits are spent after plan credits.
Connectivity
| Situation | What happens |
|---|---|
| No API secret, or a rejected one, at the start | the session does not start |
| No network when a session starts | the session does not start; retry when connected |
| The network drops after the session started | the session continues for 5 minutes, then pauses until the connection returns; usage is reported when it does |
| Credits run out | the session stops at the next usage report; top up to continue |
Offline licensing
Offline license is only available to Business and Enterprise clients who want to run realtime avatars completely locally, off the internet — e.g. kiosks, trade shows, ATM machines, embedded screens. Linux x86_64: Expression 2 now; Essence 1 and Essence 2 come later. Arranged through sales.
1 character $899 · 5 for $2,990 · 25 for $9,900 (Business) · 100 for $24,900 (Enterprise). Unlimited: by quote.
Your licenses work while your Business or Enterprise plan is active. If the plan ends, they keep working for 30 days, then the characters stop loading until a plan is active again. Offline devices connect before the license file runs out: about once a year on an annual plan, at least every 30 days on a monthly plan. Setup: Fully offline.
Contact sales to arrange an offline license.
What is not billed
- Stopped or disconnected sessions.
- API secrets, SDK installs and model downloads.
- Failed creations and renders (refunded) and failed authentication.
Next
This section moved: docs.bithuman.ai/pricing/estimate#estimate-a-month
This section moved: docs.bithuman.ai/pricing/estimate#budget-an-app
This section moved: docs.bithuman.ai/api/billing#check-credit-balance