Перейти до основного вмісту
Основна функція Luma Tasks API полягає в тому, щоб за допомогою введеного ID завдання, згенерованого Luma Videos Generation API, перевіряти стан виконання цього завдання. Цей документ детально описує інтеграцію Luma Tasks API, щоб допомогти вам легко інтегрувати та повністю використовувати потужні можливості цього API. За допомогою Luma Tasks API ви можете легко реалізувати перевірку стану виконання завдань Luma Videos Generation API.

Процес подачі заявки

Щоб використовувати Luma Tasks API, спочатку потрібно перейти на сторінку подачі заявки Luma Videos Generation API для отримання відповідної послуги, а потім скопіювати ID завдання Luma Videos Generation API, як показано на малюнку: Нарешті, перейдіть на сторінку Tasks API Luma Tasks API для отримання відповідної послуги, після входу на сторінку натисніть кнопку «Acquire», як показано на малюнку: Сторінка подачі заявки Якщо ви ще не увійшли в систему або не зареєстровані, вас автоматично перенаправлять на сторінку входу, запрошуючи вас зареєструватися та увійти. Після входу або реєстрації ви автоматично повернетеся на поточну сторінку. При першій подачі заявки вам буде надано безкоштовний ліміт, який дозволяє безкоштовно використовувати цей API.

Приклад запиту

Luma Tasks API можна використовувати для перевірки результатів Luma Videos Generation API. Щоб дізнатися, як використовувати Luma Videos Generation API, будь ласка, зверніться до документа Luma Videos Generation API. Розглянемо приклад з ID завдання, повернутим сервісом Luma Videos Generation API. Припустимо, у нас є ID завдання: 50fc6182-fa86-4c7d-ac12-2fa27ec2f151, далі демонструємо, як передати цей ID.

Приклад завдання

Налаштування заголовків запиту та тіла запиту

Request Headers включає:
  • accept: вказує на прийняття відповіді у форматі JSON, тут вказується application/json.
  • authorization: ключ для виклику API, після подачі заявки його можна вибрати зі списку.
Request Body включає:
  • id: ID завдання, яке потрібно перевірити.
  • action: спосіб виконання дії над завданням.
Налаштування виглядає так, як показано на малюнку:

Приклад коду

Можна помітити, що на правій стороні сторінки вже автоматично згенеровано код на різних мовах, як показано на малюнку:

Деякі приклади коду наведені нижче:

CURL

curl -X POST 'https://api.acedata.cloud/luma/tasks' \
-H 'accept: application/json' \
-H 'authorization: Bearer {token}' \
-H 'content-type: application/json' \
-d '{
  "id": "50fc6182-fa86-4c7d-ac12-2fa27ec2f151",
  "action": "retrieve"
}'

Python

import requests

url = "https://api.acedata.cloud/luma/tasks"

headers = {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
}

payload = {
    "id": "50fc6182-fa86-4c7d-ac12-2fa27ec2f151",
    "action": "retrieve"
}

response = requests.post(url, json=payload, headers=headers)
print(response.text)

Приклад відповіді

Після успішного запиту API поверне детальну інформацію про це відеозавдання. Наприклад:
{
  "_id": "66d297a3550a4144a5a5db42",
  "id": "50fc6182-fa86-4c7d-ac12-2fa27ec2f151",
  "api_id": "94fc9028-5a9f-4875-aae4-38463bd30ac5",
  "application_id": "06484a45-9d04-498a-98a7-67086dee8166",
  "created_at": 1725077411.961,
  "credential_id": "e6a879e5-a7c0-4f7b-9d6f-f9a837421a50",
  "request": {
    "action": "generate",
    "prompt": "Астронавти переносяться з космосу до вулкана"
  },
  "trace_id": "0b7c1c1a-045c-4145-a434-609cba88f0a9",
  "user_id": "ad7afe47-cea9-4cda-980f-2ad8810e51cf",
  "response": {
    "success": true,
    "task_id": "50fc6182-fa86-4c7d-ac12-2fa27ec2f151",
    "video_id": "4b088fc8-2bbc-4706-80a6-a0fb118adc1a",
    "prompt": "Астронавти переносяться з космосу до вулкана",
    "video_url": "https://platform.cdn.acedata.cloud/luma/50fc6182-fa86-4c7d-ac12-2fa27ec2f151.mp4",
    "video_height": 752,
    "video_width": 1360,
    "state": "completed",
    "thumbnail_url": "https://platform.cdn.acedata.cloud/luma/50fc6182-fa86-4c7d-ac12-2fa27ec2f151.jpg",
    "thumbnail_width": 1360,
    "thumbnail_height": 752
  },
  "finished_at": 1725077566.241
}
У відповіді є кілька полів, поле request - це тіло запиту, яке було надіслано для ініціювання завдання, а поле response - це тіло відповіді, яке повертається після завершення завдання, його результати збігаються з запитом та відповіддю Luma Videos Generation API. Ось опис полів.
  • id, ID, що генерує це відеозавдання, використовується для унікальної ідентифікації цього завдання на створення відео.
  • video_id, унікальний ідентифікатор відео в цьому запиті, який потрібно передати при наступних операціях з відео.
  • request, інформація про запит у відеозавданні.
  • response, інформація про відповідь у відеозавданні.

Пакетний запит

Це запит для перевірки деталей відеозавдань за кількома ID, на відміну від попереднього, тут потрібно вибрати action як retrieve_batch. Request Body включає:
  • ids: масив ID завдань.
  • action: спосіб виконання дії над завданнями.
Налаштування виглядає так, як показано на малюнку:

Приклад коду

Можна помітити, що на правій стороні сторінки вже автоматично згенеровано код на різних мовах, як показано на малюнку:

Деякі приклади коду наведені нижче:

Приклад відповіді

Після успішного запиту API поверне детальну інформацію про всі відеозавдання в пакетному запиті. Наприклад:
{
  "items": [
    {
      "_id": "66d297a3550a4144a5a5db42",
      "id": "50fc6182-fa86-4c7d-ac12-2fa27ec2f151",
      "api_id": "94fc9028-5a9f-4875-aae4-38463bd30ac5",
      "application_id": "06484a45-9d04-498a-98a7-67086dee8166",
      "created_at": 1725077411.961,
      "credential_id": "e6a879e5-a7c0-4f7b-9d6f-f9a837421a50",
      "request": {
        "action": "generate",
        "prompt": "Астронавти переносяться з космосу до вулкана"
      },
      "trace_id": "0b7c1c1a-045c-4145-a434-609cba88f0a9",
      "user_id": "ad7afe47-cea9-4cda-980f-2ad8810e51cf",
      "response": {
        "success": true,
        "task_id": "50fc6182-fa86-4c7d-ac12-2fa27ec2f151",
        "video_id": "4b088fc8-2bbc-4706-80a6-a0fb118adc1a",
        "prompt": "Астронавти переносяться з космосу до вулкана",
        "video_url": "https://platform.cdn.acedata.cloud/luma/50fc6182-fa86-4c7d-ac12-2fa27ec2f151.mp4",
        "video_height": 752,
        "video_width": 1360,
        "state": "completed",
        "thumbnail_url": "https://platform.cdn.acedata.cloud/luma/50fc6182-fa86-4c7d-ac12-2fa27ec2f151.jpg",
        "thumbnail_width": 1360,
        "thumbnail_height": 752
      },
      "finished_at": 1725077566.241
    },
    {
      "_id": "66d29ed3550a4144a5a6c089",
      "id": "76a05f61-68ad-4c1a-838f-a00cd08cf65b",
      "api_id": "94fc9028-5a9f-4875-aae4-38463bd30ac5",
      "application_id": "06484a45-9d04-498a-98a7-67086dee8166",
      "created_at": 1725079250.921,
      "credential_id": "e6a879e5-a7c0-4f7b-9d6f-f9a837421a50",
      "request": {
        "action": "generate",
        "prompt": "ла ла ла"
      },
      "trace_id": "338f1616-741d-40b6-8d62-c025434024c6",
      "user_id": "ad7afe47-cea9-4cda-980f-2ad8810e51cf",
      "response": {
        "success": true,
        "task_id": "76a05f61-68ad-4c1a-838f-a00cd08cf65b",
        "video_id": "5a638d6a-7481-4c5e-8843-36c9d1b5bcd5",
        "prompt": "ла ла ла",
        "video_url": "https://platform.cdn.acedata.cloud/luma/76a05f61-68ad-4c1a-838f-a00cd08cf65b.mp4",
        "video_height": 752,
        "video_width": 1360,
        "state": "completed",
        "thumbnail_url": "https://platform.cdn.acedata.cloud/luma/76a05f61-68ad-4c1a-838f-a00cd08cf65b.jpg",
        "thumbnail_width": 1360,
        "thumbnail_height": 752
      },
      "finished_at": 1725079406.71
    }
  ],
  "count": 2
}

CURL

curl -X POST 'https://api.acedata.cloud/luma/tasks' \
-H 'accept: application/json' \
-H 'authorization: Bearer {token}' \
-H 'content-type: application/json' \
-d '{
  "ids": ["50fc6182-fa86-4c7d-ac12-2fa27ec2f151","76a05f61-68ad-4c1a-838f-a00cd08cf65b"],
  "action": "retrieve_batch"
}'

Python

import requests

url = "https://api.acedata.cloud/luma/tasks"

headers = {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
}

payload = {
    "ids": ["50fc6182-fa86-4c7d-ac12-2fa27ec2f151","76a05f61-68ad-4c1a-838f-a00cd08cf65b"],
    "action": "retrieve_batch"
}

response = requests.post(url, json=payload, headers=headers)
print(response.text)

Помилка обробка

У разі виклику API, якщо виникає помилка, API поверне відповідний код помилки та інформацію. Наприклад:
  • 400 token_mismatched:Неправильний запит, можливо, через відсутні або недійсні параметри.
  • 400 api_not_implemented:Неправильний запит, можливо, через відсутні або недійсні параметри.
  • 401 invalid_token:Неавторизовано, недійсний або відсутній токен авторизації.
  • 429 too_many_requests:Занадто багато запитів, ви перевищили ліміт запитів.
  • 500 api_error:Внутрішня помилка сервера, щось пішло не так на сервері.

Приклад помилки відповіді

{
  "success": false,
  "error": {
    "code": "api_error",
    "message": "отримання не вдалося"
  },
  "trace_id": "2cf86e86-22a4-46e1-ac2f-032c0f2a4e89"
}

Висновок

За допомогою цього документа ви дізналися, як використовувати Luma Tasks API для запиту всіх конкретних деталей інформації про окремі або пакетні відеозавдання. Сподіваємося, що цей документ допоможе вам краще інтегрувати та використовувати цей API. Якщо у вас є будь-які питання, будь ласка, звертайтеся до нашої команди технічної підтримки.