Quickstart
- 01
Get a key
Create it in the Developer page.
- 02
Subscribe
Pick a plan — card or local MMQR.
- 03
Call the API
Send text → get audio.
Base URL
https://api.burmavoice.comAuth
Authorization: Bearer YOUR_API_KEYSynthesize speech
/v1/ttsDesign a voice from words
Describe a voice and speak any text. Returns a job — poll it for the audio.
curl -X POST https://api.burmavoice.com/v1/tts \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"text": "မင်္ဂလာပါ။ ဒီနေ့ အစီအစဉ် ရှိပါတယ်။",
"voice_design": "A warm young man, calm and clear",
"format": "mp3"
}'
# → { "job_id": "job_…", "status": "queued", "est_cost_mmk": 10 }
# 402 insufficient_credit · 403 subscription_required (no active plan)/v1/jobs/:idGet the result
Poll until status is done, then fetch audio_url.
curl https://api.burmavoice.com/v1/jobs/JOB_ID \
-H "Authorization: Bearer YOUR_API_KEY"
# → { "status": "done", "final_cost_mmk": 10, "audio_url": "…" }Clone a voice
/v1/voicesCreate a cloned voice
Upload a short clip (base64). Add transcript for best quality.
curl -X POST https://api.burmavoice.com/v1/voices \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"type": "cloned",
"name": "my voice",
"consent_confirmed": true,
"reference_audio_base64": "<wav base64>",
"reference_format": "wav",
"reference_text": "transcript of the clip"
}'
# → { "voice_id": "voice_…", "clone_mode": "ultimate" }/v1/ttsSpeak in the cloned voice
Pass the voice_id. Optionally tune cfg_value and temperature.
curl -X POST https://api.burmavoice.com/v1/tts \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"text": "…",
"voice_id": "voice_…",
"format": "mp3",
"cfg_value": 2.0,
"temperature": 0.8
}'/v1/voicesList your voices
Your cloned/designed voices plus any shared presets.
curl https://api.burmavoice.com/v1/voices \
-H "Authorization: Bearer YOUR_API_KEY"
# → { "voices": [
# { "id": "voice_…", "name": "my voice", "type": "cloned",
# "clone_mode": "ultimate", "has_reference": true } ] }/v1/voices/:id/audioFetch reference clip
Download the reference audio you uploaded for a voice.
curl https://api.burmavoice.com/v1/voices/VOICE_ID/audio \
-H "Authorization: Bearer YOUR_API_KEY" -o reference.wav
# downloads the reference clip you uploaded for that voiceAccount
/v1/creditsCheck your balance
How much credit (and ~minutes) you have left, plus plan + subscription status.
curl https://api.burmavoice.com/v1/credits \
-H "Authorization: Bearer YOUR_API_KEY"
# → { "available_mmk": 5000, "available_minutes_est": 50,
# "plan": "Pro", "subscription_active": true }/v1/usage/summaryLifetime totals
Aggregate jobs / billed / minutes — cheap, doesn't grow with history.
curl https://api.burmavoice.com/v1/usage/summary \
-H "Authorization: Bearer YOUR_API_KEY"
# Lifetime totals only (O(1) — never scans the full history).
# → { "jobs": 128, "billed_mmk": 4200, "minutes": 84 }/v1/usageUsage history
Paginated list of recent jobs (keyset cursor).
curl "https://api.burmavoice.com/v1/usage?limit=20" \
-H "Authorization: Bearer YOUR_API_KEY"
# Keyset pagination: pass the returned next_cursor as ?cursor= for the next page.
# limit: 1–100 (default 20). next_cursor is null on the last page.
# → { "jobs": [
# { "id": "job_…", "status": "done", "text": "မင်္ဂလာပါ…",
# "actual_minutes": 0.4, "final_cost_mmk": 20, "created_at": 1730000000 } ],
# "next_cursor": "1730000000_job_abc" }Out of credit or no active plan? Manage it on billing.