REST API
Создание задачи
POST /api/tasks ставит задачу в очередь и мгновенно возвращает uuid. Обработка идёт в фоне.
POST
/api/tasks
Тело запроса
| Поле | Тип | Описание |
|---|---|---|
assistant_id | integer | Обязательно. ID ассистента в Aist Back. |
input | array | Обязательно. 1+ элемент. См. Форматы ввода. |
turns | array | История диалога для контекста. См. Мультиход. |
llm_model_id | integer | Явный выбор конфигурации LLM-модели ассистента. |
image_generator_id | integer | Явный выбор генератора изображений. |
callback_url | string (url) | URL для доставки результата вебхуком. До 2048 символов. |
callback_secret | string | Секрет для HMAC-подписи вебхука. До 255 символов. |
client_tools | array | Клиентские инструменты. См. Клиентские инструменты. |
max_execution_time | integer | Предельное время выполнения в секундах. Отсчёт — от создания задачи, ожидание в очереди входит. По умолчанию и максимум — 86400 с; больше — 422. |
POST /api/tasks — тело
{
"assistant_id": 1,
"input": [
{ "type": "text", "text": "Проанализируй этот документ" }
],
"callback_url": "https://yourapp.com/hook", // опционально
"llm_model_id": 12 // опционально
}
Ответ
{ "uuid": "550e8400-…", "status": "pending", "max_execution_time": 86400 }
Сохраните uuid — по нему вы опрашиваете статус (Результат и статусы)
или сопоставляете входящий webhook. Потерянный uuid можно найти в
списке задач.
Выбор модели
llm_model_id и image_generator_id — это ID конфигураций на
ассистенте, а не строковые имена моделей. Если ID не найден среди моделей ассистента, Aist Back молча
откатывается на модель по умолчанию. ID позволяют однозначно выбрать конфигурацию, когда у ассистента
несколько вариантов одной модели (разные thinking-профили, температура).
Предельное время выполнения
Задача, не уложившаяся в max_execution_time, обрывается: статус становится
failed, а в error — Task exceeded maximum execution time (Ns).
Одновременно ядру уходит просьба свернуть работу, чтобы не жечь токены впустую. То, что
модель успела наработать, остаётся в turn — у оборванной задачи результат
может быть частичным.
Лимит активных задач
Одновременно у пользователя может быть не более
5 активных задач
(в статусах Pending / Processing / Interrupted). При превышении — 429. Брошенная
interrupted-задача держит слот, пока её не отменят
(POST /api/tasks/{uuid}/cancel или
POST /api/tasks/cancel-interrupted — сразу все). Проверка и вставка
атомарны (Redis-lock на пользователя). Подробнее — Ошибки и лимиты.