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