import gradio as gr import whisper import os model = whisper.load_model("tiny") # main processing def main(URL): video_path = youtube_dl(URL) text = transcript(video_path) return text # Transcribe text using Whisper def transcript(video_path): result = model.transcribe(video_path) return result["text"] # Download the video def youtube_dl(URL): # Download the video os.system(f"yt-dlp -f best -v {URL} -o target.mp4") # Path of downloaded video video_path = os.path.join(os.path.dirname(__file__), "target.mp4") return video_path demo = gr.Interface(fn = main, inputs = "text", outputs = "text") if __name__ == "__main__": demo.launch()