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

# Créer un lot

> Crée un travail de lot compatible avec OpenAI à partir d'un fichier d'entrée téléchargé.

## Aperçu

Ce point de terminaison fait partie de l'API de lot compatible avec OpenAI de TokenLab. Les travaux de lot utilisent des fichiers JSONL téléchargés, s'exécutent de manière asynchrone et peuvent renvoyer des fichiers de sortie/d'erreur plus tard.

## Remarques

* Les fichiers d'entrée de lot doivent utiliser `purpose=batch`.
* `completion_window` est actuellement `24h`.
* L'ordre de sortie n'est pas garanti ; faites toujours correspondre par `custom_id`.
* Le streaming n'est pas pris en charge à l'intérieur des éléments de lot.
* Les points de terminaison d’éléments de lot actuellement pris en charge sont `/v1/chat/completions` et `/v1/embeddings` ; les travaux de lot `/v1/responses` sont refusés jusqu’à ce qu’un exécuteur de lot Responses natif soit disponible.

## Exemple

<RequestExample>
  ```bash cURL theme={null}
  curl -X POST "https://api.tokenlab.sh/v1/batches" \
    -H "Authorization: Bearer sk-your-api-key" \
    -H "Content-Type: application/json" \
    -d '{
      "input_file_id": "file_abc123",
      "endpoint": "/v1/chat/completions",
      "completion_window": "24h"
    }'
  ```
</RequestExample>

## Demande / Réponse

Utilisez le panneau OpenAPI interactif ci-dessus pour le schéma exact.

## Conseils opérationnels

* Utilisez `custom_id` pour la réconciliation idempotente en aval.
* Attendez-vous à ce que `output_file_id` et `error_file_id` ne soient disponibles qu'après que le travailleur finalise le lot.
* La tarification des lots peut différer de la tarification synchrone car les règles de remise `isBatchRequest=true` s'appliquent.

## Exemple de réponse

<ResponseExample>
  ```json 200 OK theme={null}
  {
    "id": "batch_abc123",
    "object": "batch",
    "endpoint": "/v1/chat/completions",
    "input_file_id": "file_abc123",
    "completion_window": "24h",
    "status": "validating",
    "output_file_id": null,
    "error_file_id": null,
    "created_at": 1706000000
  }
  ```
</ResponseExample>

## Champs importants

<ResponseField name="id" type="string">Identifiant pour les appels suivants et le support.</ResponseField>
<ResponseField name="status" type="string">État de cycle de vie actuel de cette ressource.</ResponseField>
<ResponseField name="output_file_id" type="string|null">Identifiant de fichier utilisé par les API liées.</ResponseField>
