Text to speech

TTS-1

OpenAI's fast text-to-speech model. Send text, get an audio file back, pay per character.

MP3, WAV, OPUS, PCM, AAC, FLAC · 9 voices · Up to 4,096 characters

$15.75Per 1M characters

Pricing

Price

Per 1M characters
$15.75

Includes the MiniRouter fee. Tokens are not charged.

Estimate your cost

Priced per character of input text.

44 / 4,096 characters

Estimated cost

$0.000693

Includes the MiniRouter fee.

Estimate only; nothing is sent. Your charge settles to the provider’s reported characters plus the MiniRouter fee.

Use the Speech API

Set MINIROUTER_API_KEY to your inference key and copy the example.

curl --fail-with-body --retry 0 --max-time 120 \
  https://api.minirouter.sh/v1/audio/speech \
  -H "Authorization: Bearer $MINIROUTER_API_KEY" \
  -H 'Content-Type: application/json' \
  -D response.headers --output speech.mp3 \
  --data '{
  "model": "openai/tts-1",
  "input": "The quick brown fox jumps over the lazy dog.",
  "voice": "alloy",
  "response_format": "mp3"
}'

Keep the request ID and check Request logs for the settled cost. A failed or disconnected request may still incur a cost; these examples disable automatic retries.

How it works

How it works

Endpoint
POST /v1/audio/speech
OpenAI speech body: model, input, voice, response_format, speed, instructions. Raw audio bytes come back.
Limits
4,096 characters
Speed 0.25–4.0. No streaming.
Formats
mp3, wav, opus, pcm, aac, flac
mp3 by default.
Voices
alloy, ash, coral, echo, fable, nova, onyx, sage, shimmer
Pass one as voice.
Speech, per 1M characters

Half the price of TTS-1 HD.

Speech is billed per input character, fee included. TTS-1 costs the same as Microsoft's Flash voices.

OpenAI

TTS-1
$15.75
TTS-1 HD
$31.50

Microsoft

MAI-Voice-2
$23.10
MAI-Voice-2.1
$23.10
MAI-Voice-2-Flash
$15.75
MAI-Voice-2.1-Flash
$15.75
MiniRouter model catalog ↗, October 9, 2026; Vercel AI Gateway text to speech ↗. Prices include the MiniRouter fee.
View chart data
Speech prices per million input characters
ModelModel IDPer 1M characters
TTS-1openai/tts-1$15.75
TTS-1 HDopenai/tts-1-hd$31.50
MAI-Voice-2microsoft/mai-voice-2$23.10
MAI-Voice-2.1microsoft/mai-voice-2.1$23.10
MAI-Voice-2-Flashmicrosoft/mai-voice-2-flash$15.75
MAI-Voice-2.1-Flashmicrosoft/mai-voice-2.1-flash$15.75
Billing

The hold is the price.

MiniRouter reserves the exact cost of your input before calling the provider.
  1. [ 01 ]

    Characters × rate

    The hold is your input's character count times the per-character rate. Insufficient credit returns 402 before any provider call.

  2. [ 02 ]

    Settled to reported usage

    The charge follows the characters the provider reports. Anything left on the hold is released.

  3. [ 03 ]

    Visible in Request logs

    Rows show speech_characters with zero tokens. The CSV export carries the same column.

Every model, one key.