POST /v1/files
API Files : envoyer et gérer des fichiers, stockés dans l'UE
Les points de terminaison files stockent les entrées et les sorties des travaux qui ne tiennent pas dans une seule requête. Vous envoyez un fichier JSONL de requêtes pour un traitement par lots, vous téléchargez les résultats à la fin, puis vous supprimez les deux. Ces points de terminaison suivent l'API Files d'OpenAI, et les fichiers sont stockés dans des centres de données européens.
- 01Format d'API: OpenAI
- 02Centres de données dans l'UE
- 03Couvert par un seul DPA
# Upload a JSONL file of requests for a batch job
curl https://api.inference.eu/v1/files \
-H "Authorization: Bearer $INFERENCE_EU_API_KEY" \
-F purpose="batch" \
-F file="@ticket-classification.jsonl"
# {"id": "file-7f3c2a", "object": "file", "bytes": 482113, "created_at": 1793620800,
# "filename": "ticket-classification.jsonl", "purpose": "batch"}Ce que font les points de terminaison
POST /v1/files envoie un fichier en multipart/form-data avec deux champs : file et purpose. Utilisez purpose batch pour une entrée de lot, ou user_data pour un fichier qu'un outil comme l'exécution de code doit lire. La réponse est un objet fichier avec id, bytes, filename, purpose et created_at. C'est l'id qui désigne ensuite le fichier partout ailleurs.
GET /v1/files liste vos fichiers, GET /v1/files/{file_id} renvoie un objet, GET /v1/files/{file_id}/content télécharge le contenu et DELETE /v1/files/{file_id} le supprime. Les fichiers de sortie et d'erreurs des lots apparaissent dans la même liste avec purpose batch_output.
Préparer un fichier d'entrée de lot
Un fichier d'entrée de lot est au format JSON Lines : une requête par ligne, chacune avec un custom_id de votre choix, une method POST, l'url visée, comme /v1/chat/completions ou /v1/embeddings, et un body identique à ce que vous enverriez à ce point de terminaison. Toutes les lignes d'un fichier doivent viser le même point de terminaison.
Choisissez un custom_id parlant, comme un numéro de ticket ou un identifiant de document : les résultats reviennent dans n'importe quel ordre et c'est cette valeur qui permet de les rapprocher. Validez le fichier avant l'envoi : chaque ligne doit être un JSON valide, et une seule ligne mal formée peut faire échouer la validation de tout le lot.
Stockage, conservation et nettoyage
Les fichiers sont stockés dans des centres de données européens, accessibles uniquement avec les clés de votre organisation, et ne servent jamais à entraîner des modèles. Traitez-les comme toute autre copie de vos données : supprimez les fichiers d'entrée une fois le lot terminé et les résultats récupérés, puis les fichiers de sortie une fois exploités.
Une courte étape de nettoyage à la fin de chaque traitement suffit : la liste reste lisible et la quantité de données sensibles en stockage reste limitée. La durée de conservation des fichiers non supprimés dépend de votre contrat, et nous vous la confirmons.
Erreurs et cas particuliers
Un envoi sans purpose, ou avec une valeur non prise en charge, renvoie une erreur 400. Un fichier trop volumineux est également refusé : répartissez les grosses entrées sur plusieurs fichiers et plusieurs lots. La taille maximale dépend de votre offre et nous vous la confirmons.
Un identifiant de fichier inexistant, ou appartenant à une autre organisation, renvoie un 404. Impossible de télécharger un fichier encore en cours d'écriture, comme la sortie d'un lot non terminé : attendez le statut completed. Supprimer un fichier utilisé par un lot en cours peut faire échouer ce lot ; ne supprimez les entrées qu'après coup.
Files : questions fréquentes
Les questions que nous posent le plus les achats, les développeurs et les juristes. Il en manque une ? Posez-la-nous directement.
Pages liées
- BatchesExécutez des milliers de requêtes de chat ou d'embeddings en un seul traitement asynchrone avec une API batch compatible OpenAI, traitée dans l'UE.Endpoints
- Document conversionConvertissez vos fichiers PDF, Word, PowerPoint et Excel en Markdown propre pour le RAG et les prompts. Tableaux, titres et scans, traités dans l'UE.Outils
- Code executionLaissez les modèles ouverts écrire et exécuter du Python en bac à sable grâce à l'outil code_interpreter de l'API Responses. Analyse de données dans l'UE.Outils
Faites passer vos charges IA sur une infrastructure européenne
Dites-nous quels modèles vous utilisez et votre volume approximatif. Nous répondons sous un jour ouvré avec un tarif et la suite.
- Réponse sous un jour ouvré
- Tarif adapté à votre volume
- DPA prêt à signer