Przejdź do głównej treści
Główną funkcją API Luma Tasks jest umożliwienie zapytania o status wykonania zadania poprzez wprowadzenie ID zadania wygenerowanego przez API Luma Videos Generation. Dokument ten szczegółowo opisuje integrację z API Luma Tasks, aby pomóc Ci łatwo zintegrować i w pełni wykorzystać potężne możliwości tego API. Dzięki API Luma Tasks możesz łatwo sprawdzić status wykonania zadań API Luma Videos Generation.

Proces aplikacji

Aby korzystać z API Luma Tasks, należy najpierw przejść do strony aplikacji Luma Videos Generation API i złożyć wniosek o odpowiednią usługę, a następnie skopiować ID zadania API Luma Videos Generation, jak pokazano na obrazku: Na koniec przejdź do strony API Tasks Luma Tasks API i złożyć wniosek o odpowiednią usługę, po wejściu na stronę kliknij przycisk „Acquire”, jak pokazano na obrazku: Strona aplikacji Jeśli nie jesteś zalogowany lub zarejestrowany, automatycznie zostaniesz przekierowany na stronę logowania, aby zarejestrować się i zalogować, po zalogowaniu lub rejestracji automatycznie wrócisz na bieżącą stronę. Podczas pierwszej aplikacji otrzymasz darmowy limit, który pozwala na bezpłatne korzystanie z tego API.

Przykład żądania

API Luma Tasks może być używane do zapytania o wyniki API Luma Videos Generation. Aby dowiedzieć się, jak korzystać z API Luma Videos Generation, zapoznaj się z dokumentem Luma Videos Generation API. Weźmy jako przykład ID zadania zwrócone przez usługę API Luma Videos Generation i pokażmy, jak używać tego API. Załóżmy, że mamy ID zadania: 50fc6182-fa86-4c7d-ac12-2fa27ec2f151, a następnie pokażemy, jak to zrobić, przekazując ID zadania.

Przykład zadania

Ustawienia nagłówków żądania i ciała żądania

Nagłówki żądania obejmują:
  • accept: określa, że oczekiwany jest wynik w formacie JSON, tutaj wpisz application/json.
  • authorization: klucz do wywołania API, po złożeniu wniosku można go bezpośrednio wybrać z rozwijanej listy.
Ciało żądania obejmuje:
  • id: przesłane ID zadania.
  • action: sposób operacji na zadaniu.
Ustawienia są pokazane na poniższym obrazku:

Przykład kodu

Można zauważyć, że po prawej stronie strony automatycznie wygenerowano kod w różnych językach, jak pokazano na obrazku:

Przykłady kodu są następujące:

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)

Przykład odpowiedzi

Po pomyślnym wykonaniu żądania API zwróci szczegółowe informacje o zadaniu wideo. Na przykład:
{
  "_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": "Astronauts shuttle from space to volcano"
  },
  "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": "Astronauts shuttle from space to volcano",
    "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
}
Zwracany wynik zawiera wiele pól, pole request to ciało żądania, które zostało wysłane podczas inicjowania zadania, a pole response to ciało odpowiedzi zwrócone po zakończeniu zadania, którego wyniki są zgodne z żądaniami i odpowiedziami API Luma Videos Generation. Opis pól jest następujący.
  • id, ID zadania wideo, które zostało wygenerowane, służy do unikalnej identyfikacji tego zadania generowania wideo.
  • video_id, unikalny identyfikator wideo w zapytaniu o to zadanie wideo, który należy przekazać przy kolejnych operacjach rozszerzania wideo.
  • request, informacje o żądaniu w zadaniu wideo.
  • response, informacje o odpowiedzi w zadaniu wideo.

Operacje zbiorcze

To jest zapytanie o szczegóły zadań wideo dla wielu ID zadań, w przeciwieństwie do powyższego, należy wybrać akcję jako retrieve_batch. Ciało żądania obejmuje:
  • ids: tablica przesłanych ID zadań.
  • action: sposób operacji na zadaniu.
Ustawienia są pokazane na poniższym obrazku:

Przykład kodu

Można zauważyć, że po prawej stronie strony automatycznie wygenerowano kod w różnych językach, jak pokazano na obrazku:

Przykłady kodu są następujące:

Przykład odpowiedzi

Po pomyślnym wykonaniu żądania API zwróci szczegółowe informacje o wszystkich zadaniach wideo w partii. Na przykład:
{
  "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": "Astronauci przelatują z kosmosu do wulkanu"
      },
      "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": "Astronauci przelatują z kosmosu do wulkanu",
        "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": "la la la"
      },
      "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": "la la la",
        "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)

Obsługa błędów

W przypadku wywołania API, jeśli wystąpią błędy, API zwróci odpowiedni kod błędu i informacje. Na przykład:
  • 400 token_mismatched:Złe żądanie, prawdopodobnie z powodu brakujących lub nieprawidłowych parametrów.
  • 400 api_not_implemented:Złe żądanie, prawdopodobnie z powodu brakujących lub nieprawidłowych parametrów.
  • 401 invalid_token:Nieautoryzowany, nieprawidłowy lub brakujący token autoryzacyjny.
  • 429 too_many_requests:Zbyt wiele żądań, przekroczono limit szybkości.
  • 500 api_error:Błąd wewnętrzny serwera, coś poszło nie tak na serwerze.

Przykład odpowiedzi błędu

{
  "success": false,
  "error": {
    "code": "api_error",
    "message": "pobieranie nie powiodło się"
  },
  "trace_id": "2cf86e86-22a4-46e1-ac2f-032c0f2a4e89"
}

Wnioski

Dzięki temu dokumentowi zrozumieliście, jak używać API Luma Tasks do zapytań o szczegółowe informacje o pojedynczych lub zbiorczych zadaniach wideo. Mamy nadzieję, że ten dokument pomoże Wam lepiej zintegrować się i korzystać z tego API. W razie jakichkolwiek pytań, prosimy o kontakt z naszym zespołem wsparcia technicznego.