Tu Nombre commited on
Commit
a53b476
·
1 Parent(s): c97614a

fase 2.5: frases custom + canal promocion

Browse files
Files changed (2) hide show
  1. cliente_template.py +12 -3
  2. main.py +4 -0
cliente_template.py CHANGED
@@ -52,10 +52,19 @@ def generar_guion():
52
  _tono_actual = CONFIG.get("tono", "educativo")
53
  client = Groq(api_key=GROQ_KEY)
54
  res = client.chat.completions.create(
55
- messages=[{"role":"user","content":f"Escribe SOLO el texto a narrar en un video de 60 segundos sobre {NICHO}. Tono: {_tono_actual}. NO incluyas indicaciones como narrador dice, voz en off, intro, outro, ni nada que no sea el texto a leer. Directo al grano, sin simbolos, sin hashtags, sin emojis."}],
 
 
56
  model="llama-3.3-70b-versatile", temperature=0.82
57
  )
58
- return res.choices[0].message.content.strip()
 
 
 
 
 
 
 
59
 
60
  async def pipeline():
61
  global STATUS
@@ -149,7 +158,7 @@ async def pipeline():
149
  req_yt = yt.videos().insert(
150
  part="snippet,status",
151
  body={
152
- "snippet":{"title":titulo,"description":guion,"categoryId":"22"},
153
  "status":{"privacyStatus":"public"}
154
  },
155
  media_body=googleapiclient.http.MediaFileUpload("out.mp4",mimetype="video/mp4",resumable=True)
 
52
  _tono_actual = CONFIG.get("tono", "educativo")
53
  client = Groq(api_key=GROQ_KEY)
54
  res = client.chat.completions.create(
55
+ _canal_url = CONFIG.get("canal_promocionar", "").strip()
56
+ _contexto_canal = f" El video debe ser un teaser que invite a ver el canal {_canal_url}." if _canal_url else ""
57
+ messages=[{"role":"user","content":f"Escribe SOLO el texto a narrar en un video de 60 segundos sobre {NICHO}. Tono: {_tono_actual}.{_contexto_canal} NO incluyas indicaciones como narrador dice, voz en off, intro, outro, ni nada que no sea el texto a leer. Directo al grano, sin simbolos, sin hashtags, sin emojis."}],
58
  model="llama-3.3-70b-versatile", temperature=0.82
59
  )
60
+ guion_base = res.choices[0].message.content.strip()
61
+ frase_i = CONFIG.get("frase_inicio", "").strip()
62
+ frase_f = CONFIG.get("frase_final", "").strip()
63
+ partes = []
64
+ if frase_i: partes.append(frase_i)
65
+ partes.append(guion_base)
66
+ if frase_f: partes.append(frase_f)
67
+ return ". ".join(partes)
68
 
69
  async def pipeline():
70
  global STATUS
 
158
  req_yt = yt.videos().insert(
159
  part="snippet,status",
160
  body={
161
+ "snippet":{"title":titulo,"description":guion + ("\n\n" + CONFIG.get("link_descripcion","") if CONFIG.get("link_descripcion") else ""),"categoryId":"22"},
162
  "status":{"privacyStatus":"public"}
163
  },
164
  media_body=googleapiclient.http.MediaFileUpload("out.mp4",mimetype="video/mp4",resumable=True)
main.py CHANGED
@@ -614,6 +614,10 @@ async def parsear_config_groq(texto):
614
  - estilo_subtitulos: "tiktok"/"clasico"/"minimal" (default tiktok)
615
  - color_subtitulos: codigo hex como "#D4AF37" (default #D4AF37)
616
  - posicion_subtitulos: "arriba"/"centro"/"abajo" (default abajo)
 
 
 
 
617
 
618
  Preferencias del cliente: {texto}
619
 
 
614
  - estilo_subtitulos: "tiktok"/"clasico"/"minimal" (default tiktok)
615
  - color_subtitulos: codigo hex como "#D4AF37" (default #D4AF37)
616
  - posicion_subtitulos: "arriba"/"centro"/"abajo" (default abajo)
617
+ - frase_inicio: texto literal que el cliente quiere al inicio del video (string vacio si no menciona)
618
+ - frase_final: texto literal que el cliente quiere al final del video (string vacio si no menciona)
619
+ - canal_promocionar: URL del canal que quiere promocionar (string vacio si no hay)
620
+ - link_descripcion: URL/link a poner en descripcion del video (string vacio si no hay)
621
 
622
  Preferencias del cliente: {texto}
623