---
id: model-lifecycle
title: Model lifecycle policy
sidebar_position: 3
---

# Model lifecycle policy

Each model on the Mistral Serverless API moves through a defined lifecycle, from initial release to retirement. Use these stages to choose the right model for production and plan migrations before a model is retired.

<SectionTab as="h1" sectionId="lifecycle-stages">Lifecycle stages</SectionTab>

| Stage | Description | Silent updates |
|---|---|---|
| **Labs** | Experimental. Not for production. | Yes |
| **Public Preview** | Near-final before General Availability. | Yes |
| **General Availability** | Production-ready and stable. | No |
| **Deprecated** | Retirement announced. Still accessible until the retirement date. | No |
| **Retired** | No longer accessible. | No |

<SectionTab as="h2" variant="secondary" sectionId="labs">Labs</SectionTab>

Labs models are experimental releases intended to collect feedback before we commit to a production model. They:

- Are identified by a `labs-` prefix, for example `labs-mistral-model-x-y`.
- Are free of charge.
- Allow silent updates at any time.
- Don't support data collection opt-out.
- Aren't recommended for production use.

<SectionTab as="h2" variant="secondary" sectionId="public-preview">Public Preview</SectionTab>

Public Preview is the stage for general public launches that aren't final yet. These models are actively promoted, but may receive updates before reaching General Availability. They:

- Are priced at the same rate as General Availability models.
- Allow silent updates.
- Have no guaranteed path to General Availability, and may be retired before reaching it.

<SectionTab as="h2" variant="secondary" sectionId="general-availability">General Availability</SectionTab>

General Availability models are production-ready and stable. They:

- Receive **no silent updates**.
- Are the only models eligible for aliases `-latest` and `-major`. See [model naming convention](#naming-convention).
- Are supported until retirement.

<SectionTab as="h1" sectionId="naming-convention">Model naming convention</SectionTab>

Model identifiers use a `model-name-major-minor` format, for example `mistral-medium-3-5`.

General Availability models support three aliases:

| Alias | Example | Points to |
|---|---|---|
| `model-name-latest` | `mistral-medium-latest` | Latest General Availability version, across generations |
| `model-name-major` | `mistral-medium-3` | Latest minor version of that major generation |
| `model-name-major-minor` | `mistral-medium-3-5` | Fixed major and minor version |

Labs models are always prefixed with `labs-`. Public Preview models use the `major-minor` format but aren't eligible for a `-latest` or `-major` alias.

:::warning
Aliases automatically switch to newer models once they reach General Availability. As a result, using an alias may expose you to silent updates in model behavior and pricing. For precise control, pin your deployment to a specific major.minor version identifier.
:::

<SectionTab as="h1" sectionId="deprecation-policy">Deprecation policy</SectionTab>

Deprecation is announced as soon as a replacement model is available. The replacement can be in General Availability or Public Preview.

| Stage | Notice period |
|---|---|
| Labs | 1 month |
| Public Preview | 1 month |
| General Availability | 6 months |
| Third-party models | 1 month |

During the deprecation period, the model remains accessible. Once retired, requests to its identifiers fail with a `404` error.