Prices are in US dollars. Before submitting paid work, check the service information endpoints (GET /v3/speech_to_text and GET /v3/translate) for current availability and configured rates, and request a free estimate. Only completed jobs are charged. Estimates, service information, job reads, usage requests and failed jobs are free.
| Service | Price | Billing unit |
|---|---|---|
| Completed-file speech-to-text API | $0.005 per audio minute | Decoded duration, rounded up to the next whole second. Each second costs $0.005 ÷ 60. Two-channel audio is billed once on its elapsed duration, not per channel. |
Standard text translation API (cpu) | $5 per million source code points | Unicode code points of the source text, including whitespace, for each target language. |
Enhanced text translation API (enhanced) | $25 per million source code points | Unicode code points of the source text, including whitespace, for each target language. |
Billing precision
Each job's cost is calculated exactly and rounded up to the nearest $0.000000001. Charges are debited from your balance in whole steps of $0.00001. Any smaller remainder is carried forward and added to your later jobs of the same service, so there is no per-file minimum and no amount is lost or charged twice. Speech-to-text and translation keep separate remainders.
A speech-to-text estimate, and the cost shown while a job is queued or running, use the duration in the file's metadata. The final charge uses the decoded duration, which can differ. Translation estimates use the same code-point count as the final charge. A translation job's rate is fixed when the job is created.
Examples
- A 60-second audio file costs $0.005.
- A 1-second file costs $0.000083334: $0.005 ÷ 60 = $0.0000833333…, rounded up.
- A file with a decoded duration of 90.5 seconds is billed as 91 seconds: 91 × $0.005 ÷ 60 = $0.0075833333…, shown as
costUsd0.007583334. - A 2-hour file, the maximum, is billed as 7,200 seconds and costs $0.60.
- Three 91-second files in a row, starting with no carried remainder, debit $0.00758, $0.00758 and $0.00759, a total of $0.02275, and carry $0.000000002 forward.
- Translating 1,000 source code points into one language costs $0.005 with standard translation or $0.025 with enhanced translation. Translating the same text into three target languages requires three jobs and costs $0.015 or $0.075 respectively.
- The largest single translation, 20,000 code points, costs $0.10 with standard translation or $0.50 with enhanced translation.
Charges and reuse
Estimates are free and do not reserve funds. For prepaid accounts, a new paid job is admitted only if the balance covers its estimated cost plus the estimated cost of all your queued, running and awaiting-payment speech-to-text and translation jobs. Otherwise the request returns 402 insufficient_balance. Accounts that are not prepaid are not blocked by balance checks, and their charges are still debited from the account balance.
When a paid job completes, its charge is recorded once in usage and debited in the same step that saves the result. Failed jobs are not charged. If a prepaid balance cannot cover the debit at that moment, the job becomes awaiting_payment. The result is saved but withheld until you add funds and settle the job, which does not repeat processing. To settle, make your balance at least the job's costUsd rounded up to the next $0.00001, because the debit can include a carried remainder.
An idempotent replay with the same key returns the existing job rather than charging for a duplicate submission. For translation, a new key with identical text, languages and engine also returns a matching job that has not failed, without a new processing charge, while the processing version is unchanged. For speech-to-text, a new key creates a new job even for an identical file, with a separate charge if processing completes successfully.
Hosted PBX recordings
Speech-to-text of a recording on a Hosted PBX owned by your account is free, and so is standard translation of that recording's transcript. Enhanced translation of a Hosted PBX recording's transcript is charged at the enhanced rate shown above. It is subject to the same balance checks and can await payment like an API job. These requests are made from the recording in the portal, not through the API endpoints, and a recording must have a completed transcript before it can be translated. They count toward the same per-account job limits and appear in usage with source hpbx.
The free rate applies only to these recording requests. Audio or text sent to the speech-to-text and translation API endpoints is billed at the API rates above, including a recording file you downloaded from your Hosted PBX. Request fields cannot select free processing: such fields are rejected. API charges go to the account that owns the credentials used, whichever of that account's credentials sends the request. Only completed jobs are charged. Estimates, reads, usage requests, idempotent replays, reused translation jobs and failed jobs add no charge.