Arabic speech, ready for your product.
Dialect-aware, with a timestamp on every word.
No card needed to start. Free processing uses a slower queue. Free plan: 60 minutes a month. Paid plans from USD 5.00 a month.
Need an SRT without code? Try Arabic Subtitles.
~/interviews % python kalemio_quickstart.py conversation.m4a
Job tr_5d0c3f6a8e2b4c71a9f0e6d2b8c4a1f3 accepted (priority processing)
Saved conversation.json
Saved conversation.srt
~/interviews %
A little Levantine Arabic · speaker_0
أهلاً، كيف فيني ساعدك؟
“Hello, how can I help you?”
- أهلاً،0.24–0.68
- كيف0.72–0.94
- فيني0.98–1.22
- ساعدك؟1.26–1.78
{ "text": "أهلاً، كيف فيني ساعدك؟",
"words": [
{"text":"أهلاً،","start":0.24,"end":0.68,"speaker_id":"speaker_0"},
{"text":"كيف","start":0.72,"end":0.94,"speaker_id":"speaker_0"},
{"text":"فيني","start":0.98,"end":1.22,"speaker_id":"speaker_0"},
{"text":"ساعدك؟","start":1.26,"end":1.78,"speaker_id":"speaker_0"}
],
"duration_seconds": 1.92 }
1
00:00:00,240 --> 00:00:01,780
[speaker_0] أهلاً، كيف فيني ساعدك؟
Example: the transcript and job are written for this page, not a transcription of a real recording. Times are in seconds.
The request and its 202 Accepted response
export KALEMIO_API_BASE='https://kalemio.app'
export KALEMIO_API_KEY='YOUR_API_KEY'
curl "$KALEMIO_API_BASE/v1/transcriptions" \
-H "Authorization: Bearer $KALEMIO_API_KEY" \
-H "Idempotency-Key: conversation-001" \
-F 'file=@conversation.m4a' \
-F 'speakers=auto'
Response202 Accepted
{ "id": "tr_5d0c3f6a8e2b4c71a9f0e6d2b8c4a1f3",
"status": "queued", "duration_seconds": 1.92,
"billed_seconds": 0, "billed_minutes": 0,
"reserved_seconds": 2, "billing_method": "credits",
"processing": "priority",
"expires_at": "2026-10-01T09:30:00.000Z" }Asynchronous: the job ID comes back at once. Poll GET /v1/transcriptions/{id} until "status" is "completed", then download /result as JSON or /srt. Complete quickstart script
Three ways to use the result.
Every completed job returns it as JSON and SRT.
Subtitle export. Download
Download results/srtand import it into your player or video editor. Each cue holds up to eight words or five seconds, from one speaker.Word highlighting. Every word has a start and end time in seconds. Highlight the word under the playhead, and seek when someone taps a word.
Word-level timestampsTranscript search. Search the transcript text, then move the player to the matching word’s start time. Speaker labels tell voices apart within one recording.
Build searchable audio
Download a longer written example without an account: SRT · JSON · WebVTT. Dialogue and timings are illustrative, not a transcription of a real recording. Sample source and limitations
Lowest dialect-tolerant error rate in our test.
Kalemio keeps the dialect as it was said.
Dialect-tolerant word error rate · Lower is better
We chart this measure because it doesn’t count dialect spellings as errors, and keeping the dialect is what Kalemio is for. How the benchmark was run
Kalemio benchmark · September 2026 · 2.06 hours of Levantine audio, seven single-speaker videos from one channel. Same recordings and scoring for every system. Small gaps, such as 4.6% against 5.0%, may not hold on other audio.
Interviews, podcasts and everyday conversations don’t sound like a textbook. Kalemio is built for Modern Standard Arabic and spoken dialects, keeping the words as they were said.
In our September 2026 benchmark on 2.06 hours of Levantine Arabic, Kalemio had the lowest dialect-tolerant word error rate of the seven systems tested: 4.6%. Every system got the same recordings and the same scoring.
The benchmark scores wording only, on Levantine Arabic. It doesn’t measure word timing or speaker labels, and other dialects aren’t part of it yet.
From a recording to a saved transcript.
Three steps, with a ready script in Python, Bash or Node.js.
Run the quickstart
Create a key that stays on your server, with the Submit transcriptions and Read transcripts permissions.
Run the quickstart in Python, Bash or Node.js. It uploads once and waits for the job; running it again resumes the same job with the same
Idempotency-Key.Save the JSON or SRT before the result expires, 24 hours after submission.
Limits to plan around
- Formats
- MP3, M4A, PCM WAV, MP4 and MOV. We extract the audio from video.
- File size
- Up to 20 MiB and 10 minutes per file.
- Jobs
- Two active jobs per account on paid plans; one on the Free plan.
- Longer recordings
- Split them into pieces under 10 minutes and submit each as its own job. Speaker labels don’t carry from one piece to the next.
- OpenAI SDKs
- An OpenAI-compatible transcription endpoint: set the base URL to
https://kalemio.app/v1and the model tokalemio-arabic-1. It answers in the same request.
File formats and limitsLong recordingsUse it with the OpenAI SDKs
Choose your monthly minutes.
The same transcription features on every plan.
| Plan | Minutes | Price | |
|---|---|---|---|
| FreeSlower, queued processing | 60 minutes per month | USD 0.00 / month | Start free |
| Starter | 1,250 minutes per month | USD 5.00 / month | Choose Starter |
| StarterBilled yearly | 1,250 minutes per month | USD 50.00 / year | Choose Starter annual |
| Studio | 5,000 minutes per month | USD 13.93 / month | Choose Studio |
| StudioBilled yearly | 5,000 minutes per month | USD 159.00 / year | Choose Studio annual |
| Top-up | 500 extra minutes | USD 5.00 one time | For subscribers. These minutes never expire, even if you cancel your plan. |
Start free to evaluate; paid plans get priority, faster processing.
Free plan: 60 minutes a month, with slower, queued processing on a best-effort basis. Jobs are typically several times slower than on paid plans and may wait in a queue. Meant for evaluation, one job at a time. Paid jobs are processed separately with priority and never wait behind the free queue.
Plans renew monthly or yearly until cancelled. Minutes reset every month, on annual plans too, and don’t roll over. Upgrade or cancel from your account.
Prefer no monthly allowance? Optional usage-based billing costs US$0.015 per minute, more than any plan, with a 2-minute minimum (US$0.03) per job. How plans and usage-based billing compare
Estimate your monthly cost
Enter your workload. The estimate uses the same prices and rounding as billing.
20 recordings × 0.5 min = 10 minutes of audio a month.
For priority processing, Starter has the lowest estimated prepaid cost shown for this workload: USD 5.00 a month.
This workload also fits Free for slower evaluation. Assumes the same workload each month. Plans renew; monthly minutes do not roll over. Future top-ups may cost less because their unused minutes carry forward.
Review Starter- FreeUSD 0.00 a month
Counts 20 of 60 free minutes: each job counts whole minutes, at least 1. Slower, queued processing for evaluation.
- StarterUSD 5.00 a month
Uses 10 of 1,250 minutes each month; 1,240 unused minutes don’t roll over. Each upload counts to the next second.
- Starter annualUSD 50.00 a year
Uses 10 of 1,250 minutes each month; 1,240 unused minutes don’t roll over. Each upload counts to the next second.
- StudioUSD 13.93 a month
Uses 10 of 5,000 minutes each month; 4,990 unused minutes don’t roll over. Each upload counts to the next second.
- Studio annualUSD 159.00 a year
Uses 10 of 5,000 minutes each month; 4,990 unused minutes don’t roll over. Each upload counts to the next second.
- Usage-basedUSD 0.60 a month
Bills 40 minutes at US$0.015 each: every job is rounded up to whole minutes, at least 2. Invoiced in USD at the end of the month.
Estimates until checkout confirms them: checkout shows the amount before you pay, and usage-based totals come from your monthly invoice. Plans renew monthly or yearly until cancelled; usage-based billing is invoiced at the end of each month. Checkout shows the final total, including any tax, before you pay.
Your recordings stay yours.
We don’t train on them, and working audio is deleted after processing.
Reliability. We check the API console and the transcription service every five minutes, and the status page shows the results. These checks aren’t a full transcription test or an uptime guarantee.
API statusData. We don’t use your recordings to train models. Working audio is deleted after processing. Yours to download for 24 hours after submission.
How we handle your dataSupport. Email us in Arabic or English. We usually reply within two business days.
Contact supportAbout the Arabic transcription API
Try it on your own recordings.
60 free minutes a month, no card needed.
Just need a subtitle file, not an integration? Arabic Subtitles is a separate no-code product for making SRT files.