from pydantic import BaseModel, Field from typing import List, Optional # Input 정의 class LyricPromptInput(BaseModel): customer_name : str = Field(..., description = "마케팅 대상 사업체 이름") region : str = Field(..., description = "마케팅 대상 지역") detail_region_info : str = Field(..., description = "마케팅 대상 지역 상세") marketing_intelligence_summary : Optional[str] = Field(None, description = "마케팅 분석 정보 보고서") language : str= Field(..., description = "가사 언어") promotional_expression_example : str = Field(..., description = "판촉 가사 표현 예시") timing_rules : str = Field(..., description = "시간 제어문") # Output 정의 class LyricPromptOutput(BaseModel): lyric: str = Field(..., description="생성된 가사") suno_prompt: str = Field(..., description="Suno AI용 프롬프트")