Transcription
POST /v1/audio/transcriptions takes multipart/form-data.
curl https://api.mixen.ai/v1/audio/transcriptions \ -H "Authorization: Bearer $MIXEN_API_KEY" \ -F file=@meeting.m4a \ -F model=whisper-1 \ -F language=en| Field | Description |
|---|---|
file |
Audio file, required |
model |
whisper-1 for compatibility |
language |
Language code; detected automatically when omitted |
response_format |
json by default |
Billed per minute of audio (token-metered models bill per 1M tokens; see the catalog for units). The JSON response carries the charge: usage.cost / usage.cost_rub / usage.billing_source — same as every other protocol.
The live recognition line-up is in GET /v1/models, entries with type: stt:
| Model | Key | What it is good for |
|---|---|---|
| MAI-Transcribe 2 | microsoft/mai-transcribe-2 |
60 languages, strong multilingual accuracy — model card |
| GPT-4o Transcribe | openai/gpt-4o-transcribe |
Familiar OpenAI quality |
| GPT-4o Mini Transcribe | openai/gpt-4o-mini-transcribe |
Cheaper sibling, same interface |
| Voxtral Mini Transcribe | mistralai/voxtral-mini-transcribe |
Mistral’s compact model |
| Nemotron 3.5 ASR Streaming | nvidia/nemotron-3.5-asr-streaming-multilingual-0.6b |
The cheapest minute in the catalog |
| Scribe v2 | elevenlabs/scribe-v2 |
90+ languages, word-level timestamps, audio event tagging |
| Gemini 3.5 Transcribe | google/gemini-3.5-transcribe |
Word-level timestamps and diarization for up to 8 speakers, audio up to an hour |
The endpoint requires the audio scope — a key without it gets a 403. The opposite direction — text to speech — is covered in the synthesis guide.