JeCabrera commited on
Commit
a6da4d9
·
verified ·
1 Parent(s): 013b727

Upload 10 files

Browse files
README.md CHANGED
@@ -1,13 +1,28 @@
1
- ---
2
- title: Perfect Webinar
3
- emoji: 🐢
4
- colorFrom: purple
5
- colorTo: indigo
6
- sdk: streamlit
7
- sdk_version: 1.44.0
8
- app_file: app.py
9
- pinned: false
10
- license: mit
11
- ---
12
-
13
- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ sdk: streamlit
3
+ colorFrom: yellow
4
+ colorTo: gray
5
+ pinned: false
6
+ title: Multi hookgenerator 2 Reto RoboCopy 2G
7
+ license: afl-3.0
8
+ emoji:
9
+ thumbnail: >-
10
+ https://cdn-uploads.huggingface.co/production/uploads/66c41fa62777c050701989a9/D4k6XvaEzAaSJkNb01JTU.png
11
+ short_description: Conjure enchanting titles effortlessly with AI Magic
12
+ sdk_version: 1.44.0
13
+ ---
14
+
15
+ ## Generador de Titulares
16
+
17
+ Este Space utiliza la API de Geminis para generar titulares atractivos basados en los parámetros que proporcionas.
18
+
19
+ ### Cómo Usar
20
+
21
+ 1. Introduce el número de titulares que deseas generar.
22
+ 2. Especifica el público objetivo.
23
+ 3. Proporciona el nombre del producto o servicio.
24
+ 4. Haz clic en "Generar Titulares" para obtener tus titulares.
25
+
26
+ ### Contacto
27
+
28
+ Para más información, revisa la documentación del modelo y la interfaz en Hugging Face.
angles/__init__.py ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ # This file makes the angles directory a Python package
2
+ from .angle_data import angles
angles/angle_data.py ADDED
@@ -0,0 +1,77 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Unified angle dictionary containing all information
2
+ angles = {
3
+ "NINGUNO": {
4
+ "instruction": "",
5
+ "examples": []
6
+ },
7
+ "AUTORIDAD": {
8
+ "instruction": "Menciona expertos, credenciales o instituciones reconocidas. Usa títulos profesionales y logros verificables.",
9
+ "examples": [
10
+ "La doctora Daniela Bermudez experta en Tanatología explica cómo la resiliencia nos ayuda a superar la pérdida",
11
+ "El remedio natural para curar la calvicie de uno de los herbolarios más reconocidos en Harvard",
12
+ "5 consejos de la reconocida escritora J. K. Rowling para iniciarse como escritor de fantasía"
13
+ ]
14
+ },
15
+ "CURIOSIDAD": {
16
+ "instruction": "Crea misterio y genera intriga. Usa el factor 'nunca antes visto' o 'lo que no sabías'.",
17
+ "examples": [
18
+ "Lo Que Nunca Debes Comer En Un Avión",
19
+ "20 palabras prohibidas que nunca debes mencionar frente a tus hijos",
20
+ "Escalofriante costumbre de los monjes tibetanos que nunca debes hacer",
21
+ "Se casa con su jefe después de haber sido humillada 5 años en el trabajo"
22
+ ]
23
+ },
24
+ "ADVERTENCIA": {
25
+ "instruction": "Alerta sobre riesgos o consecuencias. Usa palabras como CUIDADO, ADVERTENCIA, ¡DETENTE!",
26
+ "examples": [
27
+ "CUIDADO: Si tu cuerpo está presentando algunos de estos síntomas... tienes que ir con el médico",
28
+ "ADVERTENCIA: lo que las agencias de viajes no quieren que sepas cuando te vas de viaje",
29
+ "¡DETENTE! y descubre lo que no sabías de la culinaria ancestral asiática",
30
+ "CUIDADO: lo que el pediatra de tus hijos no quiere que sepas sobre la diabetes infantil"
31
+ ]
32
+ },
33
+ "EMOCIONAL": {
34
+ "instruction": "Conecta con sentimientos y experiencias personales. Usa historias y situaciones relatable.",
35
+ "examples": [
36
+ "7 formas de ganar dinero en menos de 24 horas... aun si tu negocio está por quebrar",
37
+ "Confesiones de un ex-empleado de Starbucks que te darán las ideas para crear tu propia cafetería",
38
+ "Para todas las mamás primerizas que no logran cambiar el pañal de su bebé con éxito",
39
+ "¿La menstruación frustró tus vacaciones? 10 tips supereficaces para disfrutar aun esos días"
40
+ ]
41
+ },
42
+ "SENSACIONALISTA": {
43
+ "instruction": "Usa el impacto y la sorpresa. Emplea palabras como ATERRADOR, INCREÍBLE, ¡NUNCA ANTES VISTO!",
44
+ "examples": [
45
+ "ATERRADOR método que utiliza el ejército israelí que te hará perder 7 kilos en una semana",
46
+ "¡Mandar nudes es lo de hoy! Peligroso pero efectivo método para ligar en redes sociales",
47
+ "¡Nunca antes visto! Asesino serial consigue abrir un canal en YouTube para dar clases de cocina",
48
+ "La más reciente prueba de amor que está matando a los adolescentes"
49
+ ]
50
+ },
51
+ "CONTRASTE": {
52
+ "instruction": "Presenta situaciones paradójicas o inesperadas. Combina elementos opuestos.",
53
+ "examples": [
54
+ "¿Quieres una piel joven y tersa? Descubre los secretos de una mujer de 60 años para tener piel de bebé",
55
+ "Descubre cómo el mal aliento me ayudó a enamorar a la mujer de mis sueños",
56
+ "Esta técnica de lectura rápida me ayudó a pasar mis exámenes sin tener que pasar meses estudiando",
57
+ "¿La menstruación frustró tus vacaciones? 10 tips súper eficaces para disfrutar aún esos días"
58
+ ]
59
+ },
60
+ "PREGUNTA": {
61
+ "instruction": "Involucra al lector directamente con preguntas. Usa '¿Quieres...?', '¿Te gustaría...?', '¿Sabías...?'",
62
+ "examples": [
63
+ "¿Cuál De Estos Problemas De Salud Quieres Solucionar?",
64
+ "¿Te gustaría ser más persuasivo y convincente para vender más y mejor?",
65
+ "¿Quieres aprender un nuevo idioma en poco tiempo y de forma sencilla?",
66
+ "¿Cometes estos errores garrafales en tus textos digitales?"
67
+ ]
68
+ },
69
+ "MEZCLA": {
70
+ "instruction": "Combina diferentes ángulos de forma natural. Mezcla autoridad con curiosidad o advertencia con emoción.",
71
+ "examples": [
72
+ "Cuando Los Doctores Tienen Dolor De Cabeza, ¿Qué Hacen?",
73
+ "Descubre los 7 alimentos grasosos que harán bajes de peso en tan solo 3 días si los comes en luna llena",
74
+ "¿Te gustaría viajar por los Alpes Suizos con un dólar? Con este tren lo puedes lograr"
75
+ ]
76
+ }
77
+ }
app.py ADDED
@@ -0,0 +1,357 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from dotenv import load_dotenv
2
+ import streamlit as st
3
+ import os
4
+ import google.generativeai as genai
5
+ import random
6
+ from streamlit import session_state as state
7
+ from formulas import headline_formulas
8
+ from angles import angles
9
+ from formulas.webinar_formulas import webinar_formulas
10
+ from formulas.webinar_names import 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
+ # Fórmulas con ejemplos y explicaciones
19
+ # headline_formulas dictionary has been moved to formulas/headline_formulas.py
20
+
21
+ def generate_headlines(number_of_headlines, target_audience, product, temperature, selected_formula, selected_angle):
22
+ # Crear la configuración del modelo
23
+ generation_config = {
24
+ "temperature": temperature,
25
+ "top_p": 0.65,
26
+ "top_k": 360,
27
+ "max_output_tokens": 8196,
28
+ }
29
+
30
+ model = genai.GenerativeModel(
31
+ model_name="gemini-2.0-flash",
32
+ generation_config=generation_config,
33
+ )
34
+
35
+ # Angle dictionaries have been moved to angles/angle_data.py
36
+
37
+ # Incluir las instrucciones del sistema en el prompt principal
38
+ system_prompt = f"""You are a world-class copywriter, with expertise in crafting hooks, headlines, and subject lines that immediately capture the reader's attention, prompting them to open the email or continue reading.
39
+
40
+ FORMAT RULES:
41
+ - Each headline must start with number and period
42
+ - One headline per line
43
+ - No explanations or categories
44
+ - Add a line break between each headline
45
+ - Avoid unnecessary : symbols
46
+ - Each headline must be a complete and intriguing sentence
47
+
48
+ IMPORTANT ANGLE INSTRUCTIONS:
49
+ - The selected angle MUST be applied to EVERY headline
50
+ - The angle modifies HOW the formula is expressed, not its structure
51
+ - Think of the angle as a "tone overlay" on the formula
52
+ - The formula provides the structure, the angle provides the style
53
+ - Both must work together seamlessly
54
+
55
+ FORMAT EXAMPLE:
56
+ 1. Titular 1.
57
+
58
+ 2. Titular 2.
59
+
60
+ 3. Titular 3.
61
+
62
+ 4. Titular 4.
63
+
64
+ 5. Titular 5.
65
+
66
+ IMPORTANT:
67
+ - Each headline must be unique and memorable
68
+ - Avoid clichés and generalities
69
+ - Maintain an intriguing but credible tone
70
+ - Adapt speaking language from the audience
71
+ - Focus on transformative benefits
72
+ - Follow the selected angle style while maintaining formula structure"""
73
+
74
+ # Iniciar el prompt con las instrucciones del sistema
75
+ headlines_instruction = f"{system_prompt}\n\n"
76
+
77
+ # Añadir instrucciones de ángulo solo si no es "NINGUNO"
78
+ if selected_angle != "NINGUNO":
79
+ headlines_instruction += f"""
80
+ ÁNGULO PRINCIPAL: {selected_angle}
81
+ INSTRUCCIONES DE ÁNGULO ESPECÍFICAS:
82
+ {angles[selected_angle]["instruction"]}
83
+
84
+ IMPORTANTE: El ángulo {selected_angle} debe aplicarse como una "capa de estilo" sobre la estructura de la fórmula:
85
+ 1. Mantén la estructura base de la fórmula intacta
86
+ 2. Aplica el tono y estilo del ángulo {selected_angle}
87
+ 3. Asegura que cada elemento de la fórmula refleje el ángulo
88
+ 4. El ángulo afecta al "cómo" se dice, no al "qué" se dice
89
+
90
+ EJEMPLOS EXITOSOS DEL ÁNGULO {selected_angle}:
91
+ """
92
+ for example in angles[selected_angle]["examples"]:
93
+ headlines_instruction += f"- {example}\n"
94
+
95
+ headlines_instruction += (
96
+ f"\nTu tarea es crear {number_of_headlines} titulares irresistibles para {target_audience} "
97
+ f"que capturen la atención instantáneamente y generen curiosidad sobre {product}. "
98
+ )
99
+
100
+ if selected_angle != "NINGUNO":
101
+ headlines_instruction += f"IMPORTANTE: Cada titular DEBE seguir el ángulo {selected_angle} de manera clara y consistente.\n\n"
102
+
103
+ headlines_instruction += (
104
+ f"Evita menciones obvias de {product} y enfócate en despertar interés genuino"
105
+ )
106
+
107
+ if selected_angle != "NINGUNO":
108
+ headlines_instruction += f" usando el ángulo seleccionado"
109
+
110
+ headlines_instruction += ".\n\n"
111
+
112
+ headlines_instruction += (
113
+ f"IMPORTANTE: Estudia cuidadosamente estos ejemplos de la fórmula seleccionada. "
114
+ f"Cada ejemplo representa el estilo y estructura a seguir"
115
+ )
116
+
117
+ if selected_angle != "NINGUNO":
118
+ headlines_instruction += f", adaptados al ángulo {selected_angle}"
119
+
120
+ headlines_instruction += ":\n\n"
121
+
122
+ # Agregar 5 ejemplos aleatorios de la fórmula
123
+ random_examples = random.sample(selected_formula['examples'], min(5, len(selected_formula['examples'])))
124
+
125
+ headlines_instruction += "EJEMPLOS DE LA FÓRMULA A SEGUIR:\n"
126
+ for i, example in enumerate(random_examples, 1):
127
+ headlines_instruction += f"{i}. {example}\n"
128
+
129
+ headlines_instruction += "\nINSTRUCCIONES ESPECÍFICAS:\n"
130
+ headlines_instruction += "1. Mantén la misma estructura y longitud que los ejemplos anteriores\n"
131
+ headlines_instruction += "2. Usa el mismo tono y estilo de escritura\n"
132
+ headlines_instruction += "3. Replica los patrones de construcción de frases\n"
133
+ headlines_instruction += "4. Conserva el nivel de especificidad y detalle\n"
134
+ headlines_instruction += f"5. Adapta el contenido para {target_audience} manteniendo la esencia de los ejemplos\n\n"
135
+
136
+ headlines_instruction += f"FÓRMULA A SEGUIR:\n{selected_formula['description']}\n\n"
137
+
138
+ # CORRECTO (con indentación):
139
+ if selected_angle != "NINGUNO":
140
+ headlines_instruction += f"""
141
+ RECORDATORIO FINAL:
142
+ 1. Sigue la estructura de la fórmula seleccionada
143
+ 2. Aplica el ángulo como una "capa de estilo"
144
+ 3. Mantén la coherencia entre fórmula y ángulo
145
+ 4. Asegura que cada titular refleje ambos elementos
146
+
147
+ GENERA AHORA:
148
+ Crea {number_of_headlines} titulares que sigan fielmente el estilo y estructura de los ejemplos mostrados.
149
+ """
150
+ else:
151
+ headlines_instruction += f"""
152
+ GENERA AHORA:
153
+ Crea {number_of_headlines} titulares que sigan fielmente el estilo y estructura de los ejemplos mostrados.
154
+ """
155
+
156
+ # Enviar el mensaje al modelo (sin condiciones de imagen)
157
+ chat_session = model.start_chat(
158
+ history=[
159
+ {
160
+ "role": "user",
161
+ "parts": [headlines_instruction],
162
+ },
163
+ ]
164
+ )
165
+ response = chat_session.send_message("Genera los titulares siguiendo exactamente el estilo de los ejemplos mostrados.")
166
+
167
+ return response.text
168
+
169
+ # Función para generar nombres de webinars
170
+ def generate_webinar_names(number_of_names, target_audience, product, temperature, selected_formula):
171
+ # Crear la configuración del modelo
172
+ generation_config = {
173
+ "temperature": temperature,
174
+ "top_p": 0.65,
175
+ "top_k": 360,
176
+ "max_output_tokens": 8196,
177
+ }
178
+
179
+ model = genai.GenerativeModel(
180
+ model_name="gemini-2.0-flash",
181
+ generation_config=generation_config,
182
+ )
183
+
184
+ # Incluir las instrucciones del sistema en el prompt principal
185
+ system_prompt = f"""You are a world-class copywriter, with expertise in crafting compelling webinar titles that immediately capture the audience's attention and drive registrations.
186
+
187
+ FORMAT RULES:
188
+ - Each webinar name must start with number and period
189
+ - One webinar name per line
190
+ - No explanations or categories
191
+ - Add a line break between each name
192
+ - Avoid unnecessary : symbols
193
+ - Each webinar name must be a complete and intriguing title
194
+
195
+ FORMAT EXAMPLE:
196
+ 1. Webinar Title 1.
197
+
198
+ 2. Webinar Title 2.
199
+
200
+ 3. Webinar Title 3.
201
+
202
+ 4. Webinar Title 4.
203
+
204
+ 5. Webinar Title 5.
205
+
206
+ IMPORTANT:
207
+ - Each webinar name must be unique and memorable
208
+ - Avoid clichés and generalities
209
+ - Maintain an intriguing but credible tone
210
+ - Adapt speaking language from the audience
211
+ - Focus on transformative benefits
212
+ - Follow the selected formula structure"""
213
+
214
+ # Iniciar el prompt con las instrucciones del sistema
215
+ webinar_names_instruction = f"{system_prompt}\n\n"
216
+
217
+ webinar_names_instruction += (
218
+ f"\nTu tarea es crear {number_of_names} nombres de webinar irresistibles para {target_audience} "
219
+ f"que capturen la atención instantáneamente y generen registros para un webinar sobre {product}. "
220
+ )
221
+
222
+ webinar_names_instruction += (
223
+ f"Enfócate en despertar interés genuino y comunicar el valor que obtendrán al registrarse."
224
+ )
225
+
226
+ webinar_names_instruction += ".\n\n"
227
+
228
+ webinar_names_instruction += (
229
+ f"IMPORTANTE: Estudia cuidadosamente estos ejemplos de la fórmula seleccionada. "
230
+ f"Cada ejemplo representa el estilo y estructura a seguir"
231
+ )
232
+
233
+ webinar_names_instruction += ":\n\n"
234
+
235
+ # Agregar 5 ejemplos aleatorios de la fórmula
236
+ random_examples = random.sample(selected_formula['examples'], min(5, len(selected_formula['examples'])))
237
+
238
+ webinar_names_instruction += "EJEMPLOS DE LA FÓRMULA A SEGUIR:\n"
239
+ for i, example in enumerate(random_examples, 1):
240
+ webinar_names_instruction += f"{i}. {example}\n"
241
+
242
+ webinar_names_instruction += "\nINSTRUCCIONES ESPECÍFICAS:\n"
243
+ webinar_names_instruction += "1. Mantén la misma estructura y longitud que los ejemplos anteriores\n"
244
+ webinar_names_instruction += "2. Usa el mismo tono y estilo de escritura\n"
245
+ webinar_names_instruction += "3. Replica los patrones de construcción de frases\n"
246
+ webinar_names_instruction += "4. Conserva el nivel de especificidad y detalle\n"
247
+ webinar_names_instruction += f"5. Adapta el contenido para {target_audience} manteniendo la esencia de los ejemplos\n\n"
248
+
249
+ webinar_names_instruction += f"FÓRMULA A SEGUIR:\n{selected_formula['description']}\n\n"
250
+
251
+ webinar_names_instruction += f"""
252
+ GENERA AHORA:
253
+ Crea {number_of_names} nombres de webinar que sigan fielmente el estilo y estructura de los ejemplos mostrados.
254
+ """
255
+
256
+ # Enviar el mensaje al modelo
257
+ chat_session = model.start_chat(
258
+ history=[
259
+ {
260
+ "role": "user",
261
+ "parts": [webinar_names_instruction],
262
+ },
263
+ ]
264
+ )
265
+ response = chat_session.send_message("Genera los nombres de webinar siguiendo exactamente el estilo de los ejemplos mostrados.")
266
+
267
+ return response.text
268
+
269
+ # Configurar la interfaz de usuario con Streamlit
270
+ st.set_page_config(page_title="Perfect Webinar Framework", layout="wide")
271
+
272
+ # Leer el contenido del archivo manual.md
273
+ with open("manual.md", "r", encoding="utf-8") as file:
274
+ manual_content = file.read()
275
+
276
+ # Mostrar el contenido del manual en el sidebar
277
+ st.sidebar.markdown(manual_content)
278
+
279
+ # Load CSS from file
280
+ with open("styles/main.css", "r") as f:
281
+ css = f.read()
282
+
283
+ # Apply the CSS
284
+ st.markdown(f"<style>{css}</style>", unsafe_allow_html=True)
285
+
286
+ # Modificar la configuración de pestañas para tener solo 2
287
+ tab1, tab2 = st.tabs(["Generador de Nombres de Webinar", "Generador de Guiones de Webinar"])
288
+
289
+ with tab1:
290
+ # Centrar el título y el subtítulo
291
+ st.markdown("<h1 style='text-align: center;'>Webinar Name Generator</h1>", unsafe_allow_html=True)
292
+ st.markdown("<h4 style='text-align: center;'>Genera nombres de webinar irresistibles que aumenten tus registros y capturen la atención de tu audiencia ideal.</h4>", unsafe_allow_html=True)
293
+
294
+ # Crear columnas
295
+ col1, col2 = st.columns([1, 2])
296
+
297
+ # Columnas de entrada
298
+ with col1:
299
+ webinar_name_audience = st.text_input("¿Quién es tu público objetivo?", placeholder="Ejemplo: Emprendedores digitales", key="webinar_name_audience")
300
+ webinar_name_product = st.text_input("¿Sobre qué tema es tu webinar?", placeholder="Ejemplo: Marketing en redes sociales", key="webinar_name_product")
301
+ number_of_names = st.selectbox("Número de nombres", options=[1, 2, 3, 4, 5, 6, 7, 8, 9, 10], index=4, key="number_of_names")
302
+
303
+ # Crear un único acordeón para fórmula, creatividad y ángulo
304
+ with st.expander("Personaliza tus nombres de webinar"):
305
+ webinar_name_temperature = st.slider("Creatividad", min_value=0.0, max_value=2.0, value=1.0, step=0.1, key="webinar_name_temp")
306
+
307
+ selected_webinar_name_formula_key = st.selectbox(
308
+ "Selecciona una fórmula para tus nombres de webinar",
309
+ options=list(webinar_names.keys()),
310
+ key="webinar_name_formula"
311
+ )
312
+
313
+ # Automatically use the keys from the angles dictionary
314
+ # Make sure "NINGUNO" appears first, then the rest alphabetically
315
+ angle_keys = ["NINGUNO"] + sorted([key for key in angles.keys() if key != "NINGUNO"])
316
+ selected_angle = st.selectbox(
317
+ "Selecciona el ángulo para tus nombres",
318
+ options=angle_keys,
319
+ key="webinar_name_angle"
320
+ )
321
+
322
+ selected_webinar_name_formula = webinar_names[selected_webinar_name_formula_key]
323
+
324
+ # Botón de enviar
325
+ submit_webinar_names = st.button("Generar Nombres de Webinar")
326
+
327
+ # Mostrar los nombres generados
328
+ if submit_webinar_names:
329
+ # Check if we have valid inputs
330
+ has_webinar_name_product = webinar_name_product.strip() != ""
331
+ has_webinar_name_audience = webinar_name_audience.strip() != ""
332
+
333
+ # Valid combination: Product + Audience
334
+ valid_webinar_name_inputs = has_webinar_name_product and has_webinar_name_audience
335
+
336
+ if valid_webinar_name_inputs:
337
+ try:
338
+ with st.spinner("Generando nombres de webinar irresistibles..."):
339
+ # Usar la función de titulares adaptada para nombres de webinar
340
+ generated_webinar_names = generate_headlines(
341
+ number_of_names,
342
+ webinar_name_audience,
343
+ webinar_name_product,
344
+ webinar_name_temperature,
345
+ selected_webinar_name_formula,
346
+ selected_angle
347
+ )
348
+ col2.markdown(f"""
349
+ <div class="results-container">
350
+ <h4>Tus nombres de webinar:</h4>
351
+ <div class="webinar-names">{generated_webinar_names}</div>
352
+ </div>
353
+ """, unsafe_allow_html=True)
354
+ except ValueError as e:
355
+ col2.error(f"Error: {str(e)}")
356
+ else:
357
+ col2.error("Por favor, proporciona el público objetivo y el tema del webinar.")
formulas/__init__.py ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ # This file makes the formulas directory a Python package
2
+ from .headline_formulas import headline_formulas
formulas/headline_formulas.py ADDED
@@ -0,0 +1,402 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Fórmulas con ejemplos y explicaciones
2
+ headline_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
+ }
formulas/webinar_names.py ADDED
@@ -0,0 +1,52 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ webinar_names = {
2
+ "Transformación y Resultados": {
3
+ "description": "Fórmulas que enfatizan la transformación y los resultados concretos que obtendrá la audiencia.",
4
+ "examples": [
5
+ "Cómo [Lograr Resultado Deseado] en [Periodo de Tiempo] sin [Obstáculo Común]",
6
+ "El método de [Número] pasos para [Resultado Transformador] incluso si [Limitación]",
7
+ "La fórmula probada para [Beneficio Principal] en solo [Tiempo Corto]",
8
+ "Descubre cómo [Audiencia] están [Resultado Impresionante] utilizando este [Sistema/Método]",
9
+ "El camino definitivo hacia [Resultado Deseado]: [Número] estrategias que funcionan"
10
+ ]
11
+ },
12
+ "Secretos y Revelaciones": {
13
+ "description": "Fórmulas que sugieren información privilegiada o poco conocida que será revelada.",
14
+ "examples": [
15
+ "Los [Número] secretos que [Expertos/Competencia] no quieren que sepas sobre [Tema]",
16
+ "Revelado: El método oculto para [Resultado] que [Autoridad] ha estado guardando",
17
+ "La verdad no contada sobre [Tema/Industria]: Cómo [Beneficio] sin [Método Tradicional]",
18
+ "Por fin al descubierto: El sistema [Nombre] para [Resultado] que revoluciona [Industria]",
19
+ "Secretos internos: Cómo [Audiencia] están silenciosamente [Resultado] mientras otros [Problema]"
20
+ ]
21
+ },
22
+ "Masterclass y Autoridad": {
23
+ "description": "Fórmulas que posicionan el webinar como una clase magistral impartida por una autoridad.",
24
+ "examples": [
25
+ "Masterclass: [Tema] - Cómo [Resultado Principal] como un verdadero profesional",
26
+ "[Tema] Masterclass: El método [Nombre] para [Transformación] en [Tiempo]",
27
+ "Masterclass exclusiva: [Número] estrategias avanzadas para [Objetivo] que solo los expertos conocen",
28
+ "Masterclass [Tema]: De principiante a experto en [Tiempo] con el sistema [Nombre]",
29
+ "La Masterclass definitiva de [Tema]: Domina [Habilidad] y [Resultado]"
30
+ ]
31
+ },
32
+ "Caso de Estudio y Prueba Social": {
33
+ "description": "Fórmulas que utilizan casos de estudio y pruebas sociales como gancho principal.",
34
+ "examples": [
35
+ "Caso de estudio: Cómo [Persona/Empresa] pasó de [Situación Inicial] a [Resultado] en [Tiempo]",
36
+ "Caso de estudio en vivo: El método exacto que usó [Persona] para [Resultado]",
37
+ "Cómo [Cliente] logró [Resultado Impresionante] sin [Método Tradicional] - Caso de estudio completo",
38
+ "[Número] casos de estudio revelados: La fórmula común que transformó [Problema] en [Solución]",
39
+ "De [Situación Negativa] a [Situación Positiva]: El caso de estudio de [Persona/Empresa] al descubierto"
40
+ ]
41
+ },
42
+ "Urgencia y Escasez": {
43
+ "description": "Fórmulas que crean un sentido de urgencia o escasez para motivar la participación.",
44
+ "examples": [
45
+ "Evento único: [Tema] - La oportunidad que solo aparece una vez para [Resultado]",
46
+ "Última oportunidad: El webinar de [Tema] que cambiará tu [Área] para siempre",
47
+ "Acceso limitado: [Tema] - Solo [Número] personas descubrirán cómo [Resultado]",
48
+ "Webinar especial por tiempo limitado: La fórmula [Nombre] para [Resultado]",
49
+ "Evento irrepetible: Cómo [Resultado] antes de que [Consecuencia Negativa/Deadline]"
50
+ ]
51
+ }
52
+ }
manual.md ADDED
@@ -0,0 +1,106 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Manual de Usuario
2
+
3
+ ### Introducción
4
+ Bienvenido a Enchanted Hooks, tu asistente mágico para crear titulares cautivadores. Esta herramienta está diseñada para transformar conceptos en titulares persuasivos que capturan la atención y motivan a la acción.
5
+
6
+ ### Guía Rápida de Uso
7
+
8
+ #### 1. Información Básica
9
+ - **Público Objetivo**
10
+ - Define claramente tu audiencia
11
+ - Ejemplo: "Emprendedores digitales", "Profesionales freelance"
12
+ - Sé específico para resultados óptimos
13
+
14
+ - **Producto o Servicio**
15
+ - Describe tu oferta concisamente
16
+ - Ejemplo: "Curso de copywriting", "Software de productividad"
17
+ - Incluye detalles relevantes sin extenderte
18
+
19
+ - **Número de Titulares**
20
+ - Selecciona entre 1-10 titulares
21
+ - Recomendado: 3-5 para mayor impacto
22
+ - Ajusta según tus necesidades
23
+
24
+ #### 2. Panel de Personalización
25
+
26
+ ##### Control de Creatividad
27
+ - **Ajuste de Temperatura (0.0 - 2.0)**
28
+ - 0.0-0.7: Conservador y directo
29
+ - 0.8-1.2: Balance óptimo
30
+ - 1.3-2.0: Experimental y creativo
31
+
32
+ ##### Fórmulas Disponibles
33
+
34
+ #### GPS (Goal-Period-Solution)
35
+ - **Estructura**: Meta + Tiempo + Solución
36
+ - **Ideal para**: Promesas específicas y medibles
37
+ - **Elementos clave**:
38
+ - ¿Qué quiere conseguir el lector?
39
+ - ¿En qué tiempo lo quiere?
40
+ - ¿Qué objeción superar?
41
+
42
+ #### Numérica Suprema
43
+ - **Estructura**: Artículo + Número + Adjetivo + Palabra Clave + Razón + Promesa
44
+ - **Variantes**:
45
+ - Básica: Los 3 métodos probados...
46
+ - Intermedia: Las 5 técnicas efectivas que...
47
+ - Avanzada: Los 7 sistemas revolucionarios cuando...
48
+
49
+ #### AIDA (Atención-Interés-Deseo-Acción)
50
+ - **Elementos**:
51
+ - Atención: Ganchos poderosos
52
+ - Interés: Desarrollo relevante
53
+ - Deseo: Amplificación emocional
54
+ - Acción: Cierre natural
55
+ - **Combinaciones estratégicas**:
56
+ - A + I: Curiosidad y valor
57
+ - A + D: Problema y solución
58
+ - I + D + A: Convicción y motivación
59
+
60
+ #### 4U (Útil-Urgente-Único-Ultra-específico)
61
+ - **Componentes**:
62
+ - Útil: Beneficios prácticos
63
+ - Urgente: Motivadores de acción
64
+ - Único: Diferenciadores
65
+ - Ultra-específico: Detalles precisos
66
+ - **Usos óptimos**:
67
+ - Ofertas especiales
68
+ - Lanzamientos
69
+ - Propuestas de valor
70
+
71
+ ### Mejores Prácticas
72
+
73
+ #### Para Resultados Óptimos
74
+ 1. Sé específico con tu audiencia
75
+ 2. Define claramente tu producto
76
+ 3. Experimenta con diferentes fórmulas
77
+ 4. Ajusta la creatividad según necesites
78
+ 5. Revisa y adapta los resultados
79
+
80
+ #### Qué Evitar
81
+ 1. Descripciones vagas
82
+ 2. Creatividad sin propósito
83
+ 3. Ignorar el contexto
84
+ 4. Fórmulas sin adaptación
85
+
86
+ ### Solución de Problemas
87
+
88
+ #### Problemas Comunes
89
+ - **Titulares genéricos**
90
+ - Solución: Mayor especificidad
91
+ - Ajustar creatividad a la baja
92
+
93
+ - **Resultados inconsistentes**
94
+ - Solución: Creatividad moderada
95
+ - Seleccionar fórmula apropiada
96
+
97
+ - **Contenido irrelevante**
98
+ - Solución: Mejorar descripción
99
+ - Ajustar enfoque del producto
100
+
101
+ ### Consejos Avanzados
102
+ 1. Alterna entre fórmulas
103
+ 2. Guarda los mejores resultados
104
+ 3. Adapta el lenguaje a tu mercado
105
+ 4. Mantén consistencia de marca
106
+ 5. Integra palabras clave relevantes
requirements.txt ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
 
1
+ streamlit
2
+ google-generativeai
3
+ python-dotenv
4
+ langchain
5
+ PyPDF2
6
+ chromadb
7
+ pdf2image
8
+ faiss-cpu
styles/main.css ADDED
@@ -0,0 +1,88 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /* Main container styling */
2
+ .block-container {
3
+ padding-top: 1rem;
4
+ padding-bottom: 5rem;
5
+ }
6
+
7
+ /* Title spacing */
8
+ h1 {
9
+ margin-top: -2rem;
10
+ padding-top: 0.5rem;
11
+ }
12
+
13
+ /* Subtitle spacing */
14
+ h4 {
15
+ margin-top: 0.5rem;
16
+ padding-top: 0rem;
17
+ }
18
+
19
+ /* Custom button styling */
20
+ /* Custom styling for the generate button */
21
+ [data-testid="stButton"] > button {
22
+ background: linear-gradient(90deg, #FFD700, #FFA500) !important;
23
+ color: #333 !important;
24
+ padding: 8px 15px !important; /* Reduced padding */
25
+ border-radius: 8px !important;
26
+ border: none !important;
27
+ font-weight: bold !important;
28
+ width: 100% !important;
29
+ text-align: center !important;
30
+ cursor: pointer !important;
31
+ transition: all 0.3s ease !important;
32
+ box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1) !important;
33
+ margin-top: 10px !important; /* Reduced top margin */
34
+ margin-bottom: 10px !important; /* Reduced bottom margin */
35
+ }
36
+
37
+ [data-testid="stButton"] > button:hover {
38
+ background: linear-gradient(90deg, #FFA500, #FFD700) !important;
39
+ box-shadow: 0 6px 8px rgba(0, 0, 0, 0.15) !important;
40
+ transform: translateY(-2px) !important;
41
+ }
42
+
43
+ [data-testid="stButton"] > button:active {
44
+ transform: translateY(1px) !important;
45
+ box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1) !important;
46
+ }
47
+
48
+ /* Results container */
49
+ .results-container {
50
+ border: 1px solid #000000;
51
+ padding: 15px;
52
+ border-radius: 8px;
53
+ background-color: #ffffff;
54
+ }
55
+
56
+ /* Añadir estos estilos al final del archivo CSS existente */
57
+
58
+ .webinar-names {
59
+ font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
60
+ line-height: 1.8;
61
+ font-size: 1.1em;
62
+ background-color: #f9f9f9;
63
+ padding: 20px;
64
+ border-radius: 8px;
65
+ border-left: 4px solid #4CAF50;
66
+ white-space: pre-wrap;
67
+ }
68
+
69
+ .webinar-script {
70
+ max-height: 70vh;
71
+ overflow-y: auto;
72
+ padding: 15px;
73
+ background-color: #f9f9f9;
74
+ border-radius: 8px;
75
+ border-left: 4px solid #4CAF50;
76
+ white-space: pre-wrap;
77
+ font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
78
+ line-height: 1.6;
79
+ }
80
+
81
+ .webinar-script h1, .webinar-script h2, .webinar-script h3 {
82
+ color: #2E7D32;
83
+ margin-top: 20px;
84
+ }
85
+
86
+ .webinar-script ul, .webinar-script ol {
87
+ padding-left: 25px;
88
+ }