Skip to main content
Wraz z rosnącym zastosowaniem AI, różne programy AI stały się coraz bardziej powszechne. AI stopniowo przenika do wszystkich aspektów życia i pracy ludzi. Branże związane z AI również się rozszerzają, od początkowego pisania, przez edukację medyczną, aż po obecne wideo. Luma to profesjonalna platforma do generowania wysokiej jakości wideo, gdzie użytkownicy muszą jedynie przesłać materiały, aby automatycznie wygenerować wysokiej jakości wideo w różnych stylach i efektach. Ten generator wideo AI został opracowany przez zespół członków z renomowanych firm technologicznych, a jego celem jest umożliwienie każdemu łatwego tworzenia doskonałych wideo bez skomplikowanych narzędzi do edycji. Jednak Luma oficjalnie nie oferuje API, AceDataCloud dostarcza zestaw API Luma, symulując integrację z oficjalnym Suno, co umożliwia szybkie i wygodne generowanie pożądanych wideo.

Aplikacja i użycie

Aby korzystać z API Luma Videos Generation, najpierw przejdź do konsoli Ace Data Cloud, aby uzyskać swój token API, który należy zachować na przyszłość. Jeśli nie jesteś zalogowany lub zarejestrowany, automatycznie zostaniesz przekierowany na stronę logowania, aby zarejestrować się i zalogować, a po zakończeniu zostaniesz automatycznie przekierowany z powrotem na bieżącą stronę. Jeden token API wystarczy do wywołania wszystkich usług platformy, nie ma potrzeby składania osobnych wniosków dla każdej usługi. Przy pierwszym wniosku przyznawana jest darmowa kwota, aby można było bezpłatnie przetestować; w przypadku niewystarczającej kwoty można doładować saldo ogólne w konsoli.
📘 Pełna dokumentacja: Luma Videos Generation API →

Podstawowe użycie

Aby wygenerować wideo, można dowolnie wpisać fragment tekstu, na przykład, jeśli chcę wygenerować wideo o astronautach przemieszczających się między przestrzenią a wulkanem, mogę wpisać Astronauts shuttle from space to volcano, jak pokazano na obrazku:

Wygenerowany kod wygląda następująco:

Główne parametry żądania:
  • prompt: hasło do generowania wideo.
  • aspect_ratio: proporcje wideo, domyślnie 16:9.
  • end_image_url: opcjonalne, określa ostatnią klatkę.
  • enhancement: opcjonalne, przełącznik poprawy ostrości.
  • loop: czy generować wideo w pętli, domyślnie false.
  • timeout: opcjonalne, liczba sekund na czas oczekiwania.
  • callback_url: adres zwrotny asynchroniczny.
  • async: opcjonalne, ustawione na true, interfejs natychmiast zwraca task_id, nie ma potrzeby podawania callback_url, a następnie można uzyskać wyniki, wykonując zapytania do odpowiedniego interfejsu zadań.
Można kliknąć przycisk „Try”, aby bezpośrednio przetestować API, poczekać 1-2 minuty, a wyniki będą następujące:
Można zauważyć, że w tym momencie otrzymaliśmy informacje dotyczące tego wideo, w tym ID wideo, link do wideo, miniaturę wideo i inne. Opis pól jest następujący:
  • success: czy generowanie się powiodło, jeśli tak, to true, w przeciwnym razie false
  • task_id: unikalne ID zadania generowania wideo
  • video_id: unikalne ID wideo wygenerowanego przez to zadanie
  • prompt: słowo kluczowe zadania generowania wideo
  • video_url: link do wynikowego wideo wygenerowanego przez to zadanie
  • video_height: wysokość wygenerowanego obrazu miniatury wideo
  • video_width: szerokość wygenerowanego obrazu miniatury wideo
  • state: stan zadania generowania wideo, jeśli zadanie jest zakończone, to completed.
  • thumbnail_url: link do obrazu miniatury wygenerowanego wideo
  • thumbnail_width: szerokość obrazu miniatury wygenerowanego wideo
  • thumbnail_height: wysokość obrazu miniatury wygenerowanego wideo

Generowanie niestandardowych klatek początkowych i końcowych

Jeśli chcesz wygenerować wideo za pomocą niestandardowych klatek początkowych i końcowych, możesz wprowadzić linki do obrazów klatek początkowych i końcowych: W tym momencie pole start_image_url może przyjąć następujący obraz jako klatkę początkową wideo: Klatka początkowa Następnie, aby dostosować generowanie wideo na podstawie klatek początkowych i końcowych oraz słów kluczowych, można określić następujące treści:
  • action: działanie zadania generowania wideo, zazwyczaj zwykłe generowanie generate i rozszerzone generowanie extend, domyślnie generate.
  • start_image_url: określa klatkę początkową generowanego wideo.
  • end_image_url: określa klatkę końcową generowanego wideo.
  • prompt: treść słów kluczowych generowanego wideo.
Przykład wypełnienia wygląda następująco:

Po wypełnieniu automatycznie wygenerowano kod, który wygląda następująco:

Odpowiedni kod:
Otrzymany wynik wygląda następująco:
Ostateczny wynik jest podobny do powyższego, wygenerowana klatka początkowa wideo zawiera przesłany obraz, oczywiście można również jednocześnie przesłać linki do obrazów klatek początkowych i końcowych, aby wygenerować wideo, wystarczy dodać dodatkowy obraz klatki końcowej do powyższego. Informacje o obrazie klatki końcowej są następujące: Klatka końcowa Przykład wypełnienia wygląda następująco:

Ostatecznie uzyskano następujący wynik:
Wynik jest podobny do powyższego, wygenerowane wideo zawiera zarówno obrazek z pierwszej, jak i ostatniej klatki, co kończy proces dostosowywania pierwszej i ostatniej klatki do generowania wideo.

Funkcje rozszerzenia wideo

Jeśli chcesz kontynuować generowanie wideo, możesz ustawić parametr action na extend i wprowadzić ID wideo lub link do wideo, które chcesz kontynuować, ID wideo i link do wideo można uzyskać na podstawie podstawowego użycia, jak pokazano na poniższym obrazku:

W tym momencie można zobaczyć, że ID wideo to:
Uwaga, tutaj w wideo video_id i video_url to ID i link do wygenerowanego wideo, jeśli nie wiesz, jak wygenerować wideo, możesz odwołać się do podstawowego użycia opisanego powyżej.
Aby kontynuować generowanie wideo, musisz przesłać link do wideo lub ID wideo, poniżej pokazano, jak użyć ID wideo do rozszerzenia, następnie musimy wypełnić słowa kluczowe, aby dostosować generowanie wideo, co pozwoli na określenie następujących treści:
  • action: w tym przypadku działanie rozszerzające wideo, powinno być extend.
  • prompt: słowa kluczowe do rozszerzenia wideo.
  • video_url: link do wideo, które ma być rozszerzone.
  • video_id: unikalne ID wideo, które ma być rozszerzone.
  • end_image_url: link do obrazka końcowej klatki, opcjonalny parametr.
Przykład wypełnienia wygląda następująco:

Po wypełnieniu automatycznie wygenerowano kod jak poniżej:

Odpowiedni kod Python:
Po kliknięciu uruchomienia można zauważyć, że uzyskano wynik jak poniżej:
Można zauważyć, że to wideo zostało rozszerzone na podstawie wideo, które miało być rozszerzone, a treść wyniku jest zgodna z powyższym, co realizuje funkcję kontynuacji generowania piosenki. Oczywiście możemy również określić link do wideo, aby przeprowadzić rozszerzenie, wypełniając następujące informacje:

Po uruchomieniu uzyskano następujący wynik:
Na podstawie wyniku można zauważyć, że na podstawie linku do wideo również można zrealizować funkcję rozszerzenia wideo. Na koniec możemy również określić obrazek końcowej klatki w rozszerzonym wideo, aby przeprowadzić rozszerzenie, poniżej znajdują się informacje o obrazku końcowej klatki: Klatka końcowa Następnie na podstawie powyższego dodajemy informacje o obrazku końcowej klatki, szczegóły są następujące:

Po kliknięciu uruchomienia uzyskano następujące informacje:
Można zauważyć, że na podstawie rozszerzonego wideo można również określić obrazek końcowej klatki do rozszerzenia.

Asynchroniczne wywołania zwrotne

Ponieważ czas generowania wideo przez Luma jest stosunkowo długi, wynosi około 1-2 minut, jeśli API nie odpowiada przez dłuższy czas, żądanie HTTP będzie utrzymywać połączenie, co prowadzi do dodatkowego zużycia zasobów systemowych, dlatego to API oferuje również wsparcie dla asynchronicznych wywołań zwrotnych. 整体流程是:Klient inicjuje żądanie, dodatkowo określając pole callback_url. Po wysłaniu żądania API, API natychmiast zwraca wynik, zawierający informacje o polu task_id, które reprezentuje bieżące ID zadania. Po zakończeniu zadania, wyniki generowanej muzyki są wysyłane do określonego przez klienta callback_url w formie POST JSON, w którym również znajduje się pole task_id, dzięki czemu wyniki zadania mogą być powiązane za pomocą ID. Poniżej przyjrzymy się, jak to działa na przykładzie. Po pierwsze, Webhook to usługa, która może odbierać żądania HTTP, deweloperzy powinni zastąpić ją URL swojego serwera HTTP. Dla wygody demonstracji użyjemy publicznej strony przykładowej Webhook https://webhook.site/, otwierając tę stronę, można uzyskać URL Webhook, jak pokazano na obrazku:

Skopiuj ten URL, aby użyć go jako Webhook, przykładowy URL to https://webhook.site/0c87ca0e-cd74-4577-8d68-f2b80fbf8a13. Następnie możemy ustawić pole callback_url na powyższy URL Webhook, a także wypełnić prompt, jak pokazano na obrazku:

Klikając uruchom, można zauważyć, że natychmiast otrzymujemy wynik, jak poniżej:
Po chwili możemy na stronie https://webhook.site/0c87ca0e-cd74-4577-8d68-f2b80fbf8a13 zaobserwować wyniki generowanej piosenki, jak pokazano na obrazku: Treść jest następująca:
Można zauważyć, że w wynikach znajduje się pole task_id, a pozostałe pola są podobne do powyższych, dzięki czemu można powiązać zadania za pomocą tego pola.