Create Mio generatore

#6
Files changed (1) hide show
  1. Mio generatore +50 -0
Mio generatore ADDED
@@ -0,0 +1,50 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import spaces
2
+ import gradio as gr
3
+ import torch
4
+ from ltx_video import LTXVideoPipeline # o il suo import originale
5
+
6
+ # Carica il modello una volta sola all'avvio
7
+ pipe = None
8
+ def load_model():
9
+ global pipe
10
+ if pipe is None:
11
+ pipe = LTXVideoPipeline.from_pretrained("Lightricks/LTX-2.3", torch_dtype=torch.bfloat16)
12
+ pipe.to("cuda")
13
+ return pipe
14
+
15
+ # --- QUESTI SONO I DECORATORI FONDAMENTALI PER ZEROGPU ---
16
+ @spaces.GPU(duration=120)
17
+ def generate_t2v(prompt, num_frames=49, resolution=512, steps=20):
18
+ model = load_model()
19
+ video = model(prompt=prompt, num_frames=num_frames, height=resolution, width=resolution, num_inference_steps=steps).frames[0]
20
+ return video
21
+
22
+ @spaces.GPU(duration=120)
23
+ def generate_i2v(image, prompt, num_frames=49, resolution=512, steps=20):
24
+ model = load_model()
25
+ video = model(image=image, prompt=prompt, num_frames=num_frames, height=resolution, width=resolution, num_inference_steps=steps).frames[0]
26
+ return video
27
+
28
+ @spaces.GPU(duration=120)
29
+ def generate_style(image_style, prompt):
30
+ model = load_model()
31
+ # logica style del suo Space originale
32
+ return model(prompt=prompt, style_image=image_style).frames[0]
33
+
34
+ # UI - identica all'originale ma ottimizzata
35
+ with gr.Blocks(title="LTX 2.3 Studio - ZeroGPU Edition") as app:
36
+ gr.Markdown("# LTX 2.3 Studio - TUA VERSIONE ZEROGPU (Free)")
37
+ with gr.Tab("Text to Video"):
38
+ p = gr.Textbox(label="Prompt")
39
+ out = gr.Video(label="Output")
40
+ btn = gr.Button("Genera (attesa 1-3 min se coda piena)")
41
+ btn.click(generate_t2v, inputs=[p], outputs=[out])
42
+
43
+ with gr.Tab("Image to Video"):
44
+ img = gr.Image(type="pil", label="Immagine")
45
+ p2 = gr.Textbox(label="Prompt")
46
+ out2 = gr.Video(label="Output")
47
+ btn2 = gr.Button("Genera")
48
+ btn2.click(generate_i2v, inputs=[img, p2], outputs=)
49
+
50
+ app.launch()