Hoppa till innehåll

Filer och media

Ladda upp och hantera filer från din appkod. Varje fil får en permanent publik URL.

Proyecta tillhandahåller ett Files API via SDK:t för programmatisk filhantering från din appkod.

Chattinmatningen tar emot bilder direkt — klistra in en skärmbild eller dra en bildfil till inmatningsfältet. Format som stöds: PNG, JPEG, WebP, GIF, AVIF. Maximal storlek: 10 MB per bild.

Chattbilagor är en del av meddelandet, inte ditt filbibliotek. Använd SDK:t för beständig lagring.

Varje publicerad Proyecta-app har tillgång till ett fillagrings-API via Proyecta SDK. SDK:t stöder listning, hämtning och uppladdning av filer. Uppladdade filer får en permanent publik URL som du kan referera till från din app.

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

Varje fil innehåller:

FältBeskrivning
idUnik identifierare (numerisk snowflake-sträng)
urlPermanent publik URL (fylls i efter finalize-steget)
filenameUrsprungligt filnamn vid uppladdning
mime_typeimage/jpeg, application/pdf, osv.
sizeStorlek i byte
pathValfri mappsökväg (t.ex. /images/blog)
content_hashSHA-256 av filinnehållet
metadataGodtyckliga nyckel/värde-metadata
createdISO 8601-tidsstämpel för skapande
updatedISO 8601-tidsstämpel för senaste uppdatering

Filuppladdningar hanteras via AI-byggaren. Be AI:n bygga uppladdningsflödet åt dig:

  • "Låt användare ladda upp ett profilfoto och lagra det i Proyecta Files"
  • "Lägg till ett bildgalleri där inloggade användare kan ladda upp och visa sina foton"
  • "Låt mig bifoga PDF-fakturor till beställningar"

AI:n kopplar upp uppladdningen i din appkod med hjälp av SDK:ts tvåstegs-API och refererar till den returnerade publika URL:en. Du kan också anropa files.create() / files.finalize() direkt från din egen appkod.

Är fil-URL:erna publika?

Ja. Alla filer som returneras av Files API har en permanent publik URL. Ladda inte upp något du inte vill ska vara tillgängligt.

Hur stor kan en fil vara?

Gränsen per fil beror på din plan. Chattbilagor är begränsade till 10 MB per bild.

Kan jag ändra storlek på eller beskära bilder via URL:en?

Bildtransformationer i realtid (storleksändring, beskärning, formatkonvertering) finns på roadmapen.

  • Bildtransformationer via URL-parametrar (storleksändring, beskärning, formatkonvertering)
  • Mapporganisation — skapa och hantera mappsökvägar i panelen
  • “Lägg till i chatten” från en filrad, så att bibliotekstillgångar kan dras in i AI-konversationen