Skip to content

Mistral

Mistral is an OpenAI-compatible provider with custom compatibility handling for specific features. DeepIntShield converts requests to Mistral’s expected format while supporting their unique API endpoints. Key characteristics:

  • OpenAI-compatible format - Chat and streaming endpoints
  • Transcription API - Native audio transcription support
  • Tool calling support - Function definitions with string-based tool choice
  • Streaming support - Server-Sent Events for chat and transcription
  • Parameter compatibility - max_completion_tokens → max_tokens conversion
OperationNon-StreamingStreamingEndpoint
Chat Completions/v1/chat/completions
Responses API/v1/chat/completions
Transcriptions (STT)/v1/audio/transcriptions
Embeddings-/v1/embeddings
List Models-/v1/models
Image Generation-
Text Completions-
Speech (TTS)-
Files-
Batch-

Mistral supports most OpenAI chat completion parameters. For standard OpenAI parameter reference, see OpenAI Chat Completions. temperature, top_p, stop, frequency_penalty, and presence_penalty pass through directly. The user field is limited to 64 characters.

The following parameters are not supported and are ignored: prompt_cache_key, cache_control, verbosity, store, service_tier.

Full OpenAI message support:

  • All roles: user, assistant, system, tool, developer
  • Content types: text, images, audio, files

Tool definitions are supported with the following constraints:

AspectSupportNotes
Function definitionsFull parameter schema support
Tool choice “auto”Default mode
Tool choice “any”Requires any tool
Tool choice “none”No tools
Specific tool forcingNot supported by Mistral
Parallel toolsMultiple tools in one turn

Mistral supports only string-valued tool_choice (auto, any, none) - forcing a specific tool by name is not supported.

Standard OpenAI-compatible response:

  • choices[].message.content - Response text
  • choices[].message.tool_calls - Function calls
  • usage - Token counts (prompt_tokens, completion_tokens)
  • finish_reason - stop, tool_calls, length

Mistral supports the Responses API with the same parameter support and tool handling as Chat Completions. Responses are returned in Responses format.


Mistral provides native audio transcription with streaming support. Requests are sent as multipart/form-data to /v1/audio/transcriptions.

ParameterNotes
fileAudio file (required)
modelModel name (e.g. voxtral-mini-latest)
languageISO-639-1 language hint (optional)
promptContext for recognition (optional)
response_formatjson, text, etc.
temperatureSampling temperature
timestamp_granularitiesSegment/word timestamps
{
"text": "transcribed text",
"language": "en",
"duration": 3.5,
"segments": [{
"id": 0,
"start": 0.0,
"end": 1.5,
"text": "transcribed segment",
"temperature": 0.0,
"avg_logprob": -0.45,
"compression_ratio": 1.2,
"no_speech_prob": 0.001
}],
"words": [{
"word": "transcribed",
"start": 0.0,
"end": 0.8
}]
}

Mistral supports SSE streaming for transcription with custom event types:

Event TypeContentNotes
transcription.languageLanguage codeLanguage detected
transcription.text.deltaText deltaIncremental text
transcription.segmentFull segmentComplete segment data
transcription.doneFinal usageCompletion with tokens

Mistral supports text embeddings:

ParameterNotes
inputText or array of texts
modelEmbedding model name
dimensionsCustom output dimensions (optional)
encoding_format”float” or “base64”

Response returns embedding vectors with token usage.


Lists available Mistral models with context length and capabilities.


FeatureReason
Text CompletionsNot offered by Mistral API
Image GenerationNot yet implemented in DeepIntShield integration (Mistral API supports this)
Speech/TTSNot offered by Mistral API
File ManagementNot offered by Mistral API
Batch OperationsNot offered by Mistral API

Cache Control Stripped

Severity: Medium Behavior: Cache control directives removed from messages Impact: Prompt caching features unavailable

Parameter Filtering

Severity: Low Behavior: OpenAI-specific parameters filtered Impact: prompt_cache_key, verbosity, store removed

User Field Size Limit

Severity: Low Behavior: User field > 64 characters silently dropped Impact: Longer user identifiers are lost