コンテンツにスキップ

ファイルとメディア

アプリのコードからファイルをアップロード・管理できます。すべてのファイルには永続的なパブリック URL が付与されます。

Proyecta は、アプリコードからプログラムでファイルを管理するための Files API を SDK 経由で提供しています。

チャットの入力欄には画像を直接貼り付けることができます。スクリーンショットを貼り付けるか、画像ファイルをドラッグして入力欄にドロップしてください。対応フォーマット: PNG、JPEG、WebP、GIF、AVIF。最大サイズ: 画像 1 枚あたり 10 MB

チャットの添付ファイルはメッセージの一部であり、ファイルライブラリには保存されません。永続的なストレージには SDK をご利用ください。

公開済みのすべての Proyecta アプリは、Proyecta SDK を通じてファイルストレージ API にアクセスできます。SDK は一覧取得取得アップロードをサポートしています。アップロードされたファイルには永続的なパブリック 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一意の識別子(数値 snowflake 文字列)
url永続的なパブリック URL(finalize ステップ後に設定されます)
filenameアップロード時の元のファイル名
mime_typeimage/jpegapplication/pdf など
sizeファイルサイズ(バイト単位)
path任意のフォルダパス(例: /images/blog
content_hashファイル内容の SHA-256 ハッシュ
metadata任意のキー/バリューメタデータ
createdISO 8601 形式の作成日時
updatedISO 8601 形式の最終更新日時

アプリへのファイルアップロードはどのように行いますか?

Section titled “アプリへのファイルアップロードはどのように行いますか?”

ファイルのアップロードは AI builder を通じて処理されます。AI にアップロードフローの作成を依頼してください:

  • "ユーザーがプロフィール写真をアップロードして Proyecta Files に保存できるようにしたい"
  • "サインイン済みのユーザーが写真をアップロード・閲覧できる画像ギャラリーを追加したい"
  • "注文に PDF 請求書を添付できるようにしたい"

AI は SDK の 2 ステップ upload API を使ってアプリコード内にアップロード処理を組み込み、返されたパブリック URL を参照します。files.create() / files.finalize() は、自分のアプリコードから直接呼び出すこともできます。

ファイルの URL は公開されますか?

はい。Files API から返されるすべてのファイルには永続的なパブリック URL が付与されます。公開したくないファイルはアップロードしないでください。

ファイルサイズの上限はありますか?

ファイルごとの上限はご利用のプランによって異なります。チャットへの添付ファイルは画像 1 枚あたり 10 MB が上限です。

URL から画像のリサイズやトリミングはできますか?

オンザフライでの画像変換(リサイズ、トリミング、フォーマット変換)はロードマップに含まれています。

  • URL パラメータによる画像変換(リサイズ、トリミング、フォーマット変換)
  • フォルダの整理 — パネルでフォルダパスを作成・管理
  • 「チャットに追加」 — ファイル行からライブラリのアセットを AI の会話にドロップできる機能