MAI-Transcribe-2: API Setup, Audio Pricing and Limits
MAI-Transcribe-2 is Microsoft AI’s hosted speech-to-text model for recorded audio. It transcribes 60 languages and can return verbatim or cleaned text, speaker labels, word timestamps and terminology-biased results. Use it through the Azure Speech fast-transcription REST API with a Microsoft Foundry Speech resource. The introductory rate is $0.10 per audio hour through December 31, 2026.
Content reviewed:

Use this model
API docs and console
- Open Microsoft’s MAI-Transcribe-2 API guide
Follow the tool’s installation and hardware requirements.
What can you transcribe with MAI-Transcribe-2?
- Create searchable transcripts for multilingual meetings, calls and interviews.
- Choose verbatim wording for review or clean text for captions and notes.
- Add speaker labels, word timestamps or domain terms to a recorded-audio workflow.
When does MAI-Transcribe-2 fit?
MAI-Transcribe-2 is the recorded-audio model in Microsoft’s MAI transcription family. Microsoft documents 60 supported languages, automatic language detection, code-switching, noisy-audio handling, speaker diarization, word-level timestamps and phrase-list biasing. Set transcribeStyle to verbatim to retain fillers and false starts, or clean to remove them for a more readable transcript. The default is verbatim.
This endpoint is for uploaded files, not a live stream. Microsoft offers a separate MAI-Transcribe-2-Streaming model for realtime audio at a different introductory rate and with a different feature set. The streaming model currently lacks the batch model’s diarization, word timestamps and contextual phrase biasing. If a voice agent needs incremental text while someone is talking, compare that specific streaming route instead of applying the batch model’s price or quality claims to it.
Available regions include Central India, East US, North Europe, Southeast Asia, West Europe, West US and West US 2. Choose a supported region before creating the Speech resource.
Send a first transcription request
Create a Microsoft Foundry resource for Speech, then use its region-specific resource hostname and key. The example sends one WAV file to the Fast Transcription endpoint. Keep the key in a server-side secret store; do not put it in a browser application or commit it with the script.
The model is selected inside enhancedMode; the API uses the case-sensitive name MAI-Transcribe-2. Add optional controls after a plain request works: diarization.enabled, modelOptions.timestamps, modelOptions.transcribeStyle, phraseList.phrases or a single forced language in locales. Leave locales out for automatic language detection. A phrase list nudges recognition toward names or jargon; it does not force those words into the result.
curl --fail-with-body --location \
"https://YOUR_RESOURCE.cognitiveservices.azure.com/speechtotext/transcriptions:transcribe?api-version=2025-10-15" \
--header "Ocp-Apim-Subscription-Key: $AZURE_SPEECH_KEY" \
--form 'audio=@meeting.wav' \
--form 'definition={"enhancedMode":{"enabled":true,"model":"MAI-Transcribe-2"}}'Plan around the file and diarization limits
For the documented 2025-10-15 REST endpoint, an audio upload must be shorter than two hours and smaller than 250 MB. Microsoft’s MAI guide says speaker diarization supports shorter recordings than transcription without it, without giving a specific threshold. In a September 5 Microsoft Q&A post, user Labatt reported failures around 15 minutes and longer with diarization enabled, while the same audio succeeded with it disabled. A community contributor endorsed a separate speaker-labeling step as a temporary workaround; this was not a published product limit or an official service recommendation. Speaker IDs from separate chunks do not automatically identify the same person.
The supported-language list includes Chinese, Japanese and Korean. Leave automatic detection enabled for mixed-language recordings; locales accepts one code, which acts as a strong hint.
In a September Azure Q&A report, the author later completed the same 33-minute and 47-minute recordings that had failed earlier, after also correcting an authentication issue. The author could not establish the original cause or confirm a service-side fix. Test the actual duration and speaker settings you need; that successful retest does not establish the cause of the earlier failures.
Estimate the cost per accepted audio hour
Microsoft announced an introductory $0.10 per hour of input audio through the end of 2026. This is an audio-duration rate, not a token price or a charge based on how long the model takes to return the transcript. Microsoft’s model page reports one hour of audio processed in about ten seconds of model inference; network, upload and queue time are separate. The announcement does not state the rate after the offer ends, so do not extend this price past December 31.
The separate MAI-Transcribe-2-Streaming model is listed at an introductory $0.54 per audio hour on Microsoft’s model page. Compare that live-input route with the $0.10 recorded-audio endpoint using the features and response timing your application needs.
At the introductory rate, 100 input audio hours cost $10. If review accepts 90 of those hours, the transcription charge is about $0.111 per accepted audio hour before storage and human correction. If every hour is accepted, it remains $0.10 per hour. Add retry volume to the input total; diarization retries on longer files can erase the apparent saving.
A September 14 Japanese community comparison by Minedia used the same five-minute, two-speaker meeting recording with MAI-Transcribe-2, Scribe v2 and Gemini 3.5 Transcribe. In one pass per mode, MAI cost $0.0083 and returned in 13.66 seconds with verbatim text and diarization; its clean-mode pass took 3.35 seconds. The author had no reference transcript, so these results compare outputs and timings for one clip rather than establish which transcript was most accurate.
| Input audio | At $0.10 per hour |
|---|---|
| 1 hour | $0.10 |
| 10 hours | $1.00 |
| 100 hours | $10.00 |
Compare it on recordings like yours
Microsoft reports an average 3.4% word error rate on the top 25 FLEURS languages. Check a sample from your own workload, including accents, noise, overlapping speakers and specialized names, rather than choosing on that aggregate alone.
PeopleX engineer Takeuchi’s October 4 comparison used eight single-speaker Japanese readings in quiet and office conditions. MAI-Transcribe-2 batch had character error rates of 0.91% and 2.25%, respectively; Scribe v2 batch had 1.23% and 4.75%. The separate MAI Streaming model had 0.71% and 1.93%, against 5.19% and 10.66% for Scribe v2 Realtime. The reference text used model agreement and the script where outputs differed. This small read-aloud test covers a particular Japanese workflow, without measuring conversational overlap or speaker separation.
A separate October 2026 community benchmark from Modulate reports 0.91% WER for MAI-Transcribe-2 on 20 LibriSpeech files and 7.88% on 20 VoxPopuli files, over a consumer internet connection. The repository records its datasets, repeats and runner, but its small samples and differing speech domains limit generalization. Use the result as a reason to run a local comparison, not a universal accuracy ranking.
Compare complete recordings using the same reference text and count insertions, deletions and substitutions. Record latency from upload through final response, and separately calculate cost per accepted audio hour. Check speaker labels and word timing independently of word error: a transcript can recognize words correctly while assigning them to the wrong person or timestamp.
Before you use it
- A September Q&A user reported diarization failures from around 15 minutes; Microsoft’s product guide gives no fixed threshold.
- The $0.10-per-audio-hour offer ends December 31, 2026; Microsoft has not stated the subsequent price in the cited announcement.
How to get started
Start with a short recording in your target region. Check the recognized words, speaker labels and timestamps before sending long files or increasing batch volume.
Sources
Sources (10)
- Labatt: September 5 diarization failure report and community replies ↗
Source checked:
- PeopleX: October 4 Japanese batch and streaming comparison ↗
Source checked:
- Azure Q&A: long-recording failures and successful retest ↗
Source checked:
- Microsoft Learn: MAI-Transcribe-2 API, options and languages ↗
Source checked:
- Microsoft Learn: endpoint-specific request limits ↗
Source checked:
- Microsoft Learn: supported Azure Speech regions ↗
Source checked:
- Microsoft AI: model capabilities and latency ↗
Source checked:
- Microsoft: launch price and offer period ↗
Source checked:
- Minedia: Japanese meeting test (one clip; no reference transcript) ↗
Source checked:
- Modulate: reproducible hosted API benchmark ↗
Source checked: