eubottura commited on
Commit
e0df73c
·
verified ·
1 Parent(s): e682411

Update utils.py from anycoder

Browse files
Files changed (1) hide show
  1. utils.py +71 -0
utils.py ADDED
@@ -0,0 +1,71 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from typing import List, Dict
2
+ import textwrap
3
+
4
+
5
+ def build_prompt_core(
6
+ product_name: str,
7
+ images: List[str],
8
+ colors: List[str],
9
+ concept: str,
10
+ ) -> str:
11
+ """
12
+ Standalone version of the prompt builder (no Gradio dependencies).
13
+
14
+ You can import this in other scripts to reuse the same logic.
15
+
16
+ Args:
17
+ product_name: Nome do produto.
18
+ images: Lista de URLs (ou caminhos) de imagens de referência.
19
+ colors: Lista de cores em texto/HEX.
20
+ concept: Um dos conceitos: 'FOTO PRINCIPAL', 'FOTO DESCRIÇÃO',
21
+ 'FOTO AVALIAÇÃO', 'FOTO DESCRIÇÃO 2'.
22
+
23
+ Returns:
24
+ Prompt de texto pronto para uso em modelos de geração de imagem.
25
+ """
26
+ product_name = (product_name or "").strip()
27
+ concept = concept or ""
28
+ images = images or []
29
+ colors = colors or []
30
+
31
+ colors_block = ", ".join(colors) if colors else "não especificadas"
32
+
33
+ validation_block = (
34
+ "Imagem de referência:\n" + "\n".join(f"- {u}" for u in images)
35
+ if images
36
+ else "Nenhuma imagem de referência fornecida."
37
+ )
38
+
39
+ base_header = f"""\
40
+ PROMPT MASTER – PRODUCT PHOTOGRAPHY AI
41
+ Produto: {product_name}
42
+ Cores principais: {colors_block}
43
+ Conceito selecionado: {concept}
44
+ {validation_block}
45
+ """
46
+
47
+ concept_blocks: Dict[str, str] = {
48
+ "FOTO PRINCIPAL": """
49
+ Foto principal de catálogo em formato 1:1, produto centralizado sobre fundo claro,
50
+ iluminação de estúdio suave, foco total no produto, sem textos ou elementos gráficos.
51
+ """,
52
+ "FOTO DESCRIÇÃO": """
53
+ Close-up macro da textura do tecido, evidenciando trama, costuras e acabamento,
54
+ com fundo neutro desfocado e iluminação lateral suave.
55
+ """,
56
+ "FOTO AVALIAÇÃO": """
57
+ Cena orgânica estilo review real, com luz natural, ambiente cotidiano e aparência
58
+ de foto feita no celular, mas com boa nitidez e foco no produto.
59
+ """,
60
+ "FOTO DESCRIÇÃO 2": """
61
+ Foto lifestyle com modelo usando o produto em ambiente urbano ou estúdio minimalista,
62
+ enquadramento que valoriza o caimento, modelagem e proporções, estilo editorial de moda.
63
+ """,
64
+ }
65
+
66
+ concept_block = concept_blocks.get(
67
+ concept,
68
+ "Foto de produto hiper‑realista em cenário adequado para e‑commerce.",
69
+ )
70
+
71
+ return (base_header + "\n" + textwrap.dedent(concept_block).strip()).strip()