Maximofn commited on
Commit
39c490f
·
1 Parent(s): 4aca034

Add advanced video generation parameters to Gradio interface

Browse files
Files changed (1) hide show
  1. app.py +49 -6
app.py CHANGED
@@ -14,7 +14,7 @@ TRANSFORMER_MODELS = [
14
  ]
15
 
16
  @spaces.GPU
17
- def generate_video(transformer_model, prompt, negative_prompt):
18
  # Cargar el modelo del transformer seleccionado
19
  transformer = CogVideoXTransformer3DModel.from_pretrained(
20
  transformer_model,
@@ -32,10 +32,10 @@ def generate_video(transformer_model, prompt, negative_prompt):
32
  video_frames = pipeline(
33
  prompt=prompt,
34
  negative_prompt=negative_prompt,
35
- num_frames=81,
36
- height=512,
37
- width=768,
38
- num_inference_steps=50
39
  ).frames[0]
40
 
41
  # Guardar el video en un archivo temporal
@@ -65,6 +65,41 @@ with gr.Blocks() as demo:
65
  label="Prompt Negativo",
66
  value="inconsistent motion, blurry motion, worse quality, degenerate outputs, deformed outputs"
67
  )
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
68
  generate_btn = gr.Button("Generar Video")
69
 
70
  with gr.Column():
@@ -74,7 +109,15 @@ with gr.Blocks() as demo:
74
  # Conectar la función
75
  generate_btn.click(
76
  fn=generate_video,
77
- inputs=[model_dropdown, prompt_input, negative_prompt_input],
 
 
 
 
 
 
 
 
78
  outputs=video_output
79
  )
80
 
 
14
  ]
15
 
16
  @spaces.GPU
17
+ def generate_video(transformer_model, prompt, negative_prompt, num_frames, height, width, num_inference_steps):
18
  # Cargar el modelo del transformer seleccionado
19
  transformer = CogVideoXTransformer3DModel.from_pretrained(
20
  transformer_model,
 
32
  video_frames = pipeline(
33
  prompt=prompt,
34
  negative_prompt=negative_prompt,
35
+ num_frames=num_frames,
36
+ height=height,
37
+ width=width,
38
+ num_inference_steps=num_inference_steps
39
  ).frames[0]
40
 
41
  # Guardar el video en un archivo temporal
 
65
  label="Prompt Negativo",
66
  value="inconsistent motion, blurry motion, worse quality, degenerate outputs, deformed outputs"
67
  )
68
+
69
+ with gr.Accordion("Parámetros Avanzados", open=False):
70
+ num_frames = gr.Slider(
71
+ minimum=8,
72
+ maximum=128,
73
+ value=8,
74
+ step=1,
75
+ label="Número de Frames",
76
+ info="Cantidad de frames en el video"
77
+ )
78
+ height = gr.Slider(
79
+ minimum=32,
80
+ maximum=1024,
81
+ value=32,
82
+ step=64,
83
+ label="Altura",
84
+ info="Altura del video en píxeles"
85
+ )
86
+ width = gr.Slider(
87
+ minimum=32,
88
+ maximum=1024,
89
+ value=32,
90
+ step=64,
91
+ label="Anchura",
92
+ info="Anchura del video en píxeles"
93
+ )
94
+ num_inference_steps = gr.Slider(
95
+ minimum=10,
96
+ maximum=100,
97
+ value=10,
98
+ step=1,
99
+ label="Pasos de Inferencia",
100
+ info="Mayor número = mejor calidad pero más lento"
101
+ )
102
+
103
  generate_btn = gr.Button("Generar Video")
104
 
105
  with gr.Column():
 
109
  # Conectar la función
110
  generate_btn.click(
111
  fn=generate_video,
112
+ inputs=[
113
+ model_dropdown,
114
+ prompt_input,
115
+ negative_prompt_input,
116
+ num_frames,
117
+ height,
118
+ width,
119
+ num_inference_steps
120
+ ],
121
  outputs=video_output
122
  )
123