Отмена, таймаут и восстановление

Возврат и защита от повторной покупки.

Markdown

В Studio сначала проверьте карточку задачи в истории проекта. Если результат уже готов, откройте его и повторите скачивание; сбой загрузки файла сам по себе не требует новой платной генерации.

Можно ли отменить генерацию и вернуть токены?

Отмена с возвратом токенов доступна только в начале, пока задача ещё не отправлена на выполнение. Позже остановить её этим действием нельзя.

  1. Откройте карточку выполняющейся задачи.
  2. Если отмена ещё доступна, отмените задачу на карточке. Когда задача уже отправлена на выполнение, эта возможность закрывается.
  3. Проверьте статус задачи и баланс. Для новой попытки сначала проверьте параметры и цену.

Для API, CLI и MCP

Каждый submit получает собственный 4-секундный дедлайн и не блокирует следующие генерации. Отмена допустима только пока задача не ушла провайдеру; после submit provider-side cancel отсутствует.

Поверхности: studio, api, mcp, cli.

  1. Submit → получить id → вызвать modality-specific cancel endpoint/tool в первые 4 секунды.
  2. После дедлайна использовать get_task / poll: отмена вернёт 409 GENERATION_NOT_CANCELLABLE.

Это правило медиа-генерации. Отключение клиента Provider не отменяет уже отправленный inference: поток дочитывается и оплачивается. Для Provider не обещайте такой же cancel/refund.

В Studio статус и получение результата обновляются в приложении. Следующие технические правила нужны клиентам, которые сами отправляют запросы.

Задача принята, но poll не отвечает

После успешного submit с task_id продолжайте опрашивать тот же ID. provider_sync=deferred означает, что сервер отдал сохранённый статус; это не отмена и не доказательство отказа. Следуйте Retry-After/recommended_poll_interval_sec. До terminal failure не покупайте дубликат только из-за отдельного неудачного poll.

Готовность провайдера без durable Artillect URL ещё не является доставленным результатом. Пока зеркало готовится, статус может оставаться running и media_urls быть пустым. Дождитесь готовых URL; CDN провайдера не подставляйте самостоятельно.

Соединение оборвалось во время submit

Для media API заранее сохраните idempotency key и тот же payload; повтор в документированном окне возвращает исходную задачу. После окна сначала проверьте историю. Этот механизм нельзя переносить на Provider: там Idempotency-Key не поддерживается, каждый новый POST может быть отдельной платной покупкой.

Сохраните X-Artillect-Request-Id Provider. Состояние, резерв и списание доступны через provider/requests тому же пользователю и API-ключу с provider:write. Не повторяйте неопределённый inference автоматически.

Для работы в браузере: загрузка файлов, Повторить, хранилище.

Дальше: API polling и ошибки, доставка готового файла, Provider diagnostics.

Следующий шаг

Открыть проекты