Mongolian voice tech in a few lines of code

Add Mongolian speech-to-text and text-to-speech to your product with the Duudlaga STT and Duudlaga TTS APIs. Top up credits and pay only for what you use.

Per-minute STT pricing
Per-character TTS pricing
No monthly fee
Duudlaga Developer API

Ready-to-use REST API

Call it directly with your dk_live key.

200 OK
POST /v1/stt/transcriptions
Authorization: Bearer dk_live_••••••••••••

{
  "text": "Сайн байна уу, өнөөдрийн хурлыг эхэлье.",
  "model": "duudlaga-stt-1"
}

Duudlaga STT

200₮ / minute

Duudlaga TTS

5,000₮ / 10k chars

Rate limit

30 req / min

What you can build

Built for every kind of product that works with voice.

Call centers and meetings

Turn phone calls and meeting recordings into searchable Mongolian text automatically. Great for QA and note taking.

Voice-enabled apps

Add Mongolian voices for news reading, audio content generation, and in-app voice assistants.

Automation

Add speech recognition and speech generation steps to internal tools, chatbots, and workflows.

Simple pricing

No monthly fee. Buy credits up front and pay only for what you use.

Duudlaga STT

duudlaga-stt-1

200₮ / minute

Transcribes Mongolian and mixed Mongolian-English speech with high accuracy. Billed by actual audio duration.

Duudlaga TTS

duudlaga-tts-1

5,000₮ / 10,000 characters

Converts text into natural Mongolian speech. Billed by the number of characters you send.

Credits are drawn from your Duudlaga Flow account balance. With auto-recharge enabled, your account tops itself up when the balance runs low.

Quickstart

Send your API key as a Bearer token in the Authorization header. Keys start with dk_live_.

Every request needs an Authorization: Bearer dk_live_... header.

Each request is charged against your credits. When the balance runs out, requests return 402.

TTS is asynchronous: you first get a 202 with an id, then poll for status and the audio_url.

MethodEndpoint
POST
/v1/stt/transcriptions

Upload an audio file and get Mongolian text back.

POST
/v1/tts/speech

Send text and start a speech generation job.

GET
/v1/tts/speech/{id}

Check job status and get the audio_url.

GET
/v1/tts/voices

List the available voices.

GET
/v1/me

Inspect key info, balances, and limits.

Transcribe speech

curl -X POST "https://api.duudlaga.dev/v1/stt/transcriptions" \
  -H "Authorization: Bearer dk_live_your_api_key" \
  -F "file=@audio.wav"

# 200 OK
{
  "id": "tr_8f2c1a",
  "text": "Сайн байна уу, өнөөдрийн хурлыг эхэлье.",
  "duration_seconds": 12.4,
  "model": "duudlaga-stt-1"
}

Generate speech

curl -X POST "https://api.duudlaga.dev/v1/tts/speech" \
  -H "Authorization: Bearer dk_live_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "duudlaga-tts-1",
    "voice": "female-1",
    "input": "Сайн байна уу, тавтай морилно уу."
  }'

# 202 Accepted
{ "id": "sp_4d9e7b", "status": "queued" }

# GET https://api.duudlaga.dev/v1/tts/speech/sp_4d9e7b
{ "id": "sp_4d9e7b", "status": "completed", "audio_url": "https://..." }

Rate limits

Each key has the limits below to keep the platform stable. Requests over the limit return 429 with a Retry-After header.

Duudlaga STT request rate30 req / min
Duudlaga TTS request rate10 req / min
Burst5 requests
Concurrent file jobs2
Daily spend cap50,000₮ (configurable)

Error codes

All errors come back in one JSON shape. Branch on the code field in your integration.

400invalid_request

The request is malformed or a required field is missing.

402insufficient_credits

Your credit balance is too low. Top up and try again.

402payment_required

An auto-recharge payment failed, so access is paused until it is resolved.

422no_speech

No speech was detected in the audio file.

429rate_limit_exceeded

You hit the request rate limit. Retry after the time given in the Retry-After header.

429daily_spend_cap_exceeded

This key reached its daily spend cap.

429concurrency_limit_exceeded

Too many requests running at the same time for this key.

500internal_error

Server error. Please try again.

Frequently asked questions

How do I get started?

Sign in to the console and create an API key. Keys spend your Duudlaga credits, so make sure your account has a balance.

How is usage billed?

Duudlaga STT costs 200₮ per minute and Duudlaga TTS costs 5,000₮ per 10,000 characters. There is no monthly fee, you only pay for what you use.

What limits apply?

Each key is limited to 30 STT requests and 10 TTS requests per minute. You can also set your own daily spend cap per key.

Why does TTS not respond instantly?

Speech generation runs as a queued job. The POST request returns 202 with an id, then you poll GET /v1/tts/speech/:id until the audio_url is ready.

Which languages are supported?

Mongolian is the primary language, and mixed Mongolian-English speech is recognized. TTS ships with Mongolian voices.

Start today

Sign in to the console, create your first API key, and send your first request within minutes.