Skip to main content
Seta turns speech into text. Send audio, get a transcript. It recognises Kazakh and Russian (model seta-kk-ru-v2), and — unlike every general-purpose ASR — it handles a speaker switching between them mid-sentence, because it was never asked to pick one. Your existing key works. One API key covers text-to-speech and speech-to-text, and both draw down the same credit balance — nothing new to provision.

Accuracy

8.71% WER on KSC2. Whisper large-v3 scores 44.95% on the same audio.

Drop-in for Whisper

Change baseURL on your OpenAI client. That’s the whole migration.

try it in one line

The transcript goes to stdout and the cost line to stderr, so > transcript.txt captures only the text.

from code

Or skip the upload entirely and let the server fetch it:

what comes back

audio_seconds is what you pay for. x_realtime is how many times faster than real time the transcription ran.
Transcripts are lowercase and unpunctuated. That is not post-processing — the model’s output vocabulary contains no capitals and no punctuation, so nothing is being stripped. Punctuation and truecasing are on the roadmap.

why there is no language parameter

Kazakh and Russian share one 70-character output vocabulary — the full Kazakh alphabet (42 letters), the full Russian alphabet (33), and Latin a–z. Both languages live in the same output space, so the model never has to be told which one it is hearing, and a speaker can switch inside a single word without the model switching anything. This is the whole architectural bet, and it is why Seta is not built on Whisper. Whisper must be told one language per utterance, which makes genuine code-switching impossible to represent, and it scores 37–49% WER on Kazakh regardless. See accuracy for the head-to-head. language, prompt and temperature are accepted on the OpenAI-compatible endpoint, and ignored, so existing clients keep working.

audio you can send

Telephony audio is fine: on simulated 8 kHz G.711 μ-law, accuracy drops only 8% relative (8.71% → 9.41% WER), versus the 30–80% typical for models not adapted to narrowband.

what it costs

Same credit pool as text-to-speech. Estimate before you spend, with no request:
Out of credits returns HTTP 429 on both products, since it is one balance. The catalog endpoints (/v1/models, /health) are open and free.

latency and cold starts

Warm, a short clip transcribes in ~0.15 s (about 18× real time). The GPU scales to zero when idle, so the first request after a quiet period pays a cold start of roughly 20–30 s — and the first transcription in a fresh container costs ~1.9 s while CUDA kernels warm up. If you need predictable latency for a demo or a call window, ask us to pin a warm container.

Accuracy & benchmarks

Per-domain WER, telephony, and comparisons against Whisper and ISSAI.

Billing & credits

One balance across both products.

TypeScript SDK

geko.stt.transcribe(...), typed end to end.

Limits

Durations, rate limits, and cold starts.