İçeriğe geç

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

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

Her dosya şu alanları içerir:

AlanAçıklama
idBenzersiz tanımlayıcı (sayısal snowflake dizesi)
urlKalıcı genel URL (finalize adımından sonra doldurulur)
filenameYükleme sırasındaki orijinal dosya adı
mime_typeimage/jpeg, application/pdf vb.
sizeBayt cinsinden boyut
pathİsteğe bağlı klasör yolu (ör. /images/blog)
content_hashDosya içeriğinin SHA-256 özeti
metadataRastgele anahtar/değer meta verisi
createdISO 8601 oluşturma zaman damgası
updatedISO 8601 son güncelleme zaman damgası

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.

  • 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