Spaces:
Running
Running
import gradio as gr | |
from youtube_transcript_api import YouTubeTranscriptApi | |
from youtube_transcript_api.proxies import WebshareProxyConfig | |
# Initialize the YouTubeTranscriptApi with proxy configuration | |
ytt_api = YouTubeTranscriptApi( | |
proxy_config=WebshareProxyConfig( | |
proxy_username="tlaukrdr", # Replace with your proxy username | |
proxy_password="mc1aumn9xbhb" # Replace with your proxy password | |
) | |
) | |
# Function to fetch YouTube transcript using the video ID | |
def fetch_transcript(video_id: str): | |
try: | |
# Fetch transcript | |
transcript = ytt_api.fetch(video_id) | |
# Format the transcript into a readable text | |
transcript_text = "\n".join([entry['text'] for entry in transcript]) | |
return transcript_text | |
except Exception as e: | |
return f"Error fetching transcript: {str(e)}" | |
# Gradio Interface | |
iface = gr.Interface( | |
fn=fetch_transcript, | |
inputs=gr.Textbox(label="Enter YouTube Video ID"), | |
outputs=gr.Textbox(label="Transcript"), | |
live=True | |
) | |
# Launch the Gradio app | |
iface.launch() | |