Tu Nombre commited on
Commit
7512f9d
·
1 Parent(s): dd74709

fix: prompt manual de escenas respetado en LTX y Leonardo

Browse files
Files changed (2) hide show
  1. app.py +4 -0
  2. leonardo_service.py +5 -3
app.py CHANGED
@@ -503,6 +503,10 @@ async def ep_video(request: Request):
503
  print(f"[Fenix] Nicho detectado: {nicho_detectado}", flush=True)
504
  escenas = generar_clips_escenas(escenas, nicho=nicho_detectado)
505
  # Lista de (material, segundos) de cada escena, en orden
 
 
 
 
506
  escenas_data = [(e.get("material",""), int(e.get("segundos",5) or 5)) for e in escenas]
507
  material_escenas = [m for m,s in escenas_data if m]
508
  try:
 
503
  print(f"[Fenix] Nicho detectado: {nicho_detectado}", flush=True)
504
  escenas = generar_clips_escenas(escenas, nicho=nicho_detectado)
505
  # Lista de (material, segundos) de cada escena, en orden
506
+ # Pasar el prompt visual del usuario a cada escena para que los servicios lo usen
507
+ for e in escenas:
508
+ if e.get("prompt","").strip() and not e.get("prompt_manual","").strip():
509
+ e["prompt_manual"] = e["prompt"].strip()
510
  escenas_data = [(e.get("material",""), int(e.get("segundos",5) or 5)) for e in escenas]
511
  material_escenas = [m for m,s in escenas_data if m]
512
  try:
leonardo_service.py CHANGED
@@ -61,10 +61,12 @@ def _crear_prompt_groq(texto, tema_global):
61
  except: pass
62
  return texto
63
 
64
- def _post_generar(prompt_visual):
65
  url = f"{_BASE_URL}/generations-text-to-video"
 
 
66
  payload = {
67
- "prompt": prompt_visual + ", ethereal spiritual, divine golden light, sacred geometry, 4k cinematic, ultra detailed, volumetric fog",
68
  "width": 720,
69
  "height": 1280
70
  }
@@ -130,7 +132,7 @@ def generar_clips_escenas(escenas):
130
  prompt_visual = prompt_manual if prompt_manual else _crear_prompt_groq(txt, tema_global)
131
  print(f"[Cerebro-Prompt Escena {i+1}]: {prompt_visual}", flush=True)
132
 
133
- job_id, estado = _post_generar(prompt_visual)
134
  if estado == "ok" and job_id:
135
  clip = _poll_descargar(job_id, f"leonardo_clip_{i}.mp4")
136
  if clip:
 
61
  except: pass
62
  return texto
63
 
64
+ def _post_generar(prompt_visual, es_manual=False):
65
  url = f"{_BASE_URL}/generations-text-to-video"
66
+ sufijo_auto = ", ethereal spiritual, divine golden light, sacred geometry, 4k cinematic, ultra detailed, volumetric fog"
67
+ prompt_final = prompt_visual if es_manual else prompt_visual + sufijo_auto
68
  payload = {
69
+ "prompt": prompt_final,
70
  "width": 720,
71
  "height": 1280
72
  }
 
132
  prompt_visual = prompt_manual if prompt_manual else _crear_prompt_groq(txt, tema_global)
133
  print(f"[Cerebro-Prompt Escena {i+1}]: {prompt_visual}", flush=True)
134
 
135
+ job_id, estado = _post_generar(prompt_visual, es_manual=bool(prompt_manual))
136
  if estado == "ok" and job_id:
137
  clip = _poll_descargar(job_id, f"leonardo_clip_{i}.mp4")
138
  if clip: