## 📝 한줄 요약
시나리오 아이디어 하나로 이미지·영상·나레이션·자막이 담긴 25초 숏폼 영상을 AI와 함께 만들었습니다. 직접 촬영 없이, 편집 프로그램 없이.
바쁘시면 이것만 읽어도 돼요:
- Claude Code로 "AI 목소리 복제 소동" 숏폼 영상 1편을 처음부터 끝까지 제작
- 시나리오 → 이미지 → 영상 → 나레이션 → 자막 → 최종 MP4 전 과정 자동화
- 도중에 파이프라인 버그 3개 발견 → AI가 직접 원인 분석 후 수정
- "등장인물을 한국 사람처럼, 배경은 교실로" 한마디로 전체 씬 재생성
- 자막 오타("태그는" → "퇴근") 포함 세밀한 품질 점검까지 한 세션에 완료
---
## 🎯 이런 분들께 도움돼요
- 유튜브·릴스·틱톡 숏폼 채널을 운영 중인데 콘텐츠 제작이 너무 힘드신 분
- 직접 촬영이나 편집 없이 영상을 만들고 싶은 분
- AI 코딩 도구가 "코딩할 줄 아는 사람만 쓰는 거 아닌가?" 싶으셨던 분
- 시니어 AI 교육, 커뮤니티 채널을 운영하는 분
---
## 😫 문제 상황 (Before)
강남구 대치평생학습관에서 운영하는 "퇴근 없는 채널 (강남시니어영상공장)"은 시니어들이 AI 기술을 활용하다 벌어지는 유쾌한 소동을 숏폼으로 만드는 채널입니다.
문제는 영상 한 편을 만들려면 시나리오 작성 → 이미지 생성 → 영상 생성 → 나레이션 녹음 → 편집 → 자막 → 최종 인코딩까지 수많은 단계를 사람이 일일이 처리해야 한다는 것이었습니다.
1화 제작 경험이 있긴 했지만, 2화를 만들 때도 똑같은 과정을 반복해야 했고, 중간에 파이프라인 오류가 생기면 어디서 막혔는지 찾아내는 것도 쉽지 않았습니다.
---
## 🛠️ 사용한 도구
- Claude Code (Antigravity): 시나리오 작성, 파이프라인 실행·디버깅, 자막 점검
- 이미지 생성: nano-banana (fal.ai)
- 영상 생성: Grok Imagine Video (fal.ai)
- 나레이션: Typecast 한국어 TTS
- 최종 편집: Remotion (자막 렌더링)
---
## 🔧 작업 과정
### 1화 분석부터 — "어떤 채널인지 먼저 파악해줘"
2화를 만들기 전, 1화 작업 폴더를 AI에게 통째로 분석시켰습니다.
```
강남 시니어 영상 공장의 두 번째 에피소드 영상을 만들려고 해.
episodes/gnsvfc 에 있는 내용을 분석해서 비슷한 두 번째 영상을 만들어줘
```
Claude는 1화의 시나리오, 프롬프트, 캐릭터 설정, 엔딩 멘트까지 읽고 패턴을 정확히 파악했습니다.
> "3씬 + 엔딩 구조, 씬당 8초, 수채화 일러스트 스타일, Sean(대표) + 비타민 리 + 캡틴 멘토, 엔딩 멘트: '경력은 많고 조회수는 적은, 퇴근 없는 채널이었습니다.'"
그리고 바로 2화 주제를 제안했습니다.
> "AI가 내 목소리를 복제했더니... 완전 다른 사람이 됐다?!"
> Sean이 AI 나레이션 자동 생성을 자랑하다가, 자신의 목소리로 생성된 나레이션이 완전히 다른 목소리로 나와버리는 소동.
씬 구성도 한번에 나왔습니다.
- 씬1: Sean이 AI 음성복제 기능을 자랑하며 녹음 시작
- 씬2: 재생하자 초고음 여성 목소리가 흘러나와 경악
- 씬3: 캡틴 멘토가 "크로스젠더 보이스 발굴!"이라며 예술로 승화
시나리오 확인 후 "진행해줘" 한마디로 다음 단계로 넘어갔습니다.
---
### 2. 파이프라인 실행 — 그리고 버그와의 전쟁
```
진행해줘
```
Claude가 이미지 생성 → 영상 생성 → 나레이션 생성 → 조립 순서로 파이프라인을 실행하기 시작했는데, 여기서 버그가 연달아 터졌습니다.
첫 번째 버그: 영상 생성 API 오류
이미지 생성까지는 잘 됐는데, 영상을 만들려는 순간 오류가 났습니다. Claude가 에러 메시지를 분석하더니 원인을 찾아냈습니다.
> "이미지를 API에 잘못된 형식으로 전달하고 있어요. PIL Image 객체 대신 types.Image.from_file() 방식으로 바꿔야 합니다."
코드를 직접 수정하고 재시도했더니... 이번엔 할당량 초과 오류가 났습니다. (Veo 3.1 API가 그날 소진됨)
Claude가 즉시 대안을 제시했습니다.
> "Veo 3.1 API 할당량이 초과됐어요. fal.ai의 Grok Imagine Video로 전환할게요."
설정 파일 한 줄 바꾸고 계속 진행.
두 번째 버그: ffmpeg를 못 찾음
영상 3개를 합치려는 단계에서 또 막혔습니다. ffmpeg 프로그램이 시스템 경로에 등록이 안 되어 있었던 것. Claude가 프로젝트 폴더 안에 있는 ffmpeg를 찾아내 자동으로 경로를 연결했습니다.
세 번째 버그: 한국어 글자 깨짐
실행 로그에 한국어가 전부 ??? 형태로 나왔습니다. Windows의 기본 인코딩 문제였습니다. Claude가 관련된 Python 파일 9개를 한꺼번에 찾아 수정했습니다.
버그 3개를 모두 잡고 나니, 드디어 이미지 3장·영상 3개·나레이션 3개가 완성됐습니다.
---
### 3. "캐릭터를 한국 사람처럼 바꿔줘" — 전체 재생성
영상을 확인해보니 캐릭터들이 한국인처럼 보이지 않았습니다.
```
등장인물을 한국사람으로 해주고,
등장인물을 첫 장면부터 마지막까지 일관성을 유지해주고,
글자도 한국어로 바꾸어줘.
실내 배경도 교실 분위기가 나도록 바꾸어줘
```
Claude는 캐릭터 설명을 씬 1·2·3 모두에 동일하게 고정했습니다.
- Sean: 한국 남성 50대 후반, 검은 머리에 은빛 관자놀이, 네이비 블레이저
- 비타민 리: 한국 여성 62세, 단발 검은 머리, 파스텔 니트 스웨터와 스카프
- 캡틴 멘토: 한국 남성 52세, 얇은 프레임 안경, 스마트 캐주얼 블레이저
배경도 카페에서 대치평생학습관 교실로 바뀌었습니다 — 나무 책상, 한국어 판서가 된 칠판, LED 조명.
그리고 1화의 씬 이미지를 레퍼런스로 활용해 씬 간 캐릭터 외형 일관성을 잡았습니다.
캐시된 이미지를 삭제하고 전체 재생성. 이미지 3장 + 영상 3개가 새로 만들어졌습니다.
---
### 4. 1화 엔딩 영상 붙이기
```
뒤 부분에 1편의 뒷부분에 나오는 강남시니어 영상공장 채널 안내 영상 추가해줘
```
1화 폴더에 있는 채널 안내 영상(5초)을 가져와 2화 끝에 붙이는 작업.
단순히 파일을 복사하는 것에 그치지 않고, Claude는 앞으로 모든 에피소드에 자동 적용되도록 파이프라인을 개선했습니다. 이제 assets 폴더에 scene_logo.mp4 파일만 넣어두면 자동으로 엔딩에 붙습니다.
---
### 5. 자막 오타 수정
```
한국어와 자막을 다시 한번 점검하여 정정해 주고.
마지막 부분에 '태그는'이 아니라 '퇴근 없는'으로 정정해줘.
```
Claude가 전체 자막(42개 단어)을 꺼내서 나레이션 원문과 하나하나 대조했습니다.
씬1~3은 모두 정확했고, 엔딩 부분에서 Whisper(음성인식)가 "퇴근"을 "태그는"으로 잘못 인식한 것이 발견됐습니다.
영상은 그대로 두고 자막 데이터만 수정한 뒤 Remotion 렌더링만 다시 돌렸습니다. (전체 영상을 재생성하지 않아 시간 절약)
---
## ✅ 결과 (After)
### Before vs After
| 항목 | Before (기존 방식) | After (이번 방식) |
|------|-------------------|------------------|
| 시나리오 작성 | 사람이 직접 작성 | AI 제안 → 확인 → 완성 |
| 이미지·영상 생성 | 툴마다 직접 조작 | 명령어 하나로 자동 실행 |
| 나레이션 | 별도 녹음 또는 TTS 직접 조작 | 자동 생성 |
| 자막 | 편집 프로그램에서 수작업 | Whisper + 자동 매핑 |
| 버그 대응 | 혼자 구글링 | AI가 원인 분석 + 수정 |
| 재생성 요청 | 처음부터 다시 | "한국 사람처럼" 한마디 |
| 총 소요 시간 | 수 시간 | 한 세션 |
### 결과물
- 파일: episodes/gnsvfc2/output/gnsvfc2_final.mp4
- 크기: 36.8 MB
- 길이: 25.5초 (씬1~3 각 8초 + 채널 안내 5초)
- 자막: 42개 단어, 한국어
---
## 💬 이 과정에서 배운 AI 활용 팁
### 효과적이었던 것
1. 기존 작업물을 분석시키기: "이거 참고해서 비슷하게 만들어줘" 한마디가 긴 설명보다 훨씬 정확합니다. 1화 폴더를 통째로 주니 스타일, 포맷, 캐릭터 설정을 한 번에 이해했습니다.
2. 단계별로 확인받기: 시나리오 → "좋아요" → 프롬프트 → "진행해줘" 식으로 각 단계를 확인하면 큰 수정 없이 진행됩니다. 한꺼번에 돌리면 중간에 맞지 않는 부분이 있어도 뒤늦게 발견됩니다.
3. 수정 요청은 결과 기준으로: "캐릭터를 더 자세히 묘사해줘"보다 "한국 사람처럼 보이게 바꿔줘"가 훨씬 효과적입니다. 기준이 명확할수록 결과가 정확합니다.
4. 버그는 AI에게 맡기기: 오류 메시지를 직접 해석하려 하지 말고 AI에게 보여주면 원인과 해결책을 함께 알려줍니다. 이번에도 세 가지 서로 다른 버그를 모두 AI가 잡아냈습니다.
5. 부분 재작업 요청: 영상 전체를 다시 만들지 않아도 됩니다. "자막만 고쳐줘", "이미지만 다시 생성해줘"처럼 부분만 수정 요청하면 시간과 API 비용을 아낄 수 있습니다.
### 이렇게 하면 안 돼요
1. "잘 만들어줘"처럼 추상적 인 요청: 어떤 느낌, 어떤 스타일, 누가 보는 콘텐츠인지를 구체적으로 줄수록 결과가 좋습니다.
2. 오류 나면 그냥 재시도: 같은 명령을 다시 실행하면 같은 오류가 납니다. AI에게 "이 오류가 왜 났는지 분석해줘"라고 먼저 물어보세요.
3. 한 번에 너무 많이 바꾸기: "캐릭터도 바꾸고 배경도 바꾸고 스타일도 바꿔줘"를 한꺼번에 요청하면 어디서 문제가 생겼는지 파악하기 어렵습니다. 하나씩 변경하고 확인하는 게 결국 빠릅니다.
---
## 🌍 다른 분야에도 적용할 수 있어요
이번에 만든 파이프라인은 반복적인 영상 제작이 필요한 어떤 채널에도 그대로 쓸 수 있습니다.
- 부동산 매물 소개 숏폼 (물건별로 시나리오만 바꾸면 됨)
- 교육 기관 강의 홍보 영상
- 상품 리뷰 콘텐츠
- 지역 소식·공지 영상
채널의 세계관과 캐릭터 설정을 한 번만 등록해두면, 이후 에피소드는 "주제 한 줄"만 입력하면 됩니다.
---
## 🚀 앞으로의 계획
- 3화 주제 선정: 이번에 완성된 파이프라인으로 3화 바로 진행 가능
- 캐릭터 시트 고정: 전용 캐릭터 레퍼런스 이미지를 만들어두면 씬 간 외형 일관성이 더 강해집니다
- Veo 3.1 복구: API 할당량이 회복되면 화질 높은 Veo 3.1로 다시 전환 예정
---
## 📋 재사용 가능한 프롬프트
### 기존 에피소드 분석 후 다음 편 만들기
> [에피소드 폴더]에 있는 내용을 분석해서 비슷 한 [번째] 영상을 만들어줘.
> 같은 캐릭터, 같은 포맷, 같은 엔딩 멘트를 유지해줘.
### 캐릭터 스타일 교정
> 등장인물을 [국적/외형 특징]으로 바꿔줘.
> 첫 장면부터 마지막까지 동일한 외형을 유지해줘.
> 배경은 [장소 분위기]로 바꿔줘.
### 자막 점검 요청
> 전체 자막을 꺼내서 나레이션 원문과 비교해줘.
> 잘못된 단어가 있으면 찾아서 수정해줘.
---