diff --git a/app/utils/creatomate.py b/app/utils/creatomate.py index e9574f4..7a1554c 100644 --- a/app/utils/creatomate.py +++ b/app/utils/creatomate.py @@ -228,17 +228,18 @@ autotext_template_h_1 = { DVST0001 = "fe11aeab-ff29-4bc8-9f75-c695c7e243e6" DVRT0001 = "3c4b74c4-82d7-4742-9b05-4b999fef4cbd" DVCF0001 = "ebb532ec-e49a-4a7e-b0e2-a8132f1bf1f7" +DVAT0001 = "14d4fa22-49b8-49ca-a233-ac0556436f60" DHST0001 = "660be601-080a-43ea-bf0f-adcf4596fa98" -DHST0002 = "3f194cc7-464e-4581-9db2-179d42d3e40f" -DHST0003 = "f45df555-2956-4a13-9004-ead047070b3d" -HST_LIST = [DHST0001,DHST0002,DHST0003] -VST_LIST = [DVST0001,DVRT0001,DVCF0001] + +HST_LIST = [DHST0001] +VST_LIST = [DVST0001,DVRT0001,DVCF0001,DVAT0001] # industry → 세로형 템플릿 매핑 (신규 세로형 템플릿 추가 시 여기에만 등록) VERTICAL_INDUSTRY_TEMPLATE_MAP: dict[str, str] = { "stay": DVST0001, "restaurant": DVRT0001, "cafe": DVCF0001, + "attraction": DVAT0001, } # 매핑에 없는 업종(salon, clinic 등)의 폴백 템플릿 @@ -268,7 +269,7 @@ def select_template(orientation: OrientationType, industry: str | None = None) - Args: orientation: 영상 방향 ("horizontal" 또는 "vertical") - industry: 업종 분류 (stay|restaurant|cafe 등). + industry: 업종 분류 (stay|restaurant|cafe|attraction 등). 세로형에서만 사용되며, 매핑에 없으면 기본 템플릿으로 폴백합니다. Returns: @@ -337,7 +338,7 @@ class CreatomateService: api_key: Creatomate API 키 (Bearer token으로 사용) None일 경우 config에서 자동으로 가져옴 orientation: 영상 방향 ("horizontal" 또는 "vertical", 기본값: "vertical") - industry: 업종 분류 (stay|restaurant|cafe 등). 세로형 템플릿 선택에 사용되며, + industry: 업종 분류 (stay|restaurant|cafe|attraction 등). 세로형 템플릿 선택에 사용되며, 매핑에 없거나 None이면 기본 세로형 템플릿으로 폴백 """ self.api_key = api_key or apikey_settings.CREATOMATE_API_KEY diff --git a/app/utils/prompts/schemas/image.py b/app/utils/prompts/schemas/image.py index eddaff8..994cc83 100644 --- a/app/utils/prompts/schemas/image.py +++ b/app/utils/prompts/schemas/image.py @@ -60,6 +60,16 @@ class SpaceType(StrEnum): signage = auto() detail_dessert = auto() detail_signature_drink = auto() + # 관광지(DVAT0001) 템플릿 어휘 + entrance_gate = auto() + exhibition_hall = auto() + landmark_main = auto() + landmark_detail = auto() + night_view = auto() + panorama_view = auto() + photo_spot = auto() + seasonal_scene = auto() + walking_path = auto() class Subject(StrEnum): """이미지 내 주요 피사체 유형. 화면에 무엇이 담겨 있는지를 분류하는 태그.""" @@ -81,6 +91,9 @@ class Subject(StrEnum): beverage = auto() brewing_action = auto() dessert = auto() + # 관광지(DVAT0001) 템플릿 어휘 + scenery = auto() + structure = auto() class Camera(StrEnum): """이미지의 촬영 기법·구도·조명 특성. 영상 편집 시 컷의 시각적 스타일을 구분하는 태그."""