import gradio as gr from tool import YouTubeTranscriptExtractor, TranscriptSummarizer youtube_tool = YouTubeTranscriptExtractor() summarizer_tool = TranscriptSummarizer() def process_youtube_video(video_url): transcript = youtube_tool.forward(video_url=video_url) summary_and_blog = summarizer_tool.forward(transcript=transcript) try: summary, image_url = summary_and_blog.split("\n\nImage URL: ") except ValueError: summary = summary_and_blog image_url = None return transcript, summary, image_url iface = gr.Interface( fn=process_youtube_video, inputs="text", outputs=[ gr.Textbox(label="Transcript"), gr.Textbox(label="Summary and Blog Content"), gr.Image(label="Generated Image", image_mode="RGBA") ], title="YouTube Transcript Summarizer and Blog Content Generator", description="Enter a YouTube video URL to extract the transcript, summarize it, and generate blog content with an image." ) iface.launch()