Dosyalar ve Medya
Uygulama kodundan dosyaları yükle ve yönet. Her dosya kalıcı bir genel URL alır.
Proyecta, uygulama kodundan programatik dosya yönetimi için SDK aracılığıyla bir Files API sunar.
Sohbet ekleri
Section titled “Sohbet ekleri”Sohbet girişi doğrudan görsel kabul eder — bir ekran görüntüsü yapıştır ya da bir görsel dosyasını girişin üzerine sürükle. Desteklenen formatlar: PNG, JPEG, WebP, GIF, AVIF. Maksimum boyut: görsel başına 10 MB.
Sohbet ekleri mesajın bir parçasıdır, dosya kitaplığının değil. Kalıcı depolama için SDK’yı kullan.
Files API (SDK)
Section titled “Files API (SDK)”Yayımlanan her Proyecta uygulaması, Proyecta SDK’sı aracılığıyla bir dosya depolama API’sine erişebilir. SDK; dosyaları listeleme, getirme ve yükleme işlemlerini destekler. Yüklenen dosyalar, uygulamandan referans verebileceğin kalıcı bir genel URL alır.
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 populatedHer dosya şu alanları içerir:
| Alan | Açıklama |
|---|---|
id | Benzersiz tanımlayıcı (sayısal snowflake dizesi) |
url | Kalıcı genel URL (finalize adımından sonra doldurulur) |
filename | Yükleme sırasındaki orijinal dosya adı |
mime_type | image/jpeg, application/pdf vb. |
size | Bayt cinsinden boyut |
path | İsteğe bağlı klasör yolu (ör. /images/blog) |
content_hash | Dosya içeriğinin SHA-256 özeti |
metadata | Rastgele anahtar/değer meta verisi |
created | ISO 8601 oluşturma zaman damgası |
updated | ISO 8601 son güncelleme zaman damgası |
Dosyalar uygulamama nasıl yüklenir?
Section titled “Dosyalar uygulamama nasıl yüklenir?”Dosya yüklemeleri AI builder üzerinden gerçekleştirilir. Yükleme akışını oluşturması için AI’dan yardım iste:
"Kullanıcıların profil fotoğrafı yüklemesine ve bunu Proyecta Files'a kaydetmesine izin ver""Oturum açmış kullanıcıların fotoğraf yükleyip görüntüleyebileceği bir resim galerisi ekle""Siparişlere PDF fatura ekleyebilmemi sağla"
AI, SDK’nın iki adımlı yükleme API’sini kullanarak yükleme işlemini uygulama koduna entegre eder ve döndürülen genel URL’yi referans olarak kullanır. Ayrıca kendi uygulama kodundan doğrudan files.create() / files.finalize() çağrısı da yapabilirsin.
Dosya URL’leri genel mi?
Evet. Files API tarafından döndürülen her dosyanın kalıcı bir genel URL’si vardır. Açığa çıkmasını istemediğin hiçbir şeyi yükleme.
Bir dosya en fazla ne kadar büyük olabilir?
Dosya başına limitler planına göre değişir. Sohbet ekleri görsel başına 10 MB ile sınırlıdır.
URL üzerinden görsel yeniden boyutlandırma veya kırpma yapabilir miyim?
Anlık görsel dönüşümleri (yeniden boyutlandırma, kırpma, format dönüştürme) yol haritasında yer almaktadır.
Yakında
Section titled “Yakında”- URL parametreleri aracılığıyla görsel dönüşümleri (yeniden boyutlandırma, kırpma, format dönüştürme)
- Klasör düzeni — panelden klasör yolları oluşturma ve yönetme
- Dosya satırından “Sohbete Ekle” seçeneği; böylece kitaplık varlıklarını AI sohbetine doğrudan bırakabilirsin