Stickman Shorts
Remotion에서 SVG React 컴포넌트로 제작된 플랫 2D 애니메이션 비디오 (모든 화면 비율).
- 내장 포맷: 세로(1080×1920, 30fps) 스틱 피겨 'You Decide' 스토리 쇼츠. 각 파트는 약 75~90초 길이이며, 2인칭('당신은…')으로 진행되고 A/B 선택지로 끝납니다. 시청자가 투표하면 다음 파트는 '대부분의 분들이 …라고 답하셨습니다'로 시작하며 승리 경로를 따릅니다.
- 기타 모든 포맷: 예시 영상을 제공하면 해당 포맷(레이아웃, 페이스, 자막, 사운드)을 분석하여 독창적인 콘텐츠로 재현합니다. 자세한 내용은
references/CLONE-ANY-VIDEO.md및references/FORMATS.md를 참조하세요.
0. 엔진 찾기 또는 설정
엔진은 https://github.com/SyedBahjat/claude-stickman-shorts 의 Remotion 프로젝트입니다.
- 현재 작업 디렉토리에
src/kit/Stick.tsx가 있으면 엔진 안에 있는 것입니다. 그대로 사용하세요. - 그렇지 않으면 프로젝트를 생성할 위치를 물어본 후:
git clone https://github.com/SyedBahjat/claude-stickman-shorts <폴더> && cd <폴더> && npm install - Node 18+, PATH에 ffmpeg, Python 3 (
pip install -r requirements.txt- numpy, scipy 필요)가 필요하며 SFX 및 참조 분석기, TTS도 필요합니다(references/AUDIO.md참조; VoiceStudio는 무료이며 로컬 실행 가능). - 스모크 테스트:
npx remotion still src/index.ts FreshCo-P2B out/test.png --frame=300실행 후 PNG 확인합니다.
1. 작업 선택
| 사용자가 원하는 것… | 이렇게 하세요 |
|---|---|
| 아이디어에서 새 시리즈 | 로그라인 3개 제안 → 전체 분기 시즌을 stories/<스토리>/script.md에 작성(references/STORY.md) → 파트 1 제작 |
| 다음 파트('사람들이 B를 선택함') | stories/<스토리>/script.md + continuity.md 읽기 → 해당 경로의 파트 N 제작 → 'MostOfYouSaid'로 시작 |
| 예시 영상 복제 (모든 유형) | references/CLONE-ANY-VIDEO.md: 분석, 분류, 비주얼 및 사운드 일치, 독창적 콘텐츠 작성 |
| 다른 종류의 비디오 (설명, 상위-5, 퀴즈, 채팅 스토리, 가로…) | references/FORMATS.md → src/templates/Starter.tsx에서 시작 (--props='{"format":"horizontal"}') |
| 음성/사운드 변경 | references/AUDIO.md |
2. 제작 (세부 사항은 references/WORKFLOW.md 참조)
- 샷 시트 + 대사 TSV → 사용자가 스크립트와 A/B 옵션 승인.
- 음성:
node scripts/voiceover.mjs <이름> "<대사>" --voice <ID> --trim --loud -16(또는--from <wav>). 모든 대사를 전사하여 단어 확인. src/stories/에서 가장 가까운 에피소드 복사 (src/stories/freshco/FreshCoP2B.tsx에서 시작) → 타임라인 (LEN,SHOTS,CAPS,SFX) 교체 →src/Root.tsx에 등록 →npm run typecheck.- 모든 주요 비트에서 스틸 프레임 렌더링, 모든 움직이는 샷의 프레임 스트립 렌더링. 렌더링 전에 반드시 확인.
npx remotion render src/index.ts <ID> out/raw.mp4 --concurrency=6→ loudnorm으로 −17 LUFS 적용.- MP4와 함께 제목, 설명(A/B 질문 및 "A 또는 B를 댓글로 남겨주세요" 포함), 해시태그를 YouTube Shorts / TikTok / Reels용으로 제공.
3. 가장 중요한 규칙 (하우스 스타일용; 복제 포맷은 참조를 따릅니다)
- 비주얼:
references/STYLE.md를 정확히 따릅니다: 음소거된 어두운 팔레트, 잉크 외곽선, 점 눈, 입 없음, 정체성은 몸색 + 액세서리 하나, 시청자 캐릭터YOU는 항상 빨간 팔밴드를 착용. - 스토리: 2인칭, 짧은 문장, 번호가 매겨진 규칙, 지연된 반전, 진정으로 어려운 A/B 선택.
- 모션: 거리에 기반한 차분한 직립 걷기(발 미끄러짐 없음), 손은
reach타겟을 통해 물체에 닿으며 타겟이 미끄러져 들어옴, 소품은holdF/holdB사용, 하드 컷과 느린 푸시인. - 음성: 절대 타임 스트레치나 사일런스 스쿼시 금지(깨진 소리), 절대 '브로드캐스트' 효과 사용 금지, 캐릭터는 내레이터와 명확히 다른 소리.
- 믹스: 음성 −16 LUFS, 배경음은
makeDuck으로 덕킹, 최종 −17 LUFS. 모든 SFX/음악은scripts/audio/에서 합성되므로 저작권 문제 없음. - 보고 전: 스틸 및 스트립 확인, 절대 사용자 기기에서 오디오 자동 재생 금지.
- '좋아요와 구독' 요청을 비디오에 넣지 말고 설명에 작성.
참조
references/STYLE.md: 팔레트, 캐릭터, 세트, HUD, 자막, 카드, 카메라references/STORY.md: 파트 구조, 작성 규칙, 샷 시트, 분기references/AUDIO.md: TTS 옵션, 인간적인 음성, SFX 목록, 믹스 레벨references/WORKFLOW.md: 코드 레이아웃, 리깅 API, 모션 규칙, 렌더 + 최종 체크리스트references/CLONE-ANY-VIDEO.md: 모든 예시 영상 포맷 재현references/FORMATS.md: 12가지 일반 비디오 포맷의 비트 구조 및 제작 노트