Skip to main content

Text-to-speech

For longer inputs, split on sentence/paragraph boundaries and synthesize in parallel, or use tts.stream() which chunks for you. Output format
  • tts.create / /v1/tts: WAV — 24 kHz, 16-bit PCM, mono.
  • /v1/audio/speech: wav or pcm (raw 16-bit PCM @ 24 kHz).
  • tts.stream / /v1/tts/stream: a sequence of WAV chunks (framed).
  • MP3 / Opus / µ-law are not native yet — convert with ffmpeg (roadmap).

Speech-to-text

Output format. JSON. Transcripts are lowercase and unpunctuated — the model’s output vocabulary contains no capitals and no punctuation, so nothing is being stripped. Punctuation and truecasing are on the roadmap. Word timestamps. Add ?timestamps=true for words and segments with start/end times in seconds — free, since the alignment comes out of the same decode pass. srt, vtt and verbose_json all work on the OpenAI-compatible endpoint. Precision is tens of milliseconds; speaker diarization is on the roadmap. See word-level timestamps. There is deliberately no language parameter — see the STT overview for why.

Models & voices

  • Text-to-speech: tokay-kk-v1 (Kazakh) with six voices (Aigerim default). New models/languages appear on GET /v1/models.
  • Speech-to-text: seta-kk-ru-v2 (Kazakh + Russian, code-switching). Listed by geko.stt.models().
  • Always fetch /v1/voices rather than hard-coding the catalog.

Rate limits

There is no hard per-second rate limit today on either product — throughput is bounded by your credit balance. Requests run concurrently; the SDK does not serialize them. (Explicit rate limiting may arrive later.)

Cold starts

Both GPU backends scale to zero when idle to save cost, so the first request after an idle period can take tens of seconds; subsequent calls (within a few minutes) are fast. The SDK’s default 120 s timeout is sized for this. The two services warm independently — a synthesis call does not warm the transcriber, or vice versa. If you need both hot for a live session, pre-warm both. See Latency & quality for tuning and keep-warm tips.

Next steps

Latency & quality

Tune the nfe dial and handle cold starts.

Streaming

Chunk long inputs to start playback sooner.

Billing & credits

Throughput is bounded by your credit balance.

Errors & retries

What happens when a request exceeds a limit.