Spaces:
Runtime error
Runtime error
Update app.py
Browse files
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 |
-
#
|
| 125 |
-
|
| 126 |
-
|
| 127 |
-
|
| 128 |
-
|
| 129 |
-
|
| 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()
|