YT-Summarizer / yt_summarizer.py
Mr-Vicky-01's picture
Upload 2 files
d1bbbeb verified
raw
history blame
No virus
1.49 kB
from youtube_transcript_api import YouTubeTranscriptApi
import google.generativeai as genai
import os
import streamlit as st
from dotenv import load_dotenv
load_dotenv()
genai.configure(api_key=os.getenv("GOOGLE_API_KEY"))
model = genai.GenerativeModel("gemini-pro")
prompt="""You are Yotube video summarizer. You will be taking the transcript text
and summarizing the entire video and providing the important summary in points
within 250 words. Please provide the summary of the text given here: """
def predict_result(transcript_text):
result = model.generate_content(prompt + transcript_text)
return result.text
def extract_transcript_details(youtube_video_url):
try:
video_id=youtube_video_url.split("=")[1]
transcript_text=YouTubeTranscriptApi.get_transcript(video_id)
transcript = ""
for i in transcript_text:
transcript += " " + i["text"]
return transcript
except Exception as e:
raise e
st.title("Youtube Video Transcript Summarizer")
video_url = st.text_input("Enter Youtube Video Link: ")
if video_url:
video_id = video_url.split("=")[1]
st.image(f"http://img.youtube.com/vi/{video_id}/0.jpg", use_column_width=True)
if st.button("Get Video Notes"):
transcript_text = extract_transcript_details(video_url)
if transcript_text:
summary = predict_result(transcript_text=transcript_text)
st.markdown("## Video Notes:")
st.write(summary)