bizvideoschool
commited on
Commit
•
79d973a
1
Parent(s):
25c0c0b
Update app.py
Browse files
app.py
CHANGED
@@ -6,171 +6,6 @@ openai.api_key = st.secrets["OPENAI_API_KEY"]
|
|
6 |
|
7 |
st.title("2024 Video Content Calendar Generator")
|
8 |
|
9 |
-
# Function to recommend classes based on video-making experience
|
10 |
-
def recommend_classes(video_experience):
|
11 |
-
# Full class list from the Small Business Video Roadmap
|
12 |
-
class_list = [
|
13 |
-
"Getting Started with Video Using The 6-Step BVS Process",
|
14 |
-
"Class #1: Why Video Works and Outlining Your 12-Month Plan",
|
15 |
-
"Class #2: 6 Simple Steps to Creating a Video (Part 1)",
|
16 |
-
"Class #3: 6 Simple Steps to Creating a Video (Part 2)",
|
17 |
-
"Your First Video Strategy: Building Relationships with Video Messages",
|
18 |
-
"Class #1: 5 Easy Video Message Strategies",
|
19 |
-
"Class #2: How to Create and Send 1-to-1 Videos",
|
20 |
-
"Tutorial: Using Vidyard to Send 1-to-1 Videos",
|
21 |
-
"Tutorial: Using BombBomb to Send 1-to-1 Videos",
|
22 |
-
"Tutorial: Using Dubb to Send 1-to-1 Videos",
|
23 |
-
"Tutorial: Using Facebook Messenger to Send 1-to-1 Videos",
|
24 |
-
"Tutorial: Using Instagram Messenger to Send 1-to-1 Videos",
|
25 |
-
"Class #3: Establishing YOUR Video Messaging System… and Habit!",
|
26 |
-
"Bonus Training: Which Video Messaging Tool Should You Use?",
|
27 |
-
"Scale Yourself with Video",
|
28 |
-
"Class #1: Create FAQ Videos to Save Time (Part 1)",
|
29 |
-
"Class #2: Create FAQ Videos to Save Time (Part 2)",
|
30 |
-
"Class #3: Enhancing Your Videos with Canva Templates",
|
31 |
-
"Class #4: Create Training Videos for Your Team",
|
32 |
-
"Class #5: Communicate with Your SOI Database at Scale",
|
33 |
-
"Class #6: Being Compelling on Camera",
|
34 |
-
"Class #7: The Basics of Scripting",
|
35 |
-
"Tutorial: Recording Video Footage with Jump Cuts in CapCut",
|
36 |
-
"Tutorial: How to Use the CapCut Camera and Teleprompter",
|
37 |
-
"Tutorial: Be Authentic and Compelling on Camera (Part 1)",
|
38 |
-
"Tutorial: Be Authentic and Compelling on Camera (Part 2)",
|
39 |
-
"Tutorial: How to Use the BIGVU Teleprompter App",
|
40 |
-
"Tutorial: How to Use the PromptSmart Pro Teleprompter App",
|
41 |
-
"Video Editing 101",
|
42 |
-
"Class #1: Video Editing Tools and Terminology",
|
43 |
-
"Class #2: Video Editing in Wondershare Filmora (Part 1)",
|
44 |
-
"Class #3: Video Editing in Wondershare Filmora (Part 2)",
|
45 |
-
"Class #4: Video Editing in Wondershare Filmora (Part 3)",
|
46 |
-
"Class #5: Kapwing’s Best AI Tools",
|
47 |
-
"Class #6: Video Editing in Kapwing (Part 1)",
|
48 |
-
"Class #7: Video Editing in Kapwing (Part 2)",
|
49 |
-
"Class #8: Video Editing in Kapwing (Part 3)",
|
50 |
-
"Class #9: Video Editing in the VivaVideo Mobile App (Part 1)",
|
51 |
-
"Class #10: Video Editing in the VivaVideo Mobile App (Part 2)",
|
52 |
-
"Class #11: Video Editing in CapCut Mobile App (Part 1)",
|
53 |
-
"Class #12: Video Editing in CapCut Mobile App (Part 2)",
|
54 |
-
"Class #13: Video Editing in CapCut Mobile App (Part 3)",
|
55 |
-
"Class #14: Video Editing in CapCut on a Computer (Part 1)",
|
56 |
-
"Class #15: Video Editing in CapCut on a Computer (Part 2)",
|
57 |
-
"Class #16: Video Editing in CapCut on a Computer (Part 3)",
|
58 |
-
"Class #17: Simple Video Editing with Canva Templates",
|
59 |
-
"Class #18: An Intro to Davinci Resolve",
|
60 |
-
"Improve Your Video Professionalism",
|
61 |
-
"Class #1: Your Video Setup and Equipment Checklist",
|
62 |
-
"Class #2: Video Lighting 101",
|
63 |
-
"Class #3: Video Audio 101",
|
64 |
-
"Class #4: Craft the Ultimate Brand Video - Part 1",
|
65 |
-
"Class #5: Craft the Ultimate Brand Video - Part 2",
|
66 |
-
"Class #6: Techniques for Captivating B-Roll Footage",
|
67 |
-
"Class #7: Storytelling Through Video",
|
68 |
-
"Map Out Your Social Media Strategy",
|
69 |
-
"Class #1: Defining Your Customer Avatar and Content Pillars",
|
70 |
-
"Class #2: Video on Major Social Media Platforms",
|
71 |
-
"Tutorial: Writing Social Media Video Descriptions and Increasing Engagement",
|
72 |
-
"Tutorial: Strategies for Growing Your Social Media Following",
|
73 |
-
"Class #3: Using Video on Facebook",
|
74 |
-
"Tutorial: How to Post a Video on Facebook",
|
75 |
-
"Class #4: Facebook Reels 101",
|
76 |
-
"Class #5: Making a Facebook Live Video",
|
77 |
-
"Class #6: Using Video on Instagram",
|
78 |
-
"Class #7: Instagram Reels 101",
|
79 |
-
"Tutorial: How to Post a Video on Instagram",
|
80 |
-
"Class #8: 5 Simple Video Ideas for FB or IG Stories (with Jeff Pfitzer)",
|
81 |
-
"Class #9: 3 Easy Video Formats for Instagram Reels",
|
82 |
-
"Class #10: Using Video On YouTube",
|
83 |
-
"Class #11: YouTube Shorts 101",
|
84 |
-
"Tutorial: How to Post a Video on YouTube",
|
85 |
-
"Class #12: Using Video on TikTok",
|
86 |
-
"Class #13: What's Working on TikTok",
|
87 |
-
"Class #14: Using Video on LinkedIn",
|
88 |
-
"Class #15: Using Video on LinkedIn",
|
89 |
-
"Tutorial: How to Post a Video on LinkedIn",
|
90 |
-
"Class #16: Understanding Your Video Analytics",
|
91 |
-
"Class #17: Become the \"Local Authority\" through Social Media Videos (with Jeff Pfitzer)",
|
92 |
-
"Class #18: Current Social Media Video Trends with Tristan Ahumada",
|
93 |
-
"Class #19: Create an Edited Social Media Video in 60 Minutes!",
|
94 |
-
"Class #20: Pillar Talk: How to Build Your Social Media Empire",
|
95 |
-
"Class #21: 3 Video Tools You NEED to Use on Instagram (with Jeff Pfitzer)",
|
96 |
-
"Class #22: Make Social Media Your #1 Prospecting Tool in 2024 (with Jeff Pfitzer)",
|
97 |
-
"Create Your 12-Month Video Content Calendar",
|
98 |
-
"Class #1: Planning and Scripting Your Video",
|
99 |
-
"Class #2: Maximizing Engagement with Your Videos",
|
100 |
-
"Class #3: Planning More Complex Video Shoots",
|
101 |
-
"Class #4: Creating Your Video Content Calendar",
|
102 |
-
"Develop YOUR Video Marketing Funnel",
|
103 |
-
"Class #1: An Intro to Crafting YOUR Video Marketing Funnel",
|
104 |
-
"Class #2: Dual Attraction - Awareness Videos & Lead Generation Strategies",
|
105 |
-
"Class #3: Use Facebook Ads to Pull in Prospects (Part 1)",
|
106 |
-
"Class #4: Use Facebook Ads to Pull in Prospects (Part 2)",
|
107 |
-
"Class #5: Optimize Your Lower Funnel (Part 1) - Consideration & Conversion Videos",
|
108 |
-
"Class #6: Optimize Your Lower Funnel (Part 2) - Precision Facebook Ad Retargeting",
|
109 |
-
"Class #7: Email Enchantment - Nurture Leads with Video Email Newsletters",
|
110 |
-
"Class #8: Loyalty & Advocacy - Building Lasting Connections",
|
111 |
-
"Class #9: Convert More Leads Using Facebook Ads",
|
112 |
-
"Implementing a YouTube Video Strategy",
|
113 |
-
"Class #1: Introduction to YouTube",
|
114 |
-
"Class #2: Optimizing Your YouTube Channel",
|
115 |
-
"Class #3: Enhancing Your YouTube Videos",
|
116 |
-
"Class #4: Design an Eye-Catching YouTube Thumbnail",
|
117 |
-
"Class #5: Promoting Your YouTube Channel",
|
118 |
-
"Class #6: Creating Your First YouTube Video Ad",
|
119 |
-
"Class #7: 3 Easy YouTube Shorts Ideas",
|
120 |
-
"Class #8: 6 Long-Form YouTube Videos You Should Make",
|
121 |
-
"Bonus Training: Researching Tactics for Long Form Videos - with Tristan Ahumada",
|
122 |
-
"Creating Consistent Branding in Your Videos",
|
123 |
-
"Class #1: Branding 101",
|
124 |
-
"Class #2: Branding Choices When Filming",
|
125 |
-
"Class #3: Branding Choices When Editing",
|
126 |
-
"Using AI & Video to Generate Leads",
|
127 |
-
"Class #1: Using AI & Video to Generate Leads - Overview and Demo",
|
128 |
-
"Class #2: Using AI & Video to Generate Leads - Developing the Code and Uploading to Huggingface",
|
129 |
-
"Class #3: Using AI & Video to Generate Leads - Testing and Deploying the AI Tool",
|
130 |
-
"Class #4: Using AI & Video to Generate Leads - Marketing the AI Tool and Converting Leads",
|
131 |
-
# (Continue with Real Estate Case Studies)
|
132 |
-
"BVS Member Video Success Stories - Sheila, Francis and Daphne",
|
133 |
-
"Viral Video Case Study with Bob Tompkins",
|
134 |
-
"Listing Video Case Study with Brad McCallum",
|
135 |
-
"Video Case Study with Lana Rodriguez",
|
136 |
-
"Video Case Study with Valerie Van de Zilver",
|
137 |
-
"How to Farm a Neighborhood Using Video (with Ryan Smith)",
|
138 |
-
"YouTube Video Case Study with Ken Pozek",
|
139 |
-
"YouTube Video Case Study with Malcolm Lawson (Part 1)",
|
140 |
-
"YouTube Video Case Study with Malcolm Lawson (Part 2)",
|
141 |
-
"What to Say About the NAR Case in Your Videos",
|
142 |
-
# (Continue with Short Tutorials: Making Video a Priority for Your Business)
|
143 |
-
"Why Video? Why Now?",
|
144 |
-
"How to Create a Video Habit",
|
145 |
-
"A Time Management Strategy For Real Estate Agents: Full Tutorial",
|
146 |
-
# (Continue with Short Tutorials: Creating Better Videos with a Smartphone)
|
147 |
-
"You Don't Need an Expensive Camera... Here's Why!",
|
148 |
-
"4 Phone Camera Lighting Hacks",
|
149 |
-
"Why You May Need to Adjust Your iPhone's HDR Setting",
|
150 |
-
"Trim the Beginning and End of a Video on Your Phone",
|
151 |
-
"Creating Stable Footage with a Phone and... Cup?!",
|
152 |
-
"Record Your Screen on an iPhone",
|
153 |
-
"How to Use Green Screen with PowerDirector",
|
154 |
-
"Video Composition 101",
|
155 |
-
# Short Tutorials: Transferring, Storing and Organizing Video Files
|
156 |
-
"Transferring Files: Using WeTransfer or Google Drive",
|
157 |
-
"Transferring Files: iPhone to Mac (AirDrop)",
|
158 |
-
"Transferring Files: Using the Simple Transfer app (iPhone to any computer)",
|
159 |
-
"Storing and Organizing Your Video Files",
|
160 |
-
# Short Tutorials: Using BombBomb to Create and Send Videos
|
161 |
-
"BombBomb 1-to-1 Video Ideas for Your SOI/Database",
|
162 |
-
"Create a Killer Hook for Your BombBomb Videos",
|
163 |
-
"Adding Your SOI Database to BombBomb",
|
164 |
-
"4 Ways to Record and Send a Video with BombBomb",
|
165 |
-
]
|
166 |
-
|
167 |
-
if video_experience < 3:
|
168 |
-
# Recommend earlier classes for beginners
|
169 |
-
return class_list[:3] # Adjust indices as needed
|
170 |
-
else:
|
171 |
-
# Recommend more advanced classes for experienced users
|
172 |
-
return class_list[-3:] # Adjust indices as needed
|
173 |
-
|
174 |
# User inputs for the marketing plan
|
175 |
st.subheader("Define Your Business and Audience")
|
176 |
business_type = st.text_input("Your Business Type", placeholder="e.g., Cafe, Yoga Studio")
|
@@ -179,15 +14,11 @@ target_audience = st.text_area("Describe Your Target Audience", placeholder="e.g
|
|
179 |
st.subheader("Current Marketing Efforts")
|
180 |
current_marketing = st.text_area("Current Marketing Strategies", placeholder="Describe your ongoing marketing activities.")
|
181 |
|
182 |
-
st.subheader("Your Video Making Experience")
|
183 |
-
video_experience = st.number_input("How many videos have you made in the past month?", min_value=0, max_value=100, step=1)
|
184 |
-
|
185 |
if st.button('Generate My Custom 2024 Video Content Plan'):
|
186 |
# Construct the prompt for text generation
|
187 |
prompt_text = (
|
188 |
f"Generate a 2024 video marketing plan for a {business_type} targeting an audience characterized as: {target_audience}. "
|
189 |
-
f"Include up to four video ideas for each month of 2024
|
190 |
-
f"based on current marketing efforts: {current_marketing}."
|
191 |
)
|
192 |
|
193 |
# Call the OpenAI API for text generation
|
@@ -195,7 +26,7 @@ if st.button('Generate My Custom 2024 Video Content Plan'):
|
|
195 |
response_text = openai.ChatCompletion.create(
|
196 |
model="gpt-4",
|
197 |
messages=[
|
198 |
-
{"role": "system", "content": "You are an AI specializing in marketing strategy.
|
199 |
{"role": "user", "content": prompt_text}
|
200 |
]
|
201 |
)
|
@@ -207,15 +38,12 @@ if st.button('Generate My Custom 2024 Video Content Plan'):
|
|
207 |
st.markdown("### Your Customized Video Marketing Plan")
|
208 |
st.write(marketing_plan)
|
209 |
|
210 |
-
#
|
211 |
-
|
212 |
-
st.
|
213 |
-
|
214 |
-
|
215 |
-
|
216 |
-
|
217 |
-
full_text = marketing_plan + "\n\nRecommended Classes: " + ", ".join(class_recommendations)
|
218 |
-
st.text_area("Copy and paste the plan", full_text, height=300, key="text_area")
|
219 |
-
st.button("Copy to Clipboard", key="copy-button")
|
220 |
|
221 |
# No additional code needed beyond this point for your application
|
|
|
6 |
|
7 |
st.title("2024 Video Content Calendar Generator")
|
8 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
9 |
# User inputs for the marketing plan
|
10 |
st.subheader("Define Your Business and Audience")
|
11 |
business_type = st.text_input("Your Business Type", placeholder="e.g., Cafe, Yoga Studio")
|
|
|
14 |
st.subheader("Current Marketing Efforts")
|
15 |
current_marketing = st.text_area("Current Marketing Strategies", placeholder="Describe your ongoing marketing activities.")
|
16 |
|
|
|
|
|
|
|
17 |
if st.button('Generate My Custom 2024 Video Content Plan'):
|
18 |
# Construct the prompt for text generation
|
19 |
prompt_text = (
|
20 |
f"Generate a 2024 video marketing plan for a {business_type} targeting an audience characterized as: {target_audience}. "
|
21 |
+
f"Include up to four video ideas for each month of 2024, based on current marketing efforts: {current_marketing}."
|
|
|
22 |
)
|
23 |
|
24 |
# Call the OpenAI API for text generation
|
|
|
26 |
response_text = openai.ChatCompletion.create(
|
27 |
model="gpt-4",
|
28 |
messages=[
|
29 |
+
{"role": "system", "content": "You are an AI specializing in marketing strategy."},
|
30 |
{"role": "user", "content": prompt_text}
|
31 |
]
|
32 |
)
|
|
|
38 |
st.markdown("### Your Customized Video Marketing Plan")
|
39 |
st.write(marketing_plan)
|
40 |
|
41 |
+
# Suggestion to enroll in Business Video School
|
42 |
+
st.markdown("### Take Your Video Marketing to the Next Level!")
|
43 |
+
st.write(
|
44 |
+
"To successfully execute your new video marketing plan, consider enrolling in Business Video School. "
|
45 |
+
"Our One Day Challenge and Video Workspaces are designed to keep you accountable and help you stay on track with your plan. "
|
46 |
+
"Join now to transform your video marketing strategy!"
|
47 |
+
)
|
|
|
|
|
|
|
48 |
|
49 |
# No additional code needed beyond this point for your application
|