Voxtral Small 24B API
Available NewVoxtral Small (July 2025 release) is Mistral's speech-understanding model built on Mistral Small 3. Here it is served as speech to text on the OpenAI-compatible transcriptions endpoint, with automatic language detection across English, Spanish, French, Portuguese, Hindi, German, Dutch and Italian. Apache 2.0 weights.
Quickstart
Set INFERENCE_API_KEY to your key from the API Keys page, then run:
curl https://api.inferenceapis.com/v1/audio/transcriptions \
-H "Authorization: Bearer $INFERENCE_API_KEY" \
-F "model=mistralai/Voxtral-Small-24B-2507" \
-F "file=@meeting.mp3" \
-F "response_format=verbose_json"
import os
from openai import OpenAI
client = OpenAI(
base_url="https://api.inferenceapis.com/v1",
api_key=os.environ["INFERENCE_API_KEY"],
)
with open("meeting.mp3", "rb") as f:
result = client.audio.transcriptions.create(
model="mistralai/Voxtral-Small-24B-2507",
file=f,
response_format="verbose_json",
)
print(result.text)
import fs from "node:fs";
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://api.inferenceapis.com/v1",
apiKey: process.env.INFERENCE_API_KEY,
});
const result = await client.audio.transcriptions.create({
model: "mistralai/Voxtral-Small-24B-2507",
file: fs.createReadStream("meeting.mp3"),
response_format: "verbose_json",
});
console.log(result.text);
When to use it
- Accuracy on messy real-world audio in English, Spanish, French, Portuguese, Hindi, German, Dutch or Italian
- You want Mistral's Voxtral without running a 24B model yourself
- You need timestamps or subtitles (use Whisper or Parakeet)
- Languages outside its eight; use Whisper
- Speaker diarization
What it costs in practice
| Workload | Cost |
|---|---|
| 1 hour of audio | $0.24 |
| 100 hours of audio | $24.00 |
| 1,000 hours of audio | $240 |
Computed from the live rate below. There is no subscription or minimum; new accounts start with free credit.
Endpoint
Content-Type: multipart/form-data
/openai/v1/… is accepted too, so Groq-style base URLs work with only the host changed.
Model IDs and aliases
Send any of these as model; they all resolve to this model and bill at its rate.
| ID | Note |
|---|---|
mistralai/Voxtral-Small-24B-2507 | Canonical |
voxtral | Alias |
voxtral-small | Alias |
voxtral-small-24b | Alias |
Request body
| Parameter | Type | Description |
|---|---|---|
model required |
string | Model ID: mistralai/Voxtral-Small-24B-2507 — also accepted: voxtral, voxtral-small, voxtral-small-24b |
file required |
file | The audio file (multipart/form-data): mp3, mp4, m4a, wav, webm, flac, ogg. Up to 100 MB. |
language |
string | ISO-639-1 language code, e.g. en. Improves accuracy and latency when known. |
prompt |
string | Optional text to guide style or spelling of names and terms. |
response_format |
string | json (default), verbose_json, text, srt or vtt. |
timestamp_granularities |
array | ["segment"] and/or ["word"] with verbose_json. |
temperature |
number | Sampling temperature between 0 and 1. |
Response
{
"language": "en",
"duration": 12.4,
"text": "Thanks everyone for joining. Let's start with the roadmap.",
"segments": [
{ "id": 0, "start": 0.0, "end": 3.1, "text": "Thanks everyone for joining." },
{ "id": 1, "start": 3.1, "end": 6.0, "text": "Let's start with the roadmap." }
]
}
Pricing
| Price | $0.004 / audio minute |
| Billing | Pay as you go from prepaid credits. No subscription, no daily request or token cap. See all pricing. |
Notes
- Billing is per minute of audio, measured from the uploaded file.
- Text only:
verbose_jsonadds the duration but no timestamps or language field, andsrt/vttreturn a 400 pointing you to Whisper or Parakeet.
Compare Voxtral Small 24B with…
Languages
Per-language codes, tips and quickstarts: speech-to-text languages.
Questions about Voxtral Small 24B
Which languages does it support?
Mistral lists English, Spanish, French, Portuguese, Hindi, German, Dutch and Italian, with automatic language detection. Send language to pin one. For other languages use Whisper, which covers about a hundred.
Voxtral or Whisper?
Voxtral is a 24B language model that listens; Whisper is a dedicated speech model. Mistral's own benchmarks put Voxtral ahead of Whisper large-v3 on its eight languages; Whisper covers far more languages and, here, returns timestamps, which Voxtral does not. Voxtral Small costs twice Whisper per minute here.
Does it return timestamps?
No. On this host Voxtral returns the transcript and the duration only, with no segment or word timestamps and no language field, which we confirmed on a 23-second clip. Asking for srt, vtt or timestamp_granularities returns a 400 that names the models that do: Whisper and Parakeet.
Can it do speaker diarization or answer questions about the audio?
Not on this endpoint. It is served as transcription only.
Licence
Voxtral Small 24B is published by Mistral AI under the Apache 2.0. Your use of its output is also subject to that licence.
Errors
Errors use the OpenAI envelope: {"error": {"message", "type", "code"}}. 401 missing or invalid key · 402 insufficient_balance · 404 model_not_found · 503 model_unavailable · 502 backend error, safe to retry. Full table with what to retry: API documentation. Errors from other providers: provider error reference.
