Spaces:
Running
Running
Tu Nombre commited on
Commit ·
a53b476
1
Parent(s): c97614a
fase 2.5: frases custom + canal promocion
Browse files- cliente_template.py +12 -3
- 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 |
-
|
|
|
|
|
|
|
| 56 |
model="llama-3.3-70b-versatile", temperature=0.82
|
| 57 |
)
|
| 58 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 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 |
|