HiAPI
블로그

튜토리얼

Claude Code로 vlog 자동 편집하기: 재현 가능한 워크플로

Pieter Levels는 여행 소재를 Claude Code에 넘겨 약 10분짜리 완성본으로 편집했습니다. 그가 어떤 도구를 썼는지 뜯어보고, 이 워크플로를 직접 구축하는 방법을 알아봅니다.

Nov 3, 2026
Claude Code로 vlog 자동 편집하기: 재현 가능한 워크플로

이 글의 방식은 Pieter Levels(@levelsio)가 2026년 11월 X에서 공유한 실측에서 나왔습니다. 원글: https://x.com/levelsio/status/2116959423117857026 . 툴체인을 보충 설명한 답글: https://x.com/levelsio/status/2116961807315169718 . 아래는 그가 공유한 내용에 대한 분석과 재현 설명입니다.

Pieter Levels는 DJI로 촬영한 소재를 Claude Code에 넘겨 약 10분짜리 vlog로 편집하게 했고, 본인은 소량만 조정했으며 나중에야 어떤 도구를 썼는지 알게 되었습니다.

이 사례는 따로 뜯어볼 가치가 있습니다. 막연한 'AI 영상 편집'을 재현 가능한 엔지니어링 워크플로로 구체화했기 때문입니다.

무엇을 했는가

전체 파이프라인의 순서는 이렇습니다:

  1. 전사: mlx-whisper로 오디오를 타임스탬프가 붙은 텍스트로 변환
  2. 프레임 추출: 일정 간격으로 화면을 캡처해 하나의 화면 그리드 이미지로 구성
  3. 화자 분리: SpeechBrain의 ECAPA 모델로 어느 문장을 누가 했는지 구분
  4. 의사결정: Claude가 전사 텍스트와 화면 그리드를 동시에 읽고 어떤 구간을 남길지 결정
  5. 출력: JSON 편집 목록을 생성하며, 영상을 직접 자르지는 않음
  6. 렌더링: 목록에 따라 ffmpeg로 자르고 이어붙임
  7. 보충: OpenCV와 YuNet으로 얼굴 썸네일 생성, Pillow로 오프닝 자막 그림

핵심은 4, 5단계입니다. 모델이 하는 일은 '영상 편집'이 아니라 '두 가지 구조화된 데이터를 읽고 하나의 편집 결정을 출력'하는 것입니다.

이 설계가 작동하는 이유

영상을 모델에 직접 넣으면 안 될까요? 기술적으로는 가능하지만 비용이 통제 불능이 됩니다. 1시간 분량 소재를 프레임 단위로 계산하면 토큰 수가 천문학적입니다.

이 워크플로는 두 번의 압축을 수행합니다:

첫 번째 압축은 오디오 쪽. 1시간 분량의 구술이 대략 1만 자 남짓의 텍스트로 변환되어 모델이 읽기에 저렴합니다. 타임스탬프가 보존되므로 각 문장이 영상 어디에 위치하는지 알 수 있습니다.

두 번째 압축은 화면 쪽. 일정 간격으로 프레임을 추출해 그리드로 구성하면 한 이미지에서 여러 시점의 화면을 볼 수 있습니다. 모델이 이미지를 보고 '이 구간은 걷는 중인가', '이 구간에 풍경이 있는가'를 판단하며 연속 프레임을 볼 필요가 없습니다.

두 번의 압축 후, 원래 몇 시간 분량이던 소재가 모델이 한 번에 읽을 수 있는 입력이 되어 의사결정 비용이 수용 가능한 범위로 떨어집니다.

직접 구축한다면 순서가 중요하다

1단계: 전사를 먼저 잘 해두기

오디오 트랙을 분리해 타임스탬프가 붙은 텍스트로 변환합니다. 이 단계의 품질이 이후 모든 판단을 좌우합니다.

구술 중심의 vlog에서는 전사 정확도가 모델이 '이 이야기가 끝났다'는 경계를 잘라낼 수 있는지에 직접 영향을 줍니다. 배경음이 시끄러운 소재는 전사에서 글자가 빠지고, 모델이 그에 근거해 자른 구간이 문장 중간에서 끊기기 쉽습니다.

2단계: 편집 목록 형식을 잘 설계하기

모델이 '00:12부터 01:47까지 유지' 같은 자연어가 아니라 고정 스키마의 JSON을 출력하게 합니다:

{
  "segments": [
    {"start": 12.4, "end": 107.2, "reason": "민박 도착, 방 소개"},
    {"start": 340.1, "end": 402.8, "reason": "바닷가 일몰 타임랩스"}
  ],
  "total_duration": 596.1
}

고정 형식이 있으면 스크립트가 바로 소비할 수 있고 자연어를 파싱할 필요가 없습니다. 필드에 reason을 넣으면 사람이 검수할 때 각 구간을 왜 남겼는지 알 수 있습니다.

3단계: 렌더링은 ffmpeg에 맡기기

모델은 결정만 출력하고, 자르기와 이어붙이기는 ffmpeg로 합니다. 이렇게 하면 각 단계를 개별적으로 디버깅할 수 있습니다. 편집 결정이 틀리면 프롬프트를 고치거나 모델을 바꾸고, 화면이 틀리면 ffmpeg 파라미터를 확인하면 됩니다.

목록에 따라 자르고 이어붙이는 최소 예시:

# 목록에 따라 구간별로 자르기
ffmpeg -ss 12.4 -to 107.2 -i input.mp4 -c copy seg_01.mp4

# 이어붙이기
printf "file 'seg_01.mp4'\nfile 'seg_02.mp4'\n" > list.txt
ffmpeg -f concat -safe 0 -i list.txt -c copy out.mp4

-c copy는 재인코딩하지 않아 속도가 수백 배 빠릅니다. 전제는 각 구간의 인코딩 파라미터가 일치해야 하므로, 자르기 전에 인코딩 파라미터를 한 번 통일해야 합니다.

4단계: 의사결정을 모델에 맡기기

이 단계는 HiAPI를 연결하면 됩니다. Claude Code 설정은 Claude Code와 Codex에 HiAPI 연결을 참고하세요. Key를 설정하면 Claude Code에서 실행되는 추론이 Opus 5.5로 라우팅됩니다(입력 $2.02, 출력 $10.08 / 백만 토큰).

1시간 분량 소재에 전사 텍스트와 수십 장의 화면 그리드를 더하면 입력이 대략 2~3만 토큰입니다. Opus 5.5 입력 가격 기준으로 한 번의 완전한 의사결정 비용은 몇 푼에서 1전 사이입니다. 사람이 1시간 분량을 편집하는工时와 비교하면 이 비용 규모는 망설일 필요가 없습니다.

시나리오를 바꿔도 재사용 가능

같은 구조에서 입력 소스만 바꾸면 다른 제품이 됩니다:

시나리오 입력 편집 목표
팟캐스트 클립 긴 오디오 + 전사 독립된 세그먼트가 될 수 있는 관점 추출
회의 리뷰 화면 녹화 + 전사 결의 사항과 할 일 유지
강의 정밀 편집 강의 영상 멈춤과 반복 제거
인터뷰 하이라이트 멀티 카메라 주제별 재구성

각 유형의 프롬프트는 다르지만 '전사 → 압축 → 의사결정 → 렌더링'이라는 뼈대는 같습니다.

마주칠 함정

타임스탬프 오프셋. 도구마다 전사 타임스탬프 기준이 수십 밀리초 차이날 수 있어 잘린 구간 시작에서 글자가 잘립니다. 해결법은 짧은 소재로 먼저 보정하는 것입니다.

모델이 너무 많이 남기려는 경향. 첫 실행은 보통 편집이 덜 과감해 출력이 목표 길이보다 깁니다. 프롬프트에 목표 길이를 명확히 주고, 초과하면 다시 골라야 한다고 명시하세요.

자르는 지점이 문장 중간에 걸림. 모델에 타임스탬프만 주면 문장 중간에서 자를 수 있습니다. 전사의 문장 경계를 함께 제공해 문장 경계 기준으로 선택하게 하세요.

재인코딩 소요 시간. 각 구간의 인코딩 파라미터가 다르면 -c copy가 실패해 재인코딩으로 퇴화하고, 1시간 소재는 오래 걸립니다. 파라미터 통일 단계는 생략할 수 없습니다.

자주 묻는 질문

Claude Code를 반드시 써야 하나요?

아닙니다. 긴 텍스트를 읽고 스키마에 맞춰 JSON을 출력할 수 있는 모델이면 이 의사결정 단계를 할 수 있습니다. Claude Code의 장점은 스스로 스크립트를 작성하고 ffmpeg를 실행하며 결과를 보고 조정한다는 점으로, 수동으로 흐름을 연결하는 시간을 절약해 줍니다.

Apple 칩 없이 mlx-whisper를 돌릴 수 있나요?

아니요, mlx는 Apple 프레임워크입니다. 비 Apple 기기에서는 faster-whisper 또는 whisper.cpp로 바꾸면 되고 로직은 같습니다.

전체 워크플로는 얼마나 걸리나요?

소재 전사가 대부분을 차지하며, 1시간 소재는 M 시리즈 칩에서 모델 크기에 따라 대략 10여 분에서 수십 분 걸립니다. 의사결정 단계는 몇 분입니다. 렌더링은 -c copy를 쓰면 매우 빠릅니다.

편집 결과를 바로 쓸 수 있나요?

Levels 본인의 표현은 소량 조정했다는 것입니다. 자동 워크플로는 '몇 시간 소재에서 10분을 골라내는' 가장 시간이 많이 드는 부분을 해결하며, 디테일의 리듬과 전환은 사람이 조정하는 편이 더 빠릅니다.

핵심 결론

이 워크플로가 작동하는 핵심은 모델이 얼마나 똑똑한지가 아니라 영상을 모델이 읽을 수 있는 데이터로 바꾼 것입니다. 전사가 오디오를 압축하고, 프레임 추출 그리드가 화면을 압축하며, 모델은 구간 선택 결정만 하고 렌더링은 ffmpeg에 돌려줍니다. 재현하려면 '소재를 타임스탬프가 붙은 텍스트로 변환'하는 단계부터 시작하면 되고, 나머지는 모두 엔지니어링 작업입니다.


자료 출처

영구 AI 아티팩트로 빌드 시작하기

API 키를 받아 태스크 기반의 하나의 API로 이미지, 비디오, 오디오 모델을 호출하세요.

API 문서 보기