Skip to content

ফাইল ও মিডিয়া

তোমার অ্যাপ কোড থেকে ফাইল আপলোড ও ম্যানেজ করো। প্রতিটি ফাইল একটি স্থায়ী পাবলিক URL পায়।

Proyecta SDK-এর মাধ্যমে একটি Files API প্রদান করে, যা দিয়ে তুমি তোমার অ্যাপ কোড থেকে প্রোগ্রামেটিকভাবে ফাইল ম্যানেজ করতে পারবে।

চ্যাট ইনপুট সরাসরি ছবি গ্রহণ করে — একটি স্ক্রিনশট পেস্ট করো বা ইনপুটে একটি ইমেজ ফাইল ড্র্যাগ করো। সাপোর্টেড ফরম্যাট: PNG, JPEG, WebP, GIF, AVIF। সর্বোচ্চ সাইজ: প্রতিটি ছবির জন্য 10 MB

Chat attachment-গুলো বার্তার অংশ, তোমার ফাইল লাইব্রেরির নয়। স্থায়ী স্টোরেজের জন্য SDK ব্যবহার করো।

প্রতিটি published Proyecta অ্যাপ Proyecta SDK-এর মাধ্যমে একটি ফাইল স্টোরেজ API অ্যাক্সেস করতে পারে। SDK listing, fetching, এবং uploading ফাইল সাপোর্ট করে। আপলোড করা ফাইলগুলো একটি স্থায়ী পাবলিক URL পায়, যা তুমি তোমার অ্যাপ থেকে রেফারেন্স করতে পারবে।

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

প্রতিটি ফাইলে নিচের তথ্যগুলো থাকে:

ফিল্ডবিবরণ
idঅনন্য পরিচয়কারী (numeric snowflake string)
urlস্থায়ী পাবলিক URL (finalize ধাপের পরে পূরণ হয়)
filenameআপলোডের সময় মূল ফাইলের নাম
mime_typeimage/jpeg, application/pdf, ইত্যাদি
sizeবাইটে সাইজ
pathঐচ্ছিক ফোল্ডার পাথ (যেমন /images/blog)
content_hashফাইলের কন্টেন্টের SHA-256
metadataযেকোনো key/value মেটাডেটা
createdISO 8601 তৈরির timestamp
updatedISO 8601 সর্বশেষ আপডেটের timestamp

আমার অ্যাপে ফাইল কীভাবে আপলোড হবে?

Section titled “আমার অ্যাপে ফাইল কীভাবে আপলোড হবে?”

ফাইল আপলোড AI builder-এর মাধ্যমে পরিচালিত হয়। AI-কে তোমার জন্য আপলোড ফ্লো তৈরি করতে বলো:

  • "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 তোমার অ্যাপ কোডে SDK-এর two-step upload API ব্যবহার করে আপলোড সংযুক্ত করে দেয় এবং ফিরে আসা পাবলিক URL রেফারেন্স করে। তুমি তোমার নিজের অ্যাপ কোড থেকে সরাসরি files.create() / files.finalize() কলও করতে পারো।

প্রায়শই জিজ্ঞাসিত প্রশ্ন

Section titled “প্রায়শই জিজ্ঞাসিত প্রশ্ন”

ফাইল URL-গুলো কি পাবলিক?

হ্যাঁ। Files API থেকে পাওয়া যেকোনো ফাইলের একটি স্থায়ী পাবলিক URL থাকে। এমন কিছু আপলোড করো না যা তুমি প্রকাশ করতে চাও না।

একটি ফাইল কত বড় হতে পারে?

প্রতি ফাইলের সীমা তোমার প্ল্যানের উপর নির্ভর করে। Chat attachment-এর ক্ষেত্রে প্রতিটি ছবির সর্বোচ্চ সাইজ 10 MB।

আমি কি URL থেকে ছবি resize বা crop করতে পারব?

অন-দ্য-ফ্লাই ইমেজ ট্রান্সফর্ম (resize, crop, format conversion) রোডম্যাপে রয়েছে।

###近শীঘ্রই আসছে

  • URL প্যারামিটারের মাধ্যমে Image transformations (resize, crop, format conversion)
  • Folder organization — প্যানেলে ফোল্ডার পাথ তৈরি ও ম্যানেজ করো
  • ফাইল রো থেকে “Add to Chat” সুবিধা, যাতে লাইব্রেরি অ্যাসেট AI কথোপকথনে যোগ করা যায়