transcript / app.py
foovi's picture
Update app.py
6832e39 verified
Raw
History Blame Contribute Delete
1.67 kB
import streamlit as st
from dotenv import load_dotenv
load_dotenv()
import os
import google.generativeai as genai
from youtube_transcript_api import YouTubeTranscriptApi
genai.configure(api_key=os.getenv("GOOGLE_API_KEY"))
prompt = """You are Youtube video summarizer. You will be taking the transcript text
and summarizing the entire video and providing the important summary in points
within 500 words. Please provide the summary of the text given here: """
## getting the transcript data from yt videos
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
## getting the summary based on Prompt from Google Gemini Pro
def generate_gemini_content(transcript_text, prompt):
model = genai.GenerativeModel("gemini-pro")
response = model.generate_content(prompt + transcript_text)
return response.text
st.title("Video/Meeting transcript summarizer")
youtube_link = st.text_input("Enter Youtube video link:")
if youtube_link:
video_id = youtube_link.split("=")[1]
print(video_id)
st.image(f"http://img.youtube.com/vi/{video_id}/0.jpg", use_column_width=True)
if st.button("Give me the gist of the video"):
transcript_text = extract_transcript_details(youtube_link)
if transcript_text:
summary = generate_gemini_content(transcript_text, prompt)
st.markdown("## Get gist of video:")
st.write(summary)