The platform fee
Text carries no platform fee of any kind. A text conversation costs your workspace exactly what its own language-model key was charged and nothing more, so a text agent draws on your credit balance only if you count zero as drawing on it.
Minutes are the call’s own duration, billed to the second and priced per minute. There is no per-call minimum, no connection fee and no monthly charge.
The fee is waived on a failed call
A call that never worked does not earn us a margin. When a call ends for one of these reasons the platform fee is not charged — your provider spend on it still stands, because those providers were paid regardless:error, stale, job_shutdown, job crashed, orphaned, unknown, avatar_start_failed, invalid_dispatch_metadata, missing_dispatch_metadata, unknown_tenant, missing_published_definition, rejected, insufficient_credits, and any reason ending in _failed.
A call with no close reason at all is treated as a normal completion and charged. That is deliberate: the failure list is explicit, with no substring guessing.
Credits
Credits are a prepaid balance in USD that the platform fee is drawn against. There is one balance per region. It is a regional record, like everything else a workspace owns, so you can hold 0 in the United States — and in that state, calls in the United States are refused while calls in India run. Nothing transfers between regions. Every balance, ledger and banner in the dashboard is labelled with the region it belongs to; see regions.Reading the balance
Any member can read it.GET /v1/billing/credits returns this region’s balance, what it buys at today’s rates, the warning threshold and the packs on sale.
voice_minutes_remaining and video_minutes_remaining are the balance divided by that channel’s platform fee. They say how much fee you can still pay, not what a call will cost you all in — your provider spend is on top and is not counted here.
The signup credit
The workspace created for you at your first sign-in is granted $10 in every region. That is enough platform fee for roughly 2,800 minutes of voice, so the fee side of your first calls costs you nothing. Your provider bills are still your own. It is granted once. A second workspace you create yourself starts at $0 in every region — the grant belongs to the account you signed up with, not to each workspace you go on to make.Buying more
Credit is sold in fixed packs. The pack id is the amount.
There is no arbitrary amount and no subscription. Only an ADMIN can buy — spending the workspace’s money is an admin act, the same as storing a provider key.
Starting a purchase returns a hosted checkout URL to open in a browser; the card details never touch Talqing. In the dashboard this is Settings → Billing.
topup_status on that response tells you whether the processor has confirmed the payment (pending, paid, failed, cancelled, refunded) so you can tell “still waiting on the card” from “paid, landing now”.
The low-balance warning
Below $2 the dashboard shows a low-credit banner. It warns and never blocks. Calls keep running and new ones keep starting until the balance actually reaches zero. The threshold is served with the balance rather than hard-coded in the browser, solow_balance_threshold is always the real one.
Running out
The whole check isbalance > 0. There is no reservation, no forecast of what a call might cost and no floor — only whether there is anything left at all.
Starting a new call is refused. It is checked when you mint a web call token, when you place an outbound call, when a batch dials, and when an inbound phone call arrives.
The
402 body is the standard error envelope:
close_reason: "insufficient_credits" and is itself never charged — it is on the waived list, so being out of credit cannot push you further into debt.
A call already running is never interrupted. Nobody is cut off mid-sentence because a balance crossed zero. The consequence is that the balance can end up slightly negative — by that one call’s own fee — and the ledger is signed, so the next top-up pays the debt off first.
A batch pauses rather than fails. When a running call batch finds no credit, that dialling pass does nothing and the batch stays running with its reason shown on the batch page. Add credit and it resumes on its own, with no button to press. The check is per pass, never per recipient, so nobody burns a retry attempt on a call that was never dialled.
The ledger
Every movement of the balance is a row, newest first, each carrying the balance it produced and a pointer to what caused it.GET /v1/billing/credits/ledger.
usage row is written only when there is a fee to take: a text session and a failed call move the balance by nothing, and a ledger a customer reads should not be full of rows saying we took nothing. Re-pricing a call — an analysis backfill, say — cannot debit it twice.
Estimating what an agent costs per minute
The platform fee is fixed and known. Provider spend is not, and it is almost always the larger number, so estimate it before you run anything at volume. In the dashboard, the agent editor’s right rail shows a live per-minute estimate for the current draft, broken intoSTT, LLM, TTS (or Realtime), Avatar and Platform. It moves as you change models, so it is the fastest way to compare two stacks.
Over the API, GET /v1/catalog serves both halves of the arithmetic: each entry’s real provider rates, and a cost_estimate_usage_per_minute block giving the quantities a spoken minute is assumed to use — 800 input and 250 output tokens of language model, 900 characters of speech, 60 seconds of streaming speech-to-text (20 for a batch model, since it only ever sees the caller’s own utterances).
Worked through for a common English stack — Deepgram nova-3-general, OpenAI gpt-5.4-mini, Deepgram aura-2:
So roughly four cents a minute, of which about a third of a cent is ours. Swap the voice for ElevenLabs
eleven_flash_v2_5 at 0.056 — the platform fee does not move.
These are estimates from assumed quantities, not a quote. What you are actually billed comes from the tokens, characters and seconds each provider metered on the real call, and you can read all of it per call. See costs.
Next
Provider keys
The other half of the bill, and the one we never touch.
Costs
What one call actually cost, line by line.
Regions
Why the balance is per region and what that means in practice.