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 with Class Recommendations") # Function to recommend classes based on video-making experience def recommend_classes(video_experience): # Full class list from the Small Business Video Roadmap class_list = [ """ Course #1 Getting Started with Video Using The 6-Step BVS Process Class #1: Why Video Works and Outlining Your 12-Month Plan Class #2: 6 Simple Steps to Creating a Video (Part 1) Class #3: 6 Simple Steps to Creating a Video (Part 2) Course #2 Your First Video Strategy: Building Relationships with Video Messages Class #1: 5 Easy Video Message Strategies Class #2: How to Create and Send 1-to-1 Videos Tutorial: Using Vidyard to Send 1-to-1 Videos Tutorial: Using BombBomb to Send 1-to-1 Videos Tutorial: Using Dubb to Send 1-to-1 Videos Tutorial: Using Facebook Messenger to Send 1-to-1 Videos Tutorial: Using Instagram Messenger to Send 1-to-1 Videos Class #3: Establishing YOUR Video Messaging System… and Habit! Bonus Training: Which Video Messaging Tool Should You Use? Course #3 Scale Yourself with Video Class #1: Create FAQ Videos to Save Time (Part 1) Class #2: Create FAQ Videos to Save Time (Part 2) Class #3: Enhancing Your Videos with Canva Templates Class #4: Create Training Videos for Your Team Class #5: Communicate with Your SOI Database at Scale Class #6: Being Compelling on Camera Class #7: The Basics of Scripting Tutorial: Recording Video Footage with Jump Cuts in CapCut Tutorial: How to Use the CapCut Camera and Teleprompter Tutorial: Be Authentic and Compelling on Camera (Part 1) Tutorial: Be Authentic and Compelling on Camera (Part 2) Tutorial: How to Use the BIGVU Teleprompter App Tutorial: How to Use the PromptSmart Pro Teleprompter App Course #4 Video Editing 101 Class #1: Video Editing Tools and Terminology Class #2: Video Editing in Wondershare Filmora (Part 1) Class #3: Video Editing in Wondershare Filmora (Part 2) Class #4: Video Editing in Wondershare Filmora (Part 3) Class #5: Kapwing’s Best AI Tools Class #6: Video Editing in Kapwing (Part 1) Class #7: Video Editing in Kapwing (Part 2) Class #8: Video Editing in Kapwing (Part 3) Class #9: Video Editing in the VivaVideo Mobile App (Part 1) Class #10: Video Editing in the VivaVideo Mobile App (Part 2) Class #11: Video Editing in CapCut Mobile App (Part 1) Class #12: Video Editing in CapCut Mobile App (Part 2) Class #13: Video Editing in CapCut Mobile App (Part 3) Class #14: Video Editing in CapCut on a Computer (Part 1) Class #15: Video Editing in CapCut on a Computer (Part 2) Class #16: Video Editing in CapCut on a Computer (Part 3) Class #17: Simple Video Editing with Canva Templates Class #18: An Intro to Davinci Resolve Course #5 Improve Your Video Professionalism Class #1: Your Video Setup and Equipment Checklist Class #2: Video Lighting 101 Class #3: Video Audio 101 Class #4: Craft the Ultimate Brand Video - Part 1 Class #5: Craft the Ultimate Brand Video - Part 2 Class #6: Techniques for Captivating B-Roll Footage Class #7: Storytelling Through Video Course #6 Map Out Your Social Media Strategy Class #1: Defining Your Customer Avatar and Content Pillars Class #2: Video on Major Social Media Platforms Tutorial: Writing Social Media Video Descriptions and Increasing Engagement Tutorial: Strategies for Growing Your Social Media Following Class #3: Using Video on Facebook Tutorial: How to Post a Video on Facebook Class #4: Facebook Reels 101 Class #5: Making a Facebook Live Video Class #6: Using Video on Instagram Class #7: Instagram Reels 101 Tutorial: How to Post a Video on Instagram Class #8: 5 Simple Video Ideas for FB or IG Stories (with Jeff Pfitzer) Class #9: 3 Easy Video Formats for Instagram Reels Class #10: Using Video On YouTube Class #11: YouTube Shorts 101 Tutorial: How to Post a Video on YouTube Class #12: Using Video on TikTok Class #13: What's Working on TikTok Class #14: Using Video on LinkedIn Class #15: Using Video on LinkedIn Tutorial: How to Post a Video on LinkedIn Class #16: Understanding Your Video Analytics Class #17: Become the "Local Authority" through Social Media Videos (with Jeff Pfitzer) Class #18: Current Social Media Video Trends with Tristan Ahumada Class #19: Create an Edited Social Media Video in 60 Minutes! Class #20: Pillar Talk: How to Build Your Social Media Empire Class #21: 3 Video Tools You NEED to Use on Instagram (with Jeff Pfitzer) Class #22: Make Social Media Your #1 Prospecting Tool in 2024 (with Jeff Pfitzer) Course #7 Create Your 12-Month Video Content Calendar Class #1: Planning and Scripting Your Video Class #2: Maximizing Engagement with Your Videos Class #3: Planning More Complex Video Shoots Class #4: Creating Your Video Content Calendar Course #8 Develop YOUR Video Marketing Funnel Class #1: An Intro to Crafting YOUR Video Marketing Funnel Class #2: Dual Attraction - Awareness Videos & Lead Generation Strategies Class #3: Use Facebook Ads to Pull in Prospects (Part 1) Class #4: Use Facebook Ads to Pull in Prospects (Part 2) Class #5: Optimize Your Lower Funnel (Part 1) - Consideration & Conversion Videos Class #6: Optimize Your Lower Funnel (Part 2) - Precision Facebook Ad Retargeting Class #7: Email Enchantment - Nurture Leads with Video Email Newsletters Class #8: Loyalty & Advocacy - Building Lasting Connections Class #9: Convert More Leads Using Facebook Ads Course #9 Implementing a YouTube Video Strategy Class #1: Introduction to YouTube Class #2: Optimizing Your YouTube Channel Class #3: Enhancing Your YouTube Videos Class #4: Design an Eye-Catching YouTube Thumbnail Class #5: Promoting Your YouTube Channel Class #6: Creating Your First YouTube Video Ad Class #7: 3 Easy YouTube Shorts Ideas Class #8: 6 Long-Form YouTube Videos You Should Make Bonus Training: Researching Tactics for Long Form Videos - with Tristan Ahumada Course #10 Creating Consistent Branding in Your Videos Class #1: Branding 101 Class #2: Branding Choices When Filming Class #3: Branding Choices When Editing Course #11 Using AI & Video to Generate Leads Class #1: Using AI & Video to Generate Leads - Overview and Demo Class #2: Using AI & Video to Generate Leads - Developing the Code and Uploading to Huggingface Class #3: Using AI & Video to Generate Leads - Testing and Deploying the AI Tool Class #4: Using AI & Video to Generate Leads - Marketing the AI Tool and Converting Leads Real Estate Case Studies BVS Member Video Success Stories - Sheila, Francis and Daphne Viral Video Case Study with Bob Tompkins Listing Video Case Study with Brad McCallum Video Case Study with Lana Rodriguez Video Case Study with Valerie Van de Zilver How to Farm a Neighborhood Using Video (with Ryan Smith) YouTube Video Case Study with Ken Pozek YouTube Video Case Study with Malcolm Lawson (Part 1) YouTube Video Case Study with Malcolm Lawson (Part 2) What to Say About the NAR Case in Your Videos Short Tutorials: Making Video a Priority for Your Business Why Video? Why Now? How to Create a Video Habit A Time Management Strategy For Real Estate Agents: Full Tutorial Short Tutorials: Creating Better Videos with a Smartphone You Don't Need an Expensive Camera... Here's Why! 4 Phone Camera Lighting Hacks Why You May Need to Adjust Your iPhone's HDR Setting Trim the Beginning and End of a Video on Your Phone Creating Stable Footage with a Phone and... Cup?! Record Your Screen on an iPhone How to Use Green Screen with PowerDirector Video Composition 101 Short Tutorials: Transferring, Storing and Organizing Video Files Transferring Files: Using WeTransfer or Google Drive Transferring Files: iPhone to Mac (AirDrop) Transferring Files: Using the Simple Transfer app (iPhone to any computer) Storing and Organizing Your Video Files Short Tutorials: Using BombBomb to Create and Send Videos BombBomb 1-to-1 Video Ideas for Your SOI/Database Create a Killer Hook for Your BombBomb Videos Adding Your SOI Database to BombBomb 4 Ways to Record and Send a Video with BombBomb Using the BombBomb Google Chrome Extension How to Use the BombBomb App (Email and Text Videos) Sending a Social Media Video Through Email Close Leads Fast with BombBomb Email Automations Use BombBomb Email Templates to Design Professional Emails How To Re-create The BombBomb Experience For Free How to Use BombBomb (Longer Training) - 1 hour training Short Tutorials: Creating Home Tour Videos How to Film a Home Tour Video with A Phone How to Edit Your Home Tour Video on a Phone 5 Tips for Home Tour or Virtual Open House Videos How to Get Smooth Home Tour Shots The Push-In Shot for Home Tour Videos Filming Great Window Shots Create Compelling Short Listing Videos (with Jeff Pfitzer) - 1 hour training Miscellaneous Trainings: Social Media Video Tips Short Tutorial: Instagram Hashtags 101 Using the Facebook Premiere Posts Feature Short Tutorial: Intro to TikTok How to Start Creating Videos on TikTok How to Add Music on TikTok How to Add Text to Your TikTok Videos Using the Timer Feature on TikTok Using the Green Screen Feature on TikTok Using the Voiceover Feature on TikTok Instagram Stories 101 Improving Your LinkedIn Profile with Video Your First 3 TikTok Videos As A Real Estate Agent Short Tutorial: Sharing from FB Biz Page to Personal Account Use Facebook Messenger to Send a 1-to-1 Video Message Miscellaneous Trainings: Enhancing Your Videos with Effects & Equipment Use Screen Recording to Create a Tutorial Video - 1 hour training How to Use Green Screen - 1 hour training Video Lighting Demonstration - 30 minutes training How to Use the DJI OM 4 (Phone Gimbal) - 1 hour training Add Subtitles to Your Video (for Free with Kapwing) Finding Free Images, Music and Graphics for Your Videos (Part 1) - 1 hour training Finding Free Images, Music and Graphics for Your Videos (Part 2) - 1 hour training A Simple Video Studio for Real Estate Agents in 2022 Training: Intro to Professional Cameras (Part 1) - 30 minutes training Training: Intro to Professional Cameras (Part 2) - 30 minutes training Miscellaneous Trainings: Useful Video Software and Apps Short Tutorial: Using The Capcut Camera Tool To Record Engaging Video Using Zoom and Its Advanced Features (Part 1) - 1 hour training Using Zoom and Its Advanced Features (Part 2) - no video Using Zoom and Its Advanced Features (Part 3) - no video Creating a Virtual Background for Zoom (Canva Tutorial) - no video Find Free Music for Your Videos with Uppbeat Uploading Zoom Virtual Backgrounds How to Use Zoom Studio Effects The Basics of Using BIGVU (Teleprompter App) How to Use the BIGVU Teleprompter App (Longer Training) - 1 hour training How to Use the "Teleprompter for Video" App How to Edit Videos in iMovie Introducing Canva's New Video Tools - 1 hour training Vidyard: FREE Tool for Sending Video Emails and Texts - 1 hour training Going Live with StreamYard - 1 hour training Using QR Codes with Video in your Marketing Campaigns! - 1 hour training Use "mmhmm" to Create Stunning Video Presentations and Recordings - 1 hour training Training: Run a Killer Livestream Using StreamYard - 1 hour training Miscellaneous Trainings: Creative Video Strategies - 1 hour trainings Using Video in Google Maps Repurposing Videos for Different Platforms (Part 1) Repurposing Videos for Different Platforms (Part 2) How To Convert More Real Estate Leads With Video - short tutorial Outlining an Easy Video Email Strategy (Part 1) Outlining an Easy Video Email Strategy (Part 2) Turn Raw Footage into Juicy Short Videos (with Jeff Pfitzer) Write Real Estate Video Scripts with AI AI-Enhanced Video Scripts: Become a Local Real Estate News Pro Create a Client Testimonial Video Use ChatGPT's Web Browsing Tool to Write Video Scripts Make a Seller Lead Gen Video Training: 3 Tools for Creating Slide-Based Presentation Videos Training: 3 Live Stream Strategies That Gather Seller Leads Market Update Videos: 2 New Styles to Try (with Jerry Weaver) Miscellaneous Trainings: Working with a Videographer 5 Places to Find a Reliable Videographer Two Important Release Forms for On-Site Video Shoots How to Find a Videographer That Fits Your Style (Part 1) - 1 hour training How to Find a Videographer That Fits Your Style (Part 2) - 1 hour training How to Find Reliable Video Editors - 1 hour training Miscellaneous Trainings: Holiday-Related Videos Finding Assets for Your Holiday-Themed Video 4 Easy Video Ideas for Thanksgiving Holiday Script Writing Workshop - 1 hour training How to Create a Halloween Video - 1 hour training Misc Trainings: Video Recipe Workshops - 1 hour trainings Video Recipe Workshop: I Have a List of Homes Under $$$ Video Recipe Workshop: 6 Tips for Getting Your Home Ready for the Fall Video Recipe Workshop: Things to Consider When Moving with a Pet Video Recipe Workshop: Thanksgiving Giveaway Video Video Recipe Workshop: Current Kitchen Style Trends Video Recipe Workshop: Weird Tax Laws (Canva Tutorial) Video Recipe Workshop: How Interest Rates Affect Buying Power Video Recipe Workshop: Home Seller Lead Follow Up Video Recipe Workshop: 4 Easy Staging Tips to Increase Your Listing Price Misc Trainings: Premium Workshop Recordings Outlining YOUR First 4 TikTok Videos The Virtual Open House and Showing BLUEPRINT Attract Listings From Your SOI with These Video Messages Create a Polished RE Marketing Video in Under 60 Minutes (Session 1) Create a Polished RE Marketing Video in Under 60 Minutes (Session 2) Use Canva to Create Stunning Real Estate Videos 3 Short Videos That Sell Homes While Attracting New Customers (Part 1) 3 Short Videos That Sell Homes While Attracting New Customers (Part 2) Develop Your Video Lead Conversion Automation (Part 1) Develop Your Video Lead Conversion Automation (Part 2) Develop Your 2023 Real Estate Marketing Plan (Part 1) Develop Your 2023 Real Estate Marketing Plan (Part 2) Implement Tristan's SOI Video Touch System (Part 1) Implement Tristan's SOI Video Touch System (Part 2) """ # Add your full class list here ] if video_experience < 3: # Recommend earlier classes for beginners return class_list[:3] # Adjust indices as needed else: # Recommend more advanced classes for experienced users return class_list[-3:] # Adjust indices as needed # 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.") st.subheader("Your Video Making Experience") video_experience = st.number_input("How many videos have you made in the past month?", min_value=0, max_value=100, step=1) if st.button('Generate My Video Marketing Plan and Class Recommendations'): # Construct the prompt for text generation prompt_text = ( f"Generate a 2024 video marketing plan for a {business_type} targeting an audience characterized as: {target_audience}. " f"Include up to four video ideas for each month and 10 specific distribution strategies to maximize video views, " f"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) # Recommend classes based on video-making experience class_recommendations = recommend_classes(video_experience) st.markdown("### Recommended Classes from Small Business Video Roadmap") st.write(", ".join(class_recommendations)) # Copy to clipboard button if marketing_plan: full_text = marketing_plan + "\n\nRecommended Classes: " + ", ".join(class_recommendations) st.text_area("Copy and paste the plan and recommendations:", full_text, height=300, key="text_area") st.button("Copy to Clipboard", key="copy-button") # No additional code needed beyond this point for your application