import gradio as gr from transformers import pipeline import tempfile import os # with open("../../token.txt", "r") as file: # token = file.readline().strip() # # # login(token=token, add_to_git_credential=True) pipe = pipeline(model="dacavi/whisper-small-es") def transcribe_video(video_url): # Download video and extract audio with tempfile.NamedTemporaryFile(suffix=".wav", delete=True) as temp_audio: # os.system(f"yt-dlp -o {temp_audio.name} -x --audio-format wav {video_url}") os.system(f"yt-dlp -o audioSample.wav -x --audio-format wav {video_url}") print("Downloaded audio:", temp_audio.name) # Transcribe audio text = pipe("audioSample.wav")["text"] # Clean up temporary files os.remove("audioSample.wav") return text iface = gr.Interface( fn=transcribe_video, inputs="text", outputs="text", live=True, title="Video Transcription", description="Paste the URL of a video to transcribe the spoken content.", ) iface.launch()