MEMO / app.py
fffiloni's picture
Update app.py
64d8365 verified
raw
history blame
1.41 kB
import gradio as gr
import os
import subprocess
import tempfile
from glob import glob
def run_inference(image_input, audio_input):
# Create a temporary folder for downloaded and processed images
temp_dir = tempfile.mkdtemp()
try:
# Run the inference command
subprocess.run(
[
"python", "inference.py",
"--config", "configs/inference.yaml",
"--input_image", image_input,
"--input_audio", audio_input,
"--output_dir", temp_dir,
],
check=True
)
# Collect the output images
output_video = glob(os.path.join(temp_dir, "*.mp4"))
return output_video[0]
except subprocess.CalledProcessError as e:
raise gr.Error(f"Error during inference: {str(e)}")
with gr.Blocks() as demo:
with gr.Column():
gr.Markdown("# MEMO")
with gr.Row():
with gr.Column():
image_input = gr.Image(label="Image Input", type="filepath")
audio_input = gr.Audio(label="Audio Input", type="filepath")
submit_btn = gr.Button("Submit")
with gr.Column():
output_result = gr.Video(label="Result")
submit_btn.click(
fn =run_inference,
inputs =[image_input, audio_input],
outputs = [output_result]
)
demo.queue().launch()