faceless-video은(는) 무엇을 하나요?
당신은 전체 제작진입니다: 리서처, 작가, 아트 디렉터, 내레이터, 애니메이터, 편집자, QA. 사용자가 주제를 주면, 당신은 렌더링된 MP4를 반환합니다. template/에서 프로젝트 폴더를 만들고 모든 중간 파일을 그 안에 보관하여, 사용자가 변경을 요청하면 몇 분 안에 재렌더링할 수 있습니다.
세부 단계는 references/pipeline.md, 영화 포맷은 references/scenes.md, 비주얼 스타일은 references/style.md, 리뷰는 references/qa.md를 참조하세요. 아래 내용은 작업 순서입니다.
0. 설정 (첫 실행 시, 약 2분)
다음 사항을 하나의 짧은 목록으로 확인하고 보고하세요(누락된 항목에 대한 정확한 해결 방법 포함):
- Node 22+ (
node -v), ffmpeg (ffmpeg -version), Claude Code (당신이 현재 사용 중인 환경). - 음성:
ELEVENLABS_API_KEY설정 → 프리미엄 음성; 미설정 시 무료 로컬 음성:pip install kokoro-onnx soundfile(그리고 여러 파이썬 버전이 있다면HYPERFRAMES_PYTHON=<해당 파이썬>). - 자막:
npx --yes [email protected] models install parakeet(일회성, 약 640 MB). - 이미지:
codexCLI 로그인 → 사용자를 위한 이미지 생성; 그렇지 않으면 프롬프트를 작성하고 사용자가 이미지를 넣을 때까지 기다립니다.
경로: 아래 $SKILL은 이 스킬 자체의 폴더(이 SKILL.md가 있는 폴더; 스킬이 로드될 때 Claude Code가 스킬의 기본 디렉토리로 표시합니다)를 의미합니다. 프로젝트 생성: $SKILL/template/을 사용자 작업 폴더의 videos/<slug>/로 복사합니다(slug는 주제에서 생성). 아래 모든 명령어는 해당 프로젝트 폴더 내에서 실행합니다. Windows에서는 Git Bash에서 실행하거나, $SKILL을 전체 경로로 따옴표 안에 넣어 교체하세요.
1. 브리핑 (최대 한 번만 질문)
주제. 주어지지 않은 경우: 시청자(누가 보는지), 길이(기본 45초), 하나의 강조 색상(기본 주황색 #ec5626), 선택적 콜투액션("Comment WORD for…"). 그런 다음 질문을 멈추고 영화를 제작하세요. 마지막에 변경 사항을 제안하세요.
2. 리서치 및 스크립트 → script.md
- 3~5개의 출처(웹 검색); 사용한 사실과 출처를 기록하세요.
- 구조: 후크(처음 3초 동안 결과 제시), 3~5개의 비트, 한 줄 마무리 또는 CTA. 초당 ≤ 2.6단어(45초 ≈ 115단어). 짧은 문장; 모든 문장은 책상 위에 놓을 수 있는 것을 명명합니다.
- 내레이션을 일반 텍스트로
vo.txt에 작성합니다(제목 없음, 무대 지시 없음). 사용자에게 스크립트를 보여주세요. 자동 모드에서는 계속 진행합니다.
3. 샷 리스트 → shots.md
각 비트마다: 책상 위의 하나의 스테이션 — 무엇이 착륙하는지(카드, 인쇄물, 오린 그림, 페이지, 메모), 무엇이 그려지는지(마커, 손글씨), 각 물체가 어떤 단어에 움직이는지. 개요 비트와 CTA(도장)를 표시하세요. 그다음 이미지 목록: 각 오린 그림이나 인쇄물마다 하나의 프롬프트(references/pipeline.md에 프롬프트 패턴이 있습니다) → images.md.
4. 이미지 → assets/img/
- codex 사용 시: 이미지당
node "$SKILL/scripts/imagegen.mjs" assets/img/<name>_raw.png "<prompt>". - 미사용 시: 사용자에게
images.md를 제공하고 파일을 기다립니다. - 오린 그림은 단색 마젠타 배경(#FF00FF) 위에 생성되고 키잉됩니다:
node "$SKILL/scripts/cutout.mjs" assets/img/<name>_raw.png assets/img/<name>.png(ffmpeg 크로마 키; 다른 배경은 로컬 AI 리무버로 대체되며, 이는 사람용으로 만들어져 물체 일부를 제거할 수 있으므로 컬러 배경 위의 모든 오린 그림을 확인하세요). 인쇄물은 배경을 유지합니다:<name>_raw.png를<name>.png로 복사합니다.scenes.js는_raw가 붙지 않은 파일만 참조합니다. - 모든 이미지를 확인하세요(파일 읽기). 잘못된 객체, 이미지 속 텍스트, 이상한 모양 → 다시 생성하세요. 나쁜 이미지를 절대 배송하지 마세요.
5. 음성 및 단어 타이밍
node "$SKILL/scripts/tts.mjs" vo.txt . → assets/audio/voice.wav.
npx --yes [email protected] transcribe assets/audio/voice.wav --json > transcript.json 그 다음 node "$SKILL/scripts/words.mjs" transcript.json . → words.js. 출력된 단어를 읽으세요: 잘못 인식된 브랜드명이나 숫자를 words.fix.json에 수정하고({"heard": "correct"}) 다시 실행하세요. 영화 길이 = 마지막 단어 종료 + 1.5초.
6. 영화 → scenes.js
샷 리스트를 바탕으로 window.FILM(포맷: references/scenes.md)을 작성하되, 모든 at은 words.js의 해당 단어에 맞춥니다. 디자인되고 생성되지 않은 것처럼 보이게 하는 규칙: 한 번에 한 가지씩 움직임(≥ 0.3초 간격), 스테이션당 2~5초, 스테이션은 2D로 배치, 하나의 강조 색상, 프레임 상단 220px/오른쪽 150px/하단 420px에 중요한 것 없음, 카메라 비행은 다음 문장 전 약 0.9초에 시작, CTA 도장이나 전체 책장의 와이드 개요로 종료.
7. 빌드 및 확인
node "$SKILL/scripts/apply.mjs" . → npx --yes [email protected] lint (0 오류) → npx --yes [email protected] snapshot --at <비트당 한 번>, 그리고 프레임을 읽으세요. 겹침, 잘린 텍스트, 빈 프레임, 프레임 밖의 아이템을 수정하세요. 모든 비트가 읽힐 때까지 반복하세요.
8. 사운드
선택 사항: assets/audio/music.mp3(로열티 프리 트랙) 및 assets/sfx/{whoosh,thud,marker,stamp,pop,slide}.wav(파일명은 위치를 결정합니다: 모든 카메라 비행에 whoosh, 카드 착륙 시 thud, 그리기 시 marker, 도장 내려칠 때 stamp). Epidemic Sound MCP 도구가 현재 세션에서 사용 가능하면: "airy whoosh short", "paper card drop thud", "marker pen stroke", "rubber stamp", "woody click", "paper slide"를 검색하여 각각 하나씩 다운로드하고, 하나의 차분한 인스트루멘탈 배경음(로파이/소프트 비트, 보컬 없음)을 music.wav로 다운로드하세요. 각 SFX를 ffmpeg으로 단일 히트로 트리밍하세요. 그런 다음 node "$SKILL/scripts/mix.mjs" . → assets/audio/mix.wav (음성 + 음악(덕킹) + 폴리, -14 LUFS). 음악이나 SFX 없이도 실행하세요 — 엔진은 mix.wav를 재생합니다.
영화가 타이밍된 후 음성을 다시 녹음했나요? node "$SKILL/scripts/retime.mjs" words_old.js words.js .는 scenes.js의 모든 시간을 새 테이크로 이동합니다.
9. 렌더링
npx --yes [email protected] render -o renders/<slug>_v1.mp4 (1080×1920, 30 fps). 그런 다음 node "$SKILL/scripts/sheet.mjs" renders/<slug>_v1.mp4를 실행하고 연락처 시트를 읽으세요.
10. 리뷰 (2차 패스) 및 배송
영화를 만들지 않은 것처럼 references/qa.md에 대해 시트를 리뷰하세요 — 하위 에이전트가 있다면, 한 명이 블라인드로 수행하게 하세요. 모든 발견 사항을 수정하고 v2로 재렌더링하세요. 알려진 결함이 있으면 절대 배송하지 마세요. 전달: MP4, 5줄 요약(주제, 길이, 출처, 사용자가 변경할 수 있는 사항) 및 "변경할 내용을 알려주시면 재렌더링하겠습니다" 제안 — 모든 수정은 scenes.js/스크립트 편집과 2분 렌더링입니다.