animonkey은(는) 무엇을 하나요?
Dustkey LLC 제작
최고의 스타트업 비디오처럼 느껴지는 제품 모션 그래픽을 제작하는 스튜디오 방법론입니다. 음악에 맞춰진 스토리, 자체적으로 읽히는 타이틀, 컷 대신 변형되는 트랜지션, 제품이 해결하는 문제를 연기하는 캐릭터, 그리고 실제 UI를 전면에 배치합니다. Remotion 템플릿(template/), 음악, 음성, 믹싱, 품질 관리 및 전달을 위한 스크립트(scripts/), 그리고 수치가 포함된 참조 문서(references/)를 제공합니다.
공정은 반복되지만, 디자인은 그렇지 않습니다. 각 영화는 고유한 비주얼 라인(팔레트, 서체, 캐릭터 마감, 조명, 카메라, 모션 개성, 음악)을 가지며, 이는 클라이언트의 브랜드로부터 정의됩니다. 이 스킬은 이러한 품질의 비디오를 만들기 위한 매개변수를 제공할 뿐, 하나의 디자인을 반복하도록 하지 않습니다. 다른 영화의 라인, 음악, 카피 또는 스토리보드를 절대 복사하지 마세요.
시작하기 전에
references/template.md를 읽으세요 (템플릿의 구조와 API에 대한 설명). Remotion 코드를 작성하기 전에 설치된 버전의 문서(@remotion/media,@remotion/three및ConfigAPI는 버전 간에 변경됨)를 읽으세요.- 도구: node ≥ 20, ffmpeg/ffprobe, 스크립트용
uv(Python 3.12); 음성용:mlx-audio,faster-whisper,mlx-whisper,speechbrain및librosa가 설치된 환경 (Apple Silicon). - 디스크: 렌더링을 위해 ≥ 5GB 여유 공간 (
df -h /). 사용자에게 묻지 않고 사용자의 파일을 삭제하여 공간을 확보하지 마세요. - 새 프로젝트는 복사본으로 시작합니다:
cp -R <skill>/template <project>/video && cd <project>/video && npm install.
워크플로우
모든 단계는 보이는 결과물로 끝납니다. 게이트(G0–G3)는 프레임, 콘택트 시트 또는 비디오로 승인되며, 설명으로 승인되지 않습니다.
0 · 브리핑
다음을 한 번에 수집하고(누락된 것은 요청하세요): 제품이 현재 하는 일과 하지 않는 일; 대상 사용자; 비디오가 사용될 곳(랜딩 페이지, 앱 스토어, 광고, 이벤트); 길이; 포맷(16:9, 9:16, 4:5); 언어; 음성 유무 및 모드; 음악(상업용 라이선스 필요); 브랜드(로고, 색상, 서체, 톤); 실제 UI(스크린샷, 코드의 디자인 토큰, 아이콘); 클라이언트가 좋아하는 참고 자료. 계획에 제품의 진실을 기록하세요: 영화의 어떤 내용도 앱이 하지 않는 것을 약속해서는 안 됩니다.
1 · 비주얼 라인 → G0
references/art-direction.md로 라인의 10개 축을 정의하고, 사용된 라인의 레지스트리(used-lines.md, 비공개; 존재하지 않으면 used-lines.example.md에서 생성)와 비교하세요. kit/palette.ts, style.ts, brand.ts (+ 서체가 변경되면 scripts/font-metrics.py) 및 project/cast.ts에 작성하세요. scripts/still.sh로 세 개의 라인 프레임(캐스트가 등장하는 문제, UI, 클로즈)을 렌더링하고 승인을 받으세요.
2 · 스토리 및 타이틀
references/storytelling.md를 사용하세요: 슬롯을 채우세요(가치가 탄생하는 곳, 캐스트, 각 캐릭터가 떨어뜨리는 원자재, 손실, 반전, 여행하는 브랜드 조각, 원탭 액션, 삼위일체, 증거, 반론, 태그라인). 노래의 형태 위에 액트를 배치하고 references/kinetic-typography.md를 사용하여 project/titles.ts에 사양으로 타이틀을 작성하세요. 소리를 끄고 연속으로 읽으세요: 전체 영화를 설명할 수 있어야 합니다. 두 언어 모두에서 통과할 때까지 npm run check를 실행하세요.
3 · 음악 및 그리드
references/audio-and-voice.md를 사용하세요: 라인에 맞는 트랙을 선택하고, 매핑하고(scripts/mapear-musica.py), 필요에 따라 마디로 자르고(scripts/cortar-por-compases.py), project/timeline.ts의 makeGrid에 bpm과 v0을 넣으세요. 이제부터 모든 이벤트는 bar()/beat()로 작성됩니다.
4 · 애니매틱 → G1
실제 타이틀이 애니메이션되고, 오브젝트가 실루엣으로 위치하며, 평면도가 음악(및 임시 음성) 위에 배치됩니다. 승인되는 것은 타이밍입니다. 여기서 승인된 것이 최종 배송됩니다.
5 · 블록별 프로덕션 → G2
위험이 가장 높은 것부터(손에 쥔 증거와 심기-결과물이 먼저), 각 블록은 project/blocks/ 및 registry.tsx에 위치합니다:
- 캐릭터, 포즈, 조명 및 3D 카메라:
references/characters-3d.md; - 3D에 접착된 DOM의 제품 UI, 탭 및 읽을 수 있는 푸시인:
references/product-ui.md; - 곡선, 카메라 레시피, 변형 트랜지션, 물리적 바닥 및 핸드오프:
references/motion-and-grounds.md. 각 블록을 콘택트 시트와 100% 크롭으로 검토하세요 (references/production-and-qa.md).
6 · 통합, 검사 및 마스터 → G3
npm run check, 렌더링(scripts/render.sh), scripts/film-qa.py 및 MP4에 대한 scripts/hoja-contacto.py; 음성(scripts/voz/) 및 믹스(scripts/mezclar.py) 측정. 제품을 모르는 사람처럼 무음 마스터를 시청하세요.
7 · 변형 및 전달
언어, 창을 통한 세로형, 여러 오프닝이 있는 6–15초 컷, 음성이 없는 마스터: references/marketing-and-formats.md를 참조하세요. scripts/entregar.py로 전달하세요 (절대 덮어쓰지 않는 이름, 커버, 콘택트 시트, 매니페스트).
8 · 등록
영화의 라인을 used-lines.md에 추가하고, 다음 프로젝트의 USED_LINES에 서명을 추가하세요. 클라이언트의 결정을 그들의 말로 기록하세요: 이는 다음 영화의 취향입니다 (references/taste.md).
절대 규칙
- 음악이 모든 것을 지배합니다. 모든 것은 그리드 프레임 안에 있어야 합니다; 이벤트는 비트의 ±2 프레임 이내여야 합니다; 음성을 옮기고, 그리드는 절대 옮기지 마세요.
- 하나의 타이틀 = 2–5단어의 중앙 정렬 한 줄이며, 실제 서체로 측정되고(DOM 없음), 단일 악센트를 가집니다; 맞지 않으면 서체를 줄이지 말고 텍스트를 줄이세요.
- 어떤 것도 불투명도로 나타나거나 크로스페이드로 변경되지 않습니다: 카메라, 오브젝트 또는 변형이 모든 것을 전달합니다.
- 문제는 캐릭터가 연기합니다; 문제에서 떨어뜨린 것이 제품의 결과로 돌아옵니다.
- UI는 실제 제품이며, DOM으로 다시 그려지고 읽을 때 읽을 수 있어야 합니다 (≥ 3.4 px/pt).
- 브랜드 조각이 스토리를 통해 여행하고 로고로 돌아옵니다; 클로즈는 도메인과 함께 정지합니다.
- 재제작 없는 세로형: 동일한 영화를 창을 통해 보여줍니다; 텍스트는 그대로; 맞지 않는 곳은 창을 넓힙니다.
- 모든 프로젝트는 고유한 라인을 가집니다; 스튜디오의 두 영화는 서로 닮지 않습니다 (
art-direction.md의 반-유사성). - 검사는 실패할 수 있어야 하며, 녹색 렌더는 아무것도 증명하지 않습니다: 콘택트 시트와 100% 프레임을 확인하세요.
- 실제 고객 데이터나 허위 기능을 화면에 표시하지 마세요.
언제 무엇을 읽을까요
| 필요한 것 | 읽을 문서 |
|---|---|
| 시작하기, 템플릿 이해, 명령어 | references/template.md |
| 프로젝트의 디자인 정의 (팔레트, 서체, 마감, 조명, 음악) | references/art-direction.md |
| 구조, 액트, 프로세스를 연기하는 캐릭터, 카피 및 음성 | references/storytelling.md |
| 타이틀 사양, 진입 및 퇴장, 측정, 다른 서체 또는 언어 | references/kinetic-typography.md |
| 곡선, 카메라, 트랜지션, 바닥, 리듬, 모션 메트릭 | references/motion-and-grounds.md |
| 캐릭터 디자인, 포즈, IK, 3D 스테이징, 손, 그림자 | references/characters-3d.md |
| 제품 UI 재현 및 애니메이션, 3D에 접착 | references/product-ui.md |
| 음악 선택 및 자르기, AI 음성, 믹싱 | references/audio-and-voice.md |
| 광고 컷, 세로형, 언어, 전달물 | references/marketing-and-formats.md |
| 게이트, 측정 가능한 규칙, 렌더링, 도구, 작업 | references/production-and-qa.md |
| 둘 다 작동하는 두 옵션 사이에서 결정하기 | references/taste.md |
스크립트
| 스크립트 | 용도 |
|---|---|
template/scripts/check.sh | 렌더링 없이 검사 (타이틀, 싱크, 바닥, 대비, 컷, 반복 라인) – 두 언어 |
template/scripts/still.sh | 검토 및 게이트용 단일 프레임 |
template/scripts/render.sh | 마스터 및 변형: 디스크 확인 후 무음 청크 렌더링, ffmpeg로 오디오 먹싱 |
template/scripts/proyecto-json.sh | Python 스크립트용 JSON 타임라인 |
template/scripts/font-metrics.py | 다른 서체(정적 또는 가변)의 측정 테이블 |
scripts/mapear-musica.py | 트랙의 템포, 첫 다운비트, 그리드 및 섹션 |
scripts/cortar-por-compases.py | 그리드 세그먼트로 음악 자르기 (클릭 없음) |
scripts/mezclar.py | 음악 + 음성 (덕킹 포함), 저음 보호, 측정 보고서 |
scripts/voz/ | 타이틀 → 디자인 → 복제 → 선택 → 배치의 음성 스크립트 |
scripts/film-qa.py | MP4의 컷, 모션, 바닥 및 색상 |
scripts/hoja-contacto.py | PDF 또는 PNG 콘택트 시트 |
scripts/comparar-videos.py | 허용 오차로 두 렌더링 비교 |
scripts/entregar.py | 커버, 콘택트 시트, 매니페스트로 전달 (절대 덮어쓰지 않음) |
비공개 사례
private-cases/ 폴더가 존재하는 경우 (절대 게시되지 않음), 실제 스튜디오 제작물의 전체 분석이 포함되어 있습니다: 방법론이 왜 그런지 이해하기 위해 읽되, 라인, 음악, 카피 또는 스토리를 절대 복사하지 마세요.