test: Opal 숏폼 생성기 실제 출력 샘플 픽스처 추가

파서 개발용. 섹션 3~5는 json 펜스 없음, 타이틀 후보 번호 유무 혼재 등
실전 변형이 포함된 2026-08-03 실행 결과 원문.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
hehihoho3@gmail.com 2026-08-03 11:49:14 +09:00
parent 23fadea5e5
commit ef31818d8c

View File

@ -0,0 +1,448 @@
1================================================ ```json
{
"url": "https://www.youtube.com/watch?v=kYJ6gVbX680",
"title_top": "프나 신보 감상평",
"title_main": "극락 가는 앨범입니다",
"channel": "@MerryGoRound_Official",
"cuts": [
{
"start": "14:28.000",
"end": "14:33.000",
"bottom": "1번 트랙부터 10번 트랙까지 듣잖아요?\n극락 가세요",
"effect": "(자신감 뿜뿜)"
},
{
"start": "14:33.000",
"end": "14:35.500",
"bottom": "아 극락 갑니까?\n네!",
"effect": "(빵터짐)"
},
{
"start": "14:36.000",
"end": "14:39.000",
"bottom": "저도 극락행 티켓 한 장이요\n살게요 살게요",
"effect": "(나도 나도)"
},
{
"start": "14:44.000",
"end": "14:46.500",
"bottom": "내친김에 콘서트도..?\n그것도 꼭꼭 약속",
"effect": "(영업 성공)"
},
{
"start": "14:46.500",
"end": "14:51.000",
"bottom": "콘서트에 여자의 악마 왔대!",
"effect": "(폭소)"
},
{
"start": "15:39.000",
"end": "15:45.000",
"bottom": "저희가 너무 좋아도\n팬분들이 싫어할 것 같다 하면 빼고",
"effect": "(팬사랑 최고)"
},
{
"start": "15:48.000",
"end": "15:51.000",
"bottom": "프로미스나인 팬은 정말 좋겠다",
"effect": "(부러움 가득)"
},
{
"start": "15:51.000",
"end": "15:54.000",
"bottom": "잘해줄게",
"effect": "(심쿵 플러팅)"
},
{
"start": "15:56.000",
"end": "15:59.000",
"bottom": "이 분은 왜 진심으로 부러워하세요",
"effect": "(팩폭)"
},
{
"start": "16:00.000",
"end": "16:03.500",
"bottom": "근데 유닛으로 이렇게 나눴지만\n유닛 명이 따로 있나?",
"effect": "(궁금)"
},
{
"start": "16:04.000",
"end": "16:08.000",
"bottom": "그냥 없는데 저희끼리는 채나지",
"effect": "(채나지?)"
},
{
"start": "16:08.500",
"end": "16:11.500",
"bottom": "어 근데 다 너무 예쁘다\n채나지도 예쁘고 하지도 예쁘고",
"effect": "(오 정말?)"
},
{
"start": "16:11.500",
"end": "16:15.000",
"bottom": "안녕하세요 하지입니다~",
"effect": "(인사봇)"
}
]
}
📌 타이틀 후보 5선
1. 상단: 프나 신보 감상평 / 메인: 극락 가는 앨범입니다 — [어그로형]
2. 상단: 오직 팬 생각뿐 / 메인: 팬들이 싫어하면 빼요 — [감동형]
3. 상단: 유닛명 비하인드 / 메인: 안녕하세요 하지입니다 — [유머형]
4. 상단: 10년 차 아이돌 / 메인: 팬사랑 폼 미쳤다 — [바이럴형]
5. 상단: 프미스나인 컴백 / 메인: 노래 맛집의 플러팅 — [클릭유도형]
⏱️ 컷 길이 검산표
컷 1: 14:28.000 → 14:33.000 = 5.0초
컷 2: 14:33.000 → 14:35.500 = 2.5초
컷 3: 14:36.000 → 14:39.000 = 3.0초
컷 4: 14:44.000 → 14:46.500 = 2.5초
컷 5: 14:46.500 → 14:51.000 = 4.5초
컷 6: 15:39.000 → 15:45.000 = 6.0초
컷 7: 15:48.000 → 15:51.000 = 3.0초
컷 8: 15:51.000 → 15:54.000 = 3.0초
컷 9: 15:56.000 → 15:59.000 = 3.0초
컷 10: 16:00.000 → 16:03.500 = 3.5초
컷 11: 16:04.000 → 16:08.000 = 4.0초
컷 12: 16:08.500 → 16:11.500 = 3.0초
컷 13: 16:11.500 → 16:15.000 = 3.5초
─────────────────────
총 13컷 / 총 길이: 46.5초
2================================================
```json
{
"url": "https://www.youtube.com/watch?v=k-a2Wd7F7Q8",
"title_top": "과자 깠다고 칭찬?",
"title_main": "숨막히는 프나 칭찬 지옥",
"channel": "@MerryGoRound_official",
"cuts": [
{
"start": "21:25.000",
"end": "21:32.000",
"bottom": "우와 너 멋있다\n그걸 깠어?",
"effect": "(무한 칭찬)"
},
{
"start": "21:37.500",
"end": "21:42.500",
"bottom": "나 이거 혼자 깠어",
"effect": "(어깨 으쓱)"
},
{
"start": "21:51.000",
"end": "21:57.000",
"bottom": "웃으면 안 돼요\n보아하니 제일 큰 벌칙이에요",
"effect": "(제일 힘듦)"
},
{
"start": "22:07.500",
"end": "22:14.500",
"bottom": "나경아 너 오늘\n코에 점 되게 섹시하다",
"effect": "(느끼한 톤)"
},
{
"start": "22:14.500",
"end": "22:19.500",
"bottom": "아 미치겠다 진짜",
"effect": "(빵 터짐)"
},
{
"start": "22:24.000",
"end": "22:30.500",
"bottom": "칭찬받아서 웃긴 게 아니라\n톤이 웃기잖아요",
"effect": "(급발진)"
},
{
"start": "22:37.500",
"end": "22:41.500",
"bottom": "챙아 아까부터 느꼈는데",
"effect": "(진지)"
},
{
"start": "22:42.500",
"end": "22:49.500",
"bottom": "오늘 옷 너무 잘 어울린다\n섹시해",
"effect": "(결국 함박웃음)"
}
]
}
📌 타이틀 후보 5선
상단: 과자 깠다고 칭찬? / 메인: 숨막히는 프나 칭찬 지옥 — [바이럴형]
상단: 코에 점이 섹시해 / 메인: 웃음 참기 TMI 칭찬 — [어그로형]
상단: 유인나도 빵터진 / 메인: 프로미스나인 유치찬란 — [클릭유도형]
상단: 과자 까면 영웅 됨 / 메인: 프나의 이상한 칭찬법 — [바이럴형]
상단: 마의 구간 코 점 / 메인: 웃으면 안되는 칭찬 릴레이 — [어그로형]
⏱️ 컷 길이 검산표
컷 1: 21:25.000 → 21:32.000 = 7.0초
컷 2: 21:37.500 → 21:42.500 = 5.0초
컷 3: 21:51.000 → 21:57.000 = 6.0초
컷 4: 22:07.500 → 22:14.500 = 7.0초
컷 5: 22:14.500 → 22:19.500 = 5.0초
컷 6: 22:24.000 → 22:30.500 = 6.5초
컷 7: 22:37.500 → 22:41.500 = 4.0초
컷 8: 22:42.500 → 22:49.500 = 7.0초
─────────────────────
총 8컷 / 총 길이: 47.5초
3================================================
{
"url": "",
"title_top": "프나 유치찬란 상황극",
"title_main": "35만 원인데 그거 짭이다",
"channel": "",
"cuts": [
{
"start": "26:13.000",
"end": "26:18.500",
"bottom": "이거 35만 원인데 그거 짭이다\n저는 이 끈이랑 목걸이만 말한 거궁",
"effect": "(순살 멘트)"
},
{
"start": "24:46.000",
"end": "24:51.200",
"bottom": "음~\n나경 씨가 찐 맛 평가단이네",
"effect": "(진지한 미식가)"
},
{
"start": "24:51.200",
"end": "24:55.800",
"bottom": "저도 맛있는데 맛 표현을 못 해요\n표정만 보면 미슐랭 평가단인데!",
"effect": "(미슐랭 쓰리스타 급)"
},
{
"start": "25:05.000",
"end": "25:11.800",
"bottom": "너 오늘 코에 점 되게 섹시하다\n칭찬 받아서 웃긴 게 아니라 톤이",
"effect": "(플러팅 공격)"
},
{
"start": "25:13.200",
"end": "25:18.000",
"bottom": "오늘 옷 너무 잘 어울린다 섹시해\n이렇게 하는 거 맞아요?",
"effect": "(영혼 없는 칭찬)"
},
{
"start": "25:56.500",
"end": "26:04.500",
"bottom": "오늘 렌즈 색깔 좀 톤그로다\n아니 그걸 왜 이제 얘기해줘 진짜로!",
"effect": "(매운맛 비난)"
},
{
"start": "26:04.500",
"end": "26:08.500",
"bottom": "무슨 소리야 진짜 잘 맞아!!",
"effect": "(발끈)"
},
{
"start": "26:09.500",
"end": "26:13.000",
"bottom": "아니 어디서 얼마에 샀냐구용\n나는 3만 9천 원에 샀다 왜요!",
"effect": "(티키타카)"
},
{
"start": "26:18.500",
"end": "26:22.500",
"bottom": "제 생각엔 제가 짭인 것 같아요\n두 분 다 과소비가 심하네!",
"effect": "(빠른 패배 인정)"
},
{
"start": "26:24.000",
"end": "26:30.500",
"bottom": "텐션 미쳤다 셋이서 오예~ 오예~\n오예! 오예!",
"effect": "(대환장 파티)"
}
]
}
📌 타이틀 후보 5선
상단: 프나 유치찬란 상황극 / 메인: 35만 원인데 그거 짭이다 — [어그로형]
상단: 웃음 참고 칭찬하기 / 메인: 코에 점 되게 섹시하다 — [바이럴형]
상단: 프로미스나인 매운맛 / 메인: 오늘 렌즈 색깔 톤그로다 — [바이럴형]
상단: 과몰입 장인 프로미스나인 / 메인: 제발 그만해 너무 유치해 — [클릭유도형]
상단: 미슐랭 미식가 나경 / 메인: 표정에서 드러나는 맛 평가 — [클릭유도형]
⏱️ 컷 길이 검산표
컷 1: 26:13.000 → 26:18.500 = 5.5초
컷 2: 24:46.000 → 24:51.200 = 5.2초
컷 3: 24:51.200 → 24:55.800 = 4.6초
컷 4: 25:05.000 → 25:11.800 = 6.8초
컷 5: 25:13.200 → 25:18.000 = 4.8초
컷 6: 25:56.500 → 26:04.500 = 8.0초
컷 7: 26:04.500 → 26:08.500 = 4.0초
컷 8: 26:09.500 → 26:13.000 = 3.5초
컷 9: 26:18.500 → 26:22.500 = 4.0초
컷 10: 26:24.000 → 26:30.500 = 6.5초
─────────────────────
총 10컷 / 총 길이: 52.9초
4================================================
{
"url": "",
"title_top": "프미나 미식가",
"title_main": "손동작 킹받는 과자 리뷰",
"channel": "",
"cuts": [
{
"start": "29:24.000",
"end": "29:32.500",
"bottom": "신중하게 좀 드시다가\n음~ 음 손동작 킹받아",
"effect": "(미식가 포스)"
},
{
"start": "29:09.000",
"end": "29:17.500",
"bottom": "세 봉지 연속으로 먹을 수 있어\n무조건 음~ 음! 오오!",
"effect": "(폭풍 흡입)"
},
{
"start": "29:40.000",
"end": "29:48.000",
"bottom": "글씨를 보고 좀 겁먹었거든요\n근데 그렇게 맵지 않아요",
"effect": "(맵찔이도 가능)"
},
{
"start": "30:08.500",
"end": "30:15.500",
"bottom": "저희 팀 대표 맵찔이인데\n마지노선 정말 맛있는 매운맛",
"effect": "(맵찔이 인증)"
},
{
"start": "30:29.500",
"end": "30:36.500",
"bottom": "신기한 게 치즈 그림이 있잖아요\n진짜 로제에 치즈 올린 맛이 나요",
"effect": "(완벽 재현)"
},
{
"start": "30:43.500",
"end": "30:52.000",
"bottom": "성분표를 보고 있습니다\n나경 씨는 제가 봤을 때 미식가예요",
"effect": "(냉철한 분석)"
}
]
}
📌 타이틀 후보 5선
상단: 프미나 미식가 / 메인: 손동작 킹받는 과자 리뷰 — [바이럴형]
상단: 세 봉지 순삭 / 메인: 맵찔이도 반한 포테토칩 — [클릭유도형]
상단: 로제 치즈맛 완벽 / 메인: 엽떡 로제맛 과자의 정체 — [어그로형]
상단: 성분표 분석까지 / 메인: 과자 리뷰에 진심인 아이돌 — [바이럴형]
상단: 맵찔이 마지노선 / 메인: 맛있게 매운 신상 과자 먹방 — [클릭유도형]
⏱️ 컷 길이 검산표
컷 1: 29:24.000 → 29:32.500 = 8.5초
컷 2: 29:09.000 → 29:17.500 = 8.5초
컷 3: 29:40.000 → 29:48.000 = 8.0초
컷 4: 30:08.500 → 30:15.500 = 7.0초
컷 5: 30:29.500 → 30:36.500 = 7.0초
컷 6: 30:43.500 → 30:52.000 = 8.5초
─────────────────────
총 6컷 / 총 길이: 47.5초
5================================================
{
"url": "https://www.youtube.com/watch?v=비공개_혹은_알수없는_ID",
"title_top": "맑은 눈의 광기",
"title_main": "차분하게 팩폭하는 나경",
"channel": "",
"cuts": [
{
"start": "31:26.500",
"end": "31:30.000",
"bottom": "같이 점심을 먹으려는데\n각자 먹고 싶은 메뉴가 다르다",
"effect": "(상황극 시작)"
},
{
"start": "31:56.500",
"end": "32:00.000",
"bottom": "저는 삼겹살",
"effect": "(최애 메뉴)"
},
{
"start": "32:01.500",
"end": "32:06.000",
"bottom": "나는 어린이 돈가스\n이 집 어린이 돈가스가 진짜 맛있어",
"effect": "(뜬금포)"
},
{
"start": "32:08.500",
"end": "32:14.500",
"bottom": "여긴 삼겹살 전문점인데?\n- 여기 간판 조만간 바뀔걸?",
"effect": "(아무말 우기기)"
},
{
"start": "32:17.500",
"end": "32:20.500",
"bottom": "차라리 나중에\n돈가스 전문점 가서 먹는 거 어때?",
"effect": "(차분한 타격)"
},
{
"start": "32:20.500",
"end": "32:25.500",
"bottom": "돈가스 전문점은 다 똑같아\n여기가 되게 특별해",
"effect": "(억지)"
},
{
"start": "32:25.500",
"end": "32:32.000",
"bottom": "근데 여기 고기 먹어봤어?\n- 아니?\n너~무 맛있어! 굉장히 스페셜해",
"effect": "(홀리는 중)"
},
{
"start": "32:32.000",
"end": "32:36.500",
"bottom": "돈가스랑 김치찌개 시키자!\n- 기름기랑 같이 들어가야 돼서",
"effect": "(철벽)"
},
{
"start": "32:36.500",
"end": "32:41.000",
"bottom": "삼겹살을 또 먹어줘야 돼\n- 내가 쌈 싸줄게 그래!",
"effect": "(홀라당 넘어감)"
},
{
"start": "32:41.000",
"end": "32:45.000",
"bottom": "저희 같은 성격이\n나경이 절대 못 이겨요",
"effect": "(감탄)"
},
{
"start": "32:47.500",
"end": "32:53.000",
"bottom": "나경 씨 얼굴을 보고 있으면\n자체 클로즈업이 돼요 자꾸",
"effect": "(미인계)"
},
{
"start": "33:01.500",
"end": "33:05.500",
"bottom": "저는 개입해서 한마디 하려고 했어\n진작 설득당했어 나는",
"effect": "(어이없음)"
}
]
}
📌 타이틀 후보 5선
상단: 삼겹살 전문점인데 / 메인: 돈가스 시키자는 유인나 — 어그로형
상단: 맑은 눈의 광기 / 메인: 차분하게 팩폭하는 나경 — 바이럴형
상단: 무논리 vs 차분함 / 메인: 결국 삼겹살에 굴복한 언니 — 바이럴형
상단: 미모가 무기 / 메인: 자체 클로즈업 되는 나경 얼굴 — 어그로형
상단: 절대 못 이기는 성격 / 메인: 프로미스나인 나경의 설득법 — 클릭유도형
⏱️ 컷 길이 검산표
컷 1: 31:26.500 → 31:30.000 = 3.5초
컷 2: 31:56.500 → 32:00.000 = 3.5초
컷 3: 32:01.500 → 32:06.000 = 4.5초
컷 4: 32:08.500 → 32:14.500 = 6.0초
컷 5: 32:17.500 → 32:20.500 = 3.0초
컷 6: 32:20.500 → 32:25.500 = 5.0초
컷 7: 32:25.500 → 32:32.000 = 6.5초
컷 8: 32:32.000 → 32:36.500 = 4.5초
컷 9: 32:36.500 → 32:41.000 = 4.5초
컷 10: 32:41.000 → 32:45.000 = 4.0초
컷 11: 32:47.500 → 32:53.000 = 5.5초
컷 12: 33:01.500 → 33:05.500 = 4.0초
─────────────────────
총 12컷 / 총 길이: 54.5초