Fichiers
Envoyer un document ou une image, puis le joindre à une conversation.
Joindre un fichier se fait en deux temps, comme chez OpenAI : on l'envoie d'abord, on référence ensuite son identifiant dans un message.
1. Envoyer le fichier
POST /files, en multipart/form-data, avec le fichier et son usage :
curl https://oreus-v1-dev.dev2.dev-id.fr/api/v1/external/inference/files \
-H "Authorization: Bearer $OREUS_API_KEY" \
-F "purpose=user_data" \
-F "file=@rapport.pdf"const file = await client.files.create({
file: fs.createReadStream('rapport.pdf'),
purpose: 'user_data',
});
// file.id → à réutiliser dans un messageLa réponse est un objet file au format OpenAI :
{
"id": "file-abc123",
"object": "file",
"filename": "rapport.pdf",
"bytes": 184322,
"purpose": "user_data",
"created_at": 1757844720,
"expires_at": null
}Limites
| Taille | 512 Mo par fichier |
purpose | user_data uniquement |
| Images | JPEG, PNG, WebP, GIF, TIFF, SVG, BMP |
| Documents | PDF, DOCX, XLS, XLSX, PPTX, CSV, JSON, TXT, Markdown, HTML, AsciiDoc, LaTeX, VTT |
| Audio | MP3, WAV, FLAC, M4A, AAC, OGG |
| Vidéo | MP4, AVI, MOV |
Un type non listé est refusé avec un 400.
2. Le joindre à un message
Dans messages, un contenu multi-parties avec une partie file :
{
"model": "<MODEL_ID>",
"messages": [
{
"role": "user",
"content": [
{ "type": "text", "text": "Résume ce document." },
{ "type": "file", "file": { "file_id": "file-abc123" } }
]
}
]
}Pour une image accessible par URL, la partie image_url d'OpenAI fonctionne
aussi, sans envoi préalable :
{ "type": "image_url", "image_url": { "url": "https://exemple.org/photo.png" } }Ce que le modèle fait du fichier dépend de lui : un modèle sans vision ignore une image, un agent sans lecture de documents ignore un PDF. Vérifiez les capacités du modèle ou de l'agent dans la console.
Ce qui est facturé
Le contenu du fichier compte dans les tokens d'entrée de l'appel qui l'utilise, pas au moment de l'envoi. Un fichier envoyé et jamais référencé ne coûte rien.