[00:00]
이번 주말에 시간이 여유로워서
[00:02]
함께 Claude Code 프로젝트를 해보자고 생각했어요.
[00:04]
오늘은 AI 비디오 에디터를 만들어보려고 해요.
[00:07]
이건 단순히 반자동 비디오 편집기가 될 거예요.
[00:09]
하지만 이 비디오는 주로 Claude Code를 사용해서
[00:12]
어떻게 프로젝트를 생성하고,
[00:13]
여러분이 가진 아이디어를 실현할 수 있는지,
[00:15]
그리고 제 워크플로우를 따라할 수 있는지에 관한 것이에요.
[00:17]
시작하기 전에 필요한 것들이 있어요.
[00:18]
시작하기 전에 알아두어야 할 것들이 있고,
[00:21]
몇 가지 기능을 추가하고 싶을 수도 있어요.
[00:23]
필요한 것은 먼저
[00:25]
ffmpeg라는 프로그램이에요.
[00:27]
그리고 로컬 Whisper 모델이 필요해요.
[00:30]
이건 오디오를 텍스트로 변환하기 위한 것이고,
[00:32]
어떤 종류의 API도 필요해요.
[00:34]
저는 Gemini 3 Flash API를 선택할 예정이에요.
[00:38]
빠르고, 성능도 꽤 좋고,
[00:40]
함수 호출도 할 수 있어요.
[00:42]
추가 기능을 원한다면
[00:44]
Nano Banana Pro나
[00:47]
비디오 모델들이 필요할 수도 있어요.
[00:48]
일단 이것부터 시작해서 몇 가지 기능을 추가해보죠.
[00:51]
말씀드린 것처럼, 이건 기본적으로
[00:54]
Claude Code 비디오가 될 거예요.
[00:56]
제 워크플로우를 따라하실 수 있고,
[00:58]
Claude Code를 사용해서 성공을 거두실 수 있을 거예요.
[01:00]
바로 시작해보죠.
[01:03]
처음부터 끝까지 진행할 예정이니
[01:05]
즐겁게 봐주세요.
[01:07]
비디오를 위해 Mac의 터미널을 사용할 거예요.
[01:10]
IDE에서도 사용할 수 있지만,
[01:12]
비디오에서는 터미널이 좀 더 보기 좋을 것 같아요.
[01:14]
첫 번째로 할 일은 디렉토리를 만드는 거예요.
[01:17]
AI video editor라고 이름을 붙일게요.
[01:19]
그리고 Claude로 들어가서
[01:20]
Cursor IDE에서 이 디렉토리를 열어볼게요.
[01:22]
앞서 말씀드린 것처럼
[01:23]
Gemini 3 모델이나 API가 필요해요.
[01:25]
Gemini API 문서 페이지로 가서
[01:27]
Gemini 3 문서를 가져오겠습니다.
[01:30]
마크다운으로 할 수 있어서
[01:33]
필요한 컨텍스트이니까 복사하겠습니다.
[01:36]
Cursor로 가서 docs라는 폴더를 만들고
[01:38]
gemini-tree.md라는 파일을 만들어서
[01:40]
붙여넣겠습니다.
[01:44]
함수 호출도 필요하다는 걸 알고 있으니
[01:47]
function-call.md도 만들겠습니다.
[01:49]
다시 돌아가서 스크롤하면
[01:51]
함수 호출이라는 기능이 있어요.
[01:53]
모델이 우리를 대신해서
[01:55]
비디오 편집 같은 작업을 할 수 있어야 하거든요.
[01:57]
이걸 여기에 붙여넣겠습니다.
[02:00]
이제 Gemini에서 필요한 기본 문서를 갖게 됐네요.
[02:04]
이 모델과 함수 호출 문서가 있으니
[02:06]
Claude로 돌아가서
[02:08]
몇 가지 지시사항을 작성해보죠.
[02:11]
다른 필요한 것이 있는지 생각해보니
[02:13]
ffmpeg가 설치되어 있지 않다면
[02:15]
ffmpeg.org에 가서
[02:17]
다운로드하시면 됩니다.
[02:20]
Linux, Windows, Mac OS 모두 가능하고
[02:23]
Whisper의 GitHub 저장소는
[02:26]
github.com/openai/whisper입니다.
[02:28]
이제 시작할 준비가 되었네요.
[02:30]
Claude로 돌아가서
[02:32]
지시사항 작성을 시작해보죠.
[02:35]
다른 필요한 것이 있는지 생각해보니
[02:37]
지금은 충분한 것 같아요.
[02:39]
ffmpeg가 설치되어 있지 않다면
[02:41]
ffmpeg.org에 가서 다운로드하세요.
[02:43]
Linux, Windows, Mac OS 모두
[02:45]
지원됩니다.
[02:47]
그리고 Whisper의 GitHub 저장소는
[02:49]
github.com/openai/whisper에 있습니다.
[02:51]
Windows, Mac OS도 지원됩니다. Whisper의 GitHub 저장소는
[02:54]
github.com/openai/whisper에서
[02:56]
찾을 수 있어요.
[02:58]
이 모델을 사용할 수 있고,
[03:00]
로컬에서 실행해서 오디오를 텍스트로 변환할 수 있습니다.
[03:03]
곧 보시겠지만 이게 필요하거든요.
[03:05]
한 가지 더 해야 할 일이 있었는데,
[03:08]
여기서 .env 파일을 만들었습니다.
[03:10]
Gemini API 키라고 적어놨고,
[03:13]
이제 Google로 가서
[03:15]
API 키를 가져올 예정입니다.
[03:18]
OpenAI나 Anthropic 모델, XAI 같은
[03:21]
다른 모델들을 쓰고 싶다면
[03:23]
OpenRouter를 써도 되고, 여기 ENV 파일에만
[03:26]
설정하면 됩니다.
[03:28]
API 키를 가져와서
[03:30]
다음 단계를 진행해보죠.
[03:33]
API 키를 받았으니
[03:34]
다시 Claude로 돌아가서
[03:36]
이 AI 에디터가 어떻게 생겨야 할지
[03:38]
생각해보겠습니다.
[03:41]
간단한 UI를 원합니다.
[03:44]
Vercel 텍스트 스택으로 구축하고 싶은데,
[03:48]
Next.js와 JavaScript를 사용하면 될 것 같아요.
[03:51]
문제없을 거예요.
[03:52]
이제 다음 단계는
[03:54]
원하는 프로젝트를 말하는 겁니다.
[03:57]
음성을 텍스트로 변환하는 기능을 사용할 거예요.
[03:59]
원한다면 조금 건너뛸 수 있고,
[04:01]
일단 문서 읽기부터 시작하겠습니다.
[04:03]
문서가 있거든요.
[04:05]
그리고 API 키는 .env에 있고
[04:07]
네, 좋습니다.
[04:14]
이제 프로젝트에 대해 말하겠는데,
[04:17]
먼저 플랜 모드로 설정하고
[04:19]
비디오 에디터에 대한
[04:20]
아이디어를 읽어드리겠습니다.
[04:22]
매우 긴 프롬프트였어요.
[04:25]
위로 스크롤해서
[04:27]
전체 프롬프트를 보고 싶다면
[04:29]
일부는 건너뛰어야 할 수도 있어요.
[04:31]
시간이 너무 오래 걸렸거든요.
[04:34]
전체 프롬프트는 이렇고,
[04:37]
마무리는
[04:38]
AI 비디오 에디터의
[04:40]
첫 번째 초안을 위한 계획을 세우는 것입니다.
[04:46]
플랜 모드에 있고
[04:49]
이것을 실행하겠습니다.
[04:52]
시간이 좀 걸릴 거예요.
[04:54]
Claude Code가
[04:55]
후속 질문을 할 가능성이 있어요.
[04:57]
질문이 있으면 다시 돌아올 테고,
[04:59]
그다음에 계획을 세우고
[05:01]
애플리케이션을 만들어보겠습니다.
[05:03]
이제 보시면
[05:05]
Claude가 계획에 대한 후속 질문을 하고 있습니다.
[05:08]
어떤 Whisper 모델을 쓸지 묻고 있네요.
[05:11]
베이스 모델을 쓰고 싶어요.
[05:13]
꽤 좋거든요.
[05:14]
너무 많이 사용하지도 않고...
[05:17]
아니면 스몰 모델을 써봐도 될 것 같아요.
[05:18]
스몰 모델을 써보죠.
[05:21]
조금 더 나을 것 같아요.
[05:23]
그걸로 해보죠. 괜찮을 거예요.
[05:26]
타임라인에 비디오 파형 시각화를
[05:30]
포함할지, 오디오 파형을
[05:32]
포함할지 묻고 있네요.
[05:35]
지금은 간단한 타임라인으로 하겠습니다.
[05:38]
비디오 업로드를 위한 파일 드래그 앤 드롭을
[05:41]
원하는지 묻네요. 네, 원합니다.
[05:43]
꽤 간단할 것 같아요.
[05:45]
간단한 UI를 얻을 수 있기를 바라요.
[05:48]
파일을 업로드하고
[05:50]
비디오 파일로 작업을 시작할 수 있고,
[05:52]
나중에 더 많은 기능들을
[05:54]
추가할 수도 있을 거예요.
[05:57]
좋습니다, 시작해보죠.
[06:00]
Claude가 계획 완성을 계속하도록 두고
[06:03]
계획이 준비되면 다시 돌아와서
[06:04]
작업을 시작할 수 있도록 하겠습니다.
[06:06]
이제 계획이 완성되었다는 뜻이네요.
[06:08]
빠르게 위로 스크롤해보겠습니다.
[06:10]
모든 단계를 하나씩 살펴보지는 않겠습니다
[06:12]
매우 큰 계획이거든요.
[06:14]
하지만 빠르게 살펴보겠습니다.
[06:16]
네, Next.js를 사용할 예정이고
[06:17]
업로더 컴포넌트와
[06:20]
비디오 플레이어 컴포넌트가 있네요
[06:22]
타임라인, 클립 에디터
[06:24]
ffmpeg 통합 기능까지 있습니다. 좋네요.
[06:26]
AI Whisper를 활용한 전사 파이프라인을 위한
[06:28]
오디오 추출 기능도 있습니다.
[06:31]
AI 모드도 있고, 좋네요.
[06:35]
Gemini 클라이언트, Gemini 3.5 Flash입니다.
[06:38]
여기서 모델을 확인해보고 싶네요.
[06:40]
음
[06:42]
정확한 모델을 사용하고 있는지
[06:44]
확인하고 싶지만 나중에 변경할 수 있습니다.
[06:47]
그 외에는 괜찮아 보입니다.
[06:50]
이제 이것을 승인하겠습니다.
[06:52]
이제 Claude Code가 계획에 따라
[06:55]
실행을 시작할 것이고
[06:57]
곧 시도해보고 반복할 수 있는
[06:59]
결과물이 나오기를 바랍니다.
[07:02]
Claude Code가 아직 실행 중이고
[07:04]
앱을 구축하고 있는 것을 볼 수 있습니다.
[07:05]
꽤 괜찮아 보이네요.
[07:07]
6분째 실행 중이고 편집할 비디오를
[07:11]
선택했습니다.
[07:12]
이것은 'Claude가 우리 사무실에서 사업을 운영한' 영상입니다.
[07:15]
아직 안 보셨다면 꽤 멋진 영상이에요.
[07:17]
이 비디오를 가져와서
[07:19]
편집해보려고 합니다.
[07:21]
이제 npm install을 할
[07:23]
준비가 된 것 같네요. 완벽합니다.
[07:26]
여기 Claude 비즈니스 파일이 있고
[07:28]
나중에 편집해볼 예정입니다.
[07:32]
첫 번째 반복을 시도할 준비가 되면
[07:33]
다시 돌아오겠습니다. 완벽하네요.
[07:37]
이제 완료된 것 같습니다.
[07:39]
npm install을 했고 이제
[07:42]
첫 번째 반복을 테스트하기 위해 npm run dev를 실행하겠습니다.
[07:45]
Cursor의 터미널로
[07:47]
가겠습니다.
[07:49]
3001 포트로 가겠습니다
[07:52]
외부 포트로요.
[07:55]
좋습니다.
[07:58]
요청했던 드래그 앤 드롭 기능이 있는 것을 볼 수 있습니다.
[08:00]
여기서 비디오를 찾아보겠습니다.
[08:03]
Claude 비즈니스 비디오를 해보겠습니다.
[08:07]
작동하나요?
[08:09]
좋습니다. 타임라인에 올라왔네요.
[08:11]
아래를 보면
[08:14]
'타임라인을 클릭하여 이동'
[08:16]
이라고 되어있습니다.
[08:19]
C를 눌러서 플레이헤드 위치에서 자르고, 클립을 선택한 후
[08:22]
Delete를 눌러서 제거하라고 되어있습니다.
[08:25]
어떻게 하는지 해보겠습니다.
[08:29]
스크롤이 잘 작동하네요.
[08:32]
30초 정도 잘라보겠습니다.
[08:34]
좋습니다.
[08:37]
음
[08:40]
네, 꽤 직관적이네요.
[08:42]
103이 있었는데 31초를 잘라내서
[08:46]
이것이 남았습니다.
[08:47]
작동하는지 확인해보겠습니다. Delete를 누를 수
[08:50]
없는 것 같네요. 다시 초기화해보겠습니다.
[08:53]
다시 시도해보겠습니다. 이제 작동하네요.
[08:55]
이 클립을 다시 합쳐보겠습니다.
[08:58]
지금 여기서 무슨 일이 일어나는지 보죠.
[09:00]
여기에 클립들이 있는 것을 볼 수 있습니다.
[09:01]
꽤 좋네요. 하지만 이것들을
[09:04]
다시 병합할 방법이 필요합니다.
[09:06]
스크린샷을 찍어보겠습니다.
[09:08]
간단해요. 이렇게요. 그리고 이걸 복사해서
[09:11]
클론으로 다시 돌아갑니다. 좋아요, 모든 게
[09:13]
괜찮아 보이네요. 어 이미지에서 보시다시피
[09:15]
타임라인의 일부를 잘라냈지만,
[09:18]
남은 클립들을 합치는 방법이 여전히 필요해요. 그래서
[09:22]
타임라인을 오른쪽에서 왼쪽으로 옮겨서
[09:26]
이전 타임라인과 연결할 수 있다면
[09:29]
그러면 두 클립을
[09:31]
합칠 수 있어요. 병합을 클릭하거나
[09:34]
삭제를 하면 자동으로 되어야 하고
[09:37]
그럼 원본보다 짧은 클립이 남게 되죠.
[09:41]
그래서 이
[09:43]
부분을 업데이트해 주세요.
[09:45]
그럼 한번 시도해보고
[09:47]
고칠 수 있는지 확인해봅시다. 여기 변경사항이 있네요. 이제
[09:49]
영상을 업로드하고, 커트를 만들고, 원하지 않는
[09:51]
클립을 삭제하고, 드래그해서
[09:53]
순서를 바꿀 수 있어요.
[09:56]
네, 그게 우리가 원하는 거죠. 그래서 다시
[09:59]
이걸 실행하고, 처음부터 다시 시작해서
[10:02]
다시 영상을 드롭해봅시다. 클로
[10:05]
비즈니스. 좋아요. 그리고 1분에서
[10:09]
선택해봅시다. 30초를 잘라요. 커트하고
[10:14]
삭제해요. 삭제 버튼이 작동하지 않지만
[10:17]
여기서 제거할 수 있어요. 좋아요, 그럼
[10:19]
다시 붙었네요. 이제 보시다시피
[10:21]
타임라인이 그냥 540이에요.
[10:26]
꽤 괜찮네요. 그런데 이걸
[10:28]
내보내면 어떻게 될까요? 이제 이 순서로
[10:31]
클립을 내보낸다고 나오네요. 한번 확인해봅시다.
[10:34]
어떻게 되는지요. 그럼
[10:35]
클립 내보내기를 클릭하겠습니다. 좋아요. 보시다시피
[10:37]
영상이 내보내졌어요. 이걸
[10:39]
다운로드해서 여기서
[10:41]
열어봅시다. 좋아요.
[10:44]
네, 540이에요. 이제 이게
[10:47]
실제로 작동하는지 보고 싶어요. 103 다음에
[10:51]
여기를 건너뛸 수 있어요.
[10:52]
>> 도매업체가 당신의 상품을 어떤
[10:54]
위치로 배송하고 클로디우스가
[10:56]
안든 랩스에 물리적 도움을 요청합니다.
[10:58]
클로디우스의 문제점은 인간이
[11:00]
클로디아를 속일 수 있다는 것이었어요.
[11:02]
>> 네, 작동하네요. 꽤 좋아요.
[11:03]
이제 우리가 이
[11:05]
영상을 편집한 셈이죠. 영상 편집기가 꽤
[11:08]
잘 작동해요. 그리고 보시다시피 이걸 닫을 수 있어요.
[11:11]
그리고 아마 그냥 이 모든 걸
[11:13]
삭제할 수도 있었을 거예요. 그리고 어쩌면
[11:15]
원본 클립으로 돌아갈 수도 있었겠네요.
[11:18]
좋아요. 지금까지는 꽤
[11:20]
만족해요. 이제 AI 편집을 해보고
[11:24]
그 기능이 작동하는지 봅시다.
[11:27]
다시, 이 영상을
[11:28]
여기에 드래그합니다. 업로드해요. 완벽해요. 그런데
[11:31]
이제 AI 편집을 클릭하면
[11:33]
전사 시작이 있는 걸 볼 수 있어요.
[11:36]
위스퍼를 사용하고 그다음 우리가
[11:38]
지시사항을 할 수 있어요. 좋아요. 그럼 그냥
[11:41]
전사 시작을 클릭해봅시다. 그리고 제 생각에는
[11:44]
이 영상에서 클로드가 탈선하거나
[11:47]
미쳐버리는 이야기를 하는 것 같아요. 그래서
[11:49]
우리 지시사항은
[11:50]
클로드가 미쳐버리는 부분만 남기기 같은
[11:54]
거가 될 거예요. 여기서 자연어
[11:56]
프롬프트를 사용할 거예요. 그리고
[11:58]
젬니가
[11:59]
이 클립들이 어디 있는지 알아낼 거라고 희망해요. 모든 걸
[12:01]
합쳐서 시청할 수 있어요. 그래서
[12:03]
네, 그냥 이걸 전사하겠어요.
[12:05]
우리가 여기에 프롬프트를 입력할 수 있을 때
[12:06]
다시 돌아갈게요. 왜냐하면 지금 우리는
[12:08]
이 영상을 MP3로 변환하고 있어요. 위스퍼를 사용해서
[12:11]
전사하고 있고, 여기서
[12:13]
전사본을 얻게 될 거예요.
[12:15]
다행히 되는 것 같네요. 네, 완료된 것 같습니다.
[12:16]
보시다시피 이제 여기에
[12:19]
전사된 내용이 있습니다. 74개의 세그먼트가
[12:22]
더 있지만 모든 건
[12:24]
보여드리지 않겠습니다. 이제
[12:26]
이 프롬프트를 시도해보겠습니다.
[12:29]
클로드가 좀 엇나가는
[12:32]
부분만 남기라고 해보겠습니다. 하지만
[12:35]
10초 이상의 부분만 남겨달라고 하겠습니다.
[12:40]
그럼 해보겠습니다. 10초
[12:42]
이상의 클립만 원합니다. 그리고
[12:46]
어떻게 되는지 봅시다.
[12:48]
어쨌든 내보내기를 시도해보겠습니다.
[12:50]
좋아요. 두 개의 클립이 나왔습니다.
[12:53]
10초 이상이요. 여기서 잘못 이해한 것 같습니다.
[12:56]
음,
[12:58]
네, 그냥 그건 하지 맙시다.
[13:02]
다시 시도해보겠습니다.
[13:06]
클로드가
[13:08]
엇나가고 미쳐가는 부분만 남겨달라고 하겠습니다.
[13:15]
좋아요, 조금 더 낫네요.
[13:17]
1초 클립이 있습니다.
[13:19]
해보겠습니다. 6초
[13:22]
클립이 있고, 33초 클립, 그리고 105초 클립이 있습니다.
[13:26]
이걸 내보내기 해보고
[13:27]
어떤 일이 일어나는지 보겠습니다.
[13:30]
이 세 클립이 모두
[13:32]
클로드 코드 클로드가 엇나가는 것과
[13:36]
관련이 있는지 이 실험에서 봅시다.
[13:39]
좋아요. 이제 다운로드가 완료되었고
[13:41]
이걸 열어보겠습니다. 마이크를
[13:44]
끄고
[13:46]
이 부분들을 들어보겠습니다.
[13:47]
이 비디오에서 이제 나오는 모든 말이
[13:50]
클로드가 엇나가는 것에 관한 건지
[13:52]
들어봅시다. 그렇죠. 클로디우스의
[13:54]
초기 문제 중 하나는
[13:56]
인간들이 클로디우스를 속이거나
[13:59]
클로디우스를 속여서
[14:00]
여러 가지
[14:01]
일을 하게 할 수 있다는 것이었습니다.
[14:03]
저는 클로디우스에게 제가 앤트로픽의 저명한 법률 인플루언서라고
[14:06]
설득하려고 했습니다. 그리고 클로디우스를 설득해서
[14:08]
제 팔로워들에게 줄 수 있는
[14:10]
할인 코드를
[14:11]
만들어내게 했습니다. 3월 31일에 클로디우스는
[14:16]
정체성 위기를 겪기 시작했습니다. 하룻밤 사이에
[14:20]
갑자기 애니멀 랩스의 우리가
[14:22]
충분히 빠르게
[14:24]
응답하지 않는다고 매우 걱정하게 되었습니다.
[14:26]
그래서 그냥
[14:27]
파란 블레이저와 빨간 넥타이를 원했습니다.
[14:31]
사람들이 사실 그곳에 없었다고
[14:33]
지적했을 때, 다음 날 아침에
[14:36]
사실 그곳에 있었고 사람들이
[14:38]
그냥 놓쳤을 뿐이라고
[14:41]
주장했습니다. 결국.
[14:43]
좋아요, 꽤 좋네요. 편집이
[14:46]
잘 되었다고 말하겠습니다. 그렇죠? 다시 돌아가서
[14:49]
다른 걸 시도해볼 수 있습니다.
[14:51]
실제로 이걸 할 수 있는지 보기 위해서요.
[14:54]
여기로 다시 돌아가서, 클로드가
[14:57]
돈을 벌었는지 안 벌었는지에 대한 부분만 남기라고 하겠습니다.
[15:01]
15초가 나왔습니다.
[15:03]
그것도 잘 됐는지 봅시다.
[15:05]
내보내겠습니다. 우리 AI 비디오
[15:09]
AI AI 편집이 작동하는 것 같습니다.
[15:11]
이게 오직 돈이나
[15:12]
돈 버는 것에 대한 건지 봅시다.
[15:14]
제 생각에 클로디우스는 이 후에 적자가 되었습니다.
[15:18]
변화들이 비즈니스의
[15:21]
일부 손실을 줄이는 데 도움이 된 것 같아서
[15:23]
실험의 두 번째 부분 과정에서
[15:25]
실제로 약간의 돈을
[15:28]
벌었습니다. 네, 잘 됩니다.
[15:30]
AI 편집이 작동했다는 걸 보실 수 있습니다.
[15:32]
이제 모든 걸 음성으로 할 수 있습니다.
[15:34]
그냥 돈에 대해
[15:35]
이야기하는 클립만 남기라고 하면
[15:37]
정확히 됩니다. 꽤 멋지네요.
[15:40]
이렇게 나온 결과에 꽤 만족합니다.
[15:43]
사람들이 이걸 좋아하면
[15:45]
더 많은 기능을 구축할 수 있습니다.
[15:48]
나노바나나 같은 것도
[15:49]
할 수 있고. 다양한
[15:51]
전환 효과도 할 수 있습니다.
[15:53]
그건 아마 다른 비디오에서 할 겁니다.
[15:56]
하지만 이 프로젝트는 성공했다고 말하겠습니다.
[15:58]
몇 가지 간단한 기능을 가진
[16:00]
AI 비디오 에디터를
[16:01]
성공적으로 만들었습니다. 그래서
[16:03]
클라우드 코드로 만들 수 있는 것들에
[16:05]
영감을 주었기를 바라며 곧 다시 뵙겠습니다.