MAI-Voice-2 Flash
The low-latency tier of MAI-Voice-2, tuned for voice agents and interactive applications.
/v1/media/queueOverview
MAI-Voice-2-Flash is the low-latency tier of Microsoft's MAI-Voice-2, aimed at voice agents, call centres, accessibility tooling, and anything else where the caller is waiting on the audio. It generates expressive 24 kHz mono speech across the same 15 languages as the full model at roughly a third less cost.
| Property | Value |
|---|---|
| Model ID | microsoft/mai-voice-2-flash |
| Alias | mai-voice-flash |
| Upstream Model | microsoft/mai-voice-2-flash |
| Category | Text to Speech |
| Languages | 15 languages across 18 locales |
| Output | mp3 (default) or pcm |
| Pricing | $0.0317 per 1,000 characters |
Usage
All media models use the async job queue. Submit a job, then poll for the result.
Step 1: Submit Job
const res = await fetch('https://api.yepapi.com/v1/media/queue', {
method: 'POST',
headers: {
'x-api-key': 'YOUR_API_KEY',
'Content-Type': 'application/json',
},
body: JSON.stringify({
model: 'microsoft/mai-voice-2-flash',
prompt: 'Your text to speak goes here.',
options: { voice: 'en-US-Harper:MAI-Voice-2' },
}),
});
const { data } = await res.json();
// data.jobId — use this to poll for resultscurl -X POST https://api.yepapi.com/v1/media/queue \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "microsoft/mai-voice-2-flash", "prompt": "Your text to speak goes here."}'Step 2: Poll for Result
const status = await fetch(`https://api.yepapi.com/v1/media/status/${data.jobId}`, {
headers: { 'x-api-key': 'YOUR_API_KEY' },
});
const { data: job } = await status.json();
// job.status — "pending" | "processing" | "completed" | "failed"
// job.result.audio — { mimeType, base64 } when completedcurl https://api.yepapi.com/v1/media/status/JOB_ID \
-H "x-api-key: YOUR_API_KEY"Write the audio to a file:
import { writeFileSync } from 'node:fs';
writeFileSync('speech.mp3', Buffer.from(job.result.audio.base64, 'base64'));Request Body
| Parameter | Type | Required | Description | Default |
|---|---|---|---|---|
model | string | Yes | microsoft/mai-voice-2-flash | — |
prompt | string | Yes | The text to speak (max 50,000 bytes) | — |
options.voice | string | No | Voice identifier | en-US-Harper:MAI-Voice-2 |
options.outputFormat | string | No | mp3 (default) or pcm | mp3 |
options.speed | number | No | Playback speed multiplier. Honoured only by models that support it | 1.0 |
Voices
en-US-Harper:MAI-Voice-2 is used when options.voice is omitted. 4 voices available:
en-US-Harper:MAI-Voice-2es-MX-Valeria:MAI-Voice-2fr-FR-Soleil:MAI-Voice-2de-DE-Klaus:MAI-Voice-2
Features
- Low-latency synthesis for interactive voice
- Same 15-language coverage as MAI-Voice-2
- 24 kHz mono output
- Cheaper per character than the full model
Billing
Speech is billed on the length of the input text, in UTF-8 bytes — for English text one byte is one character. The cost is known before synthesis starts, so the balance check at submit time quotes the exact final charge. Jobs have a $0.01 minimum.
Powered by OpenRouter's unified speech API.