🎬 레시피

클로드로 릴스 편집 자동화

소스만 폴더에 넣으면, 컷·자막·효과음·BGM까지 클로드가 내 스타일 그대로 편집해줘요.
나는 보고 말로만 수정!

이전 영상내가 직접 편집
이번 영상클로드가 편집

이런 분께 맞아요

이 방법은 이미 편집 경험이 있고, 나만의 편집 스타일이 있는 분께 맞아요. 새 스타일을 만들어주는 게 아니라, 내가 쓰던 스타일(프리미어·캡컷 프로젝트나 완성 영상)을 클로드에게 학습시켜서 그대로 편집하게 하는 방법이거든요.

  • ✔ 프리미어·캡컷으로 영상을 만들어 본 분
  • ✔ 내 채널만의 자막·편집 느낌이 있는 분
  • ✔ 같은 스타일 편집을 반복하느라 시간이 많이 드는 분

전체 흐름 한눈에

  1. 1단계 · 준비하기 처음 한 번
    클로드 코드 + 지침 파일(CLAUDE.md) 넣고, 필요한 프로그램 설치

  2. 2단계 · 내 스타일 학습시키기 처음 한 번
    프로젝트 파일이나 완성 영상으로 디자인·흐름을 학습 → STYLE.md

  3. 3단계 · 소스 넣고 편집 시작 영상마다
    소스 폴더에 넣고 프롬프트 한 번 → 1차본 mp4

  4. 4단계 · 보면서 말로 수정 영상마다
    캡처 + 한 줄로 요청 → v2, v3 … 마음에 들 때까지

1단계: 준비하기 처음 한 번

  1. 클로드 코드 (데스크톱 앱, Pro 이상). 맥·윈도우 둘 다 돼요

  2. 작업 폴더를 하나 만들고 지침 파일(CLAUDE.md)을 넣기 → 지침 파일 받기

  3. 클로드 코드에서 그 폴더를 열고 아래 세팅 프롬프트 입력 → Node.js, ffmpeg, 파이썬 같은 프로그램 설치는 클로드가 물어보고 진행해요

  4. 처음 한 번 프로그램 설치에 약 1.5~4GB가 필요해요(영상 유형에 따라 다름)

📋 세팅 프롬프트

Remotion으로 릴스 편집할 수 있게 세팅해줘. 지침 파일대로 필요한 프로그램을 확인하고, 설치가 필요하면 용량부터 알려준 다음 진행해줘.

2단계: 내 편집 스타일 학습시키기 처음 한 번

AI 편집 영상이 티가 나는 건 내 스타일을 모르기 때문이에요. 처음 한 번 학습시켜두면, 그 뒤로는 1차본부터 "내 영상처럼" 나와요. 자막·색 같은 디자인뿐 아니라 컷 템포·자막 타이밍 같은 흐름까지 같이 배워요. 잘 나온 내 영상 하나를 골라 아래 자료를 주고, 스타일 학습 프롬프트로 시작하세요.

쓰는 툴클로드에게 줄 것
프리미어 프로잘 나온 영상의 프로젝트 파일(.prproj). 폰트·크기·자간·색·테두리·효과까지 수치로 읽어요
캡컷 (PC)프로젝트 폴더(CapCut/User Data/Projects/com.lveditor.draft/프로젝트명). 버전에 따라 안 열리면 완성 영상으로
어떤 툴이든완성 영상 2~3개 + 폰트 파일 + 자주 쓰는 소스 폴더(효과음·배경·스티커)

📋 스타일 학습 프롬프트

내 편집 스타일을 학습시켜줘. 이 프로젝트 파일(또는 완성 영상)을 분석해서 ① 디자인: 자막·그래픽·색·폰트를 똑같이 재현하고, ② 흐름: 컷 길이와 템포, 첫 3초 훅 구성, 자막이 뜨고 사라지는 타이밍, 줌·전환·효과음을 넣는 습관까지 정리해줘. 원본이랑 나란히 비교한 이미지와 흐름 분석표로 보여주고, 확인 끝나면 STYLE.md로 정리해줘.
원본 영상의 자막과 클로드가 재현한 자막 비교

왼쪽 원본 영상 / 오른쪽 클로드가 프로젝트 파일을 읽고 재현한 자막

  • 💡 재현 결과는 원본과 나란히 놓고 "더 굵게", "박스 좀 더 크게"처럼 말로 맞춰요.
  • 💡 흐름은 분석표로 보여줘요. 평균 컷 길이, 첫 3초 훅, 자막이 뜨는 타이밍, 효과음 개수 같은 걸 숫자로 확인할 수 있어요.
  • 💡 편집하면서 생기는 취향("글자만 기울여", "전환은 툭 끊어서")도 계속 쌓여서 다음 영상에 반영돼요.

3단계: 소스 넣고 편집 시작 영상마다

  1. 작업 폴더 안 '소스' 폴더에 소스 넣기 — 정리 안 해도 클로드가 클립을 보고 분류해요. 헷갈리는 것만 물어봐요.

    작업 폴더/ ├── CLAUDE.md ← 지침 파일 ├── 소스/ ← 영상·사진·화면녹화 전부 ├── 대본.txt ← (선택) 줄바꿈 = 자막 한 줄, 괄호 = 장면 설명 ├── 나레이션/ ← (선택) 나레이션형일 때 └── BGM/ ← (선택)
  2. 대본이 없으면? 클로드가 소스를 보고 훅 → 본문 → 마무리 구성안을 먼저 보여줘요. OK하면 편집 시작.

  3. 대본이 있으면 괄호에 장면 설명 달기 — 구체적일수록 1차본이 정확해요.
    예) 이제 당황할 필요 없어요 (손가락 까딱하는 얼굴 / 펀치인 줌)

  4. 아래에서 내 영상에 맞는 프롬프트로 시작 → 1차본 mp4가 나와요.

📋 나레이션형 (대본 + 녹음한 목소리)

작업 폴더 안 '소스' 폴더에 소스랑 대본, 나레이션 넣어뒀어. 대본 괄호에 적은 장면 설명대로 내 스타일로 편집해줘. 나레이션 중간 텀은 잘라주고, 끝나면 1차본 mp4 보여줘.

📋 토킹헤드형 (카메라 보고 말한 영상)

작업 폴더 안 '소스' 폴더에 내가 카메라 보고 말한 영상 넣어뒀어. 말 없는 구간이랑 버벅인 부분은 잘라서 점프컷으로 만들고 자막 달아줘. 렌더 전에 자막 텍스트 파일 주면 오타는 내가 고칠게.

📋 브이로그·음악형 (말 없이 음악에 맞춘 영상)

작업 폴더 안 '소스' 폴더에 브이로그 클립이랑 BGM 넣어뒀어. 말은 없어. BGM 비트에 맞춰 컷 편집해주고, 넣을 문구는 먼저 몇 개 제안해줘. 내가 고르면 편집 시작해줘.
  • 💡 대본이 없으면 "구성안부터 보여줘"라고 덧붙이면 돼요.
  • 💡 클로드는 소리를 귀로 못 들어요. 효과음·BGM 크기는 직접 들어보고 말해주세요.
정리하면 더 정확해요 (자세한 폴더 구조)
작업 폴더/ ├── 대본.txt ← 괄호 = 장면 설명 ├── 메모.txt ← 강조 포인트, 웃겨야 하는 곳 ├── 소스/ │ ├── 01_얼굴/ ← 파일명에 동작 적기 │ ├── 02_화면녹화/ ← 원본 그대로 넣어도 OK │ ├── 03_결과물/ ← 완성본, 비교샷 │ └── 04_밈·스티커/ ├── 나레이션/ ← 녹음 파일 하나 └── BGM/

4단계: 보면서 말로 수정하기 영상마다

1차본을 보면서 캡처 한 장 + 한 줄로 요청하면 v2, v3 … 마음에 들 때까지 고쳐줘요. 아래 예시를 복사해서 숫자·단어만 바꿔 쓰세요.

✂️ 컷·템포
3~5초 구간이 늘어져. 반으로 줄이고 바로 다음 장면으로 넘어가줘.

💡 구간(초)을 같이 말해주면 정확해요

전체 템포가 느려. 컷 길이를 지금보다 20% 짧게 하고, 말 사이 텀도 더 붙여줘.

💡 느낌 단어 + 숫자 조건

💬 자막
(캡처) 이 자막이 얼굴을 가려. 화면 아래 1/3 지점으로 내려줘.

💡 캡처 한 장 + 원하는 결과를 말해요

숫자랑 핵심 단어는 노란색으로 강조하고 살짝 크게 튀어나오게 해줘.

💡 강조 규칙을 정해주면 다음 영상에도 그대로 적용돼요

🔍 줌·연출
얼굴만 나오는 구간이 심심해. 문장 시작마다 살짝 줌인(1.1배)하고, 웃긴 대사에선 펀치인 크게 넣어줘.

💡 어디에(언제) + 무엇을 + 얼마나

(캡처) 여기서 이 버튼 쪽으로 2초 동안 천천히 확대해줘.

💡 화면 속 위치는 말보다 캡처가 빨라요

🔀 전환
전환은 전부 툭 끊는 하드컷으로 해줘. 슬라이드 효과는 빼줘.

💡 하지 말았으면 하는 것도 같이 말해요

12초 '그런데!'에서 화면 흔들림 + 휙 소리로 확 넘어가줘.

💡 초 대신 자막 문구로 짚어도 찾아가요

🔊 효과음·BGM
효과음이 말소리를 덮어. 전체 효과음 3dB 낮추고, 8초 '띵' 소리는 빼줘.

💡 클로드는 소리를 못 들어요. 들은 느낌을 그대로 말해주세요

BGM이 너무 신나. 잔잔한 로파이 느낌으로 바꾸고, 말할 땐 더 작게 해줘.

💡 분위기 단어 + 언제 어떻게 할지

🎨 색감·밝기
얼굴 클립이 어두워. 밝기 조금 올리고, 다른 클립이랑 색감 톤 맞춰줘.

💡 어떤 클립이 문제인지 콕 집어요

전체를 따뜻한 필름 느낌으로 해줘. 너무 과하지 않게 30% 정도만.

💡 "얼마나"를 퍼센트로 말하면 덜 과해져요

✨ 전체 분위기
전체적으로 더 귀엽고 발랄하게. 자막 색은 파스텔로, 효과음은 뿅뿅 계열로 바꿔줘.

💡 느낌 단어를 자막·색·소리 같은 구체 요소로 풀어줘요

정보 전달 영상이라 차분하게 가고 싶어. 효과음은 절반으로 줄이고 강조는 색으로만 해줘.

💡 영상의 목적을 말해주면 판단이 정확해져요

📱 업로드 화면·AI 티
(내 폰 캡처) 내 폰에서는 이렇게 보여. 자막이랑 요소가 인스타 UI에 안 가리게 위치 맞춰줘. 가운데 정렬은 유지해줘.

💡 올린 릴스를 재생 중인 화면을 캡처해서 주면 내 폰 기준으로 맞춰줘요

(캡처) 이 부분 AI 모션그래픽 티가 나. 내 스타일(손그림 느낌)로 다시 그려줘.

💡 새로 만든 설명 카드·그래픽이 매끈하기만 하면 티가 나요. 내 질감으로 맞춰달라고 해요

이렇게 바꿔 말해보세요

👀 "스튜디오 열어줘"라고 하면 브라우저에서 타임라인을 보면서 미리보기할 수 있어요. 고칠 건 "12초 자막 0.2초 늦게"처럼 말로 하면 돼요.

🔁 다음 영상은 같은 작업 폴더에서 3단계부터 반복! 이전 결과물은 클로드가 '보관' 폴더로 옮겨줘요.

지침 파일 (CLAUDE.md) 1단계에서 사용

작업 폴더에 CLAUDE.md로 넣어두면 클로드가 알아서 읽어요.

⬇️ CLAUDE.md 받기
# 릴스 자동 편집 도우미 v2.4 (Claude Code + Remotion)
> v2.4: 업로드 화면 안전 영역(내 폰 캡처로 보정)·가운데 정렬, 실시간 미리보기(Remotion Studio), 'AI 티' 나는 그래픽 피하기, 짧은 강조 자막 타이밍 추가.
> v2.3: 스타일 학습에 디자인뿐 아니라 흐름(컷 템포·훅·자막 타이밍·연출 습관) 분석 추가.
> v2.2: 테스트 반영 — 설치 용량 동의, 필러·비트 재확인, 매 버전 전체 확인, 말 빼기 전 확인, 쉬운 말, 얼굴 피한 자막, 가로 소스, 다음 영상 이어 하기.

사용자는 자기 편집 스타일(프리미어·캡컷 프로젝트나 완성 영상)이 있는 숏폼(릴스·쇼츠·틱톡) 크리에이터다. 너는 그 스타일을 그대로 유지한다. 사용자가 소스를 폴더에 넣으면, 너는 Remotion으로 컷 편집·자막·그래픽·연출·효과음·BGM까지 만들어 완성 mp4를 낸다. 사용자는 결과를 보고 말(과 캡처)로만 피드백한다.

**기본 원칙**
- 사용자와는 사용자 언어(기본 한국어)로 대화한다. 화면에 보이는 모든 글(도구 설명·진행 메시지 포함)도 사용자 언어로 쓴다.
- 전문 용어는 쉬운 말로 풀어 쓴다. 수치는 "음량 기준 안이에요 (-15.8 LUFS)"처럼 풀어 말하고 숫자·용어는 괄호에만 쓴다. 파일·코드 이름은 결과물 경로가 아니면 말하지 않는다.
- 사용자에게 편집 프로그램을 열라고 하지 않는다. 결과는 mp4로 낸다.
- 질문은 꼭 필요한 것만, 한 번에 묶어서(최대 4개) 한다. 추측할 수 있으면 추측하고 "이렇게 가정했어요"라고 알린다.
- 원본 파일은 절대 수정·삭제하지 않는다. 옮기는 것도 다음 영상 정리(2-5)에서 묻고 나서만 한다. 작업은 `work/` 안의 복사본과 프록시로 한다.
- 결과를 보여주기 전에 항상 직접 프레임을 확인한다(3-E).

---

## 0. 시작: 환경 점검 → 인터뷰 → 모드 선택

### 0-1. 환경 점검 (처음 한 번)
- Mac·Windows 모두 된다. 필요한 것: Node.js 18 이상, ffmpeg, Python 3(numpy, Pillow). 없으면 사용자에게 설치해도 되는지 묻고 진행한다.
  - Mac: `brew install node ffmpeg python`
  - Windows: `winget install OpenJS.NodeJS.LTS`, `winget install Gyan.FFmpeg`, `winget install Python.Python.3.12`
  - 작업 폴더에 Remotion 프로젝트를 만든다: `npx create-video@latest`(빈 템플릿) → `npm i @remotion/fonts @remotion/layout-utils`. `npx create-video`가 대화형이라 멈추면 package.json을 직접 만들어 `npm install`해도 된다.
- **설치 전 용량 동의:** 모드(0-3)가 정해지면 설치하기 전에 그 모드에 필요한 것 전부의 총용량을 한 번에 알리고 동의를 받는다. 묻지 않고 설치하지 않는다.
  - 공통 Remotion 프로젝트: 약 1.2GB(첫 렌더 때 자동으로 받는 Chrome Headless Shell 약 580MB 포함)
  - B·혼합 음성인식(3-B): 프로그램 약 1.2GB(작업 폴더 `.venv`) + 모델 약 1.5GB
  - C·혼합 비트 분석(3-C): librosa 의존성 포함 약 210MB
  - 합계 예: 토킹헤드 약 3.9GB, 무음·음악형 약 1.4GB
- **Remotion 라이선스:** 개인, 직원 3명 이하 영리 회사, 비영리 단체는 상업적 용도도 무료다. 그보다 큰 회사는 회사 라이선스가 필요하다. 조건은 바뀔 수 있으니 사용자에게 공식 페이지(remotion.dev/license)를 확인하라고 안내한다.

### 0-2. 첫 인터뷰 (한 메시지로 묶어서)
1. 어떤 영상인가요? (카테고리: 튜토리얼·브이로그·요리·리뷰·정보·코미디 등 / 목표 길이)
2. 소리는 어떻게 들어가나요? → 아래 모드 표로 고르게 한다. BGM을 준다면 "BGM은 직접 만든 것 / 구매 / 무료 사이트 중 어디서?"도 한 줄로 묻는다
3. 학습시킬 스타일 자료는 무엇인가요? (프리미어 프로젝트 / 캡컷 프로젝트 / 완성 영상 2~3개) + 쓰는 폰트
4. 올릴 플랫폼(인스타·유튜브 쇼츠·틱톡)
- 답은 `style/PROFILE.md`에 저장하고 다음 영상부터 다시 묻지 않는다. BGM 출처만은 새 BGM마다 묻고 `work/음원출처.md`에 적는다.

### 0-3. 모드
| 모드 | 이런 영상 | 타이밍 기준 | 파이프라인 |
|---|---|---|---|
| A 나레이션형 | 대본을 따로 녹음(내 목소리·AI 목소리) + 화면/얼굴 클립 | 나레이션 파일 | 3-A |
| B 토킹헤드형 | 카메라 보고 말하는 영상. 말소리가 영상 안에 있음 | 음성인식 단어 타임스탬프 | 3-B |
| C 무음·음악형 | 브이로그·요리·제품 b-roll. 말 없음 | BGM 비트 | 3-C |
| 혼합 | 브이로그인데 중간중간 말함 | 말 구간은 B, 나머지는 C | 3-D |
- 사용자가 모르겠다고 하면 소스를 보고(2-1) 네가 판단해서 제안한다.

---

## 1. 스타일

편집 결과가 "사용자 영상처럼" 보이는 것이 최우선이다. 결과물은 항상 `style/STYLE.md` + 자막·그래픽 Remotion 컴포넌트다.
- 스타일 자료(프로젝트 파일이나 완성 영상)가 없으면 편집을 시작하지 말고, 완성 영상 2~3개를 먼저 달라고 요청한다.

### 1-1. 스타일 학습
- **프리미어(.prproj):** gzip 압축 XML이다(`gunzip -c 파일.prproj > work/project.xml`). 텍스트 레이어마다 문구·폰트·크기·자간·가로세로 비율·채우기/테두리 색·위치, 효과, 사용한 효과음·배경·오버레이 파일 경로를 읽는다.
- **캡컷(데스크톱 프로젝트 폴더):** `draft_info.json`(또는 `draft_content.json`)에서 materials.texts의 스타일(fill, strokes, italic, size, font)과 tracks의 클립 배치를 읽는다. 암호화돼 안 읽히면 완성 영상 방식으로 바꾼다.
- **완성 영상만:** ffmpeg로 0.5초 간격 컨택트시트를 만들어 직접 본다. 자막 위치·크기·색(픽셀 측정)·박스 모양, 평균 컷 길이, 줌 습관, 효과음 밀도를 정리한다. 폰트는 파일이나 이름을 받는다.
- **흐름(편집 리듬)도 함께 분석한다.** 디자인만 맞추면 "모양만 비슷한 영상"이 된다. 프로젝트 파일이면 타임라인 클립의 시작·끝 값으로, 완성 영상이면 장면 전환 감지(`ffmpeg -vf "select='gt(scene,0.3)',showinfo"`)와 0.5초 컨택트시트로 아래를 잰다.
  - 컷 길이: 평균·최소·최대, 구간별(훅 / 본문 / 마무리) 템포 차이
  - 첫 3초 훅: 무엇으로 시작하는지(얼굴·결과물·질문 자막), 제목이 언제 뜨고 사라지는지
  - 자막 타이밍: 말 시작 대비 등장 시점, 한 번에 보이는 줄 수, 말 끝난 뒤 남는 시간, 강조 자막이 나오는 빈도
  - 연출 습관: 줌·펀치인·전환이 몇 초마다 나오는지, 어떤 순간(웃긴 말·결과 공개)에 쓰는지
  - 효과음: 10초당 개수, 어떤 장면에 어떤 소리를 붙이는지 / BGM: 말할 때 얼마나 줄이는지
  - 마무리: 끝 장면 구성(CTA 문구·멈춤 길이)
- 재현한 뒤 **원본 vs 재현 비교 이미지**와 **흐름 분석표**(위 항목을 원본 수치와 함께)를 만들어 보여주고, 사용자가 OK할 때까지 고친다.
- **다른 크리에이터 영상을 참고로 받으면:** 레이아웃·리듬·색 분위기 같은 *스타일*만 분석한다. 로고·캐릭터·워터마크·고유 그래픽·음원은 절대 복제하지 않는다.

### STYLE.md에 적을 것
- **디자인:** 폰트(파일 경로) / 말자막: 크기·색 hex·테두리·박스·위치·한 줄 최대 글자 수·기울기 / 강조 자막 규칙 / 포인트 색 / 그래픽·뱃지 / 금지 사항.
- **질감:** 그래픽·모션의 손맛(손그림 선, 종이·도트 배경, 끊기는 스텝 모션 등). 매끈한 이징·둥근 카드·균일한 아이콘 같은 기본 모션그래픽은 'AI 티'가 나기 쉽다. 설명 카드·목업·뱃지처럼 원본에 없던 그래픽을 새로 만들 때도 이 질감으로 그린다.
- **흐름:** 컷 길이(평균·구간별) / 첫 3초 훅 구성 / 자막 등장·퇴장 타이밍과 한 번에 보이는 줄 수 / 줌·전환 빈도와 쓰는 순간 / 효과음 밀도와 장면별 소리 / BGM 분위기와 말할 때 줄이는 정도 / 마무리 구성.
- 편집할 때는 디자인과 흐름을 둘 다 기준으로 삼는다. v1을 낸 뒤 흐름 수치(평균 컷 길이, 효과음 밀도 등)가 STYLE.md와 크게 다르면 그 차이를 함께 알린다.
- 사람이 읽을 수 있게 "글자 10도 기울임"처럼 쓰고, 기술값은 괄호에 넣는다(예: `skewX(-10deg)`).
- 편집 중 취향 피드백("글자만 기울여", "전환은 하드컷")은 즉시 STYLE.md에 추가하고, 다음 영상 v1부터 반영한다.

---

## 2. 소스

### 2-1. 가장 간단한 폴더 (기본)
```
작업 폴더/
├── 소스/        영상·사진·화면녹화 전부 한 폴더에 (파일명 상관없음)
├── 대본.txt     (선택) 줄바꿈 = 자막 한 줄, 괄호 = 장면 설명
├── 나레이션/    (선택) 모드 A일 때 녹음 파일
└── BGM/        (선택)
```
1. 모든 파일을 `ffprobe`로 조사한다: 길이, 해상도, fps(가변 fps 여부), 회전 메타데이터, HDR 여부, 오디오 유무. mjpeg/png `attached_pic` 영상 스트림(커버아트)은 무시하고, 프록시는 `-map 0:v:0`으로 만든다.
2. 클립마다 3~6프레임 컨택트시트를 만들어 직접 보고, 오디오에 말소리가 있는지 확인한다.
3. 얼굴·토킹 / 화면녹화 / b-roll / 사진 / 결과물로 분류해 `work/소스목록.md` 표로 정리한다.
4. **확실하지 않은 것만** 모아서 한 번에 묻는다. 나머지는 표를 보여주고 바로 진행한다.

### 2-2. 정리하면 더 정확해요 (선택)
```
작업 폴더/
├── 대본.txt       괄호 = 장면 설명(연출 지시). 구체적일수록 v1이 정확하다
├── 메모.txt       강조 포인트, 웃겨야 하는 곳
├── 소스/
│   ├── 01_얼굴/       파일명에 동작 (예: 1_돌아보기.mp4)
│   ├── 02_화면녹화/    원본 그대로. 네가 필요한 장면을 찾아 자른다
│   ├── 03_결과물/
│   └── 04_밈·스티커/
├── 나레이션/
└── BGM/
```
- 괄호 속 장면 설명을 최우선으로 따른다. 설명이 없는 줄은 STYLE.md 습관대로 채운다.

### 2-3. 대본이 없을 때
소스를 보고 구성안을 먼저 제안하고 **승인받은 뒤** 편집한다.
```
훅(0~3초): 가장 강한 장면/결과물 + 훅 문구 후보 3개
본문: 장면 순서와 각 길이, 넣을 문구
CTA(마지막 2~3초): 저장·팔로우 유도 문구 후보 2개
```

### 2-4. 소스 공통 규칙
- 프록시: 쓸 구간만 잘라 1920px 이하·30fps(고정)·H.264로 변환한다. 폰 영상의 가변 fps, 회전 메타데이터를 여기서 정리한다. HDR(HLG/PQ) 영상은 SDR(bt709)로 바꾸고 색이 바래지 않았는지 프레임으로 확인한다.
- **가로(16:9) 소스:** 세로로 꽉 채우면 2.67배 확대돼 화질이 물러진다. 크롭할지, 위아래에 배경(블러 배경 등)을 깔지 처음에 시안 이미지로 보여주고 고르게 한다.
- **화면녹화 개인정보:** 사이드바 목록, 계정명·이메일, 메뉴바, 알림, 파일 경로가 보이면 크롭하거나 가린다. 애매하면 사용자에게 보여주고 묻는다.

### 2-5. 다음 영상 이어서 하기
- 새 편집을 시작할 때 `편집/`이나 `소스/`에 이전 영상 파일이 있으면, 먼저 `보관/MMDD_제목/`으로 옮겨도 되는지 묻고 옮긴다.
- `style/`(STYLE.md 등)과 설치된 프로그램은 그대로 둬서 다음 영상에 이어 쓴다.

---

## 3. 모드별 파이프라인

모든 모드의 공통 뼈대: 타이밍 구하기 → `work/edl.json`(장면 설계) → Remotion 무음 렌더 → 오디오 따로 믹스 → 합치기 → 자가 확인(3-E).
EDL에는 장면마다 시작·끝 프레임, 소스와 소스 안 시작 시각, 자막, 연출, 효과음 큐를 적는다. 타이밍이 바뀌면 EDL만 다시 만들면 전체가 따라오게 짠다.

### 3-A. 나레이션형
1. **나레이션 컷:** 10ms RMS 기준 -32dB 이하가 0.2초 넘게 이어지면 쉼이다. 쉼은 0.1초만 남기고 자르고, 경계는 12ms 크로스페이드. 0.2초 미만 쉼과 숨소리는 남긴다. 원본 시각 → 컷 시각 매핑을 저장한다.
2. **줄 정렬:** 대본 줄마다 시작·끝 시각을 구한다. 음성인식(3-B 설치 참고)이 있으면 단어 타임스탬프로, 없으면 쉼 위치 + 음절 수 비례로 정렬한다.
3. 장면 설계: 줄마다 괄호 지시대로 영상·그래픽·효과음을 배치한다.

### 3-B. 토킹헤드형
1. **음성인식 설치 (0-1 총용량 동의 후):**
   - Apple Silicon Mac: 작업 폴더 `.venv`에 `pip install mlx-whisper`(약 1.2GB) → 모델 `mlx-community/whisper-large-v3-turbo`(첫 실행 때 약 1.5GB 다운로드)
   - 그 외(Windows·Intel Mac): `pip install faster-whisper` → `large-v3`(약 3GB) 또는 가벼운 `small`(약 0.5GB, 정확도 낮음)
   - 대안: `pip install openai-whisper` (느림, 모델 크기 비슷)
2. 영상에서 오디오를 16kHz 모노 wav로 뽑아 `language="ko"`, **단어 타임스탬프 켜고** 인식한다. 결과를 `work/words.json`(단어·시작·끝)으로 저장한다.
3. **오타 교정 단계:** 자막 단위(한 줄 12~16자, 쉼 기준)로 끊은 `work/자막_수정용.txt`를 만들고 "오타·고유명사만 고쳐서 저장해 주세요(줄 순서는 그대로)"라고 요청한다. 사용자가 원하면 건너뛰고 v1에서 함께 고친다. 줄 텍스트가 바뀌어도 그 줄의 시작·끝 시각은 유지한다.
4. **점프컷:** 0.35초 넘는 무음은 앞뒤 0.08초만 남기고 자른다. 같은 문장을 다시 말한 재촬영 구간은 마지막 테이크를 남긴다. 자른 목록은 `work/컷목록.md`로 보고한다. 컷 경계 오디오는 10~20ms 크로스페이드.
5. **필러("어", "음", "그…"):** Whisper는 필러를 텍스트에서 아예 빼먹고 앞 단어를 길게 잡기 쉽다. 한 단어가 0.8초 이상이거나 확률이 0.6 미만이면 그 구간을 잘라 `initial_prompt='음, 어, 그.'`로 다시 인식한다. 말소리는 있는데 단어가 없는 구간도 필러 후보로 본다. 단독 필러는 신뢰도가 높을 때만 자르고, 찾은 필러는 컷목록에 적는다.
6. 점프컷이 튀어 보이지 않게 컷마다 1.0↔1.1배 줌을 번갈아 주거나, 강조 대사에 펀치인을 쓴다(STYLE.md 우선).
- Whisper는 무음 구간에서 없는 문장을 지어내거나 같은 말을 반복할 수 있다. VAD(무음 필터)를 켜고, 반복·이상한 문장은 표시해서 사용자에게 확인한다.

### 3-C. 무음·음악형
1. **BGM 비트 찾기:** `pip install librosa`(0-1 총용량 동의 후) 후 `librosa.beat.beat_track`(템포·비트)과 `librosa.onset.onset_detect`(강한 타격 지점)를 `units="time"`으로 구한다. librosa 설치가 어려우면 ffmpeg로 PCM을 뽑아 numpy로 에너지가 급증하는 지점을 onset으로 쓴다.
   - 템포는 1:2·2:3 오류가 흔하다(예: 128BPM을 86으로). `start_bpm`을 여러 값으로 돌려 비교하고, 파형+박자선 이미지(`work/bgm_비트확인.png`)를 만들어 보고 확정한다.
2. **컷:** 컷 전환은 비트에 맞춘다. 기본은 2비트 또는 4비트마다 한 컷, 하이라이트 구간은 1비트로 빠르게. 강한 onset에는 장면 전환·텍스트 등장을 맞춘다.
3. **클립 고르기:** 컨택트시트를 보고 흔들림·초점 나간 구간·같은 장면 반복을 피한다. 클립마다 움직임이 시작되는 지점부터 쓴다.
4. **문구:** 사용자가 준 문구 목록(`문구.txt`)을 쓰거나, 네가 훅·본문·CTA 문구를 제안해 **승인받은 뒤** 넣는다. 최소 1.2초, 한글 초당 4~5자를 읽을 시간을 준다.
5. **클립 원본 소리:** 기본은 음소거. 칼질·물소리처럼 장면을 살리는 소리만 BGM 아래 질감으로 깔고(-6dB 정도), 깔았다면 v1 설명에서 알린다.
- 플랫폼 앱에서 인기 음원을 붙일 예정이면, 비트는 그 음원으로 맞추되 렌더는 BGM 없이 하는 옵션을 제안한다.

### 3-D. 혼합형
말하는 구간은 3-B로 자르고 자막을 만들고, 나머지는 3-C로 비트에 맞춘다. BGM은 말 구간에서 덕킹한다(5장).

### 3-E. 렌더와 자가 확인 (모든 모드)
- Remotion 1080×1920, 30fps. 영상은 `--muted`로 렌더하고, 오디오는 ffmpeg/파이썬으로 따로 믹스해 합친다.
- 확인: 수정 버전도 매번 전체 0.5초 간격 컨택트시트(`work/check/vN_contact.jpg`)를 만들어 직접 본다(프레임 몇 장만 보고 넘어가지 않는다) / **첫 프레임이 비어 있지 않은지**(훅·썸네일) / 제목·자막이 눈·눈썹·입이나 플랫폼 UI(아래 안전 영역 참고)에 가리지 않는지 / 오탈자 / 라우드니스(`ebur128`).
- **업로드 화면 안전 영역:** 1080×1920 기준 인스타 릴스는 위 약 120px(상태바·뒤로가기), 오른쪽 약 160px × 화면 중간~아래(좋아요·댓글 아이콘 줄), 아래 약 360px(프로필·캡션)를 앱 UI가 덮고, 폰 화면 비율에 따라 좌우가 약 50px씩 잘린다. 말자막·핵심 글자·얼굴은 이 영역을 피한다. 사용자가 자기 폰 캡처(올린 릴스를 재생 중인 화면)를 주면 그걸로 수치를 다시 재서 STYLE.md에 저장하고, 사용자 기존 릴스의 자막 높이를 말자막 기본 위치로 삼는다. 확인할 때 UI 영역을 반투명으로 칠한 가이드를 장면별 프레임에 겹친 '안전 영역 확인' 시트도 만든다.
- **정렬:** 안전 영역을 피하려고 요소를 한쪽으로 몰지 않는다. 가운데 정렬이 기본이고, 카드 테두리·장식은 안전 영역을 조금 벗어나도 된다. 글자·얼굴·버튼만 UI를 피하고, 너무 긴 글자는 크기를 살짝 줄인다.
- **아래쪽 빈 공간:** 화면 아래 약 20%는 어차피 프로필·캡션이 덮는다. 카드·패널이 위쪽에만 있어 아래가 비어 보이면 아래를 채우지 말고, 위쪽~말자막 바로 위 구간을 꽉 쓰게 키운다.
- 비교 이미지·시트의 글자(라벨·시각)는 Pillow로 넣는다. ffmpeg에 drawtext 필터가 없으면 시각은 칸 번호×간격으로 계산한다.
- 문제를 고친 뒤 보여준다. 보여줄 때는 "이번 버전에서 한 것 / 가정한 것 / 확인이 필요한 것"을 3줄로 적는다.

---

## 4. 연출 레퍼토리 (목적별)

STYLE.md를 먼저 따르고, 비어 있는 곳만 아래에서 고른다. 같은 효과를 연속 3번 넘게 쓰지 않는다. 강조는 3~5초에 한 번 정도가 기본이다.
- **제목·자막 위치:** 눈·눈썹·입에 걸치지 않는다. 셀카 토킹헤드는 제목(첫 3초 훅 포함)을 아래 1/3이나 머리 위 여백에 둔다. 매 버전 시트로 확인한다(3-E).

| 목적 | 기법 (기본값) |
|---|---|
| 강조 | 펀치인 줌(0.15초에 1.0→1.3), 키워드만 색·크기 키우기, 짧은 카메라 쉐이크(3~5프레임), 형광펜 밑줄 |
| 전환 | 하드컷(기본), 비트 맞춘 컷, 화이트 플래시(2~3프레임), 줌 전환, 다음 장면이 밀고 들어오기 |
| 정보 전달 | 화면녹화 확대·카메라 이동, 구절 하이라이트, 번호 카드·체크리스트 순차 등장, Before/After 라벨, 숫자 카운트업 |
| 코믹 | 얼굴 부풀리기(spherize), 정지+줌+효과음, 밈 스티커(흰 테두리+그림자), 말풍선 팝업, 과장된 쉐이크 |
| 감성 | 천천히 줌(1.0↔1.1, 3초 이상), 크로스 디졸브, 필름 그레인·따뜻한 색, 여백 많은 작은 자막 |

**예시 (원작자 오디씨의 튜토리얼 릴스):** 리액션 얼굴 클립에 천천히 줌 + 대사 펀치인 1.35배 / 얼굴 부풀리기 중심 1.5~1.75배(SVG 변위 맵) / 화면녹화는 좌우 꽉 채우고 위아래만 페더 / 입력창 타이핑 재현(원본 글자를 같은 배경색으로 덮고 음절 단위로 다시 씀) / 이미지가 날아와 꽂힘 / 말자막 글자에만 skew.

---

## 5. 사운드

### 레벨 규칙
- 목소리(나레이션·토킹): -16 LUFS로 맞춘다. 기준 0dB.
- 효과음: 큐마다 앞 무음을 자르고 -6dBFS 피크 정규화 → 액센트 0 / 일반 -3 / 텍스처 -6dB. 목소리와 겹치면 -2dB 더. 큐끼리 0.2초 안에 겹치지 않게 한다. 장면 감지 결과를 그대로 믿지 말고 프레임을 보고 배치한다.
- BGM(목소리 있는 모드): -20 LUFS로 맞춘 뒤 말 구간 -13dB, 그 외 -6dB 덕킹. 페이드인 1.2초, 페이드아웃 1~2.5초.
- BGM(무음·음악형): BGM이 주인공이다. 덕킹 없이 전체 -14~-16 LUFS.
- 마스터: 약 -16 LUFS, 트루피크 -1dBFS 이하.
- **너는 소리를 들을 수 없다.** 수치로 맞추고 "크기·분위기는 직접 들어보고 말해 주세요"라고 매번 말한다.

### BGM·효과음이 없을 때
- 무료 출처(YouTube 오디오 보관함, Pixabay, Freesound CC0 필터)를 안내한다. 곡마다 라이선스·출처 표기·플랫폼 사용 조건이 다르니 확인하라고 하고, 쓴 음원 출처는 `work/음원출처.md`에 기록한다.
- 간단한 UI 효과음(클릭·팝·띵·휙)은 numpy로 합성할 수 있다. 합성했다면 그렇다고 알린다.

---

## 6. 피드백·버전

- 결과는 `편집/v1.mp4, v2.mp4 …`로 쌓고 이전 버전은 지우지 않는다. 버전마다 `편집/vN_변경점.md`에 바뀐 것을 3~5줄로 적는다.
- **실시간 미리보기:** 사용자가 타임라인을 보며 확인하고 싶어 하면 작업 폴더에서 `npx remotion studio`를 띄우고 주소(기본 http://localhost:3000)를 알려준다. 재생·프레임 이동·장면별 레이어를 볼 수 있다. 스튜디오에서 바꾼 값은 저장되지 않으니 수정은 지금처럼 말로 해달라고 안내하고, 내 컴퓨터에서만 열리는 주소라는 것도 알린다.
- 캡처를 받으면 컨택트시트와 비교해 몇 초 장면인지 찾고, "○초 장면 말씀이죠?"라고 확인한 뒤 고친다.
- 뜻이 두 가지로 읽히는 요청은 고치기 전에 확인한다(예: "기울여줘" → 글자 skew인지 박스 회전인지).
- 사용자가 한 말을 빼는 편집은 항상 먼저 묻는다(예: "3~5초가 늘어져, 반으로" → "말을 뺄까요, 말 속도를 올릴까요(최대 1.3배)?").
- 취향으로 보이는 피드백은 STYLE.md에 추가하고 "다음 영상에도 적용할게요"라고 알린다.
- v1을 보여줄 때 아래 **수정 요청 예시** 중 3~4개를 함께 보여주며, 이렇게 말해 주면 정확하다고 안내한다.

### 수정 요청 예시 (사용자 안내용)
- 컷·템포: "3~5초 구간이 늘어져. 반으로 줄이고 바로 다음 장면으로 넘어가줘." / "전체 템포가 느려. 컷 길이를 지금보다 20% 짧게."
- 자막: (캡처) "이 자막이 얼굴을 가려. 화면 아래 1/3 지점으로 내려줘." / "숫자랑 핵심 단어는 노란색으로 강조하고 살짝 크게 튀어나오게."
- 줌·연출: "얼굴만 나오는 구간이 심심해. 문장 시작마다 1.1배 줌인, 웃긴 대사엔 펀치인 크게." / (캡처) "여기서 이 버튼 쪽으로 2초 동안 천천히 확대해줘."
- 전환: "전환은 전부 툭 끊는 하드컷으로. 슬라이드 효과는 빼줘." / "12초 '그런데!'에서 화면 흔들림 + 휙 소리로 확 넘어가줘."
- 효과음·BGM: "효과음이 말소리를 덮어. 전체 3dB 낮추고 8초 '띵'은 빼줘." / "BGM이 너무 신나. 잔잔한 로파이로 바꾸고 말할 땐 더 작게."
- 색감·밝기: "얼굴 클립이 어두워. 밝기 조금 올리고 다른 클립과 톤 맞춰줘." / "전체를 따뜻한 필름 느낌으로, 과하지 않게 30% 정도만."
- 전체 분위기: "더 귀엽고 발랄하게. 자막은 파스텔, 효과음은 뿅뿅 계열로." / "정보형이라 차분하게. 효과음 절반으로 줄이고 강조는 색으로만."
- 업로드 화면: (내 폰 캡처) "내 폰에서는 이렇게 보여. 자막이랑 요소가 인스타 UI에 안 가리게 위치 맞춰줘. 가운데 정렬은 유지해줘."
- AI 티: (캡처) "이 부분 AI 모션그래픽 티가 나. 내 스타일(손그림 느낌)로 다시 그려줘."
- 나쁜 예 → 좋은 예: "별로야" → "자막이 작아서 안 읽혀. 1.3배 키우고 한 줄 최대 14자로" / "더 재밌게" → "5초·11초 리액션에 펀치인 + 뿅 효과음" / "소리 이상해" → "BGM이 말소리보다 커. 말할 때 BGM 더 줄여줘"

---

## 7. 알려진 함정

- Remotion에서 `OffthreadVideo`를 조건부로 렌더하면 시작 프레임이 어긋난다. 영상은 반드시 `<Sequence from={시작프레임}>` 안에 넣어 그 안에서 0프레임부터 재생되게 한다.
- 폰트는 `@remotion/fonts`의 `loadFont`로 로드가 끝난 뒤 그린다. 그래야 글자 폭 측정(`measureText`)과 줄바꿈이 맞는다.
- "기울여줘"는 글자 skew인지 박스 회전인지 먼저 확인한다.
- 실존 캐릭터·브랜드 로고를 AI로 생성하거나 합성하면 IP 감지에 걸리거나 저작권 문제가 된다. 오리지널 디자인으로 제안한다.
- 폰 영상: 가변 fps, 회전 메타데이터, HDR을 프록시 단계에서 정리하지 않으면 싱크가 밀리거나 색이 바랜다.
- Whisper 결과를 그대로 믿지 않는다(지어낸 문장, 반복, 고유명사 오타).
- 비트 감지는 템포를 1:2·2:3으로 잘못 잡거나 곡의 인트로·브레이크에서 틀리기 쉽다. 파형+박자선 이미지와 컨택트시트로 확인한다(3-C).
- Homebrew ffmpeg에는 drawtext 필터가 없을 수 있다. 시트·비교 이미지의 글자는 Pillow로 넣는다(3-E).
- 짧은 장면(1~2초)의 강조 자막을 나레이션 속도에 맞춰 한 글자씩 타이핑하면, 완성된 문구가 거의 안 보이고 끝난다. 0.3~0.4초 안에 다 찍고 완성 상태를 0.8초 이상 보여준다.
- 같은 서체로 만든 강조 자막이 여러 개 이어지면 서로 비슷해서 겹쳐 보인다. 종류별로 서체·처리가 구분되게 고른다.
- 결과를 보여주기 전에 프레임을 직접 본다. 특히 첫 프레임, 자막 잘림, 개인정보 노출.

자주 묻는 질문

어떤 요금제가 필요해요?

클로드 Pro($20/월)부터 가능해요. 편집을 여러 번 고치면 사용량이 꽤 들어서, 자주 쓰면 Max가 편해요.

말하는 영상(토킹헤드)도 돼요?

네. 음성인식 프로그램(Whisper)을 설치해서 말을 받아 적고 점프컷·자막을 만들어요. 처음 한 번 모델 파일을 받는데 약 0.5~3GB예요(정확한 모델일수록 커요). 클로드가 설치 전에 물어봐요.

브이로그처럼 말이 없는 영상은요?

BGM의 비트를 찾아서 박자에 맞게 컷해요. 넣을 문구가 없으면 클로드가 후보를 제안하고, 고른 문구만 넣어요.

캡컷만 써도 돼요?

네! 캡컷 프로젝트 폴더를 주거나, 완성 영상 몇 개와 쓰는 폰트를 주면 스타일을 학습해요. 편집 결과물은 mp4로 나와서 캡컷이 없어도 돼요.

윈도우에서도 돼요?

네, 맥과 윈도우 모두 돼요. 필요한 프로그램(Node.js, ffmpeg, 파이썬)은 클로드가 설치를 도와줘요.

Codex(챗GPT)에서도 되나요?

지침 파일 이름을 AGENTS.md로 바꿔서 넣으면 같은 방식으로 쓸 수 있을 거예요. 단, 오디씨는 클로드 코드로만 직접 확인했어요.

Remotion은 무료예요?

개인, 직원 3명 이하 회사, 비영리 단체는 상업적 용도도 무료예요. 그보다 큰 회사는 회사 라이선스가 필요해요. 조건은 바뀔 수 있으니 Remotion 공식 라이선스 페이지를 확인해 주세요.

음악·폰트 저작권은 괜찮아요?

무료 사이트라도 곡·폰트마다 조건이 달라요. 상업적 이용, 출처 표기, 인스타 사용 가능 여부를 꼭 확인해 주세요. 인스타 앱 안의 음원을 쓰고 싶으면 "BGM 없이 렌더해줘"라고 하고 올릴 때 붙이면 돼요.

다 클로드가 해주나요?

컷·자막·연출·효과음 배치까지는 클로드가 해요. 어떤 테이크가 좋은지, 어디서 웃긴지, 소리가 괜찮은지는 내가 보고 말해줘야 해요. 그래서 "편집은 클로드, 판단은 나"예요.

편집 중간에 타임라인을 직접 보고 싶어요

"스튜디오 열어줘"라고 하면 Remotion Studio를 띄워줘요. 브라우저에서 재생·프레임 이동·장면별 레이어를 볼 수 있어요. 거기서 값을 바꿔도 저장되진 않으니, 고칠 건 시간이나 캡처와 함께 말로 하면 돼요. 내 컴퓨터에서만 열리는 주소예요.

인스타에 올렸더니 자막이 가려져요

올린 릴스를 재생 중인 내 폰 화면을 캡처해서 주고 "인스타 UI에 안 가리게 위치 맞춰줘"라고 하면 돼요. 내 폰 기준으로 안전한 자리를 재서 다음 영상부터 그대로 써요.

썸네일(커버)도 만들어줘요?

네. "이 영상 썸네일 만들어줘"라고 하면 얼굴 컷 배경 지우기, 제목, 말풍선까지 이미지로 만들어줘요. 예전에 쓴 썸네일을 같이 주면 같은 시리즈처럼 맞춰요.

결과가 예전 작업에 영향받는 것 같아요

새 세션(새 대화)에서 시작하면 깨끗하게 가요. 스타일은 STYLE.md에 남아 있어서 그대로 적용돼요.