# OpenRouter APIs — Mistral: Voxtral Mini Transcribe (mistralai/voxtral-mini-transcribe) Guide for calling every confirmed OpenRouter API that serves `mistralai/voxtral-mini-transcribe`. Model page: https://openrouter.ai/mistralai/voxtral-mini-transcribe Create an API key: https://openrouter.ai/settings/keys ## Pricing Standard-variant prices for `mistralai/voxtral-mini-transcribe`, per provider, in the unit each provider bills (tokens, images, seconds of video, or characters of audio). Pay-as-you-go with no markup on the provider's price. - Mistral: $0.00005/second - Mistral: $0.000055/second Full price table, including other variants and per-request charges: https://openrouter.ai/mistralai/voxtral-mini-transcribe How OpenRouter prices requests: https://openrouter.ai/pricing ## EU in-region routing `mistralai/voxtral-mini-transcribe` is available through EU in-region routing. Requests sent to eu.openrouter.ai are decrypted in the EU and routed only to shared provider endpoints in Europe (the EU/EEA, the UK, and Switzerland). - Providers in Europe: Mistral - Prices in Europe: - Mistral: $0.000055/second - Base URL: https://eu.openrouter.ai/api/v1 - Plan: requires Business or Enterprise. Self-serve on Business: no contract, no monthly minimum. https://openrouter.ai/business/eu - Fails closed: if no shared provider endpoint in Europe is available, the request errors instead of leaving the region. Requests served by your own BYOK key go to your deployment’s region, which you control. Docs: https://openrouter.ai/docs/guides/features/in-region-routing ## Authentication Send this header with every request: - Authorization: Bearer $OPENROUTER_API_KEY ## Speech-to-Text API Transcribe audio with `mistralai/voxtral-mini-transcribe` through OpenRouter's Speech-to-Text API. Docs: https://openrouter.ai/docs/api/api-reference/stt/create-transcription ### Endpoint POST https://openrouter.ai/api/v1/audio/transcriptions Headers: - Content-Type: application/json ### Request fields (mistralai/voxtral-mini-transcribe) - model: string (required) — `"mistralai/voxtral-mini-transcribe"` - input_audio: object (required) — `{ "data": "", "format": "wav" }` ### Response The default response is JSON containing the transcript and usage: ```json { "text": "Hello, this is a transcription.", "usage": { "seconds": 9.2, "total_tokens": 113, "cost": 0.000508 } } ``` `response_format: "verbose_json"` can additionally return language, duration, segments, and word timestamps when the routed provider supports them. ### Examples #### Transcribe an audio file ```bash # Base64-encode your audio file AUDIO_BASE64=$(base64 < audio.wav | tr -d '\n') curl https://openrouter.ai/api/v1/audio/transcriptions \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $OPENROUTER_API_KEY" \ -d '{ "model": "mistralai/voxtral-mini-transcribe", "input_audio": { "data": "'"$AUDIO_BASE64"'", "format": "wav" } }' ``` ### Error differences - 400 — malformed audio input or an audio option the routed provider does not support - 502 — the upstream audio operation failed ## Errors Failures return `{"error": {"code": , "message": }}` with the HTTP status: - 400 — malformed request or an unsupported parameter - 401 — missing or invalid API key - 402 — insufficient credits - 403 — spend limit reached, key disabled, or access blocked - 404 — unknown model or no provider can serve the request - 429 — rate limited; retry with backoff - 502 — the operation failed upstream; failed generations are not billed --- Canonical version of this document: https://openrouter.ai/mistralai/voxtral-mini-transcribe/llms.txt