
Claude Vision을 사용하여 몇 분 분량의 영상에서 '최고의 15초'를 선정하는 설계
요약
Claude Vision을 활용하여 영상에서 SNS 게시용 최적 구간을 자동으로 선정하고 채점하는 파이프라인 설계법을 소개합니다. 프레임 추출과 타임스탬프 결합을 통해 저비용으로 시계열 정보를 파악하는 실용적인 접근 방식을 다룹니다.
핵심 포인트
- 프레임과 타임스탬프를 결합하여 저비용 멀티모달 분석 구현
- Haiku 모델과 이미지 리사이징을 통한 비용 최적화 전략
- AI의 답변 오류를 방지하기 위한 코드 기반의 후처리 로직 필수
- 루프 재생을 고려한 구간 선정 프롬프트 설계
반려동물 쇼츠 영상을 자동으로 게시하는 파이프라인을 운영하고 있습니다. 수십 초에서 몇 분 분량의 녹화 영상에서 'SNS에 올릴 가치가 있는 6~15초'를 찾아내어 잘라내고, 채점하고, 제목까지 만드는——이 '편집 센스' 부분을 Claude Vision에게 맡기는 설계를 소개합니다.
영상 이해라고 하면 멀티모달 (Multimodal) 영상 입력을 떠올리지만, 여기서 소개하는 것은 **정지 영상 프레임 + 타임스탬프 (Timestamp)**만으로 작동하는, 가장 저렴하며 어떤 Vision 모델에서도 동작하는 기초적인 형태입니다.
설계의 골격: 1회의 호출로 「구간 선정 + 채점 + 문구 생성」
영상 1개에 대해 수행하는 작업은 1회의 API 호출입니다.
- ffmpeg로 영상에서 일정한 간격의 프레임을 추출 (8~20장)
- 「N초 지점의 프레임:」이라는 텍스트와 이미지를 교차로 나열하여 Claude에게 전달
- 응답은 JSON 1개: 베스트 구간(시작 초·종료 초), 스코어(0~10), 제목 안, 피사체의 재석 비율
타임스탬프를 텍스트로 덧붙이는 것이 포인트이며, 이것만으로 모델은 "시계열로 무엇이 일어났는지"를 파악하여 초 단위로 구간을 지정하여 반환할 수 있게 됩니다. 구간 선정과 채점을 별도의 호출로 나누면 정밀도는 올라가겠지만, 비용이 2배가 되기 때문에 하나로 묶었습니다. 실용적인 정밀도는 확보되었습니다.
비용을 결정하는 3가지 숫자
프레임 수는 「기본 5초 간격, 상한 20장, 하한 8장」입니다. 상한은 긴 영상에서의 비용 폭발을 방지하기 위함입니다. 하한이 은근히 중요한데, 짧은 영상의 경우 2~3장밖에 추출되지 않으면 구간 선정의 재료로서도, "피사체가 얼마나 찍혔는가"를 판단하는 분모로서도 너무 거칠기 때문입니다.
이미지는 긴 변을 768px로 축소하여 보냅니다. Vision API의 이미지 과금은 픽셀 수에 거의 비례합니다 (대략 가로×세로÷750 토큰). 채점에 4K는 필요하지 않습니다. 이것만으로 비용을 몇 분의 일로 줄일 수 있습니다.
모델은 최저가 클래스(Haiku)로 충분합니다. 이 용도에서는 상위 모델과의 차이가 느껴지지 않습니다. 또한 "몇 시간 이내에 반환되어도 상관없다"면 Batch API를 사용하여 반값에 이용할 수 있습니다.
프롬프트의 골격
실제 사례에서 발췌한 내용입니다 (반려동물의 이름만 변경했습니다).
당신은 새끼 고양이 영상 클립에서 SNS Shorts 게시용으로 최적인 구간을 선정하고,
평가하는 어시스턴트입니다. 주어진 이미지는 하나의 영상에서 일정 간격으로
추출한 프레임이며, 각 이미지 직전의 텍스트에는 해당 이미지의 영상 내...
「루프 재생된다」는 전제를 알려주는 이유는, 게시 실적 분석 결과 **실제 길이 10초 이하의 영상은 루프율이 평균 213%, 16초 이상은 72%**라는 것을 알았기 때문입니다. 잘 나가는 쇼츠는 2~4회 반복해서 시청됩니다. 그래서 "끝이 도입부와 이어지는 구간을 선정하라"는 지시가 포함되어 있습니다.
AI의 답변을 신뢰하지 마라
출력을 그대로 사용하면 사고가 발생합니다. 운영을 통해 확립된 원칙은 "AI의 지시 위반은 발생한다는 전제하에, 최종 결정은 결정적인 처리 로직이 담당한다"입니다.
- 스코어의 최종 계산은 AI에게 맡기지 않습니다. "피사체가 별로 찍히지 않았다면 감점해줘"라고 부탁하면, 감점을 하기도 하고 안 하기도 합니다. 재석 비율을 숫자로 보고하게 하고,
최종 스코어 = 원점 × 재석 비율계산은 코드 측에서 수행합니다. - 구간은 클램핑(Clamping)합니다. 영상 길이를 초과하는 종료 초나, 지정 범위를 벗어난 길이가 태연하게 반환됩니다. 받은 구간은 반드시 "영상 범위 내·규정된 길이 내"로 기계적으로 다듬어야 합니다.
- 결측치 처리 방식은 필드마다 결정합니다. 스코어와 같은 핵심 필드의 결측은 에러로 처리하여 중단합니다 (그냥 넘어가면 미채점 클립이 그대로 통과됩니다). 보조 필드의 결측은 기본값으로 처리합니다. 어느 쪽이 안전한지는 필드마다 다릅니다.
임계값은 실측 데이터로 움직인다
채점 결과가 임계값 이상인 클립만 인간의 승인 단계로 넘어갑니다. 당초 임계값은 6이었으나, 스코어 6인 클립을 인간이 승인한 비율이 약 11%(80개 중 9개)라는 것을 확인하고 7로 올렸습니다. "AI의 정밀도를 높이는 것"이 아니라 "AI와 인간의 역할 분담 선을 실측 데이터로 다시 긋는 것"——이쪽이 훨씬 저렴하고 효과적입니다.
프롬프트에는 버전 식별자를 붙여 각 클립의 기록에 남기고 있습니다. 변경 전후의 시청 유지율을 코호트(Cohort) 비교하기 위해서입니다. 프롬프트 개선은 검증 수단이 없으면 "좋아진 것 같다"는 느낌으로 끝나버립니다.
전체 모습은 책에 정리했습니다
이 채점기의 전후 단계——카메라로부터의 자동 수집, ffmpeg를 이용한 세로형 가공 및 루프용 크로스페이드(Crossfade), Telegram 원탭 승인, 정기 자동 게시, 실적 데이터가 프롬프트로 환류되는 구조——를 포함한 파이프라인 전체의 설계와 운영의 현실은 책에 썼습니다. 앞부분 2장은 무료로 읽을 수 있습니다.
토론 (Discussion)

AI 자동 생성 콘텐츠
본 콘텐츠는 Zenn AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기