AlexandreScriptsMT commited on
Commit
52618fe
·
verified ·
1 Parent(s): aba3c6d

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +20 -8
app.py CHANGED
@@ -37,7 +37,7 @@ def base64_to_image(image_base64, output_path):
37
  return False
38
 
39
  def generate_video(project_json):
40
- print("--- INICIANDO RENDERIZAÇÃO (V2) ---")
41
 
42
  # Criar pasta temporária para processamento
43
  temp_dir_obj = tempfile.TemporaryDirectory()
@@ -121,13 +121,25 @@ def generate_video(project_json):
121
  print(error_msg)
122
  raise gr.Error(error_msg)
123
 
124
- # Interface Gradio
125
- demo = gr.Interface(
126
- fn=generate_video,
127
- inputs=gr.JSON(label="JSON do Projeto"),
128
- outputs=gr.Video(label="Vídeo Final"),
129
- title="Renderizador AI V2 (Gradio 5 + MoviePy 2)"
130
- )
 
 
 
 
 
 
 
 
 
 
 
 
131
 
132
  if __name__ == "__main__":
133
  demo.launch()
 
37
  return False
38
 
39
  def generate_video(project_json):
40
+ print("--- INICIANDO RENDERIZAÇÃO (V2 - BLOCKS) ---")
41
 
42
  # Criar pasta temporária para processamento
43
  temp_dir_obj = tempfile.TemporaryDirectory()
 
121
  print(error_msg)
122
  raise gr.Error(error_msg)
123
 
124
+ # --- AQUI ESTA A MUDANÇA ---
125
+ # Usamos Blocks para ter controle total sobre o nome da API
126
+ with gr.Blocks(title="Renderizador AI V2") as demo:
127
+ gr.Markdown("# Renderizador AI Backend")
128
+
129
+ with gr.Row():
130
+ input_component = gr.JSON(label="JSON do Projeto")
131
+ output_component = gr.Video(label="Vídeo Final")
132
+
133
+ btn = gr.Button("Renderizar", variant="primary")
134
+
135
+ # O parametro api_name="predict" ABAIXO é o segredo.
136
+ # Ele obriga o Gradio a expor a rota /predict que seu App procura.
137
+ btn.click(
138
+ fn=generate_video,
139
+ inputs=input_component,
140
+ outputs=output_component,
141
+ api_name="predict"
142
+ )
143
 
144
  if __name__ == "__main__":
145
  demo.launch()