Skip to main content
Операции над уже созданной задачей, которые не относятся ни к созданию, ни к чтению состояния. Здесь же — POST .../lyrics/timestamped, единственный эндпоинт, который работает с содержимым результата, а не с самим результатом.

Скачать результат

GET /api/v1/async/media/tasks/{task_id}/download
Это потоковая отдача, а не JSON и не редирект. У архива нет Content-Length — он собирается на лету, поэтому не ждите заголовка размера.
cURL
Если у задачи нет ни одного сохранённого результата, придёт 404 — даже если задача ещё не завершена. Скачать можно и незавершённую задачу, у которой результат уже появился.

Архивировать

PATCH /api/v1/async/media/tasks/{task_id}/archive Тело — {"archive": <bool>}; поле необязательное, так что {} означает false. Ответ — 204 с пустым телом. Задача переезжает между активным и архивным списком: результат, файлы и сама задача не меняются, архивная задача по-прежнему доступна по GET по идентификатору.
Операция не идемпотентна. Повторный вызов с тем же значением archive вернёт 404, потому что задача уже в нужном состоянии. Перед вызовом узнавайте текущее состояние или игнорируйте 404 в сценарии, где состояние не важно.

Удалить

DELETE /api/v1/async/media/tasks/{task_id} — без тела, ответ 204. Задача помечается удалённой вместе с созданными ею файлами — одним действием. Сами байты в объектном хранилище при этом не трогаются, а запись восстанавливается отдельным запросом. Операция идемпотентна: повторный вызов снова вернёт 204. После удаления задача пропадает из списка, а GET по ней отдаёт 404.

Восстановить

POST /api/v1/async/media/tasks/{task_id}/restore — без тела, ответ 204. Снимает отметку удаления и возвращает задачу и удалённые вместе с ней файлы. Файлы, которые вы удалили по отдельности через DELETE /api/v1/storage/{id}, не восстанавливаются.
Восстановление снимает флаг удаления, но не флаг архива. Задача, которая была архивной до удаления, вернётся архивной — снимите флаг архива отдельным запросом PATCH .../archive {"archive": false}.

Текст песни с таймкодами

POST /api/v1/async/media/tasks/{task_id}/lyrics/timestamped Тело — {"audioId": "<идентификатор дорожки>"}, где audioId берётся из resultJson: это поле tracks[].id музыкальной задачи. Ответ содержит слова с таймкодами, амплитудную дорожку и оценку качества распознавания.
Доступно только для музыкальных задач. Для остальных моделей придёт 400.

Сводка

Здесь ... — /api/v1/async/media/tasks/{task_id}. Ошибки общие для медиа-эндпоинтов: 400, 401, 402, 403, 404, 409, 422, 429, 499, 500, 502, 503, 504. Разбор — на странице Ошибки.

Создать задачу

Запуск генерации

Статус задачи

Поля объекта и состояния

Список задач

Фильтры и пагинация

Хранилище

Файлы, созданные задачами