Dateien & Medien
Dateien aus deinem App-Code hochladen und verwalten. Jede Datei erhält eine permanente öffentliche URL.
Proyecta stellt über das SDK eine Files API für die programmgesteuerte Dateiverwaltung aus deinem App-Code bereit.
Chat-Anhänge
Abschnitt betitelt „Chat-Anhänge“Das Chat-Eingabefeld akzeptiert Bilder direkt – füge einen Screenshot ein oder ziehe eine Bilddatei auf das Eingabefeld. Unterstützte Formate: PNG, JPEG, WebP, GIF, AVIF. Maximale Größe: 10 MB pro Bild.
Chat-Anhänge sind Teil der Nachricht und gehören nicht zu deiner Datei-Bibliothek. Für dauerhaftes Speichern verwende das SDK.
Die Files API (SDK)
Abschnitt betitelt „Die Files API (SDK)“Jede veröffentlichte Proyecta-App hat über das Proyecta SDK Zugriff auf eine Dateispeicher-API. Das SDK unterstützt das Auflisten, Abrufen und Hochladen von Dateien. Hochgeladene Dateien erhalten eine permanente öffentliche URL, auf die du aus deiner App verweisen kannst.
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 IDconst 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 URLconst { 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 URLawait fetch(upload_url, { method: 'PUT', body: fileBytes, headers: { 'Content-Type': 'image/png' },});
// Step 3: finalize to get the permanent file recordconst uploaded = await proyecta.files.finalize({ fileId });console.log(uploaded.url); // permanent public URL, now populatedJede Datei enthält folgende Felder:
| Feld | Beschreibung |
|---|---|
id | Eindeutiger Bezeichner (numerischer Snowflake-String) |
url | Permanente öffentliche URL (wird nach dem Finalize-Schritt befüllt) |
filename | Ursprünglicher Dateiname beim Upload |
mime_type | image/jpeg, application/pdf usw. |
size | Größe in Bytes |
path | Optionaler Ordnerpfad (z. B. /images/blog) |
content_hash | SHA-256 des Dateiinhalts |
metadata | Beliebige Schlüssel/Wert-Metadaten |
created | ISO 8601-Erstellungszeitstempel |
updated | ISO 8601-Zeitstempel der letzten Aktualisierung |
Wie werden Dateien in meine App hochgeladen?
Abschnitt betitelt „Wie werden Dateien in meine App hochgeladen?“Datei-Uploads werden über den AI Builder abgewickelt. Bitte die KI, den Upload-Flow für dich zu erstellen:
„Lass Nutzer ein Profilfoto hochladen und in Proyecta Files speichern"„Füge eine Bildergalerie hinzu, in der angemeldete Nutzer ihre Fotos hochladen und ansehen können"„Lass mich PDF-Rechnungen an Bestellungen anhängen"
Die KI richtet den Upload in deinem App-Code mithilfe der zweistufigen Upload-API des SDK ein und referenziert die zurückgegebene öffentliche URL. Du kannst files.create() / files.finalize() auch direkt aus deinem eigenen App-Code aufrufen.
Sind die Datei-URLs öffentlich?
Ja. Jede Datei, die von der Files API zurückgegeben wird, hat eine permanente öffentliche URL. Lade nichts hoch, das du nicht öffentlich zugänglich machen möchtest.
Wie groß darf eine Datei sein?
Die Größenbeschränkung pro Datei hängt von deinem Plan ab. Chat-Anhänge sind auf 10 MB pro Bild begrenzt.
Kann ich Bilder über die URL skalieren oder zuschneiden?
On-the-fly-Bildtransformationen (Skalierung, Zuschnitt, Formatkonvertierung) stehen auf der Roadmap.
Demnächst verfügbar
Abschnitt betitelt „Demnächst verfügbar“- Bildtransformationen über URL-Parameter (Skalierung, Zuschnitt, Formatkonvertierung)
- Ordnerorganisation – Ordnerpfade im Panel erstellen und verwalten
- „Zum Chat hinzufügen” direkt aus einer Dateizeile, damit Bibliotheks-Assets in die KI-Konversation eingebracht werden können