> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.empiriolabs.ai/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.empiriolabs.ai/_mcp/server.

# Mistral Small 4

> Hybrid model unifying Instruct, Reasoning (Magistral), and Devstral families: 40% lower completion time and 3x throughput vs Small 3.

![Mistral Small 4](https://media.empiriolabs.ai/model-logos/mistral-small-4.png)

[Mistral AI](/providers/mistral) · Text Generation

`POST /v1/chat/completions`

Hybrid model unifying Instruct, Reasoning (Magistral), and Devstral families: 40% lower completion time and 3x throughput vs Small 3.

## At a glance

| Field               | Value                                                                                                                         |
| ------------------- | ----------------------------------------------------------------------------------------------------------------------------- |
| Model id            | `mistral-small-4`                                                                                                             |
| Model release date  | 2026-03-16                                                                                                                    |
| Input modalities    | Text, Image                                                                                                                   |
| Output modalities   | Text                                                                                                                          |
| Context window      | 256K                                                                                                                          |
| Weight precision    | -                                                                                                                             |
| Max output tokens   | 65,536                                                                                                                        |
| Features            | vision, web_search, function_calling                                                                                          |
| Native inference    | No                                                                                                                            |
| New                 | No                                                                                                                            |
| Structured output   | JSON Mode                                                                                                                     |
| Batch API           | 35% off list price                                                                                                            |
| Supported endpoints | `POST /v1/chat/completions`, `POST /v1/responses`, `POST /v1/messages`, `POST /v1beta/models/mistral-small-4:generateContent` |
| Alternate model ids | `mistralai/mistral-small-4`                                                                                                   |

## Pricing

| Charge              | Spec                    | Rate    |
| ------------------- | ----------------------- | ------- |
| Input               | per 1M prompt tokens    | \$0.15  |
| Output              | per 1M generated tokens | \$0.60  |
| Standard Web Search | per call                | \$0.084 |
| Premium Web Search  | per call                | \$0.140 |
| Code Interpreter    | per call                | \$0.084 |
| Image Generation    | per image               | \$0.280 |

## Example request

```bash
curl https://api.empiriolabs.ai/v1/chat/completions \
  -H 'Authorization: Bearer $EMPIRIOLABS_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"model": "mistral-small-4", "messages": [{"role":"user","content":"Hello"}]}'
```

## Parameters

| Parameter               | Type    | Required | Default      | Description                                                                                                              |
| ----------------------- | ------- | -------- | ------------ | ------------------------------------------------------------------------------------------------------------------------ |
| `reasoning_enabled`     | boolean | no       | true         | Enable extended reasoning. Not applied when the request includes function tools.                                         |
| `tool_web_search`       | boolean | no       | false        | Enable web_search tool                                                                                                   |
| `web_search_tier`       | enum    | no       | `"standard"` | Standard or Premium web-search tier. Premium uses higher-quality sources. · Allowed: `standard`, `premium`               |
| `tool_code_interpreter` | boolean | no       | false        | Allow the model to execute Python code in a sandbox to compute / analyze data.                                           |
| `tool_image_generation` | boolean | no       | false        | Allow the model to generate images inline via the platform image-gen tool.                                               |
| `temperature`           | number  | no       | `0.7`        | Sampling temperature. 0 = deterministic, 1.5 = maximum randomness. · Range: 0 – 1.5                                      |
| `max_tokens`            | number  | no       | `4096`       | Maximum tokens in the response. · Range: 1 – 65536                                                                       |
| `disable_formatting`    | boolean | no       | false        | Return the answer without EmpirioLabs formatting: citations stay as plain \[N] markers and no References block is added. |
| `response_format`       | enum    | no       | -            | Return the output as a valid JSON object (JSON mode). Describe the fields you want in your prompt.                       |

## Notes

Tools (web search, code interpreter, image generation) are billed only when actually invoked. Requests that include your own function tools use standard function calling, and the built-in tools are unavailable on those requests: a request cannot combine both at once. With a built-in tool turned on, input is limited to about 235,000 tokens per request.

**Per-tool billing (`usage.tool_usage`)**

When this model invokes built-in tools (web search, code interpreter, etc.) inside a single request, the response carries a normalized `usage.tool_usage` map alongside the token counts. The example below shows the shape, exact field names, units, and which tools appear can vary slightly per provider:

```json
"usage": {
  "prompt_tokens": 123,
  "completion_tokens": 456,
  "cost_usd": 0.0042,
  "tool_usage": {"web_search": 3, "code_interpreter": 1}
}
```

The tool counts are already factored into `cost_usd`, they are surfaced for transparency so you can audit per-tool billing. The field is omitted when no tools were invoked.

---

*Machine-readable schema:* `GET https://api.empiriolabs.ai/v1/models/mistral-small-4`.