ข้ามไปยังเนื้อหา

ไฟล์และมีเดีย

อัปโหลดและจัดการไฟล์จากโค้ดแอปของคุณ ทุกไฟล์จะได้รับ URL สาธารณะแบบถาวร

Proyecta มี Files API ผ่าน SDK สำหรับการจัดการไฟล์แบบ programmatic จากโค้ดแอปของคุณ

ช่องป้อนข้อความในแชทรองรับการวางรูปภาพโดยตรง — วางภาพหน้าจอหรือลากไฟล์รูปภาพลงในช่องได้เลย รูปแบบที่รองรับ: PNG, JPEG, WebP, GIF, AVIF ขนาดสูงสุด: 10 MB ต่อรูปภาพ

ไฟล์แนบในแชทเป็นส่วนหนึ่งของข้อความ ไม่ใช่คลังไฟล์ของคุณ หากต้องการจัดเก็บถาวร ให้ใช้ SDK

แอป Proyecta ที่เผยแพร่แล้วทุกแอปสามารถเข้าถึง API จัดเก็บไฟล์ผ่าน Proyecta SDK ได้ SDK รองรับการ list, fetch และ upload ไฟล์ ไฟล์ที่อัปโหลดจะได้รับ 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)
urlURL สาธารณะแบบถาวร (จะถูกเติมหลังขั้นตอน finalize)
filenameชื่อไฟล์เดิมตอนอัปโหลด
mime_typeimage/jpeg, application/pdf ฯลฯ
sizeขนาดในหน่วยไบต์
pathเส้นทางโฟลเดอร์แบบเลือกได้ (เช่น /images/blog)
content_hashSHA-256 ของเนื้อหาไฟล์
metadataข้อมูล key/value แบบกำหนดเองได้
createdtimestamp การสร้างแบบ ISO 8601
updatedtimestamp อัปเดตล่าสุดแบบ ISO 8601

การอัปโหลดไฟล์ทำผ่าน 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 จะเชื่อมต่อการอัปโหลดในโค้ดแอปของคุณโดยใช้ two-step upload API ของ SDK และอ้างอิง URL สาธารณะที่ได้คืนมา คุณยังสามารถเรียก files.create() / files.finalize() โดยตรงจากโค้ดแอปของตัวเองได้เช่นกัน

URL ของไฟล์เป็นสาธารณะหรือไม่?

ใช่ ไฟล์ทุกไฟล์ที่ Files API ส่งคืนจะมี URL สาธารณะแบบถาวร อย่าอัปโหลดสิ่งที่คุณไม่ต้องการให้เปิดเผยต่อสาธารณะ

ไฟล์มีขนาดใหญ่ได้แค่ไหน?

ขีดจำกัดต่อไฟล์ขึ้นอยู่กับแผนของคุณ ไฟล์แนบในแชทถูกจำกัดที่ 10 MB ต่อรูปภาพ

ฉันสามารถปรับขนาดหรือครอบตัดรูปภาพผ่าน URL ได้ไหม?

การแปลงรูปภาพแบบ on-the-fly (ปรับขนาด ครอบตัด แปลงรูปแบบ) อยู่ใน roadmap แล้ว

  • Image transformations ผ่านพารามิเตอร์ URL (ปรับขนาด ครอบตัด แปลงรูปแบบ)
  • การจัดระเบียบโฟลเดอร์ — สร้างและจัดการเส้นทางโฟลเดอร์ในแผง
  • “Add to Chat” จากแถวไฟล์ เพื่อให้สามารถนำ asset จากคลังไฟล์ไปใส่ในการสนทนา AI ได้