Virtual-Room-Generator / utils /prompt_templates.py
AliInamdar's picture
Create utils/prompt_templates.py
189809c verified
from typing import Dict
STYLE_PRESETS: Dict[str, str] = {
"Scandinavian": "Scandinavian, clean lines, natural light, light oak wood, soft neutrals",
"Minimalist": "Minimalist, uncluttered, functional, neutral palette, simple geometric forms",
"Industrial": "Industrial, exposed brick, concrete, metal accents, darker palette, loft vibe",
"Japandi": "Japandi, warm minimalism, natural materials, low furniture, earthy tones",
"Boho": "Bohemian, eclectic textiles, plants, layered textures, warm inviting colors",
"Sali": "No windows, futuristic lights, modern furniture"
}
NEGATIVE_CLAUSES = (
"No people, no text, no logos, no watermarks, no deformed geometry, "
"physically plausible lighting and materials."
)
def compose_prompt(
style: str,
room_type: str,
elements: str,
materials: str,
palette: str,
lighting: str,
camera: str,
extra: str = ""
) -> str:
style_desc = STYLE_PRESETS.get(style, style)
parts = [
f"Photorealistic {room_type} interior visualization.",
f"Style: {style_desc}.",
f"Key elements: {elements}.",
f"Materials: {materials}.",
f"Color palette: {palette}.",
f"Lighting: {lighting}.",
f"Camera/framing: {camera}.",
]
if extra.strip():
parts.append(f"Extras: {extra.strip()}.")
parts.append(NEGATIVE_CLAUSES)
parts.append("High detail, realistic furniture layout, natural proportions, interior design render quality.")
return " ".join(parts)