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)