Документация Rivya AI

Руководство по жизненному циклу задач Rivya

Разберитесь со статусами задач Rivya, резервированием кредитов, отправкой провайдеру, обратными вызовами, опросом состояния, историей, уведомлениями, сбоями и расчетами Chat.

Последняя проверка: 2026/08/29

Используйте это руководство, когда нужно понять, что происходит после отправки задачи генерации изображения, видео или аудио в Rivya.

Здесь в одном месте объясняются статусы задач, резервирование кредитов, завершение у провайдера, история, уведомления и обработка неудачных задач.

Реальные статусы задач

Текущий асинхронный жизненный цикл генерации использует четыре видимых статуса:

  • WAITING

  • GENERATING

  • SUCCESS

  • FAILED

Эти статусы хранятся в ai_task и переиспользуются в Studio, истории, dashboard и потоке уведомлений.

Что происходит после отправки

1. Rivya проверяет запрос

Прежде чем что-либо попадет к провайдеру, Rivya проверяет:

  • существует ли модель

  • модель сейчас доступна

  • включена ли для этой модели прямая генерация

  • основан ли runtime на асинхронных задачах

  • допустима ли длина задания

  • нормализованы ли параметры формы

  • соответствуют ли файлы-референсы требованиям модели

Некоторые описанные в документации модели имеют дополнительные правила. Раньше Audio Isolation требовала загрузить аудиофайл и проверить его длительность, но сейчас модель недоступна; Rivya должна отклонить запрос на этапе проверки доступности, не создавая задачу, не резервируя кредиты и не начиная процесс загрузки.

2. Rivya создает запись задачи

Сначала Rivya создает запись ai_task со статусом WAITING.

В этой записи сохраняются модель, категория, задание, параметры, зарезервированные кредиты, тип оплаты, а затем результат или состояние сбоя.

3. Кредиты списываются до отправки провайдеру

Это важно: при асинхронной генерации Rivya списывает кредиты задачи до отправки запроса внешнему поставщику.

Если кредитов недостаточно:

  • задача помечается как неудачная

  • внешний сервис не вызывается

  • может появиться уведомление о нехватке кредитов

4. Создается задача у провайдера

Если модель доступна, прямая генерация включена и кредитов достаточно, Rivya отправляет задачу соответствующему сервису и сохраняет вышестоящий ID.

В этот момент статус меняется на GENERATING.

Как Rivya узнает результат

Rivya поддерживает два пути завершения:

  • обратный вызов провайдера в средах, где он включен

  • обновление и опрос состояния, если завершение через обратный вызов недоступно

При обратном вызове также проверяется подпись вебхука до завершения задачи.

Если callback приходит до того, как результат у провайдера полностью готов, Rivya может отложить обработку и попробовать снова, проверив внешний статус.

Успешный путь

При успехе Rivya:

  • сохраняет URL результатов

  • устанавливает статус SUCCESS

  • закрывает расчет по задаче

  • делает результат доступным в истории генераций

  • создает уведомление об успешной генерации

Поэтому готовое изображение или видео остается видимым даже после ухода со страницы.

Путь отказа

При отказе Rivya:

  • сохраняет сообщение об ошибке

  • устанавливает статус FAILED

  • возвращает кредиты, если отказ произошел после резервирования и списание нужно отменить

  • создает уведомление о неудачной генерации для последующего просмотра

Это отличается от временного toast-сообщения. Отказ становится частью записи аккаунта.

Где виден статус задачи

Одна и та же задача может появляться в нескольких местах:

  • в активной Studio, пока она выполняется

  • в истории после завершения

  • в центре уведомлений для важных исходов

  • в /dashboard среди недавних генераций

Общее состояние задачи помогает продукту ощущаться цельным, а не одноразовым.

Чем отличается Chat

Chat тоже оплачивается, но не использует ту же асинхронную запись задачи. Ходы в Chat сохраняются как:

  • чат-сессии

  • сообщения чата

Для чат-моделей с оплатой по токенам Rivya может сначала зарезервировать кредиты, а затем рассчитать итоговую сумму после получения фактических данных об использовании. Если итоговая сумма ниже, разница возвращается.

Общее правило такое:

  • генерация изображений, видео и аудио использует ai_task

  • Chat использует сохраненные сессии и расчет на уровне сообщений

Что читать дальше

Чеклист статуса задачи

Когда генерация выглядит непонятной, идет медленно, завершилась неудачно или пропала, проверьте:

  • Сначала определите тип задачи: расчет Chat, изображение, видео, аудио или chat с инструментом.

  • Убедитесь, что выбранная модель доступна; документированная страница не доказывает, что задача может запуститься.

  • Проверьте, были ли кредиты зарезервированы до отправки провайдеру или рассчитаны после получения фактических данных об использовании.

  • Проверьте обратный вызов провайдера, результат опроса, запись истории и уведомление, прежде чем считать результат потерянным.

  • Отделите ошибки, которые может исправить пользователь, от отказов провайдера или инфраструктуры.

  • Перед повторным запуском того же задания проверьте, должна ли неудачная задача вернуть кредиты.

Проверьте перед повторным запуском

Проверяйте состояние, если одно и то же задание продолжает завершаться сбоем, задача слишком долго обрабатывается, кредиты выглядят списанными без результата или вы собираетесь отправить более дорогой повторный запуск.