Pricing and cost estimates
See what each request costs, what your credits buy, and what every response was billed for.
Credits are the currency: 1 credit = $0.001, so 1,000 credits = $1.00. Plans differ in how many credits they include, not in the per-minute rate. The rate depends on the language band, and on whether you use real-time or batch transcription. The price list below is the list rate for every plan: an organization with a negotiated rate sees the difference as multipliers.organization in an estimate, below 1 for a discount and above 1 for a premium, and only for that organization.
How credits turn into minutes
Every rate is published in credits per minute of audio. Divide your balance by the rate to see how many minutes it buys.
For example, if a band costs 12 credits per minute in real-time, 5,000 credits buy about 416 minutes of audio in that band. A language in a more specialised band costs more per minute, so the same balance buys fewer minutes. Use the price list below for the current rates, and the estimate endpoint to do the arithmetic for your own usage.
How audio is measured:
- Prices are per minute, metered by the second. A fraction of a minute is billed as that fraction, not rounded up.
- Real-time transcription is billed on speech time only. Silence is not billed.
- Every request has a minimum charge of 0.1 credit.
- Speaker diarization doubles the speech-to-text rate. A paid rate-limit bypass doubles the cost of every request. Both together multiply the rate by 4.
Price list
GET /v1/pricing returns every band and language. It is cacheable for five minutes.
cURL
curl https://api.glotlabs.ai/v1/pricing
Response
Each rate has credits_per_minute and usd_per_hour. A few Regional languages are billed at the Standard rate in batch mode, which is why a language lists both band and batch_band. batch_supported is false for languages that work in real-time but are not yet accepted by the batch endpoint, and asking the estimate for one of those in batch mode returns 400 with STT_BILLING_MODE_UNSUPPORTED.
Estimate a request
This endpoint requires authentication. Include your API key in the Authorization header. It
charges nothing.
POST /v1/estimate returns the cost of a request before you make it, and how long your current balance lasts at that rate.
Request body
cURL
curl -X POST https://api.glotlabs.ai/v1/estimate \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"product": "stt",
"language": "vietnamese",
"mode": "batch",
"duration_seconds": 3600
}'
Response
multipliers.organization is 1 unless your organization has a negotiated rate.
A language that has no price returns 400 with the code STT_BILLING_LANGUAGE_UNSUPPORTED, the same as a transcription request would. A language that has a price but is not served in the requested mode returns 400 with STT_BILLING_MODE_UNSUPPORTED; retry in streaming rather than changing language.
What each response was billed for
Billed responses tell you what the credits bought.
Real-time sessions send a session.billing message when they end, with billed_seconds, credits_used, band and charge_failed. It is sent for every session with a user, including one that was stopped because the balance ran out. charge_failed is false when the session was charged in full and true when it was not, and on that path billed_seconds counts only the seconds that were charged while uncharged_seconds names the rest, so the two always add up to the session length. For a session that detects the language automatically, band is mixed.