Pliki i multimedia
Przesyłaj pliki i zarządzaj nimi z poziomu kodu aplikacji. Każdy plik otrzymuje stały publiczny URL.
Proyecta udostępnia Files API przez SDK do programowego zarządzania plikami z poziomu kodu aplikacji.
Załączniki w czacie
Dział zatytułowany „Załączniki w czacie”Pole wprowadzania czatu akceptuje obrazy bezpośrednio — wklej zrzut ekranu lub przeciągnij plik graficzny na pole. Obsługiwane formaty: PNG, JPEG, WebP, GIF, AVIF. Maksymalny rozmiar: 10 MB na obraz.
Załączniki czatu są częścią wiadomości, a nie biblioteki plików. Do trwałego przechowywania używaj SDK.
Files API (SDK)
Dział zatytułowany „Files API (SDK)”Każda opublikowana aplikacja Proyecta ma dostęp do API przechowywania plików przez Proyecta SDK. SDK obsługuje listowanie, pobieranie i przesyłanie plików. Przesłane pliki otrzymują stały publiczny URL, do którego możesz odwoływać się w swojej aplikacji.
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 populatedKażdy plik zawiera:
| Pole | Opis |
|---|---|
id | Unikalny identyfikator (numeryczny ciąg snowflake) |
url | Stały publiczny URL (wypełniany po kroku finalize) |
filename | Oryginalna nazwa pliku przy przesyłaniu |
mime_type | image/jpeg, application/pdf itp. |
size | Rozmiar w bajtach |
path | Opcjonalna ścieżka folderu (np. /images/blog) |
content_hash | SHA-256 zawartości pliku |
metadata | Dowolne metadane w postaci klucz/wartość |
created | Znacznik czasu utworzenia w formacie ISO 8601 |
updated | Znacznik czasu ostatniej aktualizacji w formacie ISO 8601 |
Jak przesyłać pliki do mojej aplikacji?
Dział zatytułowany „Jak przesyłać pliki do mojej aplikacji?”Przesyłanie plików odbywa się za pośrednictwem AI buildera. Poproś AI, żeby zbudowało dla ciebie przepływ przesyłania:
"Let users upload a profile photo and store it in Proyecta Files""Add an image gallery where signed-in users can upload and view their photos""Let me attach PDF invoices to orders"
AI podłącza przesyłanie w kodzie twojej aplikacji przy użyciu dwuetapowego upload API z SDK i odwołuje się do zwróconego publicznego URL. Możesz też wywoływać files.create() / files.finalize() bezpośrednio z własnego kodu aplikacji.
Czy URL-e plików są publiczne?
Tak. Każdy plik zwrócony przez Files API ma stały publiczny URL. Nie przesyłaj niczego, czego nie chcesz ujawniać.
Jak duży może być plik?
Limity na plik zależą od twojego planu. Załączniki czatu są ograniczone do 10 MB na obraz.
Czy mogę zmieniać rozmiar lub przycinać obrazy za pomocą URL?
Transformacje obrazów w locie (zmiana rozmiaru, przycinanie, konwersja formatu) są w planach rozwoju.
Wkrótce
Dział zatytułowany „Wkrótce”- Transformacje obrazów za pomocą parametrów URL (zmiana rozmiaru, przycinanie, konwersja formatu)
- Organizacja folderów — tworzenie ścieżek folderów i zarządzanie nimi w panelu
- „Add to Chat” z poziomu wiersza pliku, dzięki czemu zasoby z biblioteki można wrzucać bezpośrednio do rozmowy z AI