Naraaudio
← Nara Audio သို့ ပြန်သွားရန်

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.wav

nara-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.wav

Speech 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 WAV

Voices နဲ့ အကောင့်

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