Ga naar inhoud

Bestanden & Media

Upload en beheer bestanden vanuit je app-code. Elk bestand krijgt een permanente publieke URL.

Proyecta biedt een Files API via de SDK voor programmatisch bestandsbeheer vanuit je app-code.

Het chatinvoerveld accepteert afbeeldingen direct — plak een screenshot of sleep een afbeeldingsbestand naar het invoerveld. Ondersteunde indelingen: PNG, JPEG, WebP, GIF, AVIF. Maximale grootte: 10 MB per afbeelding.

Chat-bijlagen maken deel uit van het bericht, niet van je bestandenbibliotheek. Gebruik de SDK voor permanente opslag.

Elke gepubliceerde Proyecta-app heeft toegang tot een bestandsopslag-API via de Proyecta SDK. De SDK ondersteunt het weergeven, ophalen en uploaden van bestanden. Geüploade bestanden krijgen een permanente publieke URL waarnaar je vanuit je app kunt verwijzen.

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

Elk bestand bevat de volgende velden:

VeldBeschrijving
idUnieke identificator (numerieke snowflake-string)
urlPermanente publieke URL (ingevuld na de finalize-stap)
filenameOorspronkelijke bestandsnaam bij upload
mime_typeimage/jpeg, application/pdf, etc.
sizeGrootte in bytes
pathOptioneel mappad (bijv. /images/blog)
content_hashSHA-256 van de bestandsinhoud
metadataVrije sleutel/waarde-metadata
createdISO 8601-aanmaaktijdstempel
updatedISO 8601-tijdstempel van laatste wijziging

Hoe worden bestanden naar mijn app geüpload?

Section titled “Hoe worden bestanden naar mijn app geüpload?”

Bestandsuploads worden afgehandeld via de AI-builder. Vraag de AI om de uploadflow voor je te bouwen:

  • "Laat gebruikers een profielfoto uploaden en sla deze op in Proyecta Files"
  • "Voeg een fotogalerij toe waar ingelogde gebruikers hun foto's kunnen uploaden en bekijken"
  • "Laat me PDF-facturen aan bestellingen koppelen"

De AI koppelt de upload in je app-code via de tweestaps-upload-API van de SDK en verwijst naar de teruggegeven publieke URL. Je kunt files.create() / files.finalize() ook rechtstreeks vanuit je eigen app-code aanroepen.

Zijn de bestands-URL’s openbaar?

Ja. Elk bestand dat door de Files API wordt geretourneerd, heeft een permanente publieke URL. Upload geen bestanden die je niet openbaar wilt maken.

Hoe groot mag een bestand zijn?

De limiet per bestand is afhankelijk van je abonnement. Chat-bijlagen zijn beperkt tot 10 MB per afbeelding.

Kan ik afbeeldingen via de URL verkleinen of bijsnijden?

On-the-fly afbeeldingstransformaties (verkleinen, bijsnijden, formaatconversie) staan op de roadmap.

  • Afbeeldingstransformaties via URL-parameters (verkleinen, bijsnijden, formaatconversie)
  • Mappenorganisatie — maak mappen aan en beheer mappaden in het paneel
  • “Add to Chat” vanuit een bestandsrij, zodat bibliotheekitems in het AI-gesprek kunnen worden ingevoegd