Skip to main content
Основная функция API запроса задач Maestro — по ID задачи, возвращённому API генерации видео Maestro (POST /maestro/videos), запрашивать статус выполнения и итоговый результат этой задачи. В этом документе будет подробно представлено описание интеграции API запроса задач Maestro. Поскольку генерация видео является асинхронной задачей, после отправки необходимо использовать этот интерфейс для опроса и получения прогресса и готового видео, опрос бесплатный и не расходует кредиты. POST https://api.acedata.cloud/maestro/tasks

Процесс получения доступа

Чтобы использовать API запроса задач Maestro, сначала перейдите в консоль Ace Data Cloud, чтобы получить ваш API Token и сохранить его для дальнейшего использования. Если вы ещё не вошли в систему или не зарегистрировались, вы будете автоматически перенаправлены на страницу входа, где вам будет предложено зарегистрироваться и войти в систему; после завершения вы автоматически вернётесь на текущую страницу. Один API Token позволяет вызывать все сервисы платформы, не требуется подавать отдельную заявку для каждого сервиса. При первом получении предоставляется бесплатный лимит для бесплатного ознакомления; при недостатке лимита вы можете пополнить общий баланс в консоли.
📘 Полная документация: API запроса задач Maestro →

Запрос одной задачи

О том, как создавать задачи видео, см. документацию API генерации видео Maestro. В качестве примера возьмём один возвращённый им ID задачи: f57e99c4f60f4373a15517742ce2357d, чтобы показать, как запросить его статус и результат.

Настройка заголовков и тела запроса

Request Headers включают:
  • accept: указывает получение результатов ответа в формате JSON, здесь указывается application/json.
  • authorization: ключ для вызова API, после получения его можно напрямую выбрать из выпадающего списка.
  • content-type: формат тела запроса, здесь указывается application/json.
Request Body включает:

Пример кода

Соответствующий код CURL выглядит следующим образом:
Соответствующий код Python выглядит следующим образом:

Пример ответа

После успешного запроса API вернёт статус и результат этой задачи видео. Пример ответа после завершения задачи выглядит следующим образом (каждому языку соответствует один variant):
Описание полей возвращаемого результата выглядит следующим образом:
  • id: ID этой задачи видео, используется для уникальной идентификации текущей задачи генерации видео.
  • status: статус задачи, значения: pending → planning → producing → succeeded (или failed). Завершена ли задача, определяется этим верхнеуровневым status.
  • elapsed: затраченное задачей время (секунды).
  • progress: верхнеуровневый объект прогресса, percent (0–100) после успешного выполнения задачи гарантированно будет равен 100; stage и message отражают последнее событие прогресса AI-режиссёра (поэтому после успеха stage всё ещё может быть последним этапом выполнения, например producing), может напрямую использоваться для отображения индикатора прогресса.
  • request: тело запроса при запуске задачи.
  • response: информация о возврате задачи.
    • success: успешно ли выполнена задача.
    • data.variants: каждому языку соответствует один объект готового видео, содержащий lang, aspect, title, output_url (адрес скачивания готового видео) и т. д.
    • data.project: результаты всего проекта, содержащие tarball_url (пакет проекта) и outputs (ссылки на все готовые видео).
    • data.progress: массив событий прогресса, добавляемых по этапам (журнал append-only), может использоваться для отображения подробного прогресса в реальном времени.
  • created_at: время создания задачи, Unix timestamp (секунды).
  • started_at: время начала выполнения задачи, Unix timestamp (секунды). До начала задачи равно null.
  • finished_at: время завершения задачи, Unix timestamp (секунды). До завершения задачи равно null.

Запрос списка истории

Передайте action: retrieve_batch, чтобы получить последние задачи текущего вошедшего исполнителя (в обратном порядке по времени создания); может использоваться для страницы списка «Мои видео». Список истории изолирован по учётной записи, вошедшей в систему. Request Body включает:

Пример кода

Соответствующий CURL-код приведён ниже:

Пример ответа

После успешного запроса API вернёт список исторических задач текущего пользователя:
Описание полей возвращаемого результата приведено ниже:
  • count: общее количество задач, видимых текущему вошедшему в систему исполнителю, не зависит от условий времени или limit.
  • items: массив задач, отфильтрованных по условиям времени и limit, отсортированный по времени создания в обратном порядке; формат каждого элемента совпадает с результатом возврата «Запроса одной задачи».

Рекомендации по опросу

Поскольку создание видео занимает длительное время, status будет проходить через pending → planning → producing → succeeded (или failed). Рекомендуется выполнять опрос каждые 5–10 секунд, пока status не станет succeeded или failed. Для отображения индикатора выполнения в реальном времени можно использовать верхнеуровневый progress.percent. Опрос этого интерфейса бесплатен и не расходует баллы.

Обработка ошибок

При вызове API, если возникает ошибка, API вернёт соответствующий код ошибки и сообщение. Например:
  • 401 invalid_token: Не авторизован, недействительный или отсутствующий токен авторизации.
  • 404 not_found: Задача не найдена, указанный task_id не существует.
  • 429 too_many_requests: Слишком много запросов, вы превысили ограничение скорости.
  • 500 api_error: Внутренняя ошибка сервера, на сервере что-то пошло не так.

Пример ответа с ошибкой

Заключение

С помощью этого документа вы уже узнали, как использовать API запросов задач Maestro для запроса статуса и результата отдельной задачи, а также для получения списка исторических задач текущего пользователя. Надеемся, этот документ поможет вам лучше интегрировать и использовать данный API. Если у вас возникнут какие-либо вопросы, пожалуйста, свяжитесь с нашей командой технической поддержки в любое время.

Связанные интерфейсы