> ## 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.

# Récupérer le contenu du fichier

> Télécharge le contenu d’origine d’un fichier téléversé.

## Aperçu

Ce point de terminaison sert principalement la récupération du contenu des fichiers de l’API Batch compatible avec OpenAI de TokenLab.

Lorsque la requête active le mode de compatibilité Anthropic Files, la même route peut aussi relayer le contenu d’origine du fichier stocké pour l’espace de travail lié.

Sans en-têtes Anthropic, cette route télécharge le contenu des fichiers de lot ou proxifie le contenu d’un fichier image/référence lié lorsque le fournisseur le permet.

## Remarques

* Les fichiers d'entrée de lot doivent utiliser `purpose=batch`.
* Utilisez `purpose=batch_output` pour vous concentrer sur les fichiers de sortie générés.
* `completion_window` est actuellement `24h`.
* L'ordre de sortie n'est pas garanti ; il faut toujours faire correspondre par `custom_id`.
* Le streaming n'est pas pris en charge à l'intérieur des éléments de lot.

## Exemple

<RequestExample>
  ```bash cURL theme={null}
  curl -X GET "https://api.tokenlab.sh/v1/files/file_abc123/content" \
    -H "Authorization: Bearer sk-your-api-key" \
    --output batch-output.jsonl
  ```
</RequestExample>

## Requête / 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 à recevoir `output_file_id` et `error_file_id` uniquement 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>
  ```jsonl 200 OK theme={null}
  {"custom_id":"request-1","response":{"status_code":200,"body":{"id":"chatcmpl_abc123"}}}
  {"custom_id":"request-2","error":{"code":"invalid_request_error","message":"Invalid model"}}
  ```
</ResponseExample>

## Champs importants

<ResponseField name="body" type="binary|string">Corps brut de la réponse. Enregistrez-le directement sans le parser en JSON.</ResponseField>
<ResponseField name="custom_id" type="string">Identifiant pour les appels suivants et le support.</ResponseField>
