wftest / app.py
abidlabs's picture
abidlabs HF Staff
Create app.py
40bcb1c verified
import os
import random
import gradio as gr
def describe_product(image) -> str:
if image is None:
return "a premium product"
img_path = image.get("path") if isinstance(image, dict) else str(image)
img_url = image.get("url", "") if isinstance(image, dict) else str(image)
try:
from gradio_client import Client, handle_file
source = img_path if (img_path and os.path.exists(img_path)) else img_url
if not source:
return "a premium product"
client = Client("vikhyatk/moondream2", verbose=False)
result = client.predict(
handle_file(source),
"Describe this product briefly and concisely. What is it?",
api_name="/answer_question",
)
return str(result).strip() if result else "a premium product"
except Exception:
return "a premium product"
def craft_marketing_prompt(caption: str) -> str:
if not caption:
caption = "a premium product"
caption = caption.strip().rstrip(".")
styles = [
(
f"Professional product advertisement photograph of {caption}, "
"studio lighting, clean white background, commercial photography, "
"ultra-sharp, 8K quality"
),
(
f"Cinematic product shot of {caption}, dramatic lighting, "
"aspirational lifestyle context, premium brand aesthetic, "
"shot on Hasselblad, magazine cover quality"
),
(
f"Bold marketing campaign visual of {caption}, vibrant colors, "
"dynamic composition, modern editorial style, "
"award-winning commercial photography"
),
]
return random.choice(styles)
demo = gr.Workflow(bind=[describe_product, craft_marketing_prompt])
if __name__ == "__main__":
demo.launch()