- Text-to-speech — send a string and a voice name, get audio back. Speaks Kazakh today (
tokay-kk-v1) in six named voices. - Speech-to-text — send audio, get text back. Recognises Kazakh and Russian (
seta-kk-ru-v2), including a speaker switching language mid-sentence, at 8.71% WER where Whisper large-v3 scores 44.95% on the same audio.
Quickstart
From an API key to audio and back to text, in under a minute.
Text-to-speech
Voices, streaming, and the quality dial.
Speech-to-text
Transcribe Kazakh/Russian audio, code-switching included.
Add it to your app
A safe server-side pattern for Next.js, Express, and beyond.
what you can build
Voice agents & IVR
Both ends of the loop — transcribe the caller, speak the reply, low latency.
Call & meeting transcripts
Turn recordings into searchable text, telephony audio included.
Notifications & alerts
Turn order updates, reminders, and statuses into spoken Kazakh.
Content & narration
Narrate articles, lessons, and audiobooks with named voices.
try it in one line
No signup code required — grab a key and run:the API in a nutshell
Synthesis takes text + a voice and returns WAV (24 kHz, 16-bit PCM, mono). Transcription takes audio and returns JSON with the text. The surface is small:
Base URLs. Text-to-speech:
https://geko--tokay-serve-web.modal.run. Speech-to-text: https://geko--seta-serve-transcriber-api.modal.run. Two separately scaled GPU services — the SDK hides the split, so one client and one key reach both.
TypeScript SDK
npm i @gekoai/sdk → geko.tts.create(...) / geko.stt.transcribe(...).HTTP API reference
Every endpoint, request/response shape, and error code.
Voices
Six Kazakh voices — audition and pick by ear.
Billing & credits
One balance: 0.36 / audio-hour, $1.00 free to start.
New here? Grab a key at app.geko.sh — new accounts get $1.00 free — then head to the quickstart.