Dieses Papier verwendet Dify v0.12.1 Version, vor allem führt durch die HTTP-Knoten in der Dify-Workflow, siliconflow tencent/HunyuanVideo-Schnittstelle aufrufen, durch den Text, um die spezifische Umsetzung des Videos zu erzeugen. Unter ihnen, Dify und HTTP-Dienste sind auf Sealos Cloud-Plattform bereitgestellt.
HunyuanVideo ist ein von Tencent eingeführtes Open-Source-Basismodell zur Videogenerierung, das mit über 13 Milliarden Parametern das größte verfügbare Open-Source-Modell zur Videogenerierung darstellt. Das Modell verwendet eine einheitliche Bild- und Videogenerierungsarchitektur, die Schlüsseltechnologien wie Datensammlung, gemeinsames Training von Bild- und Videomodellen und eine effiziente Infrastruktur integriert. Das Modell verwendet ein multimodales Makrosprachenmodell als Textkodierer, führt eine räumlich-zeitliche Komprimierung mittels 3D-VAE durch und bietet eine Umschreibung von Stichwörtern. Nach den Ergebnissen professioneller menschlicher Evaluierungen übertrifft HunyuanVideo die bestehenden State-of-the-Art-Modelle in Bezug auf Textausrichtung, Bewegungsqualität und visuelle Qualität.
I. HunyuanVideo-Schnittstelle
1. ein vinzentinisches Video erstellen
Generieren Sie das Video durch Eingabeaufforderung, die Schnittstelle gibt die requestId zurück, die durch die aktuelle Anfrage des Benutzers generiert wurde, der Benutzer muss den spezifischen Videolink durch Abfrage der Statusschnittstelle erhalten, das generierte Ergebnis ist innerhalb von 10 Minuten gültig, bitte nehmen Sie den Videolink rechtzeitig. Wie unten gezeigt:
Anfragen importieren
url = "https://api.siliconflow.cn/v1/video/submit"
payload = {
"model": "tencent/HunyuanVideo",
"prompt": "", "seed": 123
"seed": 123
}
headers = {
"Authorisation": "Bearer ", "Content-Type".
"Content-Type": "application/json"
}
response = requests.request("POST", url, json=payload, headers=headers)
print(response.text)
2. den Link zur Videoerstellung abrufen
Holen Sie sich das nutzergenerierte Video wie unten gezeigt:
Anfragen importieren
url = "https://api.siliconflow.cn/v1/video/status"
payload = {"requestId": ""}
headers = {
"Content-Type": "application/json"
}
response = requests.request("POST", url, json=payload, headers=headers)
print(response.text)
HunyuanVideo-Interface-Kapselung
Da die Texterzeugung Video Zeit ist immer noch relativ lang, so dass in der Regel Anbieter in der Gestaltung der Zeit wird 2 Schnittstellen haben, ist eine Schnittstelle, um diese Anfrage requestId, eine andere Schnittstelle nach requestId, um die Video-Generierung Modell Status zu bestimmen, und so weiter die Video-Generierung abgeschlossen ist, vor der Rückkehr des Video-URL. daher können Sie nicht verwenden Dify direkt! Daher können Sie den HTTP-Knoten im Dify-Workflow nicht direkt verwenden, um die offizielle Schnittstelle von siliconflow aufzurufen, sondern müssen die HunyuanVideo-Schnittstelle erneut kapseln. Spezifische HunyuanVideo-Interface-Paket ist auch sehr einfach, ist es, einen Flask-Dienst zu starten, nach der Business-Logik zu verpacken.
Erzeugen Sie den Befehl requirements.txt wie unten gezeigt:
pip freeze > requirements.txt
Verpackung als Spiegelungsbefehl, wie unten gezeigt:
docker build -t 1000sprites/hunyuanvideo:v1 .
Besonderer Hinweis: Wenn das Tag keinen Dockerhub-Repository-Benutzernamen hat (1000sprites muss entsprechend meinem eigenen ausgefüllt werden), dann lädt Docker das Bild hoch und meldet einen Fehler :denied: angeforderter Zugriff auf die Ressource wird verweigert.
Verpacken Sie das erzeugte Bild 1000sprites/hunyuanvideo:v1 wie folgt:
Klicken Sie auf Push to Hub, um den Upload in das Dockerhub-Repository durchzuführen (siehe unten):
Da die in das Dockerhub-Repository hochgeladenen Bilder standardmäßig privat sind, müssen sie wie unten gezeigt auf öffentlich gesetzt werden:
Sealos Bereitstellung des HunyuanVideo-Dienstes
Klicken Sie auf "Anwendungsverwaltung" (siehe unten):
Richten Sie ihn nach Bedarf ein, insbesondere der Name des Mirrors sollte nicht falsch geschrieben werden, da er wie unten gezeigt Mirrors von dieser Adresse abrufen wird:
Klicken Sie auf "Anwendungsverwaltung". Wenn der STATUS der Anwendung von "Ausstehend" auf "Läuft" wechselt, bedeutet dies, dass die Anwendung erfolgreich gestartet wurde. Wenn STATUS auf Running steht, können Sie direkt auf die externe Netzwerkadresse zugreifen. Sollten Probleme auftreten, überprüfen Sie die Pod-Protokolle wie unten gezeigt:
III. der Arbeitsablauf bei der Dify-Videoerstellung
bibliographie
[1] Online-Erfahrung mit Videos: https://cloud.siliconflow.cn/playground/text-to-video
[2] Schnellinstallation von Python-Anwendungen: https://sealos.run/docs/examples/programming-languages/Quick Installation von Python-Anwendungen
[3] https://hub.docker.com/