REST API
Файлы и хранилище
Загрузите файл через POST /api/files, получите input-ready объект и вставьте его прямо в input[].
Загрузка файла
POST
/api/files
Тело — multipart/form-data с полем file.
bash
curl -X POST https://agent.aist-ai.com/api/files \ -H "Authorization: Bearer <jwt>" \ -H "Accept: application/json" \ -F "file=@document.pdf"
Ответ — объект, готовый к вставке прямо в input[]:
ответ
{
"type": "file",
"file": {
"id": "42", // всегда строка
"name": "document.pdf",
"mime_type": "application/pdf",
"provider_data": { "path": "uploads/…/document.pdf" }
}
}
Ограничения
| Параметр | Значение |
|---|---|
| Макс. размер | 1 024 000 КБ (~1 ГБ) |
| Форматы | Любые: архивы, офисные документы, исходники, аудио, видео, неизвестные бинарные файлы. Файл с расширением текста или кода (.txt, .md, .py, …) должен и правда быть текстом — иначе 422 с errors.file. |
Правила валидации совпадают с Aist Backend — загрузка проксируется туда напрямую. Файл хранится как загружен: картинки не ужимаются, GIF остаётся анимированным. Ассистент работает с исходником — конвертирует, распаковывает, читает, а что не умеет показать, отдаёт файлом.
Базовый URL хранилища
GET
/api/storage/base
Возвращает публичный базовый URL хранилища. Склейте его с provider_data.path, чтобы получить
прямую ссылку на скачивание файла (например, сгенерированного изображения из output).
ответ
{ "url": "https://storage.aist.example" }
js
const downloadUrl = `${base.url}/${file.provider_data.path}`;
JWT нужен только для запроса
GET /api/storage/base. Само скачивание файла по полученной
ссылке авторизации не требует.