diff --git a/generator/animation_greekroman/render.py b/generator/animation_greekroman/render.py index 3831b88..c6e489c 100644 --- a/generator/animation_greekroman/render.py +++ b/generator/animation_greekroman/render.py @@ -42,7 +42,7 @@ NARR_SIZE = 48 # 나레이션 자막 기본 글자 크 NARR_MIN_SIZE = 30 # 자동 축소 하한(이보다 작아지진 않음) BRAND_TITLE = "썰박스" # 상단 밴드 제목(옆에 '×' + AI O2O 로고 결합) BRAND_LOGO = str(Path(__file__).parent / "fonts" / "brand_logo.png") # 제목 옆 AI O2O 로고(흰배경·검정) -IMG_MODEL = "gemini-3-pro-image" # 최상위 이미지 모델(인체·화풍 품질 우선). 저렴하게: gemini-3.1-flash-image +IMG_MODEL = "gemini-3.1-flash-image" # 인체·화풍 품질과 비용 절충. 최상위: gemini-3-pro-image, 더 저렴하게: gemini-2.5-flash-image VISION_MODEL = "gemini-2.5-flash" # 실제 사진 내용 분석 + 장면 매칭용 TTS_MODEL = "gemini-2.5-pro-preview-tts" # 최상위 TTS(발음 품질 우선). 저렴하게: gemini-3.1-flash-tts-preview TTS_VOICE = "Puck" diff --git a/generator/animation_odyssey/gen.py b/generator/animation_odyssey/gen.py index f01d4ac..1a81197 100644 --- a/generator/animation_odyssey/gen.py +++ b/generator/animation_odyssey/gen.py @@ -155,18 +155,6 @@ NARR_SYSTEM = """\ - 한국어 나레이션 기준 약 {seconds}초 분량 = {lo}~{hi}자. full_narration 은 반드시 이 글자수 범위로. - 이 범위를 넘기지 마라. 너무 길면 TTS가 빨라져 병맛이 죽고 영상도 길어진다. 간결하게. -[SNS 캡션] (sns_caption 필드 — 유튜브/인스타/틱톡에 그대로 붙여넣을 업로드 설명) -- 아래 '형식'을 지켜라. 이모지를 적극 사용(나레이션과 달리 캡션은 이모지 OK). 줄바꿈으로 구분. -- 형식: - 1) 첫 줄: 후킹 카피 한 줄 (예: "7년 스토킹 당한 오디세우스 썰 풉니다.") - 2) 본문 1~2줄: 오디세이아 썰 ↔ 가게를 잇는 재밌는 소개 (이모지 곁들여) - 3) 셀링 한 줄: 인물이 반할 식으로 가게 핵심 (예: "오디세우스도 반할 OO시장 숨은 맛집 'OOO' 🐟") - 4) 📍 가게명 (위치) ← 가게명/위치 모르면 이 줄 생략 - 5) 🔥 대표 메뉴·포인트 나열 ← 모르면 생략 - 6) 👉 방문 팁 또는 행동유도 한 줄 - 7) 마지막 줄: 해시태그 나열. #오디세이 #오디세우스 를 앞에 두고, 가게·지역·메뉴·병맛 태그 + #shorts #AIO2O 로 끝. -- 가게 정보(이름·위치·메뉴)는 '마케팅 대상' 텍스트에서 뽑아라. 없으면 그 줄은 자연스럽게 빼라(억지로 지어내지 마라). - [출력] - 반드시 지정된 JSON 스키마로만 응답. 설명/사족 금지. - full_narration 은 hook+story+pivot+cta 를 자연스럽게 이어붙인 '읽는 그대로의' 최종 나레이션. diff --git a/generator/animation_odyssey/render.py b/generator/animation_odyssey/render.py index 198f0c8..aa7d40a 100644 --- a/generator/animation_odyssey/render.py +++ b/generator/animation_odyssey/render.py @@ -42,7 +42,7 @@ NARR_SIZE = 48 # 나레이션 자막 기본 글자 크 NARR_MIN_SIZE = 30 # 자동 축소 하한(이보다 작아지진 않음) BRAND_TITLE = "썰박스" # 상단 밴드 제목(옆에 '×' + AI O2O 로고 결합) BRAND_LOGO = str(Path(__file__).parent / "fonts" / "brand_logo.png") # 제목 옆 AI O2O 로고(흰배경·검정) -IMG_MODEL = "gemini-3-pro-image" # 최상위 이미지 모델(인체·화풍 품질 우선). 저렴하게: gemini-3.1-flash-image +IMG_MODEL = "gemini-3.1-flash-image" # 인체·화풍 품질과 비용 절충. 최상위: gemini-3-pro-image, 더 저렴하게: gemini-2.5-flash-image VISION_MODEL = "gemini-2.5-flash" # 실제 사진 내용 분석 + 장면 매칭용 TTS_MODEL = "gemini-2.5-pro-preview-tts" # 최상위 TTS(발음 품질 우선). 저렴하게: gemini-3.1-flash-tts-preview TTS_VOICE = "Puck"