Zum Hauptinhalt springen
Mit der zunehmenden Anwendung von KI haben sich verschiedene KI-Programme allmählich verbreitet. KI hat sich zunehmend in alle Aspekte des Arbeits- und Lebensalltags der Menschen integriert. Die Branchen, die von KI betroffen sind, werden ebenfalls immer vielfältiger, von anfänglichem Schreiben über Gesundheitswesen und Bildung bis hin zu Videos. Luma ist eine professionelle Plattform zur Generierung hochwertiger Videos. Benutzer müssen lediglich Materialien hochladen, um automatisch hochwertige Videos in verschiedenen Stilen und Effekten zu erstellen. Dieser KI-Video-Generator wurde von einem Teammitglied eines bekannten Technologieunternehmens entwickelt, mit dem Ziel, dass jeder ohne komplexe Bearbeitungswerkzeuge mühelos herausragende Videos erstellen kann. Allerdings bietet Luma offiziell keine API an. AceDataCloud stellt eine Reihe von Luma-APIs zur Verfügung, die die offizielle Suno-Integration simulieren und es ermöglichen, schnell und einfach die gewünschten Videos zu generieren.

Antrag und Nutzung

Um die Luma Videos API zu nutzen, können Sie zunächst die Seite Luma Videos Generation API besuchen und auf die Schaltfläche „Acquire“ klicken, um die benötigten Anmeldeinformationen zu erhalten: Wenn Sie noch nicht angemeldet oder registriert sind, werden Sie automatisch zur Anmeldeseite weitergeleitet, um sich zu registrieren und anzumelden. Nach der Anmeldung werden Sie automatisch zur aktuellen Seite zurückgeleitet. Bei der ersten Antragstellung wird ein kostenloses Kontingent gewährt, mit dem Sie die API kostenlos nutzen können.

Grundlegende Nutzung

Um ein Video zu generieren, können Sie beliebigen Text eingeben. Wenn ich beispielsweise ein Video über Astronauten, die zwischen dem Weltraum und einem Vulkan hin und her reisen, generieren möchte, kann ich Astronauts shuttle from space to volcano eingeben, wie im Bild gezeigt:

Der generierte Code sieht wie folgt aus:

Wesentliche Anfrageparameter:
  • prompt: Der Hinweistext zur Generierung des Videos.
  • aspect_ratio: Das Seitenverhältnis des Videos, standardmäßig 16:9.
  • end_image_url: Optional, um das Endbild anzugeben.
  • enhancement: Optional, Schalter zur Verbesserung der Klarheit.
  • loop: Ob ein Schleifenvideo generiert werden soll, standardmäßig false.
  • timeout: Optional, Zeitüberschreitung in Sekunden.
  • callback_url: Asynchrone Rückrufadresse.
Sie können auf die Schaltfläche „Try“ klicken, um die API direkt zu testen. Warten Sie 1-2 Minuten, das Ergebnis sieht wie folgt aus:
{
  "success": true,
  "task_id": "e4018a99-1522-4f24-9330-62c2a9b50b59",
  "video_id": "155838f8-7f1e-44d8-b387-192f3b4b509d",
  "prompt": "Astronauts shuttle from space to volcano",
  "video_url": "https://storage.cdn-luma.com/dream_machine/af94e7ca-da35-4b5f-a636-2d7254184d0d/watermarked_video0585de3737db946e5a0ac895384ecd180.mp4",
  "video_height": 752,
  "video_width": 1360,
  "state": "completed",
  "thumbnail_url": "https://platform.cdn.acedata.cloud/luma/e4018a99-1522-4f24-9330-62c2a9b50b59.jpg",
  "thumbnail_width": 1360,
  "thumbnail_height": 752
}
Wie Sie sehen können, haben wir zu diesem Zeitpunkt die relevanten Informationen zu diesem Video erhalten, einschließlich Video-ID, Video-Link, Video-Vorschaubild usw. Die Feldbeschreibung ist wie folgt:
  • success: Ob die Generierung erfolgreich war, wenn erfolgreich, dann true, andernfalls false
  • task_id: Die eindeutige ID dieser Video-Generierungsaufgabe
  • video_id: Die eindeutige ID des Videos, das aus dieser Video-Generierungsaufgabe erstellt wurde
  • prompt: Die Schlüsselwörter dieser Video-Generierungsaufgabe
  • video_url: Der Link zum Ergebnisvideo dieser Video-Generierungsaufgabe
  • video_height: Die Höhe des generierten Video-Vorschaubilds
  • video_width: Die Breite des generierten Video-Vorschaubilds
  • state: Der Status dieser Video-Generierungsaufgabe, wenn die Aufgabe abgeschlossen ist, dann completed.
  • thumbnail_url: Der Link zum generierten Video-Vorschaubild
  • thumbnail_width: Die Breite des generierten Video-Vorschaubilds
  • thumbnail_height: Die Höhe des generierten Video-Vorschaubilds

Benutzerdefinierte Start- und Endbilder generieren

Wenn Sie ein Video durch benutzerdefinierte Start- und Endbilder generieren möchten, können Sie die Links zu den Bildern der Start- und Endbilder eingeben: In diesem Fall kann das Startbild start_image_url das folgende Bild als Startbild des Videos verwenden: Startbild Als Nächstes möchten wir basierend auf den Start- und Endbildern sowie den Schlüsselwörtern ein Video benutzerdefiniert generieren. Wir können die folgenden Inhalte angeben:
  • action: Die Aktion der Video-Generierungsaufgabe, normalerweise ist es die normale Generierung generate und die erweiterte Generierung extend, standardmäßig generate.
  • start_image_url: Gibt das Startbild des zu generierenden Videos an.
  • end_image_url: Gibt das Endbild des zu generierenden Videos an.
  • prompt: Der Inhalt der Schlüsselwörter zur Generierung des Videos.
Ein Beispiel für die Eingabe sieht wie folgt aus:

Nach dem Ausfüllen wird automatisch der folgende Code generiert:

Der entsprechende Code:
import requests

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

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

payload = {
    "start_image_url": "https://cdn.acedata.cloud/r9vsv9.png",
    "action": "generate",
    "prompt": "Astronauts shuttle from space to volcano"
}

response = requests.post(url, json=payload, headers=headers)
print(response.text)
Das erhaltene Ergebnis sieht wie folgt aus:
{
  "success": true,
  "task_id": "12a18694-fd4b-47e7-9c50-34f30862cff6",
  "video_id": "0105c090-03a5-425a-8026-523341cd575b",
  "prompt": "Astronauts shuttle from space to volcano",
  "video_url": "https://platform.cdn.acedata.cloud/luma/12a18694-fd4b-47e7-9c50-34f30862cff6.mp4",
  "video_height": 656,
  "video_width": 1552,
  "state": "completed",
  "thumbnail_url": "https://platform.cdn.acedata.cloud/luma/12a18694-fd4b-47e7-9c50-34f30862cff6.jpg",
  "thumbnail_width": 1552,
  "thumbnail_height": 656
}
Das letztendlich erhaltene Ergebnis ist ähnlich wie das oben, das generierte Video-Startbild enthält das von uns übergebene Bild. Natürlich können Sie auch gleichzeitig Links zu Start- und Endbildern übergeben, um ein Video zu generieren. Sie müssen nur ein weiteres Endbild hinzufügen, basierend auf dem oben genannten. Die Informationen zum Endbild sind wie folgt: Endbild Ein Beispiel für die Eingabe sieht wie folgt aus:

Am Ende ergibt sich folgendes Ergebnis:
{
  "success": true,
  "task_id": "d1cb723a-e554-4775-94a4-bb6ae8c7ea67",
  "video_id": "6bebd0d2-f793-472e-9326-38528a9273bb",
  "prompt": "Astronauten shuttlen vom Weltraum zu einem Vulkan",
  "video_url": "https://platform.cdn.acedata.cloud/luma/d1cb723a-e554-4775-94a4-bb6ae8c7ea67.mp4",
  "video_height": 656,
  "video_width": 1552,
  "state": "abgeschlossen",
  "thumbnail_url": "https://platform.cdn.acedata.cloud/luma/d1cb723a-e554-4775-94a4-bb6ae8c7ea67.jpg",
  "thumbnail_width": 1552,
  "thumbnail_height": 656
}
Die Ergebnisse sind ähnlich wie oben, das generierte Video enthält sowohl das erste als auch das letzte Bild, was die benutzerdefinierte Erstellung von Anfangs- und Endbildern zur Videoerstellung abschließt.

Videoerweiterungsfunktion

Wenn Sie das generierte Video weiter erstellen möchten, können Sie den Parameter action auf extend setzen und die ID oder den Link des Videos eingeben, die Video-ID und der Video-Link können basierend auf der grundlegenden Nutzung abgerufen werden, wie im folgenden Bild gezeigt:

In diesem Fall sehen Sie, dass die Video-ID lautet:
"video_id": "0105c090-03a5-425a-8026-523341cd575b",
"video_url": "https://platform.cdn.acedata.cloud/luma/12a18694-fd4b-47e7-9c50-34f30862cff6.mp4"
Hinweis: Hier sind die video_id und video_url des Videos, das nach der Erstellung generiert wurde. Wenn Sie nicht wissen, wie man ein Video erstellt, können Sie sich auf die grundlegende Nutzung oben beziehen, um ein Video zu erstellen.
Um das Video weiter zu erstellen, müssen Sie den Video-Link oder die Video-ID hochladen. Im Folgenden wird die Verwendung der Video-ID zur Erweiterung demonstriert. Als nächstes müssen wir Schlüsselwörter ausfüllen, um das Video benutzerdefiniert zu erstellen, und können die folgenden Inhalte angeben:
  • action: In diesem Fall die Erweiterung des Videos, hier sollte es extend sein.
  • prompt: Die Schlüsselwörter, die das Video erweitern sollen.
  • video_url: Der Link des Videos, das erweitert werden soll.
  • video_id: Die eindeutige ID des Videos, das erweitert werden soll.
  • end_image_url: Der Link zum Bild des Endbildes, das für die Erweiterung des Videos angegeben werden kann, optional.
Das ausgefüllte Beispiel sieht wie folgt aus:

Nach dem Ausfüllen wird automatisch der folgende Code generiert:

Entsprechender Python-Code:
import requests

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

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

payload = {
    "action": "extend",
    "video_id": "0105c090-03a5-425a-8026-523341cd575b",
    "prompt": "Astronauten shuttlen vom Weltraum zu einem Vulkan"
}

response = requests.post(url, json=payload, headers=headers)
print(response.text)
Wenn Sie auf Ausführen klicken, können Sie ein Ergebnis erhalten, wie folgt:
{
  "success": true,
  "task_id": "c6e529d1-a06d-4c12-91b2-c855135131c3",
  "video_id": "36908c49-c2bb-4a11-bd5a-b8512b004818",
  "prompt": "Astronauten shuttlen vom Weltraum zu einem Vulkan",
  "video_url": "https://platform.cdn.acedata.cloud/luma/c6e529d1-a06d-4c12-91b2-c855135131c3.mp4",
  "video_height": 656,
  "video_width": 1552,
  "state": "abgeschlossen",
  "thumbnail_url": "https://platform.cdn.acedata.cloud/luma/c6e529d1-a06d-4c12-91b2-c855135131c3.jpg",
  "thumbnail_width": 1552,
  "thumbnail_height": 656
}
Es ist zu erkennen, dass dieses Video auf dem zu erweiternden Video basiert, das Ergebnis ist identisch mit dem oben, was die Funktion zur weiteren Erstellung von Songs realisiert. Natürlich können wir auch den Video-Link angeben, um die Erweiterung zu generieren, indem wir die folgenden Informationen ausfüllen:

Nach dem Ausführen erhalten wir folgendes Ergebnis:
{
  "success": true,
  "task_id": "1dcb5902-a7be-4b77-ba5d-dd8ec82b26ca",
  "video_id": "f0187dc2-339f-4a08-a435-c3a3341f620a",
  "prompt": "Astronauten shuttlen vom Weltraum zu einem Vulkan",
  "video_url": "https://platform.cdn.acedata.cloud/luma/1dcb5902-a7be-4b77-ba5d-dd8ec82b26ca.mp4",
  "video_height": 656,
  "video_width": 1552,
  "state": "abgeschlossen",
  "thumbnail_url": "https://platform.cdn.acedata.cloud/luma/1dcb5902-a7be-4b77-ba5d-dd8ec82b26ca.jpg",
  "thumbnail_width": 1552,
  "thumbnail_height": 656
}
Anhand des Ergebnisses ist zu erkennen, dass auch die Funktion zur Videoerweiterung basierend auf dem Video-Link realisiert werden kann. Schließlich können wir auch ein Endbild für das erweiterte Video angeben, um die Erweiterung durchzuführen. Hier sind die Informationen zum Endbild: Endbild Als nächstes fügen wir auf der Grundlage der obigen Informationen die Endbildinformationen hinzu, wie folgt:

Wenn Sie auf Ausführen klicken, erhalten Sie folgende Informationen:
{
  "success": true,
  "task_id": "b816b2b4-c345-4673-9e19-83e91f91b643",
  "video_id": "c5400053-63e6-4206-8082-31cf9dd1e7ed",
  "prompt": "Astronauten shuttlen vom Weltraum zu einem Vulkan",
  "video_url": "https://platform.cdn.acedata.cloud/luma/b816b2b4-c345-4673-9e19-83e91f91b643.mp4",
  "video_height": 656,
  "video_width": 1552,
  "state": "abgeschlossen",
  "thumbnail_url": "https://platform.cdn.acedata.cloud/luma/b816b2b4-c345-4673-9e19-83e91f91b643.jpg",
  "thumbnail_width": 1552,
  "thumbnail_height": 656
}
Es ist zu erkennen, dass auf der Grundlage des oben erweiterten Videos auch ein Endbild angegeben werden kann, um die Erweiterung durchzuführen.

Asynchrone Rückrufe

Da die Erstellung von Videos mit Luma relativ lange dauert, etwa 1-2 Minuten, wird die HTTP-Anfrage bei langem Warten auf eine Antwort die Verbindung aufrechterhalten, was zu einem zusätzlichen Verbrauch von Systemressourcen führt. Daher bietet diese API auch Unterstützung für asynchrone Rückrufe. Der gesamte Prozess ist: Wenn der Client eine Anfrage initiiert, gibt er zusätzlich ein Feld callback_url an. Nachdem der Client die API-Anfrage gestartet hat, gibt die API sofort ein Ergebnis zurück, das ein Feld mit der task_id enthält, das die aktuelle Aufgaben-ID darstellt. Wenn die Aufgabe abgeschlossen ist, wird das Ergebnis der Musikgenerierung in Form von POST JSON an die vom Client angegebene callback_url gesendet, wobei auch das Feld task_id enthalten ist, sodass die Aufgabenergebnisse über die ID miteinander verknüpft werden können. Lassen Sie uns im Folgenden anhand eines Beispiels verstehen, wie dies konkret funktioniert. Zunächst ist der Webhook-Callback ein Dienst, der HTTP-Anfragen empfangen kann. Entwickler sollten die URL ihres eigenen eingerichteten HTTP-Servers ersetzen. Hier verwenden wir zur Veranschaulichung eine öffentliche Webhook-Beispielseite https://webhook.site/, auf der Sie eine Webhook-URL erhalten können, wie im Bild gezeigt:

Kopieren Sie diese URL, um sie als Webhook zu verwenden. Das Beispiel hier ist https://webhook.site/0c87ca0e-cd74-4577-8d68-f2b80fbf8a13. Als Nächstes können wir das Feld callback_url auf die oben genannte Webhook-URL setzen und prompt ausfüllen, wie im Bild gezeigt:

Klicken Sie auf Ausführen, und Sie werden sofort ein Ergebnis erhalten, wie folgt:
{
  "task_id": "732f8282-7cf8-401c-95f2-42c33aa079a6"
}
Nach kurzer Wartezeit können wir auf https://webhook.site/0c87ca0e-cd74-4577-8d68-f2b80fbf8a13 das Ergebnis des generierten Songs beobachten, wie im Bild gezeigt: Der Inhalt lautet wie folgt:
{
    "success": true,
    "task_id": "732f8282-7cf8-401c-95f2-42c33aa079a6",
    "video_id": "4d8013c3-5de0-41aa-966e-0b1a51d1c633",
    "prompt": "Astronauten fliegen vom Weltraum zum Vulkan",
    "video_url": "https://platform.cdn.acedata.cloud/luma/732f8282-7cf8-401c-95f2-42c33aa079a6.mp4",
    "video_height": 752,
    "video_width": 1360,
    "state": "completed",
    "thumbnail_url": "https://platform.cdn.acedata.cloud/luma/732f8282-7cf8-401c-95f2-42c33aa079a6.jpg",
    "thumbnail_width": 1360,
    "thumbnail_height": 752
}
Man kann sehen, dass im Ergebnis ein Feld task_id vorhanden ist, und die anderen Felder sind ähnlich wie oben beschrieben. Über dieses Feld kann die Aufgabe verknüpft werden.