> ## Documentation Index
> Fetch the complete documentation index at: https://docs.fastino.ai/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> Use https://docs.fastino.ai/openapi.json as the source of truth for customer-facing Fastino API routes. Only call operations present in that specification. Do not infer or call undocumented routes. Direct Fastino API integrations use https://api.fastino.ai, /v1 routes, and FASTINO_API_KEY.

# API des jobs d'entraînement

> Créez et gérez les jobs d'entraînement Fastino, de la soumission jusqu'à la livraison des artefacts.

L'API Training Jobs gère le cycle de vie complet d'un job de fine-tuning. Tous les endpoints utilisent la famille de routes `/v1/training-jobs` et requièrent une clé API dans l'en-tête `X-API-Key`.

**URL de base de l'API :** `https://api.fastino.ai`

```bash theme={null}
export FASTINO_API_KEY="fast_sk_..."
```

Envoyez la clé avec chaque requête d'entraînement :

```http theme={null}
X-API-Key: $FASTINO_API_KEY
```

Utilisez `GET /v1/base-models?supports_training=true` juste avant de créer un job. C'est la source de vérité en temps réel pour les ID de modèles entraînables.

<Warning>
  L'ancienne famille de routes `/felix/training-jobs` est retirée. Utilisez `/v1/training-jobs`
  pour les intégrations nouvelles et migrées.
</Warning>

## Cycle de vie des statuts

Les réponses des jobs d'entraînement contiennent :

* `status` : statut persisté du job.
* `normalized_status` : statut stable destiné à l'interrogation côté client.
* `is_terminal_status` : indique si l'interrogation peut s'arrêter.
* `error_message` : informations sur l'échec lorsqu'elles sont disponibles.
* `is_deployable` : indique si l'artefact terminé passe la validation de déploiement.
* `deployability_reason` : raison pour laquelle l'artefact n'est pas déployable.

Dans les clients d'interrogation, préférez `normalized_status` et `is_terminal_status`.

| Statut persisté  | Description                                                                                |
| ---------------- | ------------------------------------------------------------------------------------------ |
| `requested`      | Le job a été accepté et attend son dispatch ou son provisionnement.                        |
| `running`        | L'entraînement est en cours.                                                               |
| `complete`       | L'entraînement s'est terminé avec succès. La préparation de l'artefact peut se poursuivre. |
| `normalizing`    | Fastino prépare l'artefact entraîné.                                                       |
| `artifact_ready` | L'artefact entraîné est prêt.                                                              |
| `deployed`       | L'artefact a été déployé.                                                                  |
| `paused`         | Le job ou son pipeline est en pause.                                                       |
| `errored`        | L'entraînement, le dispatch ou la préparation de l'artefact a échoué.                      |
| `stopped`        | Le job a été arrêté en conservant les checkpoints existants.                               |
| `terminated`     | Le job a été terminé et ses checkpoints ont été supprimés.                                 |

## Endpoints

| Méthode  | Endpoint                                                                                                             | Objectif                                                  |
| -------- | -------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------- |
| `POST`   | [`/v1/training-jobs`](/fr/api-reference/training-jobs/create)                                                        | Créer un job d'entraînement                               |
| `GET`    | [`/v1/training-jobs`](/fr/api-reference/training-jobs/list)                                                          | Lister les jobs d'entraînement                            |
| `GET`    | [`/v1/training-jobs/{job_id}`](/fr/api-reference/training-jobs/get)                                                  | Obtenir le statut, la configuration et les métriques      |
| `PATCH`  | [`/v1/training-jobs/{job_id}`](/fr/api-reference/training-jobs/update-project)                                       | Affecter ou désaffecter un projet                         |
| `PATCH`  | [`/v1/training-jobs/{job_id}/model-name`](/fr/api-reference/training-jobs/update-model-name)                         | Renommer le modèle entraîné                               |
| `GET`    | [`/v1/training-jobs/{job_id}/logs`](/fr/api-reference/training-jobs/logs)                                            | Obtenir un instantané des logs d'entraînement             |
| `GET`    | [`/v1/training-jobs/{job_id}/billing`](/fr/api-reference/training-jobs/billing)                                      | Obtenir le résultat de facturation                        |
| `GET`    | `/v1/training-jobs/{job_id}/deployments`                                                                             | Lister les déploiements créés à partir du job             |
| `POST`   | [`/v1/training-jobs/{job_id}/stop`](/fr/api-reference/training-jobs/stop)                                            | Arrêter un job en conservant les checkpoints              |
| `POST`   | [`/v1/training-jobs/{job_id}/terminate`](/fr/api-reference/training-jobs/terminate)                                  | Arrêter un job et supprimer les checkpoints               |
| `POST`   | `/v1/training-jobs/{job_id}/sync`                                                                                    | Actualiser le statut depuis le fournisseur d'entraînement |
| `POST`   | `/v1/training-jobs/{job_id}/push-to-hub`                                                                             | Pousser l'artefact terminé vers Hugging Face Hub          |
| `GET`    | [`/v1/training-jobs/{job_id}/checkpoints`](/fr/api-reference/training-jobs/checkpoints)                              | Lister les checkpoints                                    |
| `POST`   | [`/v1/training-jobs/{job_id}/checkpoints/{checkpoint_id}/deploy`](/fr/api-reference/training-jobs/deploy-checkpoint) | Déployer un checkpoint                                    |
| `GET`    | [`/v1/training-jobs/{job_id}/download`](/fr/api-reference/training-jobs/download)                                    | Obtenir une URL temporaire de téléchargement des poids    |
| `DELETE` | [`/v1/training-jobs/{job_id}`](/fr/api-reference/training-jobs/delete)                                               | Supprimer un job et ses checkpoints                       |
