Modelworks

Text in. Audio out. Twelve dollars per million characters.

A hosted speech API on open-weight models. Text-to-speech is the first product, not the only one: this page sells what runs today, and the same gateway carries whatever comes next. No subscription, no minimum, and the text you send is discarded when the request completes.

Buy 1M characters - $12 or get 250,000 free, no card

Hear it

Five of the 54 voices, from Kokoro v1.0, the model the API runs. Each sample is one sentence of the kind of text that voice would actually read, at the 24 kHz mono the API returns.

  • Audiobook, American Englishaf_heart
  • E-learning, American English, maleam_michael
  • Podcast, British Englishbf_emma
  • Hindi, femalehf_alpha
  • Hindi, malehm_omega

Not every voice in the list is as strong as these five, and voice quality varies with how much training audio each one had. That is what the free tier is for: run your own text through the voice you want before you buy. All 54 voices, one line each, or the full list in the docs.

What it costs

GenerationPer million charactersPer hour of audioPer minute
$12.00~$0.60~$0.010

The first 250,000 characters are free - four to six hours of audio, enough to know whether the quality is good enough for your product.

An hour of speech is about 50,000 characters at a typical reading pace. Fast-reading voices run to 60,000, slow ones to 43,000, so an hour costs between $0.52 and $0.71. A customer generating an hour a day pays about $18 a month.

Where $12 sits

Every figure below is from the vendor's own pricing page, read 6 to 9 October 2026.

VendorPer million charactersNote
Google Standard$4covers Hindi and Tamil
Speechify~$6.40derived from their $499 tier
Unreal Speech$8 to $10serves the same open-weight model we do
Everlit$8 Latin, $12 Indicpriced by script
Modelworks$12
Amazon Polly Neural$16Duolingo's stack runs on this tier
Google WaveNet / Neural2$16

Above the commodity tiers, below the managed ones - parity with Everlit on Indic, a quarter below Polly Neural and Google's mid tiers, and a fraction of the per-character cost of the managed voice platforms. The table is the market as published, so you can place us against whatever you use today.

What you are buying at $12 is not a lower per-character rate. It is the four things below, and they are the reason this is a different product rather than a cheaper one.

The four reasons

Your content is not retained. Text you send and audio you get back are discarded when the request completes. Request metadata only, 30 days. The cheapest endpoints keep content and several say so in their own terms; if your content is regulated, customer-owned, or simply not yours to leave lying around, that difference is the entire purchase.

A published DPA that incorporates the EU Standard Contractual Clauses, Module Two. Read it before you sign up, not after procurement asks: the security annex and the transfer assessment are part of it. India is not an EU adequacy country, so an EU buyer cannot use a cheap endpoint without one at all.

A sub-processor list short enough to read in a minute. No analytics, no error-tracking SaaS, no support platform, no LLM provider. Every row says what that party can actually see.

Somebody answers. A named operator who replies to email and ships the fix.

Everything else is commodity: same weights, same output, priced by the character. These four are what the price is for.

What it is built for

Batch work where quality and cost matter more than milliseconds. Audiobooks, e-learning, podcast repurposing, media archives, audio-only dubbing - anything queue-shaped, where a voice has to sound right and a million characters has to cost twelve dollars.

Text that is not yours to leave lying around. Customer documents, regulated content, unpublished manuscripts. The request is discarded when it completes, so there is nothing to leak later.

Work that has to be checkable. A published sub-processor list, a DPA you can read before signing, and a status page that carries the latency actually measured on the running deployment.

Start with the free tier

Email support@modelworks.dev with what you are building and roughly how many characters a month you expect. You get a key and 250,000 free characters; no card.

The API is OpenAI-compatible, so an existing client works with two fields changed:

curl https://api.modelworks.dev/v1/audio/speech \
  -H "Authorization: Bearer $MODELWORKS_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"kokoro","voice":"af_sarah","input":"Text to read aloud."}' \
  --output speech.mp3

54 voices, including four Hindi voices (two female, two male). The full list is in the docs.