Arabic speech-to-text
GoodWe sent 30 Arabic test clips through this API. Whisper Large v3 made 13% word errors, about one word in 7. $0.002 per audio minute, word timestamps, SRT and VTT subtitles, files up to 100 MB.
Measured accuracy
| Model | Word error rate | Character error rate | Clips with no errors | Empty transcripts | Speed |
|---|---|---|---|---|---|
Whisper Large v3openai/whisper-large-v3 | 13% | 4.1% | 5 of 30 | 0 of 30 | 0.063× real time |
Good. Usable with light review. Expect to correct a word here and there, mostly names and numbers. The clips are clean, single-speaker read speech, so treat this as a best case for your own recordings. How we measured, and all 83 languages.
What a transcript looks like
The clip with the median error rate from the test, reference text against what the API returned.
| Spoken | السبائك هي بشكل أساسي خليط من اثنين أو أكثر من المعادن. لا تنسَ أن هناك العديد من العناصر في الجدول الدوري. |
| Whisper Large v3 | السبائك هي بشكل أساسي خليط من اثنين أو أكثر من المعادل لا تنسى أن هناك العديد من العناصر في الجدول الدوري |
Language detection
All 10 clips we sent without a language field were identified as Arabic. Auto-detection is safe here; sending language=ar still skips the detection step.
Quickstart
The request is the OpenAI transcription request with a different base URL. language is optional.
curl https://api.inferenceapis.com/v1/audio/transcriptions \
-H "Authorization: Bearer $INFERENCE_API_KEY" \
-F "model=openai/whisper-large-v3" \
-F "language=ar" \
-F "file=@recording.mp3" \
-F "response_format=verbose_json"import os
from openai import OpenAI
client = OpenAI(base_url="https://api.inferenceapis.com/v1", api_key=os.environ["INFERENCE_API_KEY"])
with open("recording.mp3", "rb") as f:
r = client.audio.transcriptions.create(model="openai/whisper-large-v3", file=f, language="ar", response_format="verbose_json")
print(r.text)Subtitles and timestamps
response_format=srt or vtt returns a subtitle file with cues of up to two lines, broken at sentence ends and pauses. verbose_json with timestamp_granularities[]=word returns a start and end time for every word if you want to build your own.
Cost
$0.002 per minute of audio on either model: $0.12 for an hour, $12 for a hundred hours. Duration is measured from the file you upload. There is no daily cap on minutes and no subscription; enough to run your own Arabic test.
Notes for Arabic
- The test clips are Modern Standard Arabic. Dialectal speech (Egyptian, Gulf, Levantine) is transcribed with lower accuracy, and output is unvocalised.
FAQ
How accurate is Whisper for Arabic?
On 30 clean read-speech clips it made 13% word errors, about one word in 7. Usable with light review. Expect to correct a word here and there, mostly names and numbers. Real recordings with noise, accents or several speakers will score worse.
Does language auto-detection work for Arabic?
In our test, yes: all 10 clips sent without a language were identified as Arabic. Sending language=ar still saves the detection step on every request.
Can it translate Arabic speech to English?
The API returns Arabic text. For English, transcribe first and translate the text with a chat model on the same key.
Related languages: Persian (28%) · Hebrew (28%) · Urdu (21%)
