AItool's picture
Update app.py
1245c6a verified
raw
history blame
1.47 kB
import gradio as gr
from pathlib import Path
import subprocess
from inference_img import *
OUTPUT_GIF = Path("demo/output.gif")
def generate_demo_gif(img1, img2):
# Save uploaded images
frame1_path = Path("demo/frame1.jpg")
frame2_path = Path("demo/frame2.jpg")
img1.save(frame1_path)
img2.save(frame2_path)
try:
result = subprocess.run([
"python", "inference_img.py",
"--img", str(frame1_path), str(frame2_path),
"--exp=4",
"--model='train_log/",
], capture_output=True, text=True)
print("STDOUT:", result.stdout)
print("STDERR:", result.stderr)
if result.returncode == 0 and OUTPUT_GIF.exists():
return OUTPUT_GIF
else:
return "GIF generation failed."
except Exception as e:
print(f"Error: {e}")
return "No subprocss. Error during GIF generation."
with gr.Blocks() as demo_ui:
with gr.Tab("Demo"):
gr.Markdown("### Upload two frames to generate a GIF")
with gr.Row():
img1_input = gr.Image(type="pil", label="Frame 1")
img2_input = gr.Image(type="pil", label="Frame 2")
generate_btn = gr.Button("Generate GIF")
output_gif = gr.Image(label="Generated GIF")
generate_btn.click(
fn=generate_demo_gif,
inputs=[img1_input, img2_input],
outputs=output_gif
)
demo_ui.launch()