YepAPI
AI Models

MAI-Voice-2 Flash

The low-latency tier of MAI-Voice-2, tuned for voice agents and interactive applications.

POST/v1/media/queue
$0.0317/1K chars

Overview

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.

PropertyValue
Model IDmicrosoft/mai-voice-2-flash
Aliasmai-voice-flash
Upstream Modelmicrosoft/mai-voice-2-flash
CategoryText to Speech
Languages15 languages across 18 locales
Outputmp3 (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 results
curl -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 completed
curl 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

ParameterTypeRequiredDescriptionDefault
modelstringYesmicrosoft/mai-voice-2-flash
promptstringYesThe text to speak (max 50,000 bytes)
options.voicestringNoVoice identifieren-US-Harper:MAI-Voice-2
options.outputFormatstringNomp3 (default) or pcmmp3
options.speednumberNoPlayback speed multiplier. Honoured only by models that support it1.0

Voices

en-US-Harper:MAI-Voice-2 is used when options.voice is omitted. 4 voices available:

  • en-US-Harper:MAI-Voice-2
  • es-MX-Valeria:MAI-Voice-2
  • fr-FR-Soleil:MAI-Voice-2
  • de-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.

Under the Hood

Powered by OpenRouter's unified speech API.

On this page