Aller au contenu principal

Uploader des fichiers avec la Files API

Donner des documents a Grok

La Files API de xAI vous permet d’uploader des fichiers directement dans l’ecosysteme Grok. Plutot que de copier-coller du texte dans vos prompts, vous envoyez le document original et le modele l’analyse en profondeur. Cette approche preserve la structure, les tableaux et la mise en page du contenu source.

L’endpoint principal est POST /v1/files. Vous envoyez votre fichier en multipart/form-data avec un parametre purpose fixe a "assistants". L’API retourne un identifiant unique (file_id) que vous reutiliserez dans toutes vos requetes.

48 MB
Taille max par fichier
POST
Methode HTTP upload
$10
Par 1 000 appels
Auto
Activation attachment_search

Envoyer votre premier fichier

La requete d’upload utilise multipart/form-data, pas du JSON. Voici l’appel avec curl :

curl -X POST https://api.x.ai/v1/files \
  -H "Authorization: Bearer $XAI_API_KEY" \
  -F "[email protected]" \
  -F "purpose=assistants"

La reponse contient l’identifiant du fichier :

{
  "id": "file_abc123xyz",
  "object": "file",
  "bytes": 2458901,
  "created_at": 1710000000,
  "filename": "rapport-annuel.pdf",
  "purpose": "assistants"
}

Le file_id retourne (file_abc123xyz dans cet exemple) est votre reference permanente. Conservez-le : vous en aurez besoin pour interroger le fichier, le supprimer ou l’ajouter a une collection.

Parametres de l’upload

L’endpoint accepte deux parametres obligatoires :

  • file : le contenu binaire du fichier, envoye en multipart. La taille maximale est de 48 MB
  • purpose : toujours "assistants". C’est la seule valeur acceptee actuellement. Elle indique que le fichier sera utilise dans le contexte des interactions avec le modele

Authentification

Toutes les requetes vers la Files API necessitent votre cle API standard dans le header Authorization: Bearer. Cette cle est differente de la Management API Key que vous utiliserez pour les collections.

Utiliser le fichier dans l’API Responses

Une fois le fichier uploade, vous pouvez le referencer dans vos requetes via input_file :

{
  "model": "grok-3",
  "input": [
    {
      "type": "input_file",
      "file_id": "file_abc123xyz"
    },
    {
      "type": "input_text",
      "text": "Resume les points cles de ce document."
    }
  ]
}

Grok recoit le fichier, active automatiquement l’outil attachment_search cote serveur, extrait le contenu pertinent et genere sa reponse. Vous n’avez pas besoin d’activer manuellement cet outil.

Points cles a retenir

  • L’endpoint POST /v1/files accepte des fichiers jusqu’a 48 MB en multipart/form-data
  • Le parametre purpose doit etre "assistants"
  • Le file_id retourne est votre reference pour toutes les operations ulterieures
  • L’outil attachment_search s’active automatiquement quand un fichier est reference dans une requete
  • Le cout est de $10 par 1 000 appels d’attachement