Отмена, таймаут и восстановление
Возврат и защита от повторной покупки.
В Studio сначала проверьте карточку задачи в истории проекта. Если результат уже готов, откройте его и повторите скачивание; сбой загрузки файла сам по себе не требует новой платной генерации.
Можно ли отменить генерацию и вернуть токены?
Отмена с возвратом токенов доступна только в начале, пока задача ещё не отправлена на выполнение. Позже остановить её этим действием нельзя.
- Откройте карточку выполняющейся задачи.
- Если отмена ещё доступна, отмените задачу на карточке. Когда задача уже отправлена на выполнение, эта возможность закрывается.
- Проверьте статус задачи и баланс. Для новой попытки сначала проверьте параметры и цену.
Для API, CLI и MCP
Каждый submit получает собственный 4-секундный дедлайн и не блокирует следующие генерации. Отмена допустима только пока задача не ушла провайдеру; после submit provider-side cancel отсутствует.
Поверхности: studio, api, mcp, cli.
- Submit → получить id → вызвать modality-specific cancel endpoint/tool в первые 4 секунды.
- После дедлайна использовать 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.
Связанные материалы
- Как загрузить файл в Studio
Добавить фото, видео или аудио в хранилище и использовать в генераторе.
- Настройки и Повторить
Восстановить настройки и проверить их перед новым запуском.
- Цена, резерв и списание
Как проверить цену и разобрать удержанный резерв.
