File size: 1,739 Bytes
131bc91
83f8db0
 
 
 
131bc91
 
83f8db0
 
131bc91
83f8db0
 
 
 
 
 
131bc91
 
83f8db0
131bc91
 
83f8db0
 
 
 
131bc91
 
83f8db0
 
131bc91
83f8db0
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
131bc91
83f8db0
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
import gradio as gr
import torch
from torchvision import transforms
from PIL import Image
import numpy as np
import subprocess

# Carica il modello HunyuanVideo
model = torch.hub.load('tencent/HunyuanVideo', 'HunyuanVideo', pretrained=True)

# Definisci la funzione per generare video
def generate_video(prompt, video_size=(720, 1280), video_length=129, infer_steps=50):
    # Prepara il prompt per il modello
    prompt = prompt.strip()
    
    # Genera il video utilizzando il modello
    command = [
        "python3", "sample_video.py",
        "--video-size", str(video_size[0]), str(video_size[1]),
        "--video-length", str(video_length),
        "--infer-steps", str(infer_steps),
        "--prompt", prompt,
        "--flow-reverse",
        "--use-cpu-offload",
        "--save-path", "./results"
    ]
    
    # Esegue il comando
    subprocess.run(command)
    
    # Carica il video generato
    video_path = "./results/generated_video.mp4"
    
    # Ritorna il video generato
    return video_path

# Crea l'interfaccia Gradio
iface = gr.Interface(
    fn=generate_video,
    inputs=[
        gr.Textbox(label="Inserisci il prompt", placeholder="Un gatto cammina sull'erba, stile realistico."),
        gr.Dropdown(label="Dimensione del video", choices=[(720, 1280), (544, 960)], value=(720, 1280)),
        gr.Slider(label="Lunghezza del video (frame)", minimum=1, maximum=300, value=129),
        gr.Slider(label="Passi di inferenza", minimum=1, maximum=100, value=50)
    ],
    outputs=gr.Video(label="Video generato"),
    title="Generazione di video con HunyuanVideo",
    description="Genera video utilizzando il modello HunyuanVideo fornendo un prompt di testo."
)

# Avvia l'applicazione Gradio
iface.launch()