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.
Ready-to-use REST API
Call it directly with your dk_live key.
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.
/v1/stt/transcriptionsUpload an audio file and get Mongolian text back.
/v1/tts/speechSend text and start a speech generation job.
/v1/tts/speech/{id}Check job status and get the audio_url.
/v1/tts/voicesList the available voices.
/v1/meInspect 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.
Error codes
All errors come back in one JSON shape. Branch on the code field in your integration.
invalid_requestThe request is malformed or a required field is missing.
insufficient_creditsYour credit balance is too low. Top up and try again.
payment_requiredAn auto-recharge payment failed, so access is paused until it is resolved.
no_speechNo speech was detected in the audio file.
rate_limit_exceededYou hit the request rate limit. Retry after the time given in the Retry-After header.
daily_spend_cap_exceededThis key reached its daily spend cap.
concurrency_limit_exceededToo many requests running at the same time for this key.
internal_errorServer 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.