Pricing

Pay only for what you use

Sauti speech-to-text and text-to-speech are billed per second of audio and per character of text, from a prepaid balance in Kenyan shillings. No subscription and no monthly fee.

Prices in KES, effective 5 October 2026. No VAT or other charges are added: you pay exactly the prices shown.

Prices per model, in Kenyan shillings
Modelasr-generaltts-fast
ServiceSpeech-to-textText-to-speech
EndpointPOST /v1/audio/transcriptionsPOST /v1/audio/speech
LanguagesSwahili and EnglishSwahili, with selectable voices
Longest request10 minutes of audio2,000 characters
Billed persecond of audiocharacter of text
Full audio / uploadKsh 1.90per audio minuteKsh 6.00per 1,000 characters
StreamingKsh 2.85per audio minuteKsh 9.00per 1,000 characters

Streaming costs 1.5× the full-audio rate. The same prices apply in the API and Playground, using account balance or an API key.

Streaming charges

Text-to-speech costs Ksh 9.00 per 1,000 characters. No audio means no charge. Once audio starts, the full text is charged, even if you stop playback.

Live transcription costs Ksh 2.85 per audio minute, billed per processed second including silence. Sessions take up to 60 seconds, with up to Ksh 2.85 held before starting. Stopping releases the unused hold. Waiting on an open connection adds no charge.

For example, 20 processed seconds cost Ksh 0.95; 160 text characters cost Ksh 1.44. Totals round up to the next cent.

How you're charged

  • Per request, from your balance. Each successful request is charged when it completes: its exact usage at the rates above, rounded up to the next cent. 20 seconds of audio costs Ksh 0.64, not the price of a whole minute.
  • Exact usage. Speech-to-text counts the seconds of audio we process, and a partial second counts as one. Text-to-speech counts the characters of the text you send, including spaces and punctuation.
  • Buffered failures are free. A buffered request that fails or is rejected is not charged.
  • A hold while a request runs. When a request starts, its largest possible cost is held from your balance: the exact cost for text, the length plus one second for WAV audio, and the 10-minute maximum (Ksh 19.00) for other audio formats. You pay only for what the request used, and the rest is released. If your balance can't cover the hold, the API returns 402 insufficient_balance and nothing is charged.
  • Safe buffered retries. Send an Idempotency-Key header: retrying with the same key within 24 hours returns the original response without charging again. Streaming does not support replay or this header; a new request can charge again.

Examples

RequestUsageCost
Transcribe a voice note20 sKsh 0.64
Transcribe a phone call4 min 10 sKsh 7.92
Transcribe the longest recording one request takes10 minKsh 19.00
Read out an SMS160 charactersKsh 0.96
Read out the longest text one request takes2,000 charactersKsh 12.00

Estimate your monthly bill

One request takes up to 600 seconds.
Per request
Ksh 1.43
Per month
Ksh 1,430.00

Speech-to-text is Ksh 1.90 per audio minute, billed per second of audio. Each request is rounded up to the next cent on its own, so this assumes your requests are about this length.

Paying

Top up your balance from Billing in the dashboard and pay through Paystack. You pay exactly the amount you top up, with no VAT or payment fees added. The minimum top-up is Ksh 50.00, enough for about 26 minutes of transcription or about 8,300 characters of speech. Your balance updates once Paystack confirms the payment, and every top-up and charge is listed under Billing.

Prices can change; this page always shows the rates in force. Questions about pricing? Email support@msingiai.com.

Start with a Ksh 50.00 top-up

Create an account, top up, and make your first request from the playground or the API.

Create account
Pricing | MsingiAI Platform