JeCabrera commited on
Commit
09eb0d7
·
verified ·
1 Parent(s): e434ee7

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +128 -327
app.py CHANGED
@@ -1,327 +1,128 @@
1
- cta_formulas = {
2
- "Beneficio Directo": {
3
- "description": """
4
- Formula: [Clear action + Tangible benefit]
5
- This formula combines a direct action with the immediate value the user will gain, ensuring they understand why they should take the next step.
6
-
7
- **Instructions:**
8
- 1. Identify the key action the user should take (download, register, buy, subscribe, try, etc.).
9
- 2. Highlight the main benefit they will get by taking that action (solve a problem, achieve a goal, avoid a mistake, etc.).
10
- 3. Make it attractive and clear, using direct and engaging language.
11
- """,
12
- "examples": """
13
- - "Si sigues mirando sin decidirte, alguien más aprovechará esta oferta antes que tú. Haz clic aquí antes de que sea tarde."
14
- - "Pásate por la tienda antes de que te gane la indecisión (otra vez)"
15
- - "Haz clic ahora y asegura tu unidad antes de que se agoten (quedan muy pocas)"
16
- - "Haz clic antes de que te ganen la última unidad y llores en los comentarios"
17
- - "La diferencia entre "quiero" y "tengo" es este botón 👇"
18
- - "Compra ahora y deja de decir "lo haré dal ratito"(sabemos que no lo harás)"
19
- - "No duele, lo prometo. Solo llena esto y obtén [beneficio]"
20
- - "Tu próxima gran oportunidad está a un formulario de distancia (y sí, hay un premio al final)"
21
- - "Responde esto rápido y arrepentirte cuando veas a otros aprovechando esto"
22
- - "Suscríbete y recibe contenido para [beneficio] que querrás mantenerlo en secreto"
23
- - "Si odias aprender cosas valiosas, NO hagas clic aquí"
24
- - "Una newsletter sin bla bla bla… solo lo que necesitas saber para [beneficio]"
25
- - "Rellena esta encuesta y gana el derecho de decir [beneficio]"
26
- - "Tu opinión vale… pero solo si la escribes aquí 😏"
27
- - "Ganar es fácil. No participar es lo difícil de explicar"
28
- - "Participa y haz que tu suerte trabaje para ti"
29
- - "Este premio no se va a ganar solo. ¿Te apuntas o qué?"
30
- - "Únete al webinar y descubre lo que otros tardaron años en aprender"
31
- - "Si sigues dudando, es que este webinar es justo para ti"
32
- - "Regístrate ahora y deja de perder tiempo en suposiciones"
33
- - "Si te lo pierdes, no digas que no te lo advertí"
34
- - "Asiste y aprende más en una hora que en meses de prueba y error"
35
- - "Lo que va a pasar en este evento cambiará tu forma de ver [tema]. ¿Vienes o qué?"
36
- """
37
- },
38
- "Modo Cenicienta": {
39
- "description": """
40
- Fórmula: [Escasez específica + Pregunta/Consecuencia + Llamado a la acción]
41
- Este CTA combina números exactos o límites de tiempo con consecuencias de no actuar.
42
- El tono debe ser directo y crear FOMO (miedo a perderse algo) de forma natural.
43
- La clave es que la urgencia no se sienta forzada, sino auténtica.
44
-
45
- **Instrucciones para generar este tipo de CTA:**
46
- 1. **Escasez específica:**
47
- - Cupos limitados: "Solo 3 cupos", "Últimas 5 unidades"
48
- - Tiempo límite: "Solo 24 horas", "Expira en 6 horas"
49
- - Posición en lista: "Vas en el puesto 09"
50
- - Último día: "Hoy es el último día"
51
-
52
- 2. **Consecuencia de esperar:**
53
- - Precio: "Mañana costará el doble", "La siguiente ya tendrá precio"
54
- - Competencia: "15 personas en lista de espera"
55
- - Acceso: "Luego solo con membresía"
56
- - Pérdida: "O aprovechas ahora o la ves desaparecer"
57
-
58
- 3. **Llamado a la acción:**
59
- - Usa verbos directos: "Haz clic", "Regístrate", "Asegura"
60
- - Añade ubicación: "aquí", "por acá"
61
- - Refuerza urgencia: "antes que todos", "antes de que lo haga otro"
62
-
63
- 4. **Bonus o beneficio inmediato (opcional):**
64
- - Descuento específico: "40% de descuento"
65
- - Extra: "bonus extra", "precio especial"
66
- - Acceso: "masterclass gratis"
67
- """,
68
- "examples": """
69
- - "¡Mira esto! Hay 15 personas mordisqueándose las uñas mientras miran esta oferta, y solo quedan 3 cupos disponibles... ¿De verdad vas a dejar que Karen (sí, esa Karen) se lleve el tuyo mientras tú sigues pensando? Haz clic aquí antes que ella y su característico 'quiero hablar con el gerente' te ganen."
70
-
71
- ---
72
-
73
- - "Voy a ser brutalmente honesto contigo: mañana este precio se irá tan alto que necesitarás oxígeno para alcanzarlo, así que puedes aprovechar el 40% de descuento ahora o prepararte para explicarle a tu yo del futuro por qué decidiste pagar el doble. Elige sabiamente haciendo clic aquí (tu billetera te lo agradecerá)."
74
-
75
- ---
76
-
77
- - "Te tengo una pregunta existencial: ¿sabes qué es mejor que una guía gratis? ¡Exacto! Dos guías gratis, y adivina qué, quedan justamente dos (las otras ya encontraron hogar más rápido que perritos en adopción). Si te gusta tirar el dinero como confeti en año nuevo, espera a mañana, pero si eres de los inteligentes, haz clic aquí ahora mismo."
78
-
79
- ---
80
-
81
- - "Mira, esta masterclass es tan buena que tuve que ponerle precio para que la gente dejara de pensar que era demasiado buena para ser verdad, pero hoy ando con un ataque de generosidad: tienes 24 horas de acceso gratis antes que mi contador me dé un sermón sobre finanzas responsables. Regístrate aquí antes que recupere la cordura."
82
-
83
- ---
84
-
85
- - "¡Alerta de spoiler! Vas en el puesto 9 de 10 para el bonus especial, y puedo ver al número 10 escribiendo tan rápido que está haciendo humo el teclado. Regístrate por acá antes que te ganen el último lugar (otra vez) y tengas que conformarte con ver las historias de éxito de otros."
86
-
87
- ---
88
-
89
- - "Esta oferta tiene complejo de película de espías: se autodestruirá en 6 horas, pero tranquilo, viene con menos explosiones y más beneficios para tu negocio (aunque igual de emocionante). Asegura tu lugar aquí antes que desaparezca en una nube de humo digital."
90
-
91
- ---
92
-
93
- - "¡Atención! Precio especial más limitado que paciencia en lunes por la mañana: si esperas más tiempo, terminarás pagando como turista perdido en zona premium durante temporada alta. Evita ese momento incómodo (y el dolor en tu billetera) haciendo clic aquí."
94
-
95
- ---
96
-
97
- - "Esto se está acabando más rápido que las ofertas del Buen Fin en tienda departamental, y ya vamos en la cuenta regresiva: 3... 2... ¿De verdad vas a esperar al 1 como si tuvieras todo el tiempo del mundo? Haz clic aquí y deja de hacerte el difícil (sabemos que lo quieres)."
98
- """
99
- },
100
-
101
- "Golpe de Realidad": {
102
- "description": """
103
- Fórmula: [Situación real + Solución directa + Acción clara]
104
- Este enfoque se basa en situaciones cotidianas que tu cliente ideal vive y reconoce, presentando la solución de manera clara y directa que impulse a la acción.
105
- **Instrucciones para escribir este CTA:**
106
- 1. **Describe una frustración o situación común:**
107
- - Usa un tono directo y personal
108
- - Usa una afirmación impactante a una situación real dolorosa.
109
- - Mantén la línea de texto corta y enfocada
110
-
111
- 2. **Desarrolla la solución o beneficio:**
112
- - Conecta con la emoción mencionada
113
- - Añade contexto o urgencia si es necesario
114
- - Mantén un tono conversacional
115
-
116
- 3. **Llamado a la acción:**
117
- - Cierra con un CTA claro y específico
118
- - Usa verbos de acción
119
- - Mantén la naturalidad del flujo
120
-
121
- La clave es mantener cada linea de texto corta y concisa que fluya naturalmente hacia la siguiente, sin forzar un número específico de líneas.
122
- """,
123
- "examples": """
124
- - "Tu página web tiene tanto polvo acumulado que podría ser una reliquia arqueológica, pero no te preocupes, porque vamos a convertirla en una máquina del tiempo que te lleve directo al futuro y deje a tu competencia preguntándose qué pasó. Reserva tu lugar aquí para darle vida desde cero."
125
-
126
- ---
127
-
128
- - "¿Sigues enviando emails al vacío como quien lanza botellas al mar esperando que alguien las encuentre? Tranquilo, existe una forma más inteligente de hacer que tus mensajes no solo lleguen, sino que conquisten corazones (y billeteras). Descarga la guía y deja de ser el náufrago del email marketing."
129
-
130
- ---
131
-
132
- - "Si tus prospectos te están ignorando más que ex en redes sociales, probablemente necesites lo que estoy a punto de mostrarte, porque tengo el secreto para volverte tan irresistible que hasta tu ex querrá seguirte. Un solo clic y descubrirás cómo dejar de ser el fantasma de las ventas."
133
-
134
- ---
135
-
136
- - "Cuando tu estrategia de ventas da más miedo que película de terror en noche de luna llena, sabes que es momento de un cambio radical, así que prepárate para convertir ese guion de horror en un éxito de taquilla. Únete aquí y transformemos esa historia de terror en un blockbuster digno de Oscar."
137
-
138
- ---
139
-
140
- - "Entre selfies de tu gato y fotos artísticas de tu café con leche, tu Instagram está suplicando a gritos una estrategia que genere algo más que likes de cortesía y los inevitables comentarios de tu mamá. Aprende a monetizarlo aquí y convierte esos corazoncitos en transferencias bancarias que harán sonreír a tu contador."
141
-
142
- ---
143
-
144
- - "¿Tu estrategia de email marketing está más cerrada que búnker en guerra fría? No desesperes, porque todos empezamos construyendo fortalezas impenetrables antes de aprender a abrir las puertas correctas. Descubre aquí cómo crear conexiones genuinas sin necesidad de dinamita digital."
145
-
146
- ---
147
-
148
- - "Mientras tus anuncios devoran tu presupuesto como adolescente en buffet libre, tu tarjeta de crédito está enviando señales de socorro. Es hora de poner orden en casa antes que tu banco te declare persona no grata. Aprende a optimizarlos aquí y convierte ese buffet en un menú gourmet de conversiones."
149
-
150
- ---
151
-
152
- - "Si tus redes sociales están tan abandonadas que podrían ser el escenario perfecto para 'The Walking Dead: Edición Marketing', no te angusties, porque tengo el plan perfecto para resucitarlas y llenarlas de vida. Descubre aquí cómo convertir ese cementerio digital en un oasis de engagement."
153
-
154
- ---
155
-
156
- - "Tu negocio es actualmente más invisible que un ninja usando camuflaje en la oscuridad mientras juega a las escondidas, pero eso está a punto de cambiar. Es momento de encender los reflectores y brillar como supernova en una noche despejada. Aprende aquí la estrategia que te convertirá en el centro de todas las miradas."
157
-
158
- ---
159
-
160
- - "Si tu marca está pasando tan desapercibida que hasta los camaleones te dan consejos de visibilidad, es momento de hacer algo al respecto. Prepárate para una transformación tan espectacular que hasta los daltónicos notarán tu presencia. Comienza aquí el cambio que hará que todos volteen a verte (y no puedan dejar de mirarte)."
161
- """
162
- },
163
- "Dile Adiós a la Espera": {
164
- "description": """
165
- Formula: [Main benefit + How to achieve it + Direct call to action]
166
- This formula not only shows the benefit your audience will gain, but also how they can achieve it immediately. Then, finish with a clear call to action that pushes for immediate action, without beating around the bush. The goal is to be direct and natural, using language that encourages them to act NOW.
167
-
168
- Steps to create the CTA:
169
- 1. Identify the main benefit your audience is looking to achieve (e.g., increase sales, save time, improve skills).
170
- 2. Explain how they can achieve that benefit right away (e.g., by joining a program, downloading a guide, booking a session).
171
- 3. Create a clear and direct call to action, using natural language that motivates immediate action (e.g., "Join now", "Download here", "Reserve your spot").
172
- 4. Use a direct and persuasive tone, with a sense of urgency or clear benefits.
173
- """
174
- "examples": """
175
- - "Hoy es el día perfecto para transformar esa lista de suscriptores solitaria en una comunidad tan vibrante que hasta Beyoncé querría unirse, porque todos empezamos desde cero (sí, hasta la mismísima Queen B tuvo su primer fan). Descarga esta guía y prepárate para necesitar una pared entera de Post-its."
176
-
177
- ---
178
-
179
- - "¡Llegó la hora de darle superpoderes a tu productividad! Y no, no necesitas que te pique una araña radioactiva, porque tengo el Red Bull mental que transformará tu velocidad como por arte de magia. Regístrate y multiplica tu rendimiento por 300% (efectos secundarios incluyen: éxito excesivo y sonrisa permanente)."
180
-
181
- ---
182
-
183
- - "Tu sitio web está a punto de pasar de ser un pueblo fantasma a convertirse en Times Square en Año Nuevo, y lo mejor es que el cambio comienza hoy mismo (y no, no necesitas repartir dulces ni sobornar a nadie). Accede al curso y aprende a atraer visitas como si fueras un imán humano."
184
-
185
- ---
186
-
187
- - "Prepárate porque tus próximos emails serán más irresistibles que pizza gratis a medianoche, tanto que hasta los monjes romperán su voto de silencio para responderlos. Descubre cómo escribir emails tan magnéticos que ni el spam se atreverá a tocarlos."
188
-
189
- ---
190
-
191
- - "Hoy vamos a hacer algo increíble: convertiremos ese miedo paralizante en tu motor de impulso más poderoso, porque hasta los expertos más exitosos empezaron temblando como gelatina en terremoto. Descarga esta guía y observa cómo tus miedos se transforman en tus mejores aliados."
192
-
193
- ---
194
-
195
- - "Bienvenido al momento decisivo donde te unes al selecto club del 11% que triunfa, porque la buena noticia es que el camino ya está trazado y viene con GPS incluido. Únete al programa y forma parte de la élite que hace que las cosas sucedan."
196
-
197
- ---
198
-
199
- - "Ha llegado el momento de darle a tu negocio un giro tan espectacular que hasta Elon Musk te pedirá consejos (porque sí, ni siquiera él nació sabiéndolo todo). Accede al curso y aprende a reactivar tu negocio en 30 días o menos."
200
-
201
- ---
202
-
203
- - "La automatización está a punto de convertirse en tu nueva BFF, y es mucho más amigable de lo que piensas (además hace todo el trabajo pesado mientras tú disfrutas de un café). Descubre las herramientas que están revolucionando el mercado y únete a la fiesta del futuro."
204
- """
205
- },
206
- # In each formula where you want to add postdata variations, update the examples like this:
207
-
208
- "Cierre-Urgente": { # Remove extra indentation
209
- "description": """
210
- Fórmula: [Emoji + Invitación personal + Hora específica + Beneficio claro + Firma personal + Postdata estratégica]
211
- Crea conexión inmediata con emoji visual, especifica hora exacta y beneficio claro.
212
- Incluye firma personal y postdata persuasiva.
213
- """,
214
- "examples": """
215
- - "👀 Te veo hoy a las 05:00 pm de México para compartirte lo que necesitas saber para conectar, persuadir y vender con tus textos.
216
-
217
- Hasta entonces,
218
- Jesús Cabrera
219
-
220
- P.D. Ana, una de mis alumnas, pasó de 0 a 10 clientes en su primer mes. En sus palabras: "Este método cambió mi negocio por completo"
221
-
222
- P.D.2 Solo quedan 3 lugares con el precio especial de lanzamiento"
223
-
224
- - "🚀 Te espero mañana a las 07:00 pm de México para revelarte las 5 estrategias que multiplicarán tus ventas.
225
-
226
- ¡Nos vemos!
227
- Ana Martínez
228
-
229
- P.D. Recibirás mi guía secreta de copywriting valorada en $197, totalmente gratis
230
-
231
- P.D.2 Horarios por país:
232
- 07:00 pm: México, Guatemala
233
- 08:00 pm: Colombia, Ecuador"
234
-
235
- - "💡 Conéctate hoy a las 06:00 pm de Colombia para descubrir cómo crear contenido viral.
236
-
237
- ¡Prepárate para transformar tu contenido!
238
- Carlos Ruiz
239
-
240
- P.D. Esta es la última vez que impartiré este webinar en el año
241
-
242
- P.D.2 El 87% de mis estudiantes logran sus primeras ventas en menos de 30 días"
243
- """
244
- },
245
- "Cierre-Emocional": { # Remove extra indentation
246
- "description": """
247
- Fórmula: [Emoji + Expresión emocional + Anticipación de valor + Acción clara + Beneficio aspiracional + Firma personal + Postdata persuasiva]
248
- Crea conexión emocional y genera expectativa, usando tono cercano y amigable.
249
- Enfatiza el valor futuro y la transformación personal.
250
- """,
251
- "examples": """
252
- - "✨ Estoy tan emocionado por verte para aplicar todos estos conceptos.
253
-
254
- Haz clic aquí para registrarte al webinar y volverte el copy que todo mundo quiere que les escriba sus textos.
255
-
256
- Hasta luego,
257
- Jesús Cabrera
258
-
259
- P.D. Laura comenzó como tú, dudando si podría lograrlo. Hoy tiene lista de espera de clientes: "El método de Jesús me dio la confianza que necesitaba"
260
-
261
- P.D.2 Los primeros 20 inscritos recibirán una sesión privada de revisión de copy (valor: $150)"
262
-
263
- - "🌟 No puedo esperar para compartirte todas las estrategias que he preparado.
264
-
265
- Reserva tu lugar ahora y conviértete en el experto en ventas que las marcas buscan desesperadamente.
266
-
267
- ¡Nos vemos pronto!
268
- María González
269
-
270
- P.D. Te incluiré mi biblioteca privada de plantillas de copy, nunca antes compartida
271
-
272
- P.D.2 Esta es la única vez en el año que abriré las puertas de este programa"
273
-
274
- - "💫 Me emociona saber que pronto descubrirás todo lo que puedes lograr.
275
-
276
- Asegura tu acceso al taller y transfórmate en el consultor digital que las empresas necesitan.
277
-
278
- Con entusiasmo,
279
- Carlos Mendoza
280
-
281
- P.D. El 92% de mis estudiantes consiguen su primer cliente en menos de 2 semanas
282
-
283
- P.D.2 Bonus sorpresa: Recibirás mi guía "Del fracaso al éxito" con mis mejores casos de estudio"
284
- """
285
- },
286
- "Cierre-Divertido": { # Remove extra indentation
287
- "description": """
288
- Fórmula: [Emoji + Pregunta divertida + Metáfora creativa + Hora específica + Firma con apodo + Postdata estratégica]
289
- Usa humor y metáforas creativas para generar interés y anticipación.
290
- Incluye un toque personal con apodo divertido en la firma y postdata entretenida.
291
- """,
292
- "examples": """
293
- - "🔥 ¿Listo para sacarle chispas a tus textos? Porque esta tarde te enseñaré cómo convertir palabras en armas secretas de persuasión.
294
-
295
- Te espero a las 05:00 pm de México, no llegues tarde.
296
-
297
- Hasta entonces,
298
- Jesús "el transformador de textos" Cabrera
299
-
300
- P.D. ¿Sabías que Pedro "el tímido" López ahora es conocido como "el rey de las ventas"? Sus emails tienen un 89% de apertura 🤯
301
-
302
- P.D.2 Bonus ninja: Recibirás mi arsenal secreto de frases que hipnotizan 🎯"
303
-
304
- - "⚡ ¿Preparado para hacer que tu Instagram eche humo? Hoy revelaré los trucos ninja del contenido viral.
305
-
306
- La diversión comienza a las 07:00 pm hora México, ¡no te lo pierdas!
307
-
308
- Nos vemos al rato,
309
- Ana "la maga del engagement" Rodríguez
310
-
311
- P.D. Spoiler alert: Uno de mis alumnos logró 100k seguidores usando solo el truco #3 🚀
312
-
313
- P.D.2 Los primeros 10 ninjas del marketing que se registren recibirán mi kit de supervivencia viral 🎁"
314
-
315
- - "🎯 ¿Quieres que tus emails sean tan adictivos como tu serie favorita de Netflix? Prepárate para el maratón de copywriting más entretenido del año.
316
-
317
- La magia sucede a las 06:00 pm Colombia, ¡trae palomitas!
318
-
319
- ¡Hasta pronto!
320
- Carlos "el hechicero de emails" Mendoza
321
-
322
- P.D. Mis estudiantes dicen que este entrenamiento es más entretenido que la última temporada de tu serie favorita 😎
323
-
324
- P.D.2 ¡Alerta de tesoro! Incluí mi colección de templates "Email Alquimista" (Valor real: $197) 💎"
325
- """
326
- }
327
- }
 
1
+ from dotenv import load_dotenv
2
+ import streamlit as st
3
+ import os
4
+ import google.generativeai as genai
5
+ from cta_formulas import cta_formulas
6
+ from styles import apply_styles
7
+
8
+ # Cargar variables de entorno
9
+ load_dotenv()
10
+
11
+ # Configurar API de Google Gemini
12
+ genai.configure(api_key=os.getenv("GOOGLE_API_KEY"))
13
+
14
+ def get_gemini_response(product_service, target_audience, desired_action, formula_type, temperature):
15
+ if not product_service or not target_audience or not desired_action:
16
+ return "Por favor, completa todos los campos requeridos."
17
+
18
+ formula = cta_formulas[formula_type]
19
+
20
+ model = genai.GenerativeModel('gemini-2.0-flash')
21
+ full_prompt = f"""
22
+ You are an expert copywriter specialized in creating persuasive Calls to Action (CTAs).
23
+ Analyze (internally, don't include in output) the following information:
24
+
25
+ BUSINESS INFORMATION:
26
+ Product/Service: {product_service}
27
+ Target Audience: {target_audience}
28
+ Desired Action: {desired_action}
29
+ CTA Type: {formula_type}
30
+ {formula["description"]}
31
+
32
+ EXAMPLES TO FOLLOW:
33
+ {formula["examples"]}
34
+
35
+ First, analyze (but don't show) these points:
36
+ 1. TARGET AUDIENCE ANALYSIS:
37
+ - What motivates them to take action?
38
+ - What obstacles prevent them from acting?
39
+ - What immediate benefits are they seeking?
40
+ - What fears or doubts do they have?
41
+ - What language and tone resonates with them?
42
+
43
+ 2. PERSUASION ELEMENTS:
44
+ - How to make the desired action more appealing?
45
+ - What emotional triggers will resonate most?
46
+ - How to create a sense of urgency naturally?
47
+ - What unique value proposition to emphasize?
48
+ - How to minimize perceived risk?
49
+
50
+ Based on your internal analysis, create THREE different CTAs following EXACTLY the formula structure:
51
+ {formula["description"]}
52
+
53
+ CRITICAL INSTRUCTIONS:
54
+ - Follow the exact formula structure shown in the description above
55
+ - Create THREE different CTAs using the same formula pattern
56
+ - ALL CTAs MUST BE IN SPANISH
57
+
58
+ Use these examples as reference for the formula structure:
59
+ {formula["examples"]}
60
+ Output EXACTLY in this format based on {formula_type}:
61
+ 1. Follow format from {formula["examples"]}
62
+
63
+ 2. Follow format from {formula["examples"]}
64
+
65
+ 3. Follow format from {formula["examples"]}
66
+ """
67
+
68
+ response = model.generate_content([full_prompt], generation_config={"temperature": temperature})
69
+ return response.parts[0].text if response and response.parts else "Error al generar contenido."
70
+
71
+ # Configurar la aplicación Streamlit
72
+ st.set_page_config(page_title="CTA Generator", page_icon="🎯", layout="wide")
73
+
74
+ # Aplicar estilos
75
+ st.markdown(apply_styles(), unsafe_allow_html=True)
76
+
77
+ # Título de la app
78
+ st.markdown("<h1>Generador de CTAs Persuasivos</h1>", unsafe_allow_html=True)
79
+ st.markdown("<h3>Crea llamados a la acción que motiven a tu audiencia a dar el siguiente paso.</h3>", unsafe_allow_html=True)
80
+
81
+ # Crear dos columnas
82
+ col1, col2 = st.columns([1, 1])
83
+
84
+ # Columna izquierda para inputs
85
+ with col1:
86
+ target_audience = st.text_area(
87
+ "¿Cuál es tu público objetivo?",
88
+ placeholder="Ejemplo: Emprendedores que buscan automatizar su negocio..."
89
+ )
90
+
91
+ product_service = st.text_area(
92
+ "¿Cuál es tu producto o servicio?",
93
+ placeholder="Ejemplo: Curso de automatización con IA, Software de gestión..."
94
+ )
95
+
96
+ desired_action = st.text_area(
97
+ "¿Qué acción quieres que realicen?",
98
+ placeholder="Ejemplo: Registrarse al webinar, Descargar la guía gratuita..."
99
+ )
100
+
101
+ with st.expander("Opciones avanzadas"):
102
+ formula_type = st.selectbox(
103
+ "Tipo de CTA:",
104
+ options=list(cta_formulas.keys())
105
+ )
106
+
107
+ temperature = st.slider(
108
+ "Nivel de creatividad:",
109
+ min_value=0.0,
110
+ max_value=2.0,
111
+ value=1.0,
112
+ step=0.1,
113
+ help="Valores más altos generan CTAs más creativos pero menos predecibles."
114
+ )
115
+
116
+ generate_button = st.button("Generar CTAs")
117
+
118
+ # Columna derecha para resultados
119
+ with col2:
120
+ if generate_button and (response := get_gemini_response(
121
+ product_service,
122
+ target_audience,
123
+ desired_action,
124
+ formula_type,
125
+ temperature
126
+ )):
127
+ st.markdown("### Tus Llamados a la Acción")
128
+ st.write(response)