habulaj commited on
Commit
c11e038
·
verified ·
1 Parent(s): 39849e0

Update main.py

Browse files
Files changed (1) hide show
  1. main.py +16 -0
main.py CHANGED
@@ -558,6 +558,22 @@ EXEMPLOS
558
  elif 'image' in content_type and title_text and result_data.get("result_type") == "meme":
559
  try:
560
  img_for_meme = cropped_file_path if cropped_file_path and os.path.exists(cropped_file_path) else temp_file.name
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
561
  print("📸 Enviando imagem base do meme para recurve-save...")
562
  with open(img_for_meme, 'rb') as img_f:
563
  upload_resp = requests.post(
 
558
  elif 'image' in content_type and title_text and result_data.get("result_type") == "meme":
559
  try:
560
  img_for_meme = cropped_file_path if cropped_file_path and os.path.exists(cropped_file_path) else temp_file.name
561
+
562
+ image_needs_correction = record.get("image_needs_correction", False)
563
+ if image_needs_correction:
564
+ print("🍌 Chamando Nano Banana Pro (Gemini) para limpar a imagem...")
565
+ clean_prompt = "Anexei uma imagem que pode ser um post de rede social, um meme, um screenshot ou qualquer composição visual que mistura texto com imagem. Sua única tarefa é limpar essa imagem, removendo tudo que não faz parte do conteúdo visual original. Remova completamente qualquer texto sobreposto, seja título, legenda, frase, username, arroba, logo ou qualquer marcação de outras páginas ou plataformas. Onde o texto estiver sobreposto diretamente na imagem, remova-o e reconstrua o fundo de forma coerente com o estilo visual ao redor. Preserve absolutamente tudo da imagem original: cores, iluminação, estilo artístico, traços, texturas, proporções, enquadramento, clima e contexto visual. Não altere, não melhore, não filtre e não modifique nada além do que for necessário para a remoção dos textos e marcas. Retorne apenas a imagem limpa, sem nenhum texto, sem nenhuma explicação, sem nenhum comentário. Só a imagem, mantendo a mesma proporção e tamanho."
566
+ nano_model = get_gemini_model("pro")
567
+ clean_res = await client.generate_content(clean_prompt, files=[img_for_meme], model=nano_model)
568
+
569
+ if clean_res.images:
570
+ cleaned_path = await clean_res.images[0].save(path="static/processed", filename=f"cleaned_{record_id}")
571
+ if cleaned_path and os.path.exists(cleaned_path):
572
+ img_for_meme = cleaned_path
573
+ print(f"✨ Imagem limpa salva em: {img_for_meme}")
574
+ else:
575
+ print("⚠️ Gemini não retornou imagem limpa. Usando a original.")
576
+
577
  print("📸 Enviando imagem base do meme para recurve-save...")
578
  with open(img_for_meme, 'rb') as img_f:
579
  upload_resp = requests.post(