Teste3 / app.py
AlexandreScriptsMT's picture
Update app.py
1c02b32 verified
raw
history blame
1.13 kB
import gradio as gr
import os
import uuid
import shutil
# Pasta de saída
OUTPUT_DIR = "outputs"
os.makedirs(OUTPUT_DIR, exist_ok=True)
def process_video(video_file):
"""
Função chamada tanto pela UI quanto pela API.
Recebe um arquivo e devolve um arquivo processado.
"""
if video_file is None:
raise ValueError("Nenhum arquivo enviado")
# Nome único para evitar conflito
file_id = str(uuid.uuid4())
input_path = video_file
output_path = os.path.join(OUTPUT_DIR, f"{file_id}_output.webm")
# ⚠️ AQUI entra sua lógica real
# Por enquanto, apenas copiamos o arquivo
shutil.copy(input_path, output_path)
# Retornar caminho do arquivo = link de download
return output_path
# 🔥 INTERFACE COM API EXPLÍCITA
iface = gr.Interface(
fn=process_video,
inputs=gr.File(label="Upload do vídeo"),
outputs=gr.File(label="Download do resultado"),
title="Conversor de Vídeo",
description="Envie um vídeo e receba o arquivo processado.",
api_name="predict" # 👈 ISSO É O MAIS IMPORTANTE
)
if __name__ == "__main__":
iface.launch()