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.
Chattbilagor
Section titled “Chattbilagor”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.
Files API (SDK)
Section titled “Files API (SDK)”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 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 populatedVarje fil innehåller:
| Fält | Beskrivning |
|---|---|
id | Unik identifierare (numerisk snowflake-sträng) |
url | Permanent publik URL (fylls i efter finalize-steget) |
filename | Ursprungligt filnamn vid uppladdning |
mime_type | image/jpeg, application/pdf, osv. |
size | Storlek i byte |
path | Valfri mappsökväg (t.ex. /images/blog) |
content_hash | SHA-256 av filinnehållet |
metadata | Godtyckliga nyckel/värde-metadata |
created | ISO 8601-tidsstämpel för skapande |
updated | ISO 8601-tidsstämpel för senaste uppdatering |
Hur laddas filer upp till min app?
Section titled “Hur laddas filer upp till min app?”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.
Vanliga frågor
Section titled “Vanliga frågor”Ä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.
Kommer snart
Section titled “Kommer snart”- 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