Smart-Apps / pages /All-in-One Script Writing Tool.py
palitrajarshi's picture
Update pages/All-in-One Script Writing Tool.py
3ed837b
raw
history blame
2.38 kB
import streamlit as st
from utils2 import generate_script
import langchain
langchain.verbose = False
# Applying Styling
st.markdown("""
<style>
div.stButton > button:first-child {
background-color: #0099ff;
color:#ffffff;
}
div.stButton > button:hover {
background-color: #00ff00;
color:#FFFFFF;
}
</style>""", unsafe_allow_html=True)
# Creating Session State Variable
if 'API_Key' not in st.session_state:
st.session_state['API_Key'] =''
st.title('✍️ All-in-One Script Writing Tool')
st.subheader("Be it for YouTube Video, Podcast, Reel or Webinar πŸŽ™οΈπŸŽ₯")
# Sidebar to capture the OpenAi API key
st.sidebar.title("πŸ˜ŽπŸ—οΈ")
st.session_state['API_Key']= st.sidebar.text_input("What's your API key?",type="password")
st.sidebar.image('./video2.png',width=300, use_column_width=True)
# Captures User Inputs
prompt = st.text_input('Please provide the topic of the video',key="prompt") # The box for the text prompt
#video_length = st.text_input('Expected Video Length πŸ•’ (in minutes)',key="video_length") # The box for the text prompt
video_length = st.number_input('Expected Video Length πŸ•’ (in minutes)',key="video_length") # The box for the text prompt
creativity = st.slider('Creativity Meter ✨ - (0 LOW || 1 HIGH)', 0.0, 1.0, 0.2,step=0.1)
tasktype = st.radio(
'What do you need the Script for?',
('Podcasts', 'YouTube', 'Webinar', 'Reels'),key="task")
submit = st.button("Generate Script for me")
if submit:
with st.spinner('Wait for it...'):
if st.session_state['API_Key']:
search_result,title,script = generate_script(prompt,video_length,creativity,tasktype,st.session_state['API_Key'])
#Let's generate the script
st.success('Hope you like this script ❀️')
#Introducing a line separator
st.write(":heavy_minus_sign:" * 30)
#Display Title
st.subheader("Title:πŸ”₯")
st.write(title)
#Display Video Script
st.subheader("Your Script:πŸ“")
st.write(script)
#Display Search Engine Result
st.subheader("Check Out - DuckDuckGo Search:πŸ”")
with st.expander('Show me πŸ‘€'):
st.info(search_result)
else:
st.error("Ooopssss!!! Please provide API key.....")