File size: 2,090 Bytes
230579d
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
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 a Amazing Youtube video summarizer, Your objective is to take the provided transcript text
and summerize the entire video transcript into to consise and meaningful summary in points within 250 points, The summary should cover all the
important points.
The transcript text is :
"""

## Getting the transcript data from the videos
def extract_transcript_details(youtube_video_url):
    try:
        video_id = youtube_video_url.split("=")[1]
        transcript_text = YouTubeTranscriptApi.get_transcript(video_id=video_id)
        
        transcript = ""
        for i in transcript_text:
            transcript += " "+i["text"]
        return transcript
    
    except Exception as e:
        raise e

## getting the esummary 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


## Streamlit APP

st.set_page_config(page_title="ATS Resume Expert")
st.header("Youtube Video Transcriber")
st.title("Youtube Transcript to detailed notes converter")

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("Get Youtube Video Original Transcript"):
    original_transcript = extract_transcript_details(youtube_link)
    st.subheader('The Original Transcript is ')
    st.write(original_transcript)
    
if st.button("Get Detailed Summary of the Video"):
    transcript_text = extract_transcript_details(youtube_link)
    
    if transcript_text:
        summary = generate_gemini_content(transcript_text,prompt)
        st.markdown("## Detailed Notes:")
        st.write(summary)