Claude Code를 활용한 YouTube 하이라이트 쇼츠 메이커 만들기
유튜브 롱폼에서 맛있는 1분만 골라내기
유튜브 긴 영상을 매번 처음부터 끝까지 보면서 숏폼으로 편집할 부분을 찾는 일은 꽤 지루한 작업이잖아요. 대본을 보면서 '아, 이 부분 살리면 대박이겠다' 싶은 구간을 찾는 것도 매번 눈이 침침해지는 과정이구요.
그래서 이번엔 유튜브 긴 영상의 자막 파일(SRT)을 넣기만 하면, Claude Code가 가장 맛있고 몰입감 넘치는 1분 구간을 자동으로 찾아서 숏폼 대본과 프리미어 프로용 타임코드까지 추출해 주는 파이프라인을 구축해 보려 합니다.
지난 글에서 숏폼 오디오를 생성하는 방법을 다루었으니, 이번에는 그 앞 단계인 핵심 구간 분석 시스템을 구성할 차례입니다.

준비물은 간단합니다
여러 도구를 복잡하게 준비할 필요 없이 Claude Code 하나만 있으면 충분합니다.
터미널 환경에서 가볍게 실행할 수 있고 파일 입출력을 안정적으로 처리해 주기 때문에 긴 자막 텍스트를 분석할 때 효율적입니다.
설치가 끝났다면 작업할 빈 폴더를 하나 만들고 터미널을 열어두면 됩니다.

쇼츠 하이라이트 메이커 만들기
첫 단계로 긴 자막 파일에서 가장 흥미진진한 60초 구간을 찾아내는 분석 스크립트를 구현해야 합니다. Claude Code에게 핵심 뼈대를 잡아달라고 명령해보겠습니다.
처음부터 비디오 컷 편집 라이브러리까지 붙여서 크게 짜면 에러를 잡느라 기운을 다 빼기 십상이거든요.
뼈대가 되는 시간 분석 알고리즘과 JSON 입출력부터 단단하게 잡아두는 게 경험상 훨씬 안전합니다.
명령을 실행하면 도구가 타임코드 파싱 부분이나 흥미도 점수를 매기는 가중치 알고리즘을 신속하게 생성해 줍니다. 완성된 코드를 검토해 보면 타임라인 구간이 의도한 규칙에 맞게 정확히 계산되도록 설계되어 있습니다.
구간을 찾았으니 이제 이 구간의 자막을 그냥 보여주는 게 아니라, 쇼츠 화면에 맞게 1줄 나레이션 대본으로 재구성해야 합니다. 쇼츠는 한 화면에 들어가는 텍스트가 짧아야 읽기 편하거든요.
단순히 대본 작성을 요청하면 문장이 지나치게 길어져 모바일 화면에서 잘릴 우려가 있습니다.
글자 수의 상한선과 타임라인 형식을 명확히 지정해 두어야 편집 단계에서 수작업을 최소화할 수 있습니다.
이어서 요청하면 자막 라인마다 초 단위가 붙고 정돈된 텍스트 파일이 생성되도록 코드를 개선해 줍니다. 60초 제한 범위 내에서 텍스트 분량을 알맞게 조절해 주므로 실용성이 뛰어납니다.
대본까지 나왔다면 이제 실제 영상 편집기로 가야겠죠. 매번 타임코드를 손으로 치는 수고를 덜기 위해, 프리미어 프로나 다빈치 리졸브 같은 영상 편집기에서 타임라인 마커로 불러올 수 있는 CSV 형태의 마커 파일을 자동 생성하도록 해보겠습니다.
그냥 밀리초 단위로 내보내면 영상 편집 툴에 불러왔을 때 싱크가 다 어긋나 버리거든요.
타임코드 형식을 비디오 프레임 단위(예: 30fps 기준)에 맞게 정밀하게 포맷팅해달라고 못박아 둬야 귀찮은 2차 편집이 없어집니다.
작성된 스크립트는 프레임 레이트 계산 공식을 적용하여 markers.csv를 생성하도록 구성됩니다. 타임코드가 비디오 규격인 00:01:23:15 형식으로 정교하게 매핑되어 저장되는 구조입니다.
추출한 결과가 기획 의도에 맞는지 최종 검수 과정을 거쳐야 합니다. 생성된 데이터와 원본 자막을 다른 대형 언어 모델에 전달하여 탐색 결과의 객관적인 완성도를 평가해 봅니다.
단순한 수치 분석을 넘어 전체 문맥의 흐름을 파악하면 한층 고도화된 정성적 피드백을 얻을 수 있습니다. 이를테면 결론부가 더 극적인 효과를 낸다는 조언에 맞추어 가중치를 조절하면 한층 세련된 숏폼 영상용 대본이 완성됩니다.
자주 발생하는 오류 해결하기
- 현상: 타임코드 파싱 중에 'ValueError: time data does not match format' 에러가 나면서 스크립트가 멈춥니다.
원인: 유튜브 자막 다운로더마다 SRT 파일의 타임코드 소수점 표기법(쉼표를 쓰는지 점을 쓰는지)이 다를 때 발생합니다.
해결 방법: analyze_highlight.py 파일에서 타임코드를 읽는 정규표현식 패턴을 쉼표와 마침표 둘 다 대응하도록(\d{2}):(\d{2}):(\d{2})[,\.](\d{3})형태로 정규식을 고치면 해결됩니다. - 현상: 생성된 CSV 마커를 프리미어 프로에 올렸는데 타임라인에 아무 마커도 표시되지 않습니다.
원인: 영상의 프레임 레이트(예: 29.97fps 또는 24fps) 설정과 스크립트에서 계산한 프레임 레이트 기준이 맞지 않아 오차가 생겼기 때문입니다.
해결 방법: 스크립트 상단의FRAME_RATE = 30설정을 사용하는 실제 비디오 소스의 프레임 정보와 동일하게 수정한 뒤 다시 파일을 내보내면 해결됩니다. - 현상: 자막 파일 용량이 너무 크면 API 토큰 한도가 초과되었다는 에러가 뜹니다.
원인: 1시간이 넘는 긴 영상의 자막 전체를 통째로 분석 스크립트에 한 번에 밀어 넣으려 해서 발생하는 토큰 버스트 에러입니다.
해결 방법: 10분 단위로 자막 텍스트를 잘라서 분석하도록 청크 단위를 나누는 전처리 함수를 추가해주거나, 도구에게 청크 분할 코드를 구현해달라고 요청하여 안전하게 대량 분석을 진행할 수 있습니다.
다음에 시도해볼 작업
지금까지 분석기 설계부터 대본 가공, 편집 프로그램 연동까지 전 과정을 살펴보았습니다. 여기에 음성 합성 도구를 추가하면 자막 파일 입력만으로 핵심 오디오 파일까지 출력하는 자동화 체계가 완성됩니다. 다음 글에서는 화면 비율을 세로형으로 변경해 주는 레이아웃 크롭 기술을 연결해 보겠습니다.
이런 글도 있어요
관련 검색어
- 🔍 Claude Code 사용법
- 🔍 Claude Code 비교
- 🔍 유튜브 쇼츠 사용법
- 🔍 유튜브 쇼츠 비교
- 🔍 하이라이트 추출 사용법
- 🔍 하이라이트 추출 비교