Developer တွေအတွက် API
နောက်ဆုံးပြင်ဆင်သည့်ရက်စွဲ - 2026-08-04
ကိုယ့် code ထဲကနေ မြန်မာလို အသံထွက်ခိုင်းဖို့ Nara ရဲ့ API ကို သုံးလိုက်ပါ။ Studio TTS၊ Realtime TTS နဲ့ Speech Recognition အားလုံးကို REST API တစ်ခုတည်းနဲ့ ရနိုင်ပြီနော်။ အနည်းဆုံး တစ်ကြိမ် payment ချေဖူးတဲ့ account တိုင်း စမ်းသုံးကြည့်လို့ ရပါပြီ။
Models များ
- nara-drama-1 — Nara ရဲ့ အဓိက engine ပေါ့။ တခြားမှာမရှိတဲ့ ခံစားချက်ပါတဲ့ TTS မျိုး။ အသံတစ်ခုတည်းကိုပဲ စိတ်ဆိုးတဲ့အသံ၊ ဝမ်းနည်းတဲ့အသံ၊ ပျော်တဲ့အသံ စသဖြင့် ခိုင်းလို့ရတယ်။ စာကြောင်းအလိုက်ဖြစ်ဖြစ်၊ တစ်ပုဒ်လုံးဖြစ်ဖြစ် Studio ထဲက အသံတိုင်း (presets, designed, cloned) နဲ့ သုံးလို့ရပါတယ်။ 1 credit / စာလုံးရေ ၁၀ လုံး။
- nara-mini-1 — မြန်မာလို အမြန်ဆုံးထွက်ပေးမယ့် TTS ပါ။ စက္ကန့်ပိုင်းအတွင်း အသံထွက်အမှန်ဆုံး ထွက်ပေးမှာဖြစ်ပြီး အသံ ၄ မျိုး ရွေးလို့ရတယ်။ voice agents တွေ၊ IVR တွေနဲ့ စာအများကြီးဖတ်ခိုင်းမယ့်သူတွေအတွက် အဆင်ပြေဆုံးပဲ။ 1 credit / စာလုံးရေ ၁၀၀။
- nara-sar-1 — မြန်မာရော အင်္ဂလိပ်ပါ ရတဲ့ speech-to-text ပါ။ စာကြောင်းထဲမှာ နှစ်ဘာသာ နှောပြောထားတာတွေကိုပါ အမှားအယွင်းမရှိ စာသားအဖြစ် ပြောင်းပေးမှာပါ။ 1 credit / အသံ ၂၀ စက္ကန့် နှုန်းပါ။
API Key ယူနည်း
ကိုယ့်အကောင့်ထဲမှာ API key ထုတ်ယူပါ (တစ်ခါပဲ ပြမှာမို့ password လို သေချာသိမ်းထားပါ)။ key တွေကို အချိန်မရွေး ပြန်ဖျက်လို့ရပြီး ချက်ချင်း အကျိုးသက်ရောက်ပါတယ်။ API key တွေ စီမံဖို့
- Request တိုင်းမှာ အခုလို ထည့်ပေးရပါမယ် -
Authorization: Bearer nara_sk_...
# or
x-api-key: nara_sk_...Key ကို server မှာပဲ သိမ်းထားပါ။ Browser ကနေ တိုက်ရိုက်ခေါ်လို့မရအောင် လုပ်ထားတာက ကိုယ့် key နဲ့ credits တွေ client-side code ထဲမှာ မပေါက်ကြားအောင် ကာကွယ်ပေးထားတာပါ။
Billing အကြောင်း
Studio မှာလိုပါပဲ၊ အသံထွက်တာ အောင်မြင်မှ credit နှုတ်မှာပါ။ nara-drama-1 က စာလုံးရေ ၁၀ လုံးကို 1 credit (တစ်ခါလုပ်ရင် စာလုံး ၅၀၀၀ အထိ)၊ nara-mini-1 ကတော့ စာလုံး ၁၀၀ ကို 1 credit (စာလုံး ၂၀၀၀ အထိ) ကျသင့်မှာပါ။ အသံဖိုင်တိုင်းမှာ နားနဲ့မကြားနိုင်တဲ့ watermark ပါဝင်မှာဖြစ်ပြီး generation history ထဲမှာ ပြန်ကြည့်လို့ရပါတယ်။
Text to speech
curl -X POST "https://naraaudio.app/api/v1/text-to-speech/{voice_id}" \
-H "Authorization: Bearer $NARA_API_KEY" \
-H "content-type: application/json" \
-d '{"text": "မင်္ဂလာပါ။ ဒီနေ့ ဘယ်လိုနေလဲ။"}' \
-o out.wavnara-drama-1 နဲ့ အသံထုတ်ပေးမှာဖြစ်ပါတယ် (ဒါက default မို့လို့ "model" field ထည့်စရာမလိုဘူးနော်)။ WAV audio ဖိုင် တိုက်ရိုက်ပြန်ရမှာပါ။ လိုအပ်ရင် အသံနေအထားကို စိတ်ကြိုက်ပြင်လို့ရတယ် — တစ်ပုဒ်လုံးအတွက်ဖြစ်ဖြစ်၊ စာကြောင်းအလိုက်ဖြစ်ဖြစ် emotion နဲ့ intensity (၀ ကနေ ၁ အထိ) ကို သတ်မှတ်ပေးလို့ရပါတယ်။
{
"text": "…", // or "segments" below
"emotion": "happy", // whole-clip emotion
"intensity": 0.7,
"segments": [
{ "text": "…", "emotion": "sad", "intensity": 0.5 },
{ "text": "…" } // no emotion = neutral
],
"async": false
}Realtime TTS (nara-mini-1)
Realtime tier သုံးဖို့ endpoint ထဲမှာ "model": "nara-mini-1" လို့ ထည့်ပေးရုံပါပဲ။ Plain text ပဲရမယ် (emotion နဲ့ segments မရပါ)၊ စာလုံး ၂,၀၀၀ အထိ ရေးလို့ရပြီး shoon, thazin, ko-banyar နဲ့ htet-myat အသံတွေ သုံးလို့ရပါတယ်။ စက္ကန့်ပိုင်းအတွင်း အသံထွက်လာမှာပါ၊ အကြာကြီးမသုံးဘဲ နေပြီးမှ ပထမဆုံး ပြန်ခိုင်းတဲ့အခါ model နိုးလာဖို့ စက္ကန့်အနည်းငယ် ပိုကြာနိုင်ပါတယ်။
curl -X POST "https://naraaudio.app/api/v1/text-to-speech/shoon" \
-H "Authorization: Bearer $NARA_API_KEY" \
-H "content-type: application/json" \
-d '{"model": "nara-mini-1", "text": "မင်္ဂလာပါ။"}' \
-o out.wavSpeech to text (nara-sar-1)
အသံဖိုင် (WAV, FLAC, or OGG) ပို့လိုက်ရုံနဲ့ မြန်မာ/အင်္ဂလိပ် စာသားတွေ ပြန်ရမှာပါ။ တစ်ခါပို့ရင် စက္ကန့် ၃၀ အထိပဲ ရတာမို့ အသံဖိုင်ရှည်ရင် ခဏနားတဲ့ နေရာတွေမှာ ဖြတ်ပို့ပေးပါ။ အသံဖိုင် အရှည်ပေါ်မူတည်ပြီး credit ဖြတ်မှာဖြစ်ပြီး အောင်မြင်မှသာ ဖြတ်မှာပါ။
curl -X POST "https://naraaudio.app/api/v1/speech-to-text" \
-H "Authorization: Bearer $NARA_API_KEY" \
-H "content-type: audio/wav" \
--data-binary @clip.wav
→ { "text": "…", "seconds": 5.05, "model": "nara-sar-1",
"credits_spent": 1, "balance": 822 }Async mode (စာသားအရှည်များအတွက်)
စာသားအရမ်းရှည်ရင် timeout ဖြစ်တတ်လို့ "async": true သုံးပေးပါ။ Job id ချက်ချင်းပြန်ရမှာဖြစ်ပြီး ပြီးသွားမှ audio ကို download ဆွဲရုံပါပဲ။ Render မအောင်မြင်ရင် credit မဖြတ်ပါဘူး။
POST https://naraaudio.app/api/v1/text-to-speech/{voice_id} → 202 { "job_id", "eta_seconds", "cost" }
GET https://naraaudio.app/api/v1/jobs/{job_id} → { "status": "pending" | "done" | "failed", "audio_url" }
GET https://naraaudio.app/api/v1/jobs/{job_id}/audio → the WAVVoices နဲ့ အကောင့်
GET https://naraaudio.app/api/v1/voices → { "voices": [{ "voice_id", "name", "category", "gender", "description" }] }
GET https://naraaudio.app/api/v1/user → { "balance", "chars_per_credit" }Nara ရဲ့ preset အသံတွေအပြင် Studio မှာ ကိုယ်တိုင် design လုပ်ထားတဲ့ အသံတွေ၊ clone လုပ်ထားတဲ့ အသံတွေအကုန် သုံးလို့ရပါတယ်။ Voice id ကို ယူသုံးရုံပါပဲ။
Errors & limits
Error format က အမြဲတမ်း ဒီလိုပါ -
{ "error": { "code": "insufficient_credits", "message": "…" } }- 400 input မှားနေတယ် · 401 key မှားနေတယ် · 402 credit မလောက်ဘူး · 403 အကောင့်ပိတ်ထားတယ် (သို့) ငွေမချေရသေးဘူး · 404 voice/job ရှာမတွေ့ဘူး · 413 စာသားရှည်လွန်းတယ် · 429 rate limited · 5xx render မအောင်မြင်ဘူး (credit မဖြတ်ပါ)
- Key တစ်ခုချင်းစီအတွက် Rate limits တွေကတော့- Studio speech အတွက် 20/min၊ nara-mini-1 နဲ့ nara-sar-1 အတွက် 60/min၊ metadata အတွက် 60/min နဲ့ job polling အတွက် 120/min တို့ ဖြစ်ပါတယ်။ ဒီထက်ပိုလိုချင်ရင်တော့ အသံအများကြီး သုံးမယ့်သူတွေအတွက် limit တိုးပေးလို့ရတာမို့ ကျွန်တော်တို့ကို ဆက်သွယ်ပေးပါ။
App ထဲမှာ credit ဝယ်ယူနိုင်ပါတယ်။ Studio မှာရော API မှာပါ credit တစ်ခုတည်းနဲ့ သုံးလို့ရပါတယ်။ Nara Audio ဖွင့်မယ်
သိချင်တာရှိရင် Report page ကနေ အချိန်မရွေး လှမ်းမေးလို့ရတယ် — ကျွန်တော်တို့ဆီ တိုက်ရိုက်ရောက်မှာပါ။ Report page