fffiloni's picture
Update app.py
bbe7bfb verified
raw
history blame
1.55 kB
import gradio as gr
import subprocess
import os
def process_video(video_path, prompt):
output_folder="noise_warp_output_folder"
output_video="output.mp4"
device="cuda"
num_steps=5
try:
# Step 1: Warp the noise
warp_command = [
"python", "make_warped_noise.py", video_path,
"--output_folder", output_folder
]
subprocess.run(warp_command, check=True)
# Step 2: Run inference
inference_command = [
"python", "cut_and_drag_inference.py", output_folder,
"--prompt", prompt,
"--output_mp4_path", output_video,
"--device", device,
"--num_inference_steps", str(num_steps)
]
subprocess.run(inference_command, check=True)
# Return the path to the output video
return output_video
except subprocess.CalledProcessError as e:
raise gr.Error(f"An error occurred: {str(e)}")
with gr.Blocks() as demo:
with gr.Column():
gr.Markdown("# Go-With-The-Flow")
with gr.Row():
with gr.Column():
input_video = gr.Video(label="Input Video")
prompt = gr.Textbox(label="Prompt")
submit_btn = gr.Button("Submit")
with gr.Column():
output_video = gr.Video(label="Result")
submit_btn.click(
fn = process_video,
inputs = [input_video, prompt],
outputs = [output_video]
)
demo.queue().launch(show_api=False)