diff --git a/assets/frame_template.png b/assets/frame_template.png index 26a0b84..5a7dc71 100644 Binary files a/assets/frame_template.png and b/assets/frame_template.png differ diff --git a/capcut_agent/draft.py b/capcut_agent/draft.py index 26517bb..d529178 100644 --- a/capcut_agent/draft.py +++ b/capcut_agent/draft.py @@ -108,11 +108,11 @@ TPL_CHANNEL_Y = _ty(1520) # 하단 띠 채널/출처 ≈ -0.58 # 레이아웃(워크맨 스타일): 상단 제목띠 / 영상(위로) / 하단 큰 영역(댓글캡쳐 직접) / 출처 # 캡컷 인스펙터 위치 Y = transform.y × 1920 LAYOUT_TOP_BAR = 440 # 상단 제목 띠 -LAYOUT_BOTTOM_TOP = 1100 # 하단 띠 시작 → 영상 영역 = 440~1100, 하단 1100~1920(댓글+출처) -BG_TITLE_TOP_Y = _ty(150) # 제목 윗줄 ≈ +0.84 -BG_TITLE_MAIN_Y = _ty(320) # 제목 아랫줄 ≈ +0.67 -BG_VIDEO_Y = _ty(770) # 영상 기본 위치(영상 영역 중앙, 위로) ≈ +0.20 -BG_CAPTION_Y = _ty(1030) # 영상 하단부 자막 ≈ -0.07 +LAYOUT_BOTTOM_TOP = 1239 # 하단 띠 시작 → 영상 높이는 유지하고 전체를 아래로 이동 +BG_TITLE_TOP_Y = _ty(260) # 제목 윗줄 — 모바일 썸네일 안전영역 +BG_TITLE_MAIN_Y = _ty(370) # 제목 아랫줄 — CapCut 위치 Y 1180 +BG_VIDEO_Y = _ty(840) # 영상 기본 위치(440~1239 중앙) +BG_CAPTION_Y = _ty(1167) # 영상 하단부 자막(끝에서 72px 위) BG_CHANNEL_Y = _ty(1850) # 맨 아래 출처 ≈ -0.93 (하단 댓글영역 아래) COMMENT_SCALE = 0.89 # 댓글 카드 확대(캡컷 인스펙터 89%) diff --git a/capcut_agent/pipeline.py b/capcut_agent/pipeline.py index 03d29ff..c1fcd69 100644 --- a/capcut_agent/pipeline.py +++ b/capcut_agent/pipeline.py @@ -454,12 +454,14 @@ async def process_bg_template( # 레퍼런스 템플릿을 실측해 잡은 값. **여기만 고치면 전체 배치가 같이 움직인다.** # (예전엔 배경.png 흰밴드 자동감지였는데, 좌표를 정확히 통제하려고 상수로 바꿨다) CANVAS_H = 1920 -VIDEO_TOP = 323 # 영상 창 시작 = 위 흰 띠가 끝나는 지점 -VIDEO_BOTTOM = 1122 # 영상 창 끝 = 아래 흰 띠가 시작하는 지점 +VIDEO_TOP = 440 # 영상 창 시작 — 모바일 썸네일 안전영역에 맞춰 아래로 이동 +VIDEO_BOTTOM = 1239 # 영상 창 끝 — 높이 799px은 그대로 유지 POLITICS_VIDEO_TOP = 470 POLITICS_VIDEO_BOTTOM = 1450 -TITLE_TOP_Y = 109 # 서브제목(주황) 중앙 -TITLE_MAIN_Y = 252 # 메인제목(흰색) 중앙 +# 모바일 목록 썸네일은 9:16 원본의 상단을 일부 크롭한다. 제목 블록과 영상 창을 +# 함께 아래로 내려 서브제목부터 영상까지 한 덩어리로 보이게 한다. +TITLE_TOP_Y = 260 # 서브제목(주황) 중앙 +TITLE_MAIN_Y = 370 # 메인제목(흰색) 중앙 — CapCut 위치 Y 1180 CAPTION_GAP = 72 # 하단 자막 중앙 = VIDEO_BOTTOM − 이 값 (영상 창 안쪽 아래) EFFECT_GAP = 25 # 효과자막 중앙 = VIDEO_TOP + 이 값 (영상 창 안쪽 위) COMMENT_TOP = VIDEO_BOTTOM # 댓글 카드 윗변 = 영상 바로 아래(딱 붙음)