Spaces:
Running
Running
import gradio as gr | |
import os | |
# Function to execute the anime upscaler command | |
def execute_upscaler(input_video, output_path, save_intermediate, async_mode): | |
# Determine the path to the model file in the same directory | |
script_directory = os.path.dirname(os.path.realpath(__file__)) | |
model_path = os.path.join(script_directory, "RealESRGAN_x4plus_anime_6B.pth") | |
# Build the command | |
command = [ | |
"python3", | |
"anime_upscaler.py", | |
"-m", model_path, | |
"-i", input_video.name, | |
"-o", output_path | |
] | |
# Add optional flags | |
if save_intermediate: | |
command.append("-s") | |
if async_mode: | |
command.append("-a") | |
# Execute the command | |
import subprocess | |
result = subprocess.run(command, capture_output=True, text=True) | |
# Return the output of the command | |
return result.stdout | |
# Define the Gradio interface | |
iface = gr.Interface( | |
fn=execute_upscaler, | |
inputs=[ | |
gr.File("input_video", label="Input Video"), | |
gr.File("output_path", label="Output Path"), | |
gr.Checkbox("Save Intermediate", default=False), | |
gr.Checkbox("Async Mode", default=False), | |
], | |
outputs="text", | |
live=True, | |
capture_session=True | |
) | |
# Launch the Gradio interface | |
iface.launch() | |