Talking-head reels은(는) 무엇을 하나요?
카메라를 보고 말하는 사람의 녹화본 하나를 완성된 세로 릴(MP4)로 변환합니다. 룩은 에디토리얼하고 빠릅니다: 화자는 비디오의 중심축이며, 2-4초마다 프레임이 변경됩니다 — 펀치인, 큰 단어, B-롤 삽입, 분할 화면 — 항상 그 순간에 말하는 내용에 따라 결정됩니다.
메커니즘은 스크립트화되어 있습니다: 일시 정지 잘라내기, 음성 마스터링, 매트, 그리고 편집 결정 목록(EDL)에서 모든 프레임을 직접 그리는 렌더러. 당신의 역할은 에디토리얼 부분입니다: 대화 이해, 각 비트가 어떻게 보일지 결정, 적합한 푸티지 찾기 또는 생성, EDL 작성, 스틸 확인, 사용자와 수정 라운드 진행.
요구 사항
macOS (네이티브 렌더 대상) — Python 3.9+ (numpy와 faster-whisper 포함), ffmpeg with libass (Homebrew ffmpeg 또는 imageio-ffmpeg). 선택 사항 — Xcode command line tools (Apple Vision 매트).
Windows 10/11 렌더 박스: 렌더 엔진은 플랫폼 중립적입니다. Python 3.9+ (numpy와 faster-whisper 포함)와 libass를 지원하는 ffmpeg 빌드(gyan.dev "full" 빌드)면 충분합니다. 그런 다음 assets/fonts/win/에 번들된 무료 대체 폰트(Playfair Display 400/700/italic + Inter Medium, OFL 라이선스)를 사용하세요:
- 사용자 환경 변수
REEL_FONT_FILES를 네 개의 .ttf 경로로 세미콜론으로 구분하여 한 번 설정합니다. 엔진은 자체REEL_FONT_FILES훅(textass.py)을 통해 이를 인식하고 libass 폴더에 폰트를 추출합니다; - 모든 EDL에 내장 EDL 폰트 재정의를 추가합니다:
"fonts": {"anton": "Anton-Regular", "serif": "PlayfairDisplay-Bold", "didot": "PlayfairDisplay-Regular", "sub": "Inter-Medium"}(기본 매핑은reel_plan.py에서 변경되지 않음 — macOS EDL에는 재정의가 필요 없음); - Windows에는 Apple Vision 컷아웃 매트가 없습니다: 해당 비트는 건너뜁니다.
python scripts/check_setup.py는 Windows 인식 결과를 보고합니다.
크레딧 없음: B-롤은 사용자의 자료와 무료 라이브러리(Pixabay / thesvg MCP 커넥터, Wikimedia Commons)에서 제공됩니다. 유료 생성 부록(Higgsfield / Seedance)은 명시적 요청 시에만 사용됩니다.
제공 결과물
PROJECT/render/<name>_vN.mp4— 1080x1920, H.264, AAC 320 kbps, 음성 약 -14 LUFS.PROJECT/edl.json(및 라운드별edl_vN.json복사본) — 전체 편집 데이터; 다시 렌더링하면 항상 동일한 비디오 생성.- QA 스틸 검토용 (
PROJECT/qa/.../sheet.jpg).
단계 0 - 설정 및 입력
python3 scripts/check_setup.py (이 파일의 경로는 스킬 폴더 기준)를 실행하고 보고된 내용을 수정합니다. 모든 스크립트에 동일한 Python 사용; numpy faster-whisper imageio-ffmpeg가 포함된 venv가 간편한 방법입니다. ffmpeg는 libass를 포함해야 합니다(모든 텍스트가 libass로 그려짐) — 검사가 어떤 바이너리를 찾았는지 알려줍니다.
그런 다음 누락된 것만 물어보세요 (짧은 메시지 하나로):
- 녹화 파일 (경로). 이상적으로는 4K 가로 또는 1080x1920 세로, 화자가 대략 중앙.
- 언어, 그리고 스크립트가 있다면 스크립트 (필러 단어 및 오전사 교정에 도움).
- 컬러 그레이드: 이미 그레이드된 파일,
.cubeLUT, 또는 "카메라 색상 사용". - 마지막 콜 투 액션 (예: "댓글로 WORD를 달면 링크를 보내드립니다").
- B-롤 출처: 사용자 자체 푸티지(기본), 무료 스톡 및 아카이브(Pixabay MCP, Wikimedia Commons), thesvg MCP를 통한 로고/아이콘(대체로 Commons PNG 렌더). 권한이 있는 항목을 물어보세요. 유료 AI 생성(Higgsfield / Seedance)은 사용자가 명시적으로 요청할 때만.
- 프로젝트 폴더 위치 (기본: 비디오 옆,
<name>_reel/).
단계 1 - 준비 및 분석 (스크립트화)
python3 scripts/prepare_project.py VIDEO.mov [--graded GRADED.mov | --lut grade.cube] [--project DIR]
python3 scripts/transcribe.py DIR [--language en] [--model small|medium|large-v3]
python3 scripts/cut_pauses.py DIR [--remove 2.40-2.72 ...]
python3 scripts/master_audio.py DIR
python3 scripts/presenter_mattes.py DIR # swiftc 필요; 사용 불가 시 건너뜀
cut_pauses.py는 각 유지된 세그먼트와 그 단어를 출력합니다. 이를 전사본과 비교하세요: --remove start-end(소스 초)로 잘못된 시작, 반복 테이크, 필러 단어를 제거하고 다시 실행합니다. 얼마나 제거되었는지 사용자에게 보고합니다 (예: "81.5 s -> 73.4 s"). 이후 단계는 모두 프로그램 타임라인(analysis/program_words.json)을 사용합니다.
단계 2 - 편집 계획 (당신의 판단)
references/style-guide.md (룩과 규칙)와 references/edit-planning.md (대화를 비트로 변환하는 방법)를 읽은 후 비트 시트를 작성하세요: 각 비트별로 프로그램 시간, 말한 단어, 화면에 표시될 내용(화자 와이드/타이트, 인서트 종류, 레이아웃), 텍스트 처리, 푸티지 아이디어를 한 행씩. 푸티지를 소싱하기 전에 사용자에게 보여주세요 — 지금 변경하는 것은 저렴하고 나중에는 비쌉니다.
단계 3 - 푸티지
references/broll-sourcing.md를 따르세요: 무엇을 찾을지, 어디서 올 수 있는지, 라이선스, 테스트된 무료 검색 레시피(Pixabay MCP 검색 + URL 확인, Wikimedia Commons API + curl UA/재시도 + SHA-1 체크, thesvg MCP for 로고, ffmpeg 트랜스코드). 유료 생성(Seedance via Higgsfield)은 부록에 있습니다 — 사용자가 명시적으로 AI 생성 샷을 요청하고 비용을 승인할 때만. 모든 것을 PROJECT/broll/에, 로고는 PROJECT/logos/에 넣습니다. scripts/clip_sheet.py로 후보를 검토합니다. 사용자가 이미 클립이나 인서트를 가지고 있다면 사용하세요 — 존재하는 것을 다시 소싱하지 마세요.
단계 4 - EDL 및 검증
references/edl-schema.md (작동 예제 — 이 스타일의 기반이 된 릴의 전체 예제는 assets/examples/example_edl.json에 있음)를 따라 PROJECT/edl.json을 작성합니다. 그런 다음:
python3 scripts/validate_edl.py DIR/edl.json
모든 오류를 수정하고, 모든 경고를 읽고 수정하거나 의식적으로 수용합니다.
단계 5 - 스틸, 그리고 렌더
python3 scripts/render_reel.py DIR/edl.json --stills 0.6 2.4 4.8 ... --out-dir DIR/qa/stills_v1
python3 scripts/render_reel.py DIR/edl.json --out DIR/render/<name>_v1.mp4
스틸은 몇 초 걸립니다: 각 비트 내에서 한 순간과 각 전환의 중간을 선택하고, 연락 시트를 references/style-guide.md의 체크리스트(빈 가장자리 없음, 단어 읽기 가능하고 프레임 내부, 눈 위에 아무것도 없음, 중앙 스택에 텍스트, 색상 처리 올바름)에 대해 확인합니다. EDL을 수정하고 깨끗해질 때까지 다시 확인합니다. 그런 다음 전체 릴을 렌더링하고(최신 Mac에서 몇 분; references/renderer.md 참조) 사용자에게 경로와 렌더러가 출력한 숫자(크기, fps, 지속 시간, 음량)를 제공합니다.
단계 6 - 수정 라운드 (사용자가 작업하고 싶은 방식)
- 사용자가 한 번에 하나씩 메모를 보냅니다. 종종 몇 단어가 포함된 스크린샷입니다. 번호를 매기고(1, 2, 3...), 간단히 확인한 다음 사용자가 "시작", "가", "그게 다야"라고 말할 때까지 아무것도 변경하지 마세요. 그런 다음 모든 것을 한 번에 적용합니다.
- 각 라운드는 새 버전입니다: 편집하기 전에
edl.json을edl_vN.json으로 복사하고<name>_vN.mp4로 렌더링합니다. 사용자가 이미 본 렌더 또는 EDL 버전을 덮어쓰지 마십시오. - 먼저
--stills로 변경된 순간을 확인한 다음 전체 비디오를 한 번 렌더링합니다. - 라운드 전체에서 동일한 스타일을 유지합니다. 메모가 일반 규칙을 암시하는 경우("빈 가장자리 없음", "더 큰 자막"), 스크린샷뿐만 아니라 모든 곳에 적용합니다.
- 사용자가 샷에 다른 푸티지를 원하면 EDL에서 해당 클립을 변경합니다("참조: edl-schema.md"의 "클립 교체" 참조) — 다른 것은 움직이지 않습니다.
기타 도구
scripts/render_reel.py --stills ...— 모든 순간, PNG 및 연락 시트.scripts/clip_sheet.py— 후보 클립의 프레임 및 하드 컷 시간.references/renderer.md— 렌더러 작동 방식, 속도, 글꼴, 문제 해결.
기본 규칙
- 푸티지: 사용자가 권한이 있는 자료(자체, 라이선스 또는 무료 라이선스 스톡, 또는 사용자를 위해 생성된 클립)만 사용합니다. 생성된 인물은 실제 배우나 유명인처럼 보이지 않아야 하며, 유명한 캐릭터, 의상, 로고 또는 영화 장면을 재현할 수 없습니다.
- 모든 렌더는 새 파일입니다. 사용자가 검토한 것을 덮어쓰지 마십시오.
- 프로젝트 파일에서는 영어로 작업하고, 사용자와는 그들의 언어로 대화합니다.