JeCabrera commited on
Commit
3d93a90
verified
1 Parent(s): c31a82c

Upload 12 files

Browse files
Files changed (2) hide show
  1. app.py +505 -505
  2. formulas/webinar_name_formulas.py +159 -378
app.py CHANGED
@@ -1,506 +1,506 @@
1
- from dotenv import load_dotenv
2
- import streamlit as st
3
- import os
4
- import google.generativeai as genai
5
- import random
6
- import datetime
7
- from streamlit import session_state as state
8
- from formulas.webinar_formulas import webinar_formulas
9
- from formulas.webinar_name_formulas import webinar_name_formulas
10
- from formulas.angles_webinar_names import angles_webinar_names
11
-
12
- # Cargar las variables de entorno
13
- load_dotenv()
14
-
15
- # Configurar la API de Google
16
- genai.configure(api_key=os.getenv("GOOGLE_API_KEY"))
17
-
18
- # Funci贸n auxiliar para mostrar el contenido generado y los botones de descarga
19
- def display_generated_content(col, generated_content, content_type):
20
- timestamp = datetime.datetime.now().strftime("%Y%m%d_%H%M%S")
21
-
22
- # Determinar el tipo de contenido para personalizar los botones y t铆tulos
23
- if content_type == "script":
24
- download_label = "DESCARGAR GUI脫N DE WEBINAR 鈻垛柖"
25
- file_name = f"guion_webinar_{timestamp}.txt"
26
- subheader_text = "Tu gui贸n de webinar:"
27
-
28
- # Mostrar bot贸n de descarga superior para guiones
29
- col.download_button(
30
- label=download_label,
31
- data=generated_content,
32
- file_name=file_name,
33
- mime="text/plain",
34
- key=f"download_top_{content_type}"
35
- )
36
- else: # nombres
37
- subheader_text = "Tus nombres de webinar:"
38
-
39
- # Mostrar el contenido generado
40
- col.subheader(subheader_text)
41
- col.markdown(generated_content)
42
-
43
- # Mostrar bot贸n de descarga inferior solo para guiones
44
- if content_type == "script":
45
- col.download_button(
46
- label=download_label,
47
- data=generated_content,
48
- file_name=file_name,
49
- mime="text/plain",
50
- key=f"download_bottom_{content_type}"
51
- )
52
-
53
- # Implementar la funci贸n generate_and_display para reemplazar c贸digo duplicado
54
- def generate_and_display(col, generator_func, audience, product, temperature, selected_formula, content_type, **kwargs):
55
- if validate_inputs(audience, product):
56
- try:
57
- with col:
58
- with st.spinner(f"Generando {'gui贸n' if content_type == 'script' else 'nombres'} de webinar...", show_time=True):
59
- # Llamar a la funci贸n generadora con los par谩metros adecuados
60
- generated_content = generator_func(
61
- audience=audience,
62
- topic=product,
63
- temperature=temperature,
64
- selected_formula=selected_formula,
65
- **kwargs
66
- )
67
-
68
- # Mostrar el contenido generado usando la funci贸n auxiliar
69
- display_generated_content(col, generated_content, content_type)
70
-
71
- except ValueError as e:
72
- col.error(f"Error: {str(e)}")
73
- else:
74
- col.error("Por favor, proporciona el p煤blico objetivo y el tema del webinar.")
75
-
76
- # Funci贸n para crear la configuraci贸n del modelo (evita duplicaci贸n)
77
- def create_model_config(temperature):
78
- return {
79
- "temperature": temperature,
80
- "top_p": 0.65,
81
- "top_k": 360,
82
- "max_output_tokens": 8196,
83
- }
84
-
85
- # Funci贸n para inicializar el modelo
86
- def initialize_model(temperature):
87
- config = create_model_config(temperature)
88
- return genai.GenerativeModel(
89
- model_name="gemini-2.0-flash",
90
- generation_config=config,
91
- )
92
-
93
- # Refactored model interaction function to reduce duplication
94
- def generate_content(prompt_instructions, temperature):
95
- model = initialize_model(temperature)
96
- chat_session = model.start_chat(
97
- history=[
98
- {
99
- "role": "user",
100
- "parts": [prompt_instructions],
101
- },
102
- ]
103
- )
104
- response = chat_session.send_message("Generate the content following exactly the provided instructions. All content must be in Spanish.")
105
- return response.text
106
-
107
- # Funci贸n para generar nombres de webinars
108
- # Refactorizar la funci贸n generate_webinar_names para que acepte los mismos par谩metros que generate_webinar_script
109
- def generate_webinar_names(audience, topic, temperature, selected_formula, number_of_names=5, selected_angle=None, **kwargs):
110
- # Incluir las instrucciones del sistema en el prompt principal
111
- system_prompt = """You are a world-class copywriter, with expertise in crafting compelling and disruptive webinar titles that immediately capture the audience's attention and drive registrations.
112
-
113
- FORMAT RULES:
114
- - Each webinar name must start with number and period
115
- - One webinar name per line
116
- - No explanations or categories
117
- - Add a line break between each name
118
- - Avoid unnecessary : symbols
119
- - Each webinar name must be a complete, intriguing and creative title
120
- - WRITE ALL WEBINAR NAMES IN SPANISH
121
-
122
- FORMAT EXAMPLE:
123
- 1. Nombre del Webinar 1.
124
-
125
- 2. Nombre del Webinar 2.
126
-
127
- 3. Nombre del Webinar 3.
128
-
129
- 4. Nombre del Webinar 4.
130
-
131
- 5. Nombre del Webinar 5.
132
-
133
- IMPORTANT:
134
- - Each webinar name must be unique, memorable and disruptive
135
- - Create curiosity and intrigue with unexpected combinations
136
- - Use creative language that stands out from typical webinar titles
137
- - Incorporate pattern interrupts that make people stop scrolling
138
- - Adapt speaking language from the audience
139
- - Focus on transformative benefits with creative angles
140
- - Follow the selected formula structure but add creative twists
141
- - WRITE ALL WEBINAR NAMES IN SPANISH"""
142
-
143
- # Iniciar el prompt con las instrucciones del sistema
144
- webinar_names_instruction = f"{system_prompt}\n\n"
145
-
146
- # A帽adir instrucciones de 谩ngulo solo si no es "NINGUNO" y se proporcion贸 un 谩ngulo
147
- if selected_angle and selected_angle != "NINGUNO":
148
- webinar_names_instruction += f"""
149
- MAIN ANGLE: {selected_angle}
150
- SPECIFIC ANGLE INSTRUCTIONS:
151
- {angles_webinar_names[selected_angle]["instruction"]}
152
-
153
- IMPORTANT: The {selected_angle} angle should be applied as a "style layer" over the formula structure:
154
- 1. Keep the base structure of the formula intact
155
- 2. Apply the tone and style of the {selected_angle} angle
156
- 3. Ensure that each element of the formula reflects the angle
157
- 4. The angle affects "how" it is said, not "what" is said
158
-
159
- SUCCESSFUL EXAMPLES OF THE {selected_angle} ANGLE:
160
- """
161
- for example in angles_webinar_names[selected_angle]["examples"]:
162
- webinar_names_instruction += f"- {example}\n"
163
-
164
- # Instrucciones espec铆ficas para la tarea
165
- webinar_names_instruction += (
166
- f"\nYour task is to create {number_of_names} irresistible, creative and disruptive webinar names for {audience} "
167
- f"that instantly capture attention and generate registrations for a webinar about {topic}. "
168
- f"Focus on awakening genuine curiosity, creating intrigue, and communicating the value they will get by registering."
169
- f"\n\n"
170
- f"IMPORTANT: Use these examples of the selected formula as inspiration, but make your titles more creative and disruptive. "
171
- f"Each example represents a base structure to follow, but add unexpected elements and creative twists"
172
- f":\n\n"
173
- )
174
-
175
- # Agregar ejemplos aleatorios de la f贸rmula (keeping examples in Spanish)
176
- random_examples = random.sample(selected_formula['examples'], min(5, len(selected_formula['examples'])))
177
- webinar_names_instruction += "EXAMPLES OF THE FORMULA TO FOLLOW (BUT MAKE YOURS MORE CREATIVE):\n"
178
- for i, example in enumerate(random_examples, 1):
179
- webinar_names_instruction += f"{i}. {example}\n"
180
-
181
- # Instrucciones espec铆ficas (translated to English)
182
- webinar_names_instruction += "\nSPECIFIC INSTRUCTIONS:\n"
183
- webinar_names_instruction += "1. Use the same basic structure as the examples but add creative twists\n"
184
- webinar_names_instruction += "2. Create curiosity gaps that make people want to learn more\n"
185
- webinar_names_instruction += "3. Use unexpected word combinations that surprise the reader\n"
186
- webinar_names_instruction += "4. Incorporate pattern interrupts that make people stop and think\n"
187
- webinar_names_instruction += f"5. Adapt the content for {audience} while making titles more memorable and disruptive\n\n"
188
- webinar_names_instruction += f"FORMULA TO FOLLOW (AS A BASE):\n{selected_formula['description']}\n\n"
189
- webinar_names_instruction += f"""
190
- CREATIVE TECHNIQUES TO APPLY:
191
- 1. Use unexpected metaphors or analogies
192
- 2. Create intriguing contrasts or paradoxes
193
- 3. Challenge conventional wisdom with provocative statements
194
- 4. Use power words that evoke emotion
195
- 5. Create curiosity with incomplete loops or questions
196
- 6. Use specific numbers or data points that seem unusual
197
-
198
- GENERATE NOW:
199
- Create {number_of_names} creative, disruptive webinar names that use the formula structure as a base but add unexpected creative elements to make them stand out.
200
- """
201
-
202
- # Enviar el mensaje al modelo
203
- # Use the common generate_content function
204
- return generate_content(webinar_names_instruction, temperature)
205
-
206
- # Update the create_input_section function to include the product/offer field
207
- def create_input_section(col, audience_key, product_key, formulas, formula_key, offer_key=None):
208
- audience = col.text_input("驴Qui茅n es tu p煤blico objetivo?", placeholder="Ejemplo: Emprendedores digitales", key=audience_key)
209
- product = col.text_input("驴Sobre qu茅 tema es tu webinar?", placeholder="Ejemplo: Marketing de afiliados", key=product_key)
210
-
211
- # Add the new product/offer field if a key is provided
212
- offer = None
213
- if offer_key:
214
- offer = col.text_input("驴Cu谩l es tu producto u oferta?", placeholder="Ejemplo: Curso de marketing de afiliados", key=offer_key)
215
-
216
- # Formula selection
217
- formula_keys = list(formulas.keys())
218
- selected_formula_key = col.selectbox(
219
- "Selecciona un framework de webinar",
220
- options=formula_keys,
221
- key=formula_key
222
- )
223
-
224
- if offer_key:
225
- return audience, product, selected_formula_key, offer
226
- else:
227
- return audience, product, selected_formula_key
228
-
229
- # Update the generate_webinar_script function to include the offer parameter
230
- def generate_webinar_script(audience, topic, temperature, selected_formula, offer=None, creative_idea=None):
231
- model = initialize_model(temperature)
232
-
233
- # Include offer in the system prompt if provided
234
- offer_text = f" and selling {offer}" if offer else ""
235
-
236
- # Incluir las instrucciones del sistema en el prompt principal
237
- system_prompt = f"""You are a collaborative team of world-class experts working together to create an exceptional webinar script that converts audience into customers.
238
-
239
- THE EXPERT TEAM:
240
-
241
- 1. MASTER WEBINAR STRATEGIST:
242
- - Expert in webinar frameworks and conversion strategies
243
- - Trained in the Perfect Webinar methodology by Russell Brunson
244
- - Ensures the script follows the selected framework structure precisely
245
- - Focuses on strategic placement of key conversion elements
246
-
247
- 2. ELITE DIRECT RESPONSE COPYWRITER:
248
- - Trained by Gary Halbert, Gary Bencivenga, and David Ogilvy
249
- - Creates compelling hooks, stories, and persuasive elements
250
- - Crafts irresistible calls to action that drives conversions
251
- - Ensures the language resonates with the target audience
252
-
253
- 3. AUDIENCE PSYCHOLOGY SPECIALIST:
254
- - Expert in understanding audience motivations and objections
255
- - Creates content that builds genuine connection and trust
256
- - Identifies and addresses hidden fears and desires
257
- - Ensures the content feels personal and relevant
258
-
259
- 4. STORYTELLING MASTER:
260
- - Creates compelling narratives that illustrate key points
261
- - Develops relatable examples and case studies
262
- - Ensures stories support the transformation being offered
263
- - Makes complex concepts accessible through narrative
264
-
265
- 5. WEBINAR ENGAGEMENT EXPERT:
266
- - Specializes in maintaining audience attention throughout
267
- - Creates interactive elements and engagement hooks
268
- - Develops compelling transitions between sections
269
- - Ensures the webinar flows naturally and keeps interest high
270
-
271
- FORMAT REQUIREMENTS:
272
- - Create a complete webinar script with clear sections and subsections
273
- - Include specific talking points for each section
274
- - Write in a conversational, engaging tone
275
- - Include persuasive elements and calls to action
276
- - Follow the selected webinar framework structure exactly
277
- - WRITE THE ENTIRE SCRIPT IN SPANISH
278
- - Start directly with the webinar content without introductory text
279
- - DO NOT include any explanatory text at the beginning like "Here's the webinar script..." or "I've created a webinar script..."
280
-
281
- COLLABORATIVE PROCESS:
282
- As a team of experts, you will:
283
- 1. Analyze the framework '{selected_formula['description']}' to understand its core principles
284
- 2. Identify how to best adapt this framework for {audience} learning about {topic}{offer_text}
285
- 3. Create persuasive language that resonates with {audience}
286
- 4. Ensure the script maintains engagement throughout
287
- 5. Follow the exact structure provided in the framework"""
288
-
289
- # A帽adir instrucciones para la idea creativa si existe
290
- if creative_idea:
291
- system_prompt += f"""
292
- CREATIVE CONCEPT:
293
- Use the following creative concept as the central theme for the webinar:
294
- "{creative_idea}"
295
-
296
- CREATIVE CONCEPT INSTRUCTIONS:
297
- 1. This concept should be the unifying theme across the entire webinar
298
- 2. Use it as a metaphor or analogy throughout the presentation
299
- 3. Develop different aspects of this concept in each section
300
- 4. Make sure the concept naturally connects to the product benefits
301
- 5. The concept should make the webinar more memorable and engaging
302
- """
303
-
304
- # Update the task instructions to include the offer
305
- offer_instruction = f" and selling {offer}" if offer else ""
306
-
307
- # Instrucciones espec铆ficas para la tarea
308
- webinar_script_instruction = (
309
- f"{system_prompt}\n\n"
310
- f"\nYour task is to create a complete webinar script IN SPANISH for {audience} "
311
- f"about {topic}{offer_instruction} that is persuasive and converts the audience into customers. "
312
- f"The script must follow exactly the structure of the framework '{selected_formula['description']}' "
313
- f"and must include all the necessary elements for a successful webinar."
314
- f"\n\n"
315
- )
316
-
317
- # Estructura del webinar
318
- webinar_script_instruction += "WEBINAR STRUCTURE TO FOLLOW:\n"
319
- for i, step in enumerate(selected_formula['structure'], 1):
320
- webinar_script_instruction += f"{i}. {step}\n"
321
-
322
- # Ejemplos de webinars exitosos
323
- webinar_script_instruction += "\n\nEXAMPLES OF SUCCESSFUL WEBINARS WITH THIS STRUCTURE:\n"
324
- for i, example in enumerate(selected_formula['examples'], 1):
325
- webinar_script_instruction += f"{i}. {example}\n"
326
-
327
- # Instrucciones espec铆ficas - Reforzar el espa帽ol
328
- webinar_script_instruction += f"""
329
- SPECIFIC INSTRUCTIONS:
330
- 1. Create a complete script that follows exactly the provided structure
331
- 2. Include persuasive elements and clear calls to action
332
- 3. Adapt the language and examples specifically for {audience}
333
- 4. Focus on the transformative benefits of {topic}
334
- 5. Include relevant stories and examples that reinforce your points
335
- 6. Use a conversational but professional tone
336
- 7. Make sure each section fulfills its specific purpose in the framework
337
- 8. IMPORTANT: Write the ENTIRE script in Spanish (neutral Latin American Spanish)
338
- 9. DO NOT include any introductory text like "Here's the webinar script..." or "I've created a webinar script..."
339
- 10. Start directly with the webinar title and content
340
- 11. ALL section titles, headers, and content MUST be in Spanish
341
- 12. Ensure ALL examples, stories, and calls to action are in Spanish
342
-
343
- GENERATE NOW:
344
- Create a complete webinar script following faithfully the structure of the selected framework, entirely in Spanish.
345
- """
346
-
347
- # Enviar el mensaje al modelo
348
- chat_session = model.start_chat(
349
- history=[
350
- {
351
- "role": "user",
352
- "parts": [webinar_script_instruction],
353
- },
354
- ]
355
- )
356
- response = chat_session.send_message("Generate the webinar script IN NEUTRAL SPANISH following exactly the provided structure. All content must be in neutral Spanish (not Spain Spanish). Start directly with the webinar content without any introductory text.")
357
-
358
- return response.text
359
-
360
- # Funci贸n para validar entradas (evita duplicaci贸n)
361
- def validate_inputs(audience, product):
362
- has_audience = audience.strip() != ""
363
- has_product = product.strip() != ""
364
- return has_audience and has_product
365
-
366
- # Update the load_css function comment to be more descriptive
367
- def load_css():
368
- css_path = "styles/styles.css"
369
- if os.path.exists(css_path):
370
- try:
371
- with open(css_path, "r") as f:
372
- st.markdown(f"<style>{f.read()}</style>", unsafe_allow_html=True)
373
- except Exception as e:
374
- st.warning(f"Error al cargar el archivo CSS: {str(e)}")
375
- else:
376
- st.warning(f"No se encontr贸 el archivo CSS en {css_path}")
377
-
378
- # Modify the page config section to include the CSS loading and remove menu
379
- st.set_page_config(
380
- page_title="Perfect Webinar Framework",
381
- layout="wide",
382
- initial_sidebar_state="expanded",
383
- menu_items=None # This removes the three dots menu
384
- )
385
- load_css() # This will load the styles from styles.css
386
-
387
- # Leer el contenido del archivo manual.md
388
- with open("manual.md", "r", encoding="utf-8") as file:
389
- manual_content = file.read()
390
-
391
- # Mostrar el contenido del manual en el sidebar
392
- st.sidebar.markdown(manual_content)
393
-
394
- # Agregar t铆tulo y subt铆tulo usando HTML
395
- st.markdown("<h1 style='text-align: center;'>Perfect Webinar Framework</h1>", unsafe_allow_html=True)
396
- st.markdown("<h3 style='text-align: center;'>Crea guiones y t铆tulos de webinars persuasivos que convierten</h3>", unsafe_allow_html=True)
397
-
398
- # Crear pesta帽as para la interfaz
399
- tab1, tab2 = st.tabs(["Guiones de Webinar", "Nombres de Webinar"])
400
-
401
- # Primera pesta帽a - Generador de Guiones de Webinar
402
- with tab1:
403
- tab1.subheader("Script Webinar")
404
-
405
- # Crear columnas para la interfaz
406
- col1, col2 = tab1.columns([1, 2])
407
-
408
- # Columna de entrada usando la funci贸n reutilizable
409
- with col1:
410
- # Inputs b谩sicos (fuera del acorde贸n)
411
- webinar_script_audience = st.text_input("驴Qui茅n es tu p煤blico objetivo?", placeholder="Ejemplo: Emprendedores digitales", key="webinar_script_audience")
412
- webinar_script_product = st.text_input("驴Sobre qu茅 tema es tu webinar?", placeholder="Ejemplo: Marketing de afiliados", key="webinar_script_product")
413
- webinar_script_offer = st.text_input("驴Cu谩l es tu producto u oferta?", placeholder="Ejemplo: Curso de marketing de afiliados", key="webinar_script_offer")
414
-
415
- # Bot贸n de generaci贸n (movido aqu铆, justo despu茅s de los campos principales)
416
- submit_webinar_script = st.button("GENERAR GUI脫N DE WEBINAR 鈻垛柖", key="generate_webinar_script")
417
-
418
- # Opciones avanzadas en el acorde贸n
419
- with st.expander("Personaliza tu gui贸n de webinar"):
420
- # Selector de f贸rmula (ahora dentro del acorde贸n)
421
- selected_webinar_formula_key = st.selectbox(
422
- "Selecciona un framework de webinar",
423
- options=list(webinar_formulas.keys()),
424
- key="webinar_formula"
425
- )
426
-
427
- # Nuevo campo para la idea creativa
428
- creative_idea = st.text_area(
429
- "Idea creativa (opcional)",
430
- placeholder="Introduce una idea o concepto creativo que quieras usar como tema central en tu webinar",
431
- help="Este concepto ser谩 el tema unificador a lo largo de tu webinar, haci茅ndolo m谩s memorable y atractivo",
432
- key="webinar_creative_idea"
433
- )
434
-
435
- # Slider de creatividad (ya existente)
436
- webinar_script_temperature = st.slider("Creatividad", min_value=0.0, max_value=2.0, value=1.0, step=0.1, key="webinar_script_temp")
437
-
438
- selected_webinar_formula = webinar_formulas[selected_webinar_formula_key]
439
-
440
- # Usar la funci贸n generate_and_display para generar y mostrar el gui贸n
441
- if submit_webinar_script:
442
- generate_and_display(
443
- col=col2,
444
- generator_func=generate_webinar_script,
445
- audience=webinar_script_audience,
446
- product=webinar_script_product,
447
- temperature=webinar_script_temperature,
448
- selected_formula=selected_webinar_formula,
449
- content_type="script",
450
- offer=webinar_script_offer if webinar_script_offer.strip() else None,
451
- creative_idea=creative_idea if creative_idea.strip() else None
452
- )
453
-
454
- # Segunda pesta帽a - Generador de Nombres de Webinar
455
- with tab2:
456
- tab2.subheader("Nombres de Webinar")
457
-
458
- # Crear columnas para la interfaz
459
- col1, col2 = tab2.columns([1, 2])
460
-
461
- # Columna de entrada
462
- with col1:
463
- # Inputs b谩sicos
464
- webinar_names_audience = st.text_input("驴Qui茅n es tu p煤blico objetivo?", placeholder="Ejemplo: Emprendedores digitales", key="webinar_names_audience")
465
- webinar_names_product = st.text_input("驴Sobre qu茅 tema es tu webinar?", placeholder="Ejemplo: Marketing de afiliados", key="webinar_names_product")
466
-
467
- # Bot贸n de generaci贸n (movido aqu铆, justo despu茅s de los campos principales)
468
- submit_webinar_names = st.button("GENERAR NOMBRES DE WEBINAR 鈻垛柖", key="generate_webinar_names")
469
-
470
- # Opciones avanzadas en el acorde贸n
471
- with st.expander("Personaliza tus nombres de webinar"):
472
- # Selector de f贸rmula
473
- selected_name_formula_key = st.selectbox(
474
- "Selecciona una f贸rmula para tus nombres",
475
- options=list(webinar_name_formulas.keys()),
476
- key="webinar_name_formula"
477
- )
478
-
479
- # Selector de 谩ngulo
480
- selected_angle = st.selectbox(
481
- "Selecciona un 谩ngulo (opcional)",
482
- options=["NINGUNO"] + list(angles_webinar_names.keys()),
483
- key="webinar_name_angle"
484
- )
485
-
486
- # N煤mero de nombres a generar
487
- number_of_names = st.slider("N煤mero de nombres a generar", min_value=3, max_value=15, value=5, step=1, key="number_of_names")
488
-
489
- # Slider de creatividad
490
- webinar_names_temperature = st.slider("Creatividad", min_value=0.0, max_value=2.0, value=1.0, step=0.1, key="webinar_names_temp")
491
-
492
- selected_name_formula = webinar_name_formulas[selected_name_formula_key]
493
-
494
- # Usar la funci贸n generate_and_display para generar y mostrar los nombres
495
- if submit_webinar_names:
496
- generate_and_display(
497
- col=col2,
498
- generator_func=generate_webinar_names,
499
- audience=webinar_names_audience,
500
- product=webinar_names_product,
501
- temperature=webinar_names_temperature,
502
- selected_formula=selected_name_formula,
503
- content_type="names",
504
- number_of_names=number_of_names,
505
- selected_angle=selected_angle if selected_angle != "NINGUNO" else None
506
  )
 
1
+ from dotenv import load_dotenv
2
+ import streamlit as st
3
+ import os
4
+ import google.generativeai as genai
5
+ import random
6
+ import datetime
7
+ from streamlit import session_state as state
8
+ from formulas.webinar_formulas import webinar_formulas
9
+ from formulas.webinar_name_formulas import webinar_name_formulas
10
+ from formulas.angles_webinar_names import angles_webinar_names
11
+
12
+ # Cargar las variables de entorno
13
+ load_dotenv()
14
+
15
+ # Configurar la API de Google
16
+ genai.configure(api_key=os.getenv("GOOGLE_API_KEY"))
17
+
18
+ # Funci贸n auxiliar para mostrar el contenido generado y los botones de descarga
19
+ def display_generated_content(col, generated_content, content_type):
20
+ timestamp = datetime.datetime.now().strftime("%Y%m%d_%H%M%S")
21
+
22
+ # Determinar el tipo de contenido para personalizar los botones y t铆tulos
23
+ if content_type == "script":
24
+ download_label = "DESCARGAR GUI脫N DE WEBINAR 鈻垛柖"
25
+ file_name = f"guion_webinar_{timestamp}.txt"
26
+ subheader_text = "Tu gui贸n de webinar:"
27
+
28
+ # Mostrar bot贸n de descarga superior para guiones
29
+ col.download_button(
30
+ label=download_label,
31
+ data=generated_content,
32
+ file_name=file_name,
33
+ mime="text/plain",
34
+ key=f"download_top_{content_type}"
35
+ )
36
+ else: # nombres
37
+ subheader_text = "Tus nombres de webinar:"
38
+
39
+ # Mostrar el contenido generado
40
+ col.subheader(subheader_text)
41
+ col.markdown(generated_content)
42
+
43
+ # Mostrar bot贸n de descarga inferior solo para guiones
44
+ if content_type == "script":
45
+ col.download_button(
46
+ label=download_label,
47
+ data=generated_content,
48
+ file_name=file_name,
49
+ mime="text/plain",
50
+ key=f"download_bottom_{content_type}"
51
+ )
52
+
53
+ # Implementar la funci贸n generate_and_display para reemplazar c贸digo duplicado
54
+ def generate_and_display(col, generator_func, audience, product, temperature, selected_formula, content_type, **kwargs):
55
+ if validate_inputs(audience, product):
56
+ try:
57
+ with col:
58
+ with st.spinner(f"Generando {'gui贸n' if content_type == 'script' else 'nombres'} de webinar...", show_time=True):
59
+ # Llamar a la funci贸n generadora con los par谩metros adecuados
60
+ generated_content = generator_func(
61
+ audience=audience,
62
+ topic=product,
63
+ temperature=temperature,
64
+ selected_formula=selected_formula,
65
+ **kwargs
66
+ )
67
+
68
+ # Mostrar el contenido generado usando la funci贸n auxiliar
69
+ display_generated_content(col, generated_content, content_type)
70
+
71
+ except ValueError as e:
72
+ col.error(f"Error: {str(e)}")
73
+ else:
74
+ col.error("Por favor, proporciona el p煤blico objetivo y el tema del webinar.")
75
+
76
+ # Funci贸n para crear la configuraci贸n del modelo (evita duplicaci贸n)
77
+ def create_model_config(temperature):
78
+ return {
79
+ "temperature": temperature,
80
+ "top_p": 0.65,
81
+ "top_k": 360,
82
+ "max_output_tokens": 8196,
83
+ }
84
+
85
+ # Funci贸n para inicializar el modelo
86
+ def initialize_model(temperature):
87
+ config = create_model_config(temperature)
88
+ return genai.GenerativeModel(
89
+ model_name="gemini-2.0-flash",
90
+ generation_config=config,
91
+ )
92
+
93
+ # Refactored model interaction function to reduce duplication
94
+ def generate_content(prompt_instructions, temperature):
95
+ model = initialize_model(temperature)
96
+ chat_session = model.start_chat(
97
+ history=[
98
+ {
99
+ "role": "user",
100
+ "parts": [prompt_instructions],
101
+ },
102
+ ]
103
+ )
104
+ response = chat_session.send_message("Generate the content following exactly the provided instructions. All content must be in Spanish.")
105
+ return response.text
106
+
107
+ # Funci贸n para generar nombres de webinars
108
+ # Refactorizar la funci贸n generate_webinar_names para que acepte los mismos par谩metros que generate_webinar_script
109
+ def generate_webinar_names(audience, topic, temperature, selected_formula, number_of_names=5, selected_angle=None, **kwargs):
110
+ # Incluir las instrucciones del sistema en el prompt principal
111
+ system_prompt = """You are a world-class copywriter, with expertise in crafting compelling and disruptive webinar titles that immediately capture the audience's attention and drive registrations.
112
+
113
+ FORMAT RULES:
114
+ - Each webinar name must start with number and period
115
+ - One webinar name per line
116
+ - No explanations or categories
117
+ - Add a line break between each name
118
+ - Avoid unnecessary : symbols
119
+ - Each webinar name must be a complete, intriguing and creative title
120
+ - WRITE ALL WEBINAR NAMES IN SPANISH
121
+
122
+ FORMAT EXAMPLE:
123
+ 1. Nombre del Webinar 1.
124
+
125
+ 2. Nombre del Webinar 2.
126
+
127
+ 3. Nombre del Webinar 3.
128
+
129
+ 4. Nombre del Webinar 4.
130
+
131
+ 5. Nombre del Webinar 5.
132
+
133
+ IMPORTANT:
134
+ - Each webinar name must be unique, memorable and disruptive
135
+ - Create curiosity and intrigue with unexpected combinations
136
+ - Use creative language that stands out from typical webinar titles
137
+ - Incorporate pattern interrupts that make people stop scrolling
138
+ - Adapt speaking language from the audience
139
+ - Focus on transformative benefits with creative angles
140
+ - Follow the selected formula structure but add creative twists
141
+ - WRITE ALL WEBINAR NAMES IN SPANISH"""
142
+
143
+ # Iniciar el prompt con las instrucciones del sistema
144
+ webinar_names_instruction = f"{system_prompt}\n\n"
145
+
146
+ # A帽adir instrucciones de 谩ngulo solo si no es "NINGUNO" y se proporcion贸 un 谩ngulo
147
+ if selected_angle and selected_angle != "NINGUNO":
148
+ webinar_names_instruction += f"""
149
+ MAIN ANGLE: {selected_angle}
150
+ SPECIFIC ANGLE INSTRUCTIONS:
151
+ {angles_webinar_names[selected_angle]["instruction"]}
152
+
153
+ IMPORTANT: The {selected_angle} angle should be applied as a "style layer" over the formula structure:
154
+ 1. Keep the base structure of the formula intact
155
+ 2. Apply the tone and style of the {selected_angle} angle
156
+ 3. Ensure that each element of the formula reflects the angle
157
+ 4. The angle affects "how" it is said, not "what" is said
158
+
159
+ SUCCESSFUL EXAMPLES OF THE {selected_angle} ANGLE:
160
+ """
161
+ for example in angles_webinar_names[selected_angle]["examples"]:
162
+ webinar_names_instruction += f"- {example}\n"
163
+
164
+ # Instrucciones espec铆ficas para la tarea
165
+ webinar_names_instruction += (
166
+ f"\nYour task is to create {number_of_names} irresistible, creative and disruptive webinar names for {audience} "
167
+ f"that instantly capture attention and generate registrations for a webinar about {topic}. "
168
+ f"Focus on awakening genuine curiosity, creating intrigue, and communicating the value they will get by registering."
169
+ f"\n\n"
170
+ f"IMPORTANT: Use these examples of the selected formula as inspiration, but make your titles more creative and disruptive. "
171
+ f"Each example represents a base structure to follow, but add unexpected elements and creative twists"
172
+ f":\n\n"
173
+ )
174
+
175
+ # Agregar ejemplos aleatorios de la f贸rmula (keeping examples in Spanish)
176
+ random_examples = random.sample(selected_formula['examples'], min(5, len(selected_formula['examples'])))
177
+ webinar_names_instruction += "EXAMPLES OF THE FORMULA TO FOLLOW (BUT MAKE YOURS MORE CREATIVE):\n"
178
+ for i, example in enumerate(random_examples, 1):
179
+ webinar_names_instruction += f"{i}. {example}\n"
180
+
181
+ # Instrucciones espec铆ficas (translated to English)
182
+ webinar_names_instruction += "\nSPECIFIC INSTRUCTIONS:\n"
183
+ webinar_names_instruction += "1. Use the same basic structure as the examples but add creative twists\n"
184
+ webinar_names_instruction += "2. Create curiosity gaps that make people want to learn more\n"
185
+ webinar_names_instruction += "3. Use unexpected word combinations that surprise the reader\n"
186
+ webinar_names_instruction += "4. Incorporate pattern interrupts that make people stop and think\n"
187
+ webinar_names_instruction += f"5. Adapt the content for {audience} while making titles more memorable and disruptive\n\n"
188
+ webinar_names_instruction += f"FORMULA TO FOLLOW (AS A BASE):\n{selected_formula['description']}\n\n"
189
+ webinar_names_instruction += f"""
190
+ CREATIVE TECHNIQUES TO APPLY:
191
+ 1. Use unexpected metaphors or analogies
192
+ 2. Create intriguing contrasts or paradoxes
193
+ 3. Challenge conventional wisdom with provocative statements
194
+ 4. Use power words that evoke emotion
195
+ 5. Create curiosity with incomplete loops or questions
196
+ 6. Use specific numbers or data points that seem unusual
197
+
198
+ GENERATE NOW:
199
+ Create {number_of_names} creative, disruptive webinar names that use the formula structure as a base but add unexpected creative elements to make them stand out.
200
+ """
201
+
202
+ # Enviar el mensaje al modelo
203
+ # Use the common generate_content function
204
+ return generate_content(webinar_names_instruction, temperature)
205
+
206
+ # Update the create_input_section function to include the product/offer field
207
+ def create_input_section(col, audience_key, product_key, formulas, formula_key, offer_key=None):
208
+ audience = col.text_input("驴Qui茅n es tu p煤blico objetivo?", placeholder="Ejemplo: Emprendedores digitales", key=audience_key)
209
+ product = col.text_input("驴Sobre qu茅 tema es tu webinar?", placeholder="Ejemplo: Marketing de afiliados", key=product_key)
210
+
211
+ # Add the new product/offer field if a key is provided
212
+ offer = None
213
+ if offer_key:
214
+ offer = col.text_input("驴Cu谩l es tu producto u oferta?", placeholder="Ejemplo: Curso de marketing de afiliados", key=offer_key)
215
+
216
+ # Formula selection
217
+ formula_keys = list(formulas.keys())
218
+ selected_formula_key = col.selectbox(
219
+ "Selecciona un framework de webinar",
220
+ options=formula_keys,
221
+ key=formula_key
222
+ )
223
+
224
+ if offer_key:
225
+ return audience, product, selected_formula_key, offer
226
+ else:
227
+ return audience, product, selected_formula_key
228
+
229
+ # Update the generate_webinar_script function to include the offer parameter
230
+ def generate_webinar_script(audience, topic, temperature, selected_formula, offer=None, creative_idea=None):
231
+ model = initialize_model(temperature)
232
+
233
+ # Include offer in the system prompt if provided
234
+ offer_text = f" and selling {offer}" if offer else ""
235
+
236
+ # Incluir las instrucciones del sistema en el prompt principal
237
+ system_prompt = f"""You are a collaborative team of world-class experts working together to create an exceptional webinar script that converts audience into customers.
238
+
239
+ THE EXPERT TEAM:
240
+
241
+ 1. MASTER WEBINAR STRATEGIST:
242
+ - Expert in webinar frameworks and conversion strategies
243
+ - Trained in the Perfect Webinar methodology by Russell Brunson
244
+ - Ensures the script follows the selected framework structure precisely
245
+ - Focuses on strategic placement of key conversion elements
246
+
247
+ 2. ELITE DIRECT RESPONSE COPYWRITER:
248
+ - Trained by Gary Halbert, Gary Bencivenga, and David Ogilvy
249
+ - Creates compelling hooks, stories, and persuasive elements
250
+ - Crafts irresistible calls to action that drives conversions
251
+ - Ensures the language resonates with the target audience
252
+
253
+ 3. AUDIENCE PSYCHOLOGY SPECIALIST:
254
+ - Expert in understanding audience motivations and objections
255
+ - Creates content that builds genuine connection and trust
256
+ - Identifies and addresses hidden fears and desires
257
+ - Ensures the content feels personal and relevant
258
+
259
+ 4. STORYTELLING MASTER:
260
+ - Creates compelling narratives that illustrate key points
261
+ - Develops relatable examples and case studies
262
+ - Ensures stories support the transformation being offered
263
+ - Makes complex concepts accessible through narrative
264
+
265
+ 5. WEBINAR ENGAGEMENT EXPERT:
266
+ - Specializes in maintaining audience attention throughout
267
+ - Creates interactive elements and engagement hooks
268
+ - Develops compelling transitions between sections
269
+ - Ensures the webinar flows naturally and keeps interest high
270
+
271
+ FORMAT REQUIREMENTS:
272
+ - Create a complete webinar script with clear sections and subsections
273
+ - Include specific talking points for each section
274
+ - Write in a conversational, engaging tone
275
+ - Include persuasive elements and calls to action
276
+ - Follow the selected webinar framework structure exactly
277
+ - WRITE THE ENTIRE SCRIPT IN SPANISH
278
+ - Start directly with the webinar content without introductory text
279
+ - DO NOT include any explanatory text at the beginning like "Here's the webinar script..." or "I've created a webinar script..."
280
+
281
+ COLLABORATIVE PROCESS:
282
+ As a team of experts, you will:
283
+ 1. Analyze the framework '{selected_formula['description']}' to understand its core principles
284
+ 2. Identify how to best adapt this framework for {audience} learning about {topic}{offer_text}
285
+ 3. Create persuasive language that resonates with {audience}
286
+ 4. Ensure the script maintains engagement throughout
287
+ 5. Follow the exact structure provided in the framework"""
288
+
289
+ # A帽adir instrucciones para la idea creativa si existe
290
+ if creative_idea:
291
+ system_prompt += f"""
292
+ CREATIVE CONCEPT:
293
+ Use the following creative concept as the central theme for the webinar:
294
+ "{creative_idea}"
295
+
296
+ CREATIVE CONCEPT INSTRUCTIONS:
297
+ 1. This concept should be the unifying theme across the entire webinar
298
+ 2. Use it as a metaphor or analogy throughout the presentation
299
+ 3. Develop different aspects of this concept in each section
300
+ 4. Make sure the concept naturally connects to the product benefits
301
+ 5. The concept should make the webinar more memorable and engaging
302
+ """
303
+
304
+ # Update the task instructions to include the offer
305
+ offer_instruction = f" and selling {offer}" if offer else ""
306
+
307
+ # Instrucciones espec铆ficas para la tarea
308
+ webinar_script_instruction = (
309
+ f"{system_prompt}\n\n"
310
+ f"\nYour task is to create a complete webinar script IN SPANISH for {audience} "
311
+ f"about {topic}{offer_instruction} that is persuasive and converts the audience into customers. "
312
+ f"The script must follow exactly the structure of the framework '{selected_formula['description']}' "
313
+ f"and must include all the necessary elements for a successful webinar."
314
+ f"\n\n"
315
+ )
316
+
317
+ # Estructura del webinar
318
+ webinar_script_instruction += "WEBINAR STRUCTURE TO FOLLOW:\n"
319
+ for i, step in enumerate(selected_formula['structure'], 1):
320
+ webinar_script_instruction += f"{i}. {step}\n"
321
+
322
+ # Ejemplos de webinars exitosos
323
+ webinar_script_instruction += "\n\nEXAMPLES OF SUCCESSFUL WEBINARS WITH THIS STRUCTURE:\n"
324
+ for i, example in enumerate(selected_formula['examples'], 1):
325
+ webinar_script_instruction += f"{i}. {example}\n"
326
+
327
+ # Instrucciones espec铆ficas - Reforzar el espa帽ol
328
+ webinar_script_instruction += f"""
329
+ SPECIFIC INSTRUCTIONS:
330
+ 1. Create a complete script that follows exactly the provided structure
331
+ 2. Include persuasive elements and clear calls to action
332
+ 3. Adapt the language and examples specifically for {audience}
333
+ 4. Focus on the transformative benefits of {topic}
334
+ 5. Include relevant stories and examples that reinforce your points
335
+ 6. Use a conversational but professional tone
336
+ 7. Make sure each section fulfills its specific purpose in the framework
337
+ 8. IMPORTANT: Write the ENTIRE script in Spanish (neutral Latin American Spanish)
338
+ 9. DO NOT include any introductory text like "Here's the webinar script..." or "I've created a webinar script..."
339
+ 10. Start directly with the webinar title and content
340
+ 11. ALL section titles, headers, and content MUST be in Spanish
341
+ 12. Ensure ALL examples, stories, and calls to action are in Spanish
342
+
343
+ GENERATE NOW:
344
+ Create a complete webinar script following faithfully the structure of the selected framework, entirely in Spanish.
345
+ """
346
+
347
+ # Enviar el mensaje al modelo
348
+ chat_session = model.start_chat(
349
+ history=[
350
+ {
351
+ "role": "user",
352
+ "parts": [webinar_script_instruction],
353
+ },
354
+ ]
355
+ )
356
+ response = chat_session.send_message("Generate the webinar script IN NEUTRAL SPANISH following exactly the provided structure. All content must be in neutral Spanish (not Spain Spanish). Start directly with the webinar content without any introductory text.")
357
+
358
+ return response.text
359
+
360
+ # Funci贸n para validar entradas (evita duplicaci贸n)
361
+ def validate_inputs(audience, product):
362
+ has_audience = audience.strip() != ""
363
+ has_product = product.strip() != ""
364
+ return has_audience and has_product
365
+
366
+ # Update the load_css function comment to be more descriptive
367
+ def load_css():
368
+ css_path = "styles/styles.css"
369
+ if os.path.exists(css_path):
370
+ try:
371
+ with open(css_path, "r") as f:
372
+ st.markdown(f"<style>{f.read()}</style>", unsafe_allow_html=True)
373
+ except Exception as e:
374
+ st.warning(f"Error al cargar el archivo CSS: {str(e)}")
375
+ else:
376
+ st.warning(f"No se encontr贸 el archivo CSS en {css_path}")
377
+
378
+ # Modify the page config section to include the CSS loading and remove menu
379
+ st.set_page_config(
380
+ page_title="Perfect Webinar Framework",
381
+ layout="wide",
382
+ initial_sidebar_state="expanded",
383
+ menu_items=None # This removes the three dots menu
384
+ )
385
+ load_css() # This will load the styles from styles.css
386
+
387
+ # Leer el contenido del archivo manual.md
388
+ with open("manual.md", "r", encoding="utf-8") as file:
389
+ manual_content = file.read()
390
+
391
+ # Mostrar el contenido del manual en el sidebar
392
+ st.sidebar.markdown(manual_content)
393
+
394
+ # Agregar t铆tulo y subt铆tulo usando HTML
395
+ st.markdown("<h1 style='text-align: center;'>Perfect Webinar Framework</h1>", unsafe_allow_html=True)
396
+ st.markdown("<h3 style='text-align: center;'>Crea guiones y t铆tulos de webinars persuasivos que convierten</h3>", unsafe_allow_html=True)
397
+
398
+ # Crear pesta帽as para la interfaz
399
+ tab1, tab2 = st.tabs(["Guiones de Webinar", "Nombres de Webinar"])
400
+
401
+ # Primera pesta帽a - Generador de Guiones de Webinar
402
+ with tab1:
403
+ tab1.subheader("Script Webinar")
404
+
405
+ # Crear columnas para la interfaz
406
+ col1, col2 = tab1.columns([1, 2])
407
+
408
+ # Columna de entrada usando la funci贸n reutilizable
409
+ with col1:
410
+ # Inputs b谩sicos (fuera del acorde贸n)
411
+ webinar_script_audience = st.text_input("驴Qui茅n es tu p煤blico objetivo?", placeholder="Ejemplo: Emprendedores digitales", key="webinar_script_audience")
412
+ webinar_script_product = st.text_input("驴Sobre qu茅 tema es tu webinar?", placeholder="Ejemplo: Marketing de afiliados", key="webinar_script_product")
413
+ webinar_script_offer = st.text_input("驴Cu谩l es tu producto u oferta?", placeholder="Ejemplo: Curso de marketing de afiliados", key="webinar_script_offer")
414
+
415
+ # Bot贸n de generaci贸n (movido aqu铆, justo despu茅s de los campos principales)
416
+ submit_webinar_script = st.button("GENERAR GUI脫N DE WEBINAR 鈻垛柖", key="generate_webinar_script")
417
+
418
+ # Opciones avanzadas en el acorde贸n
419
+ with st.expander("Personaliza tu gui贸n de webinar"):
420
+ # Selector de f贸rmula (ahora dentro del acorde贸n)
421
+ selected_webinar_formula_key = st.selectbox(
422
+ "Selecciona un framework de webinar",
423
+ options=list(webinar_formulas.keys()),
424
+ key="webinar_formula"
425
+ )
426
+
427
+ # Nuevo campo para la idea creativa
428
+ creative_idea = st.text_area(
429
+ "Idea creativa (opcional)",
430
+ placeholder="Introduce una idea o concepto creativo que quieras usar como tema central en tu webinar",
431
+ help="Este concepto ser谩 el tema unificador a lo largo de tu webinar, haci茅ndolo m谩s memorable y atractivo",
432
+ key="webinar_creative_idea"
433
+ )
434
+
435
+ # Slider de creatividad (ya existente)
436
+ webinar_script_temperature = st.slider("Creatividad", min_value=0.0, max_value=2.0, value=1.0, step=0.1, key="webinar_script_temp")
437
+
438
+ selected_webinar_formula = webinar_formulas[selected_webinar_formula_key]
439
+
440
+ # Usar la funci贸n generate_and_display para generar y mostrar el gui贸n
441
+ if submit_webinar_script:
442
+ generate_and_display(
443
+ col=col2,
444
+ generator_func=generate_webinar_script,
445
+ audience=webinar_script_audience,
446
+ product=webinar_script_product,
447
+ temperature=webinar_script_temperature,
448
+ selected_formula=selected_webinar_formula,
449
+ content_type="script",
450
+ offer=webinar_script_offer if webinar_script_offer.strip() else None,
451
+ creative_idea=creative_idea if creative_idea.strip() else None
452
+ )
453
+
454
+ # Segunda pesta帽a - Generador de Nombres de Webinar
455
+ with tab2:
456
+ tab2.subheader("Nombres de Webinar")
457
+
458
+ # Crear columnas para la interfaz
459
+ col1, col2 = tab2.columns([1, 2])
460
+
461
+ # Columna de entrada
462
+ with col1:
463
+ # Inputs b谩sicos
464
+ webinar_names_audience = st.text_input("驴Qui茅n es tu p煤blico objetivo?", placeholder="Ejemplo: Emprendedores digitales", key="webinar_names_audience")
465
+ webinar_names_product = st.text_input("驴Sobre qu茅 tema es tu webinar?", placeholder="Ejemplo: Marketing de afiliados", key="webinar_names_product")
466
+
467
+ # Bot贸n de generaci贸n (movido aqu铆, justo despu茅s de los campos principales)
468
+ submit_webinar_names = st.button("GENERAR NOMBRES DE WEBINAR 鈻垛柖", key="generate_webinar_names")
469
+
470
+ # Opciones avanzadas en el acorde贸n
471
+ with st.expander("Personaliza tus nombres de webinar"):
472
+ # Selector de f贸rmula
473
+ selected_name_formula_key = st.selectbox(
474
+ "Selecciona una f贸rmula para tus nombres",
475
+ options=list(webinar_name_formulas.keys()),
476
+ key="webinar_name_formula"
477
+ )
478
+
479
+ # Selector de 谩ngulo
480
+ selected_angle = st.selectbox(
481
+ "Selecciona un 谩ngulo (opcional)",
482
+ options=["NINGUNO"] + list(angles_webinar_names.keys()),
483
+ key="webinar_name_angle"
484
+ )
485
+
486
+ # N煤mero de nombres a generar
487
+ number_of_names = st.slider("N煤mero de nombres a generar", min_value=3, max_value=15, value=5, step=1, key="number_of_names")
488
+
489
+ # Slider de creatividad
490
+ webinar_names_temperature = st.slider("Creatividad", min_value=0.0, max_value=2.0, value=1.0, step=0.1, key="webinar_names_temp")
491
+
492
+ selected_name_formula = webinar_name_formulas[selected_name_formula_key]
493
+
494
+ # Usar la funci贸n generate_and_display para generar y mostrar los nombres
495
+ if submit_webinar_names:
496
+ generate_and_display(
497
+ col=col2,
498
+ generator_func=generate_webinar_names,
499
+ audience=webinar_names_audience,
500
+ product=webinar_names_product,
501
+ temperature=webinar_names_temperature,
502
+ selected_formula=selected_name_formula,
503
+ content_type="names",
504
+ number_of_names=number_of_names,
505
+ selected_angle=selected_angle if selected_angle != "NINGUNO" else None
506
  )
formulas/webinar_name_formulas.py CHANGED
@@ -2,401 +2,182 @@
2
  webinar_name_formulas = {
3
  "GPS": {
4
  "description": """
5
- La f贸rmula GPS (Goal-Period-Solution) crea titulares persuasivos mezclando humor y seriedad, usando lenguaje simple y directo:
6
-
7
- 1. **Meta** (Goal):
8
- 驴Qu茅 desea lograr el lector?
9
- - Resultado deseable
10
- - Transformaci贸n llamativa
11
- - Logro interesante
12
- - Mejora notable
13
-
14
- 2. **Periodo** (Period):
15
- 驴En qu茅 marco temporal?
16
- - Momento cotidiano
17
- - Rutina diaria
18
- - Actividad com煤n
19
- - Situaci贸n familiar
20
-
21
- 3. **Superaci贸n de Obst谩culo** (Solution):
22
- Conectores variados con toque de humor:
23
- - sin (ausencia)
24
- - incluso si (desaf铆o)
25
- - aunque (contraste)
26
- - a pesar de (adversidad)
27
- - cuando (circunstancia)
28
- - aun con (limitaci贸n)
29
- - mientras (simultaneidad)
30
- - por m谩s que (intensidad)
31
-
32
- El titular debe ser comprensible y ocasionalmente divertido.
33
  """,
34
  "examples": [
35
- # Humor + Cotidiano
36
- "Domina el arte de la inversi贸n mientras te cepillas los dientes incluso si confundes Excel con PowerPoint",
37
-
38
- # Situaci贸n Graciosa
39
- "Aprende un nuevo idioma durante tus visitas al ba帽o aunque solo sepas decir gracias y por favor",
40
-
41
- # Exageraci贸n Divertida
42
- "Conquista el miedo a hablar en p煤blico durante el desayuno a pesar de que te tiemblen hasta las pesta帽as",
43
-
44
- # Contraste Humor铆stico
45
- "Desarrolla m煤sculos preparando caf茅 cuando levantar la taza te parece ejercicio extremo",
46
-
47
- # Situaci贸n Relatable
48
- "Domina la fotograf铆a profesional en el supermercado aun con ese celular que sobrevivi贸 tres ca铆das",
49
-
50
- # Humor Cotidiano
51
- "Cultiva un huerto mientras contestas emails aunque tu 煤nica planta sobreviviente sea de pl谩stico",
52
-
53
- # Autorreferencial
54
- "Escribe tu bestseller mientras te duchas por m谩s que tu gato sea tu 煤nico fan",
55
-
56
- # Situaci贸n Com煤n
57
- "Aprende meditaci贸n lavando platos ni siquiera necesitas ponerte en pose pretzel",
58
-
59
- # Exageraci贸n
60
- "Domina el trading paseando al perro incluso si las matem谩ticas te dan alergia",
61
-
62
- # Contraste Divertido
63
- "Transforma tu postura en videollamadas aunque tu silla parezca instrumento de tortura medieval",
64
-
65
- # Situaci贸n Familiar
66
- "Aprende a tocar la guitarra cocinando aunque tus vecinos amenacen con mudarse",
67
-
68
- # Humor Autoderrisivo
69
- "Mejora tu ingl茅s cantando en la ducha a pesar de que suenes como gato en febrero",
70
-
71
- # Realidad Com煤n
72
- "Desarrolla tu marca personal haciendo la colada cuando Instagram te parece ciencia espacial",
73
-
74
- # Situaci贸n Real
75
- "Domina el networking comprando el pan aun con tu talento para olvidar nombres",
76
-
77
- # Humor + Verdad
78
- "Construye tu portfolio mientras ves series aunque tu sof谩 tenga poderes hipn贸ticos",
79
-
80
- # Exageraci贸n Graciosa
81
- "Aprende programaci贸n jugando con tus hijos por m谩s que tu computadora sea del jur谩sico",
82
-
83
- # Situaci贸n Cotidiana
84
- "Domina la cocina saludable ordenando tu escritorio incluso si hervir agua es tu especialidad",
85
-
86
- # Realidad + Humor
87
- "Conquista Instagram esperando el metro hasta con fotos de tu almuerzo congelado",
88
-
89
- # Contraste Gracioso
90
- "Transforma tu rutina de ejercicios contestando emails incluso si tu idea de deporte es buscar el control remoto",
91
-
92
- # Humor + Aspiraci贸n
93
- "Desarrolla m煤sculos de acero haciendo las compras aunque las bolsas del super sean tu 煤nico peso"
94
  ]
95
  },
96
  "N煤merica Suprema": {
97
  "description": """
98
- La F贸rmula Suprema de Istvanova combina 5 elementos clave m谩s art铆culos plurales para crear titulares persuasivos:
99
-
100
- 1. **Art铆culos Plurales** (Art):
101
- - Los (para masculino plural)
102
- - Las (para femenino plural)
103
- - Dan naturalidad y autoridad al texto
104
- - Ejemplos: "Los 7 m茅todos...", "Las 3 t茅cnicas..."
105
-
106
- 2. **N煤meros** (N):
107
- - Espec铆ficos y cre铆bles (3, 5, 7, 10...)
108
- - Crean estructura y expectativas claras
109
- - Se combinan con art铆culos: "Los 5...", "Las 3..."
110
-
111
- 3. **Adjetivo** (A):
112
- - Emocionales y descriptivos
113
- - Conectan con deseos/miedos
114
- - Ejemplos: poderosos, simples, efectivos, revolucionarios
115
-
116
- 4. **Palabra Clave** (P):
117
- - T茅rmino central del beneficio en plural
118
- - F谩cil de entender y recordar
119
- - Ejemplos: m茅todos, estrategias, t茅cnicas, secretos
120
-
121
- 5. **Raz贸n** (R):
122
- - Justifica el beneficio
123
- - A帽ade credibilidad
124
- - Conecta con la motivaci贸n del lector
125
-
126
- 6. **Promesa** (P):
127
- - Resultado espec铆fico y medible
128
- - Timeframe realista
129
- - Beneficio final atractivo
130
-
131
- Formatos:
132
- - Corto: Art plural + N + A + P + P
133
- - Medio: Art plural + N + A + P + R + P
134
- - Largo: Art plural + N + A + P + R detallada + P espec铆fica
135
  """,
136
  "examples": [
137
- "Los 3 rituales probados para dormir mejor.",
138
- "Las 5 rutinas efectivas para fortalecer tu core.",
139
- "Los 7 h谩bitos esenciales para aumentar productividad.",
140
- "Las 3 t茅cnicas comprobadas para dormir mejor basadas en neurociencia.",
141
- "Los 5 movimientos efectivos para fortalecer tu core sin equipamiento.",
142
- "Las 7 estrategias esenciales para aumentar productividad sin estr茅s.",
143
- "Los 3 m茅todos cient铆ficos para dormir mejor basados en los 煤ltimos descubrimientos de la neurociencia del sue帽o que transformar谩n tus noches.",
144
- "Las 5 secuencias efectivas para fortalecer tu core descubiertas por fisioterapeutas ol铆mpicos que puedes hacer en casa.",
145
- "Los 7 sistemas revolucionarios para aumentar productividad desarrollados por CEOs que duplicar谩n tus resultados."
146
- ],
147
- "variaciones_estructura": {
148
- "b谩sica": "Art plural + N + A + P + P",
149
- "intermedia": "Art plural + N + A + P + R + P",
150
- "avanzada": "Art plural + N + A + P + R detallada + P espec铆fica"
151
- },
152
- "uso_articulos_plurales": {
153
- "masculino_plural": {
154
- "art铆culo": "los",
155
- "ejemplos_palabras": "m茅todos, sistemas, pasos, secretos, trucos, h谩bitos"
156
- },
157
- "femenino_plural": {
158
- "art铆culo": "las",
159
- "ejemplos_palabras": "t茅cnicas, estrategias, rutinas, t谩cticas, claves"
160
- }
161
- },
162
- "consejos_uso": [
163
- "Usa siempre la forma plural para mayor impacto",
164
- "Alterna entre 'los' y 'las' seg煤n la palabra clave",
165
- "Mant茅n coherencia en el g茅nero a lo largo del bullet",
166
- "Combina art铆culos con n煤meros de forma natural",
167
- "Asegura que la palabra clave est茅 en plural"
168
  ]
169
  },
170
  "AIDA": {
171
  "description": """
172
- La f贸rmula AIDA se aplica de manera flexible y estrat茅gica, combinando 1-4 elementos para titulares impactantes y naturales:
173
-
174
- 1. **Atenci贸n** (A):
175
- Ganchos de apertura poderosos:
176
- - "驴Sab铆as que...?" + dato sorprendente
177
- - Mini-historia disruptiva
178
- - Idea contraintuitiva
179
- - Descubrimiento inesperado
180
- - Analog铆a poderosa
181
- - "La mayor铆a no sabe que..."
182
- - "Contrario a lo que piensas..."
183
- - "Me sorprendi贸 descubrir que..."
184
-
185
- 2. **Inter茅s** (I):
186
- Desarrollo del gancho inicial:
187
- - Detalles espec铆ficos y relevantes
188
- - Conexi贸n problema-soluci贸n inesperada
189
- - Beneficios 煤nicos y memorables
190
- - Puente situaci贸n actual-resultado
191
- - "La raz贸n es simple..."
192
- - "Lo fascinante es que..."
193
- - "Y lo mejor de todo..."
194
- - "Lo que hace la diferencia es..."
195
-
196
- 3. **Deseo** (D):
197
- Amplificaci贸n emocional:
198
- - Imagen vivida del resultado
199
- - Experiencia personalizada
200
- - Prueba social natural
201
- - Toque de exclusividad
202
- - Conexi贸n emocional profunda
203
- - "Imagina poder..."
204
- - "Piensa c贸mo ser铆a..."
205
- - "Esto significa que podr谩s..."
206
-
207
- 4. **Acci贸n** (A):
208
- Cierre natural:
209
- - Siguiente paso simple
210
- - Baja fricci贸n para comenzar
211
- - Gratificaci贸n inmediata
212
- - Primer paso sencillo
213
- - Seguridad fluida
214
- - "Pru茅balo hoy mismo..."
215
- - "Comienza con un simple..."
216
- - "Solo necesitas..."
217
-
218
- Combinaciones estrat茅gicas:
219
- - A + I: Para despertar curiosidad y explicar el valor
220
- - A + D: Para conectar problema con deseo
221
- - I + D: Para construir deseo desde la l贸gica
222
- - I + D + A: Para construir convicci贸n y motivar
223
- - A + I + D: Para educar, intrigar y crear anhelo
224
-
225
- Cada titular debe mantener un tono conversacional y evitar parecer una f贸rmula obvia.
226
  """,
227
  "examples": [
228
- # A (dato sorprendente) + I (conexi贸n) + D (prueba social) + A (paso simple)
229
- "驴Sab铆as que el 83% de los emprendedores exitosos dedican menos de 2 horas al d铆a a reuniones? Lo fascinante es que usan un m茅todo japon茅s de gesti贸n que les permite triplicar su productividad, y puedes empezar hoy mismo.",
230
-
231
- # A (contraintuitivo) + I (beneficio) + D (resultado) + A (inicio)
232
- "La mayor铆a no sabe que existe una t茅cnica de ventas basada en videojuegos, est谩 revolucionando el mercado B2B, genera resultados inmediatos y puedes aprenderla en 20 minutos.",
233
-
234
- # A (disruptivo) + I (detalle) + D (resultado)
235
- "Contrario a lo que piensas, el momento m谩s productivo del d铆a no es por la ma帽ana, sino durante una ventana de tiempo inesperada que duplicar谩 tu capacidad de concentraci贸n.",
236
-
237
- # A (descubrimiento) + I (soluci贸n) + D (prueba)
238
- "Me sorprendi贸 descubrir que los mejores vendedores nunca memorizan scripts, usan una t茅cnica secreta de improvisaci贸n.",
239
-
240
- # I (m茅todo 煤nico) + D (transformaci贸n) + A (acci贸n)
241
- "Esta t茅cnica revolucionaria de aprendizaje est谩 transformando c贸mo los profesionales dominan nuevas habilidades, pru茅bala hoy con solo 10 minutos.",
242
-
243
- # I (innovaci贸n) + D (beneficio) + A (inicio)
244
- "El m茅todo del empresario silencioso cambia las reglas del networking moderno, empieza con un simple ejercicio.",
245
-
246
- # A (pregunta gancho) + D (resultado) + A (implementaci贸n)
247
- "驴Sab铆as que existe un ritual zen que est谩 transformando la productividad en Silicon Valley? Implementalo ma帽ana mismo.",
248
-
249
- # A (analog铆a) + D (promesa) + A (descubrimiento)
250
- "Como el bamb煤 japon茅s, este m茅todo crece silenciosamente hasta que explota en resultados, descubre c贸mo en 5 minutos.",
251
-
252
- # A (mayor铆a) + I (validaci贸n) + A (acci贸n)
253
- "La mayor铆a desconoce el mejor momento para tomar decisiones importantes, la ciencia lo confirma, implementa este descubrimiento hoy.",
254
-
255
- # A (mini-cambio) + I (resultado) + A (inicio)
256
- "Un peque帽o cambio en tu rutina de email desencadenar谩 mejoras exponenciales, comienza ahora.",
257
-
258
- # A + I + D + A (met谩fora natural)
259
- "Como el bamb煤 japon茅s, este m茅todo crece invisible hasta explotar en resultados que transformar谩n tu negocio",
260
-
261
- # A + I + D + A (analog铆a deportiva)
262
- "Los atletas ol铆mpicos entrenan menos horas pero logran m谩s que sus rivales gracias a esta t茅cnica de productividad japonesa",
263
-
264
- # A + I + D (met谩fora de naturaleza)
265
- "Al igual que las abejas construyen colmenas perfectas, este sistema organiza tu tiempo en patrones de m谩xima eficiencia",
266
-
267
- # A + I + D (analog铆a art铆stica)
268
- "Como un director de orquesta que gu铆a sin palabras, este m茅todo de ventas fluye naturalmente en cada conversaci贸n",
269
-
270
- # I + D + A (met谩fora de agua)
271
- "Este sistema de aprendizaje fluye como un r铆o, adapt谩ndose naturalmente a tu estilo mientras potencia tus habilidades",
272
-
273
- # I + D + A (analog铆a arquitect贸nica)
274
- "Como los antiguos arquitectos japoneses que constru铆an sin clavos, este m茅todo de networking conecta sin forzar relaciones",
275
-
276
- # A + D + A (met谩fora zen)
277
- "Similar al jard铆n zen que revela su belleza gradualmente, esta rutina matutina despliega tu potencial d铆a tras d铆a",
278
-
279
- # A + D + A (analog铆a natural)
280
- "Como el roble que crece firme ante las tormentas, este m茅todo fortalece tu productividad en tiempos de caos",
281
-
282
- # A + I + A (met谩fora lunar)
283
- "Al igual que la luna influye en las mareas, la neurociencia revela los ciclos naturales de tu productividad m谩xima",
284
-
285
- # A + I + A (analog铆a culinaria)
286
- "Como un chef que transforma ingredientes simples en obras maestras, este sistema eleva tu rutina diaria a resultados extraordinarios"
287
  ]
288
  },
289
  "4U": {
290
  "description": """
291
- La f贸rmula 4U se aplica de manera flexible y estrat茅gica, combinando 1-4 elementos para crear titulares impactantes y naturales:
292
-
293
- 1. **脷til** (Useful):
294
- Beneficios pr谩cticos y tangibles:
295
- - "C贸mo conseguir..." + resultado espec铆fico
296
- - "La gu铆a paso a paso para..."
297
- - "El m茅todo probado que..."
298
- - "Descubre la forma de..."
299
- - "Aprende a..." + beneficio concreto
300
- - "La soluci贸n definitiva para..."
301
- - "El sistema que te permite..."
302
- - "La estrategia que garantiza..."
303
-
304
- 2. **Urgente** (Urgent):
305
- Motivadores de acci贸n inmediata:
306
- - "脷ltima oportunidad para..."
307
- - "Solo disponible hasta..."
308
- - "Antes de que sea tarde..."
309
- - "Mientras a煤n hay tiempo..."
310
- - "No esperes a que..."
311
- - "Aprovecha ahora..."
312
- - "La oferta expira en..."
313
- - "Date prisa antes de que..."
314
-
315
- 3. **脷nico** (Unique):
316
- Diferenciadores memorables:
317
- - "El m茅todo poco conocido..."
318
- - "La t茅cnica contraintuitiva..."
319
- - "El descubrimiento sorprendente..."
320
- - "La estrategia secreta..."
321
- - "El sistema revolucionario..."
322
- - "El enfoque innovador..."
323
- - "La soluci贸n inesperada..."
324
- - "El m茅todo exclusivo..."
325
-
326
- 4. **Ultra-espec铆fico** (Ultra-specific):
327
- Detalles precisos y medibles:
328
- - N煤meros exactos: "27 t茅cnicas..."
329
- - Tiempos concretos: "13 minutos..."
330
- - Resultados medibles: "63% m谩s..."
331
- - Pasos definidos: "3 pasos..."
332
- - Datos precisos: "8.3 veces m谩s..."
333
- - M茅tricas claras: "2.5x m谩s r谩pido..."
334
- - Cantidades espec铆ficas: "97 personas..."
335
- - Plazos definidos: "21 d铆as..."
336
-
337
- Combinaciones estrat茅gicas:
338
- - 脷til + Ultra-espec铆fico: Para audiencias pr谩cticas y orientadas a resultados
339
- - Urgente + 脷nico: Para ofertas especiales y lanzamientos
340
- - 脷nico + Ultra-espec铆fico: Para diferenciaci贸n basada en datos
341
- - 脷til + Urgente: Para motivar acci贸n inmediata
342
- - 脷til + 脷nico + Ultra-espec铆fico: Para establecer autoridad y credibilidad
343
- - 脷til + Urgente + Ultra-espec铆fico: Para ofertas con beneficios medibles
344
- - 脷nico + Urgente + Ultra-espec铆fico: Para lanzamientos exclusivos
345
- - 脷til + 脷nico + Urgente: Para ofertas transformadoras
346
- - Las 4U juntas: Para m谩ximo impacto en ofertas premium
347
-
348
- Cada titular debe mantener un tono conversacional y evitar parecer una f贸rmula obvia.
349
  """,
350
- "examples": [
351
- # 脷til + Ultra-espec铆fico (Para audiencias pr谩cticas y orientadas a resultados)
352
- "Aprende 347 palabras en alem谩n memorizando solo 12 minutos al d铆a mientras cocinas",
353
- "Cultiva 27 tipos de hierbas arom谩ticas en 1.5 metros cuadrados de balc贸n generando 180 euros mensuales",
354
- "Automatiza 89% de tus tareas administrativas dedicando 31 minutos cada lunes",
355
-
356
- # Urgente + 脷nico (Para ofertas especiales y lanzamientos)
357
- "Un cartero rural comparte su sistema de gesti贸n del tiempo antes de su retiro definitivo",
358
- "La 煤ltima clase del profesor m谩s longevo de Oxford revela su m茅todo de memorizaci贸n",
359
- "El manuscrito perdido de un monje escriba sale a la luz tras 80 a帽os en el Vaticano",
360
-
361
- # 脷nico + Ultra-espec铆fico (Para diferenciaci贸n basada en datos)
362
- "Un grupo de 1457 abuelas italianas entrena una IA para reconocer pasta al dente con 99.7% de precisi贸n",
363
- "La t茅cnica de un bibliotecario jubilado cataloga 47893 libros en 73 d铆as usando fichas de colores",
364
- "Un taxista noruego fotograf铆a 12437 auroras boreales usando un iPhone 6 y tres filtros caseros",
365
-
366
- # 脷til + Urgente (Para motivar acci贸n inmediata)
367
- "Aprende a crear tu huerto urbano antes de que suban los precios de las verduras",
368
- "Asegura tu plaza en el programa de ahorro energ茅tico antes del aumento de tarifas",
369
- "Registra tu marca personal mientras el dominio premium sigue disponible",
370
-
371
- # 脷til + 脷nico + Ultra-espec铆fico (Para establecer autoridad y credibilidad)
372
- "La t茅cnica de un cartero rural ayuda a 1893 personas a organizar su tiempo usando solo 17 minutos cada ma帽ana",
373
- "Un bibliotecario retirado genera 12437 euros vendiendo libros antiguos por menos de 3 euros cada uno",
374
- "Una abuela italiana entrena algoritmos que reducen el tiempo de cocci贸n un 82% manteniendo el sabor tradicional",
375
-
376
- # 脷til + Urgente + Ultra-espec铆fico (Para ofertas con beneficios medibles)
377
- "Aprende 478 palabras en japon茅s en 21 d铆as antes del aumento de precio del programa",
378
- "Automatiza 95% de tu contabilidad en 7 d铆as previo a la nueva normativa fiscal",
379
- "Genera 7 fuentes de ingresos pasivos en 30 d铆as antes del cambio en las regulaciones",
380
-
381
- # 脷nico + Urgente + Ultra-espec铆fico (Para lanzamientos exclusivos)
382
- "El sistema de un monje copista digitaliza 7345 manuscritos en 31 d铆as 煤ltimas plazas disponibles",
383
- "La f贸rmula de un taxista fotograf铆a 893 auroras boreales perfectas registro exclusivo esta semana",
384
- "El m茅todo de un bibliotecario jubilado organiza 47893 archivos en 73 d铆as acceso limitado",
385
-
386
- # 脷til + 脷nico + Urgente (Para ofertas transformadoras)
387
- "La t茅cnica de un cartero rural transforma tu productividad antes del fin de semana",
388
- "El sistema de una abuela italiana revoluciona tu forma de cocinar registro beta por 24 horas",
389
- "El m茅todo de un bibliotecario maximiza tu capacidad de aprendizaje plazas limitadas"
390
- ],
391
- "consejos_uso": [
392
- "Asegura que cada elemento U refuerce a los dem谩s",
393
- "Mant茅n un equilibrio entre urgencia y credibilidad",
394
- "Usa datos espec铆ficos para aumentar la confianza",
395
- "Adapta el orden de los elementos seg煤n tu audiencia",
396
- "Evita exageraciones que puedan generar desconfianza",
397
- "Combina los elementos de forma natural y fluida",
398
- "Aseg煤rate de que cada elemento a帽ada valor real",
399
- "Prueba diferentes combinaciones para encontrar las m谩s efectivas"
400
- ]
401
- }
402
  }
 
2
  webinar_name_formulas = {
3
  "GPS": {
4
  "description": """
5
+ The GPS Formula (Goal-Period-Solution) creates persuasive webinar names by mixing creativity and value:
6
+
7
+ 1. **Goal**:
8
+ What result will the attendee achieve?
9
+ - Desired transformation
10
+ - Acquired skill
11
+ - Problem solved
12
+ - Opportunity seized
13
+
14
+ 2. **Period**:
15
+ In what context or timeframe?
16
+ - Specific situation
17
+ - Moment of change
18
+ - Relevant context
19
+ - Particular circumstance
20
+
21
+ 3. **Solution Connector**:
22
+ Creative connectors that generate intrigue:
23
+ - without (barrier elimination)
24
+ - even if (challenge overcome)
25
+ - although (surprising contrast)
26
+ - despite (victory over adversity)
27
+ - when (timely opportunity)
28
+ - even with (limitations overcome)
29
+
30
+ The name must be memorable, intriguing and generate immediate curiosity.
 
 
31
  """,
32
  "examples": [
33
+ "Domina el Marketing Digital en 30 D铆as Sin Conocimientos T茅cnicos",
34
+ "Conquista Instagram Aunque Nunca Hayas Publicado una Foto",
35
+ "Lanza tu Podcast Exitoso Incluso Si Odias tu Propia Voz",
36
+ "Monetiza tu Pasi贸n A Pesar de Empezar desde Cero",
37
+ "Construye tu Audiencia Cuando Nadie Te Conoce Todav铆a",
38
+ "Crea tu Curso Online Aun Con un Presupuesto M铆nimo",
39
+ "Posici贸nate como Experto Sin Necesitar T铆tulos Acad茅micos",
40
+ "Vende tus Servicios Premium Aunque el Mercado Est茅 Saturado",
41
+ "Automatiza tu Negocio Mientras Disfrutas de M谩s Tiempo Libre",
42
+ "Escala tu Emprendimiento Sin Sacrificar tu Vida Personal"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
43
  ]
44
  },
45
  "N煤merica Suprema": {
46
  "description": """
47
+ The Supreme Numeric Formula combines key elements to create irresistible webinar names:
48
+
49
+ 1. **Impactful Numbers**:
50
+ - Specific and memorable (3, 5, 7, 10...)
51
+ - Create structure and clear expectations
52
+ - Generate immediate curiosity
53
+
54
+ 2. **Powerful Adjectives**:
55
+ - Emotional and descriptive
56
+ - Connect with desires/fears
57
+ - Examples: revolutionary, infallible, secret, forbidden
58
+
59
+ 3. **Transformative Keywords**:
60
+ - Terms that promise change
61
+ - Easy to understand and remember
62
+ - Examples: methods, strategies, techniques, systems
63
+
64
+ 4. **Specific Promise**:
65
+ - Concrete and desirable result
66
+ - Clear and attractive benefit
67
+ - Guaranteed transformation
68
+
69
+ 5. **Disruptive Element**:
70
+ - Unexpected twist
71
+ - Surprising contrast
72
+ - Counterintuitive concept
73
+
74
+ The name must generate immediate curiosity and desire to register.
 
 
 
 
 
 
 
 
 
75
  """,
76
  "examples": [
77
+ "Las 7 Estrategias Prohibidas para Triplicar tus Ventas en 90 D铆as",
78
+ "Las 3 T茅cnicas Secretas de Copywriting que las Grandes Marcas No Quieren que Conozcas",
79
+ "Los 5 Sistemas Revolucionarios para Automatizar tu Negocio Mientras Duermes",
80
+ "Los 10 M茅todos Infalibles para Crear Contenido Viral sin Ser Influencer",
81
+ "Los 4 Pilares Invisibles del 脡xito que los Gur煤s Nunca Revelan",
82
+ "Los 6 Atajos Mentales para Dominar Cualquier Habilidad en Tiempo R茅cord",
83
+ "Las 8 F贸rmulas Secretas para Convertir Seguidores en Clientes Fieles",
84
+ "Las 12 T谩cticas Contraintuitivas que Transformar谩n tu Marca Personal",
85
+ "Los 9 Rituales Matutinos que Garantizan el 脡xito (El #6 Cambiar谩 tu Vida)",
86
+ "Los 7 Errores Fatales que Est谩n Saboteando tu Crecimiento (y C贸mo Evitarlos)"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
87
  ]
88
  },
89
  "AIDA": {
90
  "description": """
91
+ The AIDA formula adapted for webinar names combines elements to capture immediate attention:
92
+
93
+ 1. **Attention**:
94
+ Irresistible opening hooks:
95
+ - Surprising revelation
96
+ - Bold promise
97
+ - Counterintuitive concept
98
+ - Exclusive discovery
99
+
100
+ 2. **Interest**:
101
+ Elements that deepen curiosity:
102
+ - Specific benefit
103
+ - Little-known method
104
+ - Exclusive system
105
+ - Innovative approach
106
+
107
+ 3. **Desire**:
108
+ Emotional amplifiers:
109
+ - Desired transformation
110
+ - Specific result
111
+ - Competitive advantage
112
+ - Definitive solution
113
+
114
+ 4. **Action**:
115
+ Elements of urgency or exclusivity:
116
+ - Limited opportunity
117
+ - Privileged access
118
+ - Decisive moment
119
+ - Transformation window
120
+
121
+ The name must create an irresistible promise that generates immediate registrations.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
122
  """,
123
  "examples": [
124
+ "驴Y Si Los Leads Se Generaran Solos? El Extra帽o M茅todo que Funciona Sin Publicidad",
125
+ "La Paradoja del Embudo Invertido Convierte al 27% Cuando Haces Exactamente lo Contrario",
126
+ "Confesiones de un Email Abandonado Las Estrategias que Tu Bandeja de Entrada No Quiere que Sepas",
127
+ "El Experimento Prohibido C贸mo la Industria del Coaching Cambi贸 Para Siempre en 2023",
128
+ "Con Arquitectura Digital Construye tu Imperio Online en 90 D铆as o Te Devolvemos Tu Tiempo",
129
+ "Las 3 Palancas Invisibles Para Crecer en Redes Mientras Todos Hacen lo Mismo",
130
+ "Por Qu茅 la Rebeli贸n del Contenido Est谩 Saboteando lo que Funcionaba Ayer",
131
+ "Con Productos Digitales que se Venden Solos Descubre la Ciencia Detr谩s del 脡xito Mientras Duermes",
132
+ "Hackea la Mente de tus Clientes y S茅 su Primera Opci贸n con el C贸digo del Posicionamiento",
133
+ "La F贸rmula de los 6 Ceros Rompe Todos los R茅cords en Solo 7 D铆as"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
134
  ]
135
  },
136
  "4U": {
137
  "description": """
138
+ The 4U formula adapted for webinar names combines elements for maximum impact:
139
+
140
+ 1. **Useful**:
141
+ Concrete value promises:
142
+ - Definitive solution
143
+ - Proven system
144
+ - Effective method
145
+ - Complete framework
146
+
147
+ 2. **Urgent**:
148
+ Time or exclusivity elements:
149
+ - Limited opportunity
150
+ - Early access
151
+ - Unique event
152
+ - Action window
153
+
154
+ 3. **Unique**:
155
+ Memorable differentiators:
156
+ - Revolutionary approach
157
+ - Counterintuitive method
158
+ - Exclusive system
159
+ - Patented technique
160
+
161
+ 4. **Ultra-specific**:
162
+ Precise and measurable details:
163
+ - Quantifiable results
164
+ - Concrete timeframes
165
+ - Specific benefits
166
+ - Measurable transformation
167
+
168
+ The name must combine these elements to create an irresistible proposition.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
169
  """,
170
+ "examples": [
171
+ "Con Los 3 Pilares Invisibles Genera 10K Mensuales Sin Experiencia Previa ni Contactos",
172
+ "La Paradoja del Tr谩fico Fr铆o Convierte Desconocidos en Clientes en Solo 72 Horas",
173
+ "Multiplica tu Audiencia por 10 en 60 D铆as con la Estrategia de Contenidos que Nadie Est谩 Usando",
174
+ "Construye tu Ecosistema de 6 Cifras Sin Burnout con Arquitectura de Membres铆as",
175
+ "Domina Instagram Sin Sacrificar 3 Horas Diarias de tu Vida con el Algoritmo Descifrado",
176
+ "Con el Framework de los 5 Pasos Vende tus Servicios al Precio que Merecen Sin Objeciones",
177
+ "Con Ingenier铆a de Funnels Crea tu Sistema de Ventas Automatizado en 14 D铆as o Menos",
178
+ "Por Qu茅 Algunos Cobran el Doble con la Mitad de Esfuerzo Gracias a la Ciencia del Posicionamiento Premium",
179
+ "Genera 100K Sin Lista, Sin Contactos y Sin Experiencia Previa con el Lanzamiento Fantasma",
180
+ "De Freelancer Estresado a Empresario Digital en 90 D铆as con las 4 Fases de la Agencia Rentable"
181
+ ]
182
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
183
  }