from pydantic import BaseModel, Field from typing import List, Optional # Input 정의 class YTUploadPromptInput(BaseModel): customer_name : str = Field(..., description = "마케팅 대상 사업체 이름") detail_region_info : str = Field(..., description = "마케팅 대상 지역 상세") marketing_intelligence_summary : Optional[str] = Field(None, description = "마케팅 분석 정보 보고서") language : str= Field(..., description = "영상 언어") target_keywords: List[str] = Field(..., description="태그 키워드 리스트") industry : str = Field(default="", description = "업종 분류 (stay|restaurant|cafe|salon|clinic|fitness|academy|attraction). 통합 프롬프트가 이 값으로 내부 분기") # Output 정의 class YTUploadPromptOutput(BaseModel): title:str = Field(..., description="유튜브 영상 제목 - SEO/AEO 최적화") description: str = Field(..., description = "유튜브 영상 설명 - SEO/AEO 최적화")