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()