Zum Inhalt springen

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.

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.

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 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

Jede Datei enthält folgende Felder:

FeldBeschreibung
idEindeutiger Bezeichner (numerischer Snowflake-String)
urlPermanente öffentliche URL (wird nach dem Finalize-Schritt befüllt)
filenameUrsprünglicher Dateiname beim Upload
mime_typeimage/jpeg, application/pdf usw.
sizeGröße in Bytes
pathOptionaler Ordnerpfad (z. B. /images/blog)
content_hashSHA-256 des Dateiinhalts
metadataBeliebige Schlüssel/Wert-Metadaten
createdISO 8601-Erstellungszeitstempel
updatedISO 8601-Zeitstempel der letzten Aktualisierung

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.

  • 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