from fastapi import APIRouter, HTTPException
from pydantic import BaseModel
from typing import List, Optional
from app.services.gemini_service import gemini_service

router = APIRouter()

class ProductRequest(BaseModel):
    product_name: str
    features: str
    site_name: str
    tone: str = "persuasive"
    images_base64: List[str] = []

@router.post("/generate-product-desc")
async def generate_product_desc(request: ProductRequest):
    try:
        result = gemini_service.generate_product_description(
            product_name=request.product_name,
            features=request.features,
            site_name=request.site_name,
            tone=request.tone,
            images_base64=request.images_base64
        )
        return {"result": result}
    except Exception as e:
        raise HTTPException(status_code=500, detail=str(e))
