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: масив подій прогресу, що додаються за етапами (журнал лише з додаванням), може використовуватися для відображення детального прогресу в реальному часі.
  • 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. Якщо у вас виникнуть будь-які запитання, будь ласка, звертайтеся до нашої команди технічної підтримки у будь-який час.

Пов’язані інтерфейси

  • Інструкції з інтеграції API генерації відео Maestro: автоматично створює готове відео із субтитрами за одним текстовим запитом природною мовою, після надсилання повертає task_id, а потім використовуйте цей інтерфейс для опитування результату.