Text to Speech API

One endpoint, every major voice model. Send text to /v1/audio/speech with the model you want and get back a hosted audio file. Priced per character of input, paid per call, no account.

15 models from 6 providers: xAI, OpenAI, MiniMax, Inworld, Google, ElevenLabs.

Models

ModelProviderPrice
grok-ttsxAI$0.000028 Per character
tts-1-hdOpenAI$0.000054 Per character
tts-1OpenAI$0.000028 Per character
speech-2.8-turboMiniMax$0.000108 Per character
speech-2.8-hdMiniMax$0.000180 Per character
tts-2Inworld$0.000063 Per character
tts-1.5-maxInworld$0.000063 Per character
tts-1.5-miniInworld$0.000046 Per character
gemini-3.1-flash-ttsGoogle$0.000039 Per character
eleven-v3ElevenLabs$0.000120 Per character
eleven-multilingual-v2ElevenLabs$0.000120 Per character
eleven-turbo-v2-5ElevenLabs$0.000060 Per character
eleven-flash-v2-5ElevenLabs$0.000060 Per character
gemini-3.8-flash-ttsGoogle$0.000029 Per character
gemini-3.8-flash-lite-ttsGoogle$0.000020 Per character

Call it

The first response is 402 with the exact price and every way to pay. Pay, repeat the request with the proof, and you get the result.

curl -X POST https://api.glianalabs.com/v1/audio/speech \
  -H 'content-type: application/json' \
  -d '{"model":"grok-tts","input":"Selamat pagi! Your order has shipped."}'

How it works

The endpoint follows the OpenAI audio/speech shape: `input` is the text and `model` picks the provider. Each model keeps its own options (voice, speed, output format), listed by GET /v1/schema?model=<id>. The audio is stored and returned as a stable URL.

Limits worth knowing

The price scales with the length of the text, so it is quoted for the exact request before you pay. Voices and languages differ by model; check the schema rather than assuming one model has another’s voice. Audio URLs expire after 7 days, so download what you keep.

Questions

How is text to speech priced?

Per character of input, at each model’s own rate. GET /v1/price returns the exact cost of a request before you send it.

Can I keep using the OpenAI SDK?

Yes. The request shape matches OpenAI’s audio/speech, so point the SDK’s base URL at https://api.glianalabs.com/v1 and wrap its fetch with a payment client.

Which languages are supported?

It depends on the model. Multilingual models such as ElevenLabs Multilingual v2 and Google’s Gemini TTS cover Indonesian and many others; the schema for each model lists its language options.

Is there a free tier?

No. Every call is paid individually, with no plan or minimum. A request that fails validation is refused before it runs, so it is never charged.

Do I need an account or an API key?

No. The first response is HTTP 402 with the exact price; pay it with USDC from your own wallet and repeat the request. To prepay instead, top up a balance in rupiah and send a gk_ key.

More from the same API