File size: 2,449 Bytes
e0df73c
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
from typing import List, Dict
import textwrap


def build_prompt_core(
    product_name: str,
    images: List[str],
    colors: List[str],
    concept: str,
) -> str:
    """
    Standalone version of the prompt builder (no Gradio dependencies).

    You can import this in other scripts to reuse the same logic.

    Args:
        product_name: Nome do produto.
        images: Lista de URLs (ou caminhos) de imagens de referência.
        colors: Lista de cores em texto/HEX.
        concept: Um dos conceitos: 'FOTO PRINCIPAL', 'FOTO DESCRIÇÃO',
                 'FOTO AVALIAÇÃO', 'FOTO DESCRIÇÃO 2'.

    Returns:
        Prompt de texto pronto para uso em modelos de geração de imagem.
    """
    product_name = (product_name or "").strip()
    concept = concept or ""
    images = images or []
    colors = colors or []

    colors_block = ", ".join(colors) if colors else "não especificadas"

    validation_block = (
        "Imagem de referência:\n" + "\n".join(f"- {u}" for u in images)
        if images
        else "Nenhuma imagem de referência fornecida."
    )

    base_header = f"""\
    PROMPT MASTER – PRODUCT PHOTOGRAPHY AI
    Produto: {product_name}
    Cores principais: {colors_block}
    Conceito selecionado: {concept}
    {validation_block}
    """

    concept_blocks: Dict[str, str] = {
        "FOTO PRINCIPAL": """
        Foto principal de catálogo em formato 1:1, produto centralizado sobre fundo claro,
        iluminação de estúdio suave, foco total no produto, sem textos ou elementos gráficos.
        """,
        "FOTO DESCRIÇÃO": """
        Close-up macro da textura do tecido, evidenciando trama, costuras e acabamento,
        com fundo neutro desfocado e iluminação lateral suave.
        """,
        "FOTO AVALIAÇÃO": """
        Cena orgânica estilo review real, com luz natural, ambiente cotidiano e aparência
        de foto feita no celular, mas com boa nitidez e foco no produto.
        """,
        "FOTO DESCRIÇÃO 2": """
        Foto lifestyle com modelo usando o produto em ambiente urbano ou estúdio minimalista,
        enquadramento que valoriza o caimento, modelagem e proporções, estilo editorial de moda.
        """,
    }

    concept_block = concept_blocks.get(
        concept,
        "Foto de produto hiper‑realista em cenário adequado para e‑commerce.",
    )

    return (base_header + "\n" + textwrap.dedent(concept_block).strip()).strip()