bizvideoschool's picture
Update app.py
0da1695
raw
history blame
3.09 kB
import streamlit as st
import openai
# Access the OpenAI API key from Hugging Face Spaces secrets
openai.api_key = st.secrets["OPENAI_API_KEY"]
st.title("2024 Video Marketing Plan Generator")
# User inputs for the marketing plan
st.subheader("Define Your Business and Audience")
business_type = st.text_input("Your Business Type", placeholder="e.g., Cafe, Yoga Studio")
target_audience = st.text_area("Describe Your Target Audience", placeholder="e.g., demographics, interests")
st.subheader("Current Marketing Efforts")
current_marketing = st.text_area("Current Marketing Strategies", placeholder="Describe your ongoing marketing activities.")
# Test data button
if st.button('Load Test Data'):
st.session_state['business_type'] = "Real Estate Agency"
st.session_state['target_audience'] = "Families and individuals looking to buy homes in suburban areas, focusing on first-time homebuyers and those seeking to upgrade to larger properties."
st.session_state['current_marketing'] = "Monthly newsletter, weekly social media posts on property listings and home buying tips, participation in local community events, and occasional paid ads on local online forums."
# Use session state for input fields
business_type = st.text_input("Your Business Type", value=st.session_state.get('business_type', ''), placeholder="e.g., Cafe, Yoga Studio")
target_audience = st.text_area("Describe Your Target Audience", value=st.session_state.get('target_audience', ''), placeholder="e.g., demographics, interests")
current_marketing = st.text_area("Current Marketing Strategies", value=st.session_state.get('current_marketing', ''), placeholder="What are your ongoing marketing activities?")
if st.button('Generate My Video Marketing Plan'):
# Construct the prompt for text generation
prompt_text = (
f"Create a detailed 2024 video marketing plan for a real estate agency, {business_type}, targeting {target_audience}. "
f"Begin with 3-5 content pillars that will guide the video themes. "
f"Then, provide up to four distinct and creative video ideas for each month, tailored to these content pillars.
Your response must include ideas for all 12 months of the year. Do not simply summarize a recommendation for some of the remaining months. "
f"Include 10 specific distribution strategies to maximize video views, "
f"focusing on reaching the ideal audience, based on current marketing efforts: {current_marketing}."
)
# Call the OpenAI API for text generation
try:
response_text = openai.ChatCompletion.create(
model="gpt-4",
messages=[
{"role": "system", "content": "You are an AI specializing in marketing strategy."},
{"role": "user", "content": prompt_text}
]
)
marketing_plan = response_text.choices[0].message['content']
except Exception as e:
marketing_plan = f"Error in generating marketing plan: {e}"
# Display the marketing plan
st.markdown("### Your Customized Video Marketing Plan")
st.write(marketing_plan)