Aller au contenu

Fichiers & Médias

Importez et gérez vos fichiers depuis le code de ton application. Chaque fichier reçoit une URL publique permanente.

Proyecta fournit une Files API via le SDK pour la gestion programmatique des fichiers depuis le code de ton application.

Le champ de saisie du chat accepte les images directement — colle une capture d’écran ou fais glisser un fichier image dans le champ. Formats acceptés : PNG, JPEG, WebP, GIF, AVIF. Taille maximale : 10 Mo par image.

Les pièces jointes du chat font partie du message et non de ta bibliothèque de fichiers. Pour un stockage persistant, utilise le SDK.

Chaque application Proyecta publiée a accès à une API de stockage de fichiers via le SDK Proyecta. Le SDK prend en charge les opérations de listage, de récupération et d’import de fichiers. Les fichiers importés reçoivent une URL publique permanente que tu peux référencer depuis ton application.

import Proyecta from '@proyecta-ai/sdk';
const proyecta = new Proyecta({ apiKey: process.env.PROYECTA_API_KEY });
// List files (supports limit and starting_after for pagination)
const files = await proyecta.files.list();
// Fetch a single file by ID
const file = await proyecta.files.get('1234567890123456789');
console.log(file.url); // permanent public URL
// Upload a file (two-step)
// Step 1: create a placeholder and get a signed upload URL
const { id: fileId, upload_url } = await proyecta.files.create({
filename: 'avatar.png',
mime_type: 'image/png',
});
// Step 2: PUT the file bytes directly to the signed URL
await fetch(upload_url, {
method: 'PUT',
body: fileBytes,
headers: { 'Content-Type': 'image/png' },
});
// Step 3: finalize to get the permanent file record
const uploaded = await proyecta.files.finalize({ fileId });
console.log(uploaded.url); // permanent public URL, now populated

Chaque fichier contient les champs suivants :

ChampDescription
idIdentifiant unique (chaîne numérique de type snowflake)
urlURL publique permanente (renseignée après l’étape de finalisation)
filenameNom d’origine du fichier au moment de l’import
mime_typeimage/jpeg, application/pdf, etc.
sizeTaille en octets
pathChemin de dossier optionnel (ex. /images/blog)
content_hashSHA-256 du contenu du fichier
metadataMétadonnées arbitraires sous forme de clés/valeurs
createdHorodatage de création au format ISO 8601
updatedHorodatage de dernière modification au format ISO 8601

Comment les fichiers sont-ils importés dans mon application ?

Section intitulée « Comment les fichiers sont-ils importés dans mon application ? »

Les imports de fichiers sont gérés via le builder IA. Demande à l’IA de construire le flux d’import pour toi :

  • "Let users upload a profile photo and store it in Proyecta Files"
  • "Add an image gallery where signed-in users can upload and view their photos"
  • "Let me attach PDF invoices to orders"

L’IA intègre l’import dans le code de ton application en utilisant l’API d’import en deux étapes du SDK et référence l’URL publique retournée. Tu peux également appeler files.create() / files.finalize() directement depuis le code de ton application.

Les URLs des fichiers sont-elles publiques ?

Oui. Tout fichier retourné par la Files API possède une URL publique permanente. N’importe aucun fichier que tu ne souhaites pas exposer.

Quelle taille maximale peut avoir un fichier ?

Les limites par fichier dépendent de ton forfait. Les pièces jointes du chat sont limitées à 10 Mo par image.

Puis-je redimensionner ou recadrer des images via l’URL ?

Les transformations d’images à la volée (redimensionnement, recadrage, conversion de format) sont prévues dans la feuille de route.

  • Transformations d’images via des paramètres d’URL (redimensionnement, recadrage, conversion de format)
  • Organisation en dossiers — créer et gérer des chemins de dossiers dans le panneau
  • « Add to Chat » depuis une ligne de fichier, pour pouvoir glisser des ressources de la bibliothèque dans la conversation avec l’IA