Speech to Text API
Transcribe audio through one endpoint and choose the model per request: OpenAI, xAI or AssemblyAI. Priced per minute of audio, paid per call, no account or API key.
4 models from 3 providers: xAI, OpenAI, AssemblyAI.
Models
| Model | Provider | Price |
|---|---|---|
| grok-stt | xAI | $0.003002 Per audio minute |
| gpt-4o-transcribe | OpenAI | $0.0108 Per audio minute |
| universal-3-pro | AssemblyAI | $0.006300 Per audio minute |
| universal-3.5-pro | AssemblyAI | $0.008556 Per audio minute |
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/transcriptions \
-H 'content-type: application/json' \
-d '{"model":"gpt-4o-transcribe","file":"https://example.com/interview.mp3"}'How it works
Pass the audio as a URL in the field the model expects (file or audio_url; GET /v1/schema?model=<id> says which). The URL is checked before you are charged, so a dead link costs nothing. Large files go to /v1/media first, which returns a URL to use.
Limits worth knowing
The price is set by the audio’s length, so the quote is for the whole file. Social-media video links often fail because their containers are not plain audio: download the file and upload it instead. Uploaded files expire after 7 days.
Questions
How is transcription priced?
Per minute of audio, at each model’s own rate, quoted before you pay.
Can I send a local file?
Upload it with POST /v1/media (raw bytes, free) and pass the URL it returns. Uploads are deleted after 7 days.
Does it identify speakers?
Some models can: xAI’s grok-stt has a diarize option. Check each model’s schema for diarization, timestamps and language settings.
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.