← Back to PRs

#11334: feat: add Mistral/Voxtral audio transcription provider

by JamesEBall open 2026-02-07 18:18 View on GitHub →
stale size: S
## Summary Add Mistral as a new audio transcription provider, enabling users to transcribe audio using Mistral's Voxtral model via their OpenAI-compatible API. ## Changes - **New provider:** `src/media-understanding/providers/mistral/index.ts` — wraps `transcribeOpenAiCompatibleAudio` with Mistral's base URL (`https://api.mistral.ai/v1`), following the same pattern as the existing Groq provider. - **Provider registry:** Registered `mistralProvider` in the PROVIDERS array. - **Default model:** Added `mistral: "voxtral-mini-latest"` to `DEFAULT_AUDIO_MODELS`. - **Tests:** Unit tests covering provider metadata, default URL routing, and custom base URL override. ## Details Mistral's audio transcription API ([docs](https://docs.mistral.ai/capabilities/audio_transcription)) uses the same `multipart/form-data` format as OpenAI Whisper (`file` + `model` fields, Bearer auth), so no new transcription function was needed — we reuse `transcribeOpenAiCompatibleAudio` exactly like Groq does. Users can configure it via: ```yaml media_understanding: audio: provider: mistral # optional: model defaults to voxtral-mini-latest ``` Requires a Mistral API key configured in the provider backends. <!-- greptile_comment --> <h2>Greptile Overview</h2> <h3>Greptile Summary</h3> This PR adds a new `mistral` media-understanding provider that reuses the existing OpenAI-compatible multipart audio transcription implementation (`transcribeOpenAiCompatibleAudio`) with Mistral’s default base URL (`https://api.mistral.ai/v1`). It registers the provider in the provider registry and introduces a default audio model mapping (`mistral: voxtral-mini-latest`), along with unit tests validating default URL routing and baseUrl override behavior. <h3>Confidence Score: 5/5</h3> - This PR is safe to merge with minimal risk. - Changes are small, follow an existing provider pattern (OpenAI-compatible wrapper), and are covered by unit tests for default/override URL behavior. No functional issues were found in the added provider wiring or defaults. - No files require special attention <!-- greptile_other_comments_section --> <sub>(2/5) Greptile learns from your feedback when you react with thumbs up/down!</sub> <!-- /greptile_comment -->

Most Similar PRs