Speech to text API pricing: cost per minute and per hour

Speech to text API pricing is a rate per minute of audio. Sume's STT rate, what it includes, what an hour costs, and the per-request limits.

4 min readSume
All posts

Speech to text API pricing is a rate per minute of audio, so an hour of recordings costs 60 times the per-minute rate. Sume's speech-to-text API (STT 1.0) charges $0.01 per audio minute, plus a 5.5% agent fee by default, which puts one hour of audio at $0.60 before the fee.

The rate is read from the code behind API pricing. What a request takes and returns comes from the STT schema in the Sume API reference, the OpenAPI document behind the API reference docs; billing behavior comes from Usage and Generation admission. All read on 2026-09-29.

How much does speech to text cost at my volume?

One request takes at most 10 minutes of audio, so longer recordings go in several requests at the same per-minute rate. The request counts below assume each part is 10 minutes or less; How to transcribe long audio files covers splitting and re-basing timestamps.

Computed from the Speech transcription row on API pricing ($0.01 per audio minute) and the 10-minute request limit in the Sume API reference, read 2026-09-29. Before the 5.5% agent fee.
AudioMinutesRequestsSTT price
1 minute11$0.01
10 minutes (one maximum request)101$0.10
1 hour606$0.60
10 hours60060$6.00
100 hours6,000600$60.00

What does the per-minute price include?

A completed job returns the transcript text, language fields when available, and word-level timings in words[], in seconds from the audio start. The API reference says word timings are always returned, with no flag to turn them on and no extra line for them on the rate card; in current code a word's start and end are optional, so check for them. Speech to text API with word timestamps covers the request.

  • Sentences: send segmentation: { "mode": "sentence" } to also get sentence segments built from the word timings.
  • Language: language_code is optional; omit it for auto-detect.
  • Speakers: not included. diarize is fixed server-side and a request that sends it is refused, so the transcript has no speaker labels. How to transcribe an interview covers labeling speakers yourself.

How is a request billed?

When Sume accepts a request, it reserves the estimated cost from your balance; a successful job captures it, and a failed job releases or refunds the reservation. The estimate comes from duration_seconds, an optional field from 1 to 600. Omit it and Sume reserves for 1 minute.

  • Send duration_seconds when you know the length, so the reservation matches the file.
  • GET /v1/usage?job_id=… sums what one job cost; debited_usd is what the wallet deducted.
  • A submit that can't reserve the estimate fails with 402 insufficient_credits before any work starts.

What are the limits?

  • Input: audio_url, a public HTTPS URL to the audio. There is no file upload in the request.
  • Length: at most 10 minutes of audio per request.
  • Waiting: mode: sync waits at most 30 seconds; after that, poll the job or use a webhook.
  • Results: /result returns 409 job_not_completed until result_ready is true.

Sources

Related posts

More in Pricing

All Pricing posts

Written by Sume