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

ModelProviderPrice
grok-sttxAI$0.003002 Per audio minute
gpt-4o-transcribeOpenAI$0.0108 Per audio minute
universal-3-proAssemblyAI$0.006300 Per audio minute
universal-3.5-proAssemblyAI$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.

More from the same API