SDK

SDK: загрузка файлов

uploadFile загружает файл и возвращает объект, готовый к вставке прямо в input[].

Node.js

ts
import { readFile } from 'node:fs/promises';

const buf = await readFile('photo.png');
const fileItem = await client.uploadFile(buf, {
  filename: 'photo.png',
  type: 'image/png',
});

// готово к вставке прямо в input[]:
await client.createTask({
  assistant_id: 1,
  input: [fileItem, textInput('Что на фото?')],
});

Браузер

Вместо Buffer/Uint8Array передавайте File или Blob напрямую — например, из <input type="file">.

ts
const file = inputEl.files![0];
const fileItem = await client.uploadFile(file, { filename: file.name, type: file.type });

Сигнатура

ts
uploadFile(
  file: Blob | Uint8Array,
  opts?: { filename?: string; type?: string; signal?: AbortSignal },
): Promise<FileInputItem>

Базовый URL хранилища

getStorageBase() возвращает публичный базовый URL — склейте его с provider_data.path, чтобы получить ссылку на скачивание файла (например, сгенерированного изображения из output).

ts
const base = await client.getStorageBase();
const url = `${base}/${file.provider_data.path}`;
Правила валидации (форматы, макс. размер ~1 ГБ) — те же, что у REST-эндпоинта POST /api/files.