REST API

Создание задачи

POST /api/tasks ставит задачу в очередь и мгновенно возвращает uuid. Обработка идёт в фоне.

POST /api/tasks

Тело запроса

ПолеТипОписание
assistant_idintegerОбязательно. ID ассистента в Aist Back.
inputarrayОбязательно. 1+ элемент. См. Форматы ввода.
turnsarrayИстория диалога для контекста. См. Мультиход.
llm_model_idintegerЯвный выбор конфигурации LLM-модели ассистента.
image_generator_idintegerЯвный выбор генератора изображений.
callback_urlstring (url)URL для доставки результата вебхуком. До 2048 символов.
callback_secretstringСекрет для HMAC-подписи вебхука. До 255 символов.
client_toolsarrayКлиентские инструменты. См. Клиентские инструменты.
max_execution_timeintegerПредельное время выполнения в секундах. Отсчёт — от создания задачи, ожидание в очереди входит. По умолчанию и максимум — 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, а в errorTask exceeded maximum execution time (Ns). Одновременно ядру уходит просьба свернуть работу, чтобы не жечь токены впустую. То, что модель успела наработать, остаётся в turn — у оборванной задачи результат может быть частичным.
Лимит активных задач
Одновременно у пользователя может быть не более 5 активных задач (в статусах Pending / Processing / Interrupted). При превышении — 429. Брошенная interrupted-задача держит слот, пока её не отменят (POST /api/tasks/{uuid}/cancel или POST /api/tasks/cancel-interrupted — сразу все). Проверка и вставка атомарны (Redis-lock на пользователя). Подробнее — Ошибки и лимиты.