Communitygithub.com

Code-Video-Infinite

코드로 비디오를 제작하는 유일한 진입구: 한 문장의 요구사항 → MP4 완성본 + 편집 가능한 소스코드. 다섯 가지 엔진(onetake / video-shotcraft / claude-motion / mg-motion / wise-motion)과 880개의 검색 가능한 에셋(124장의 Remotion 샷 카드, 462개의 범용 모션 항목, 47개의 애니메이션 소스 코드 사례, 20개의 소스 코드 컴포넌트, 30개의 오브젝트 모델, 14개의 시작 장면, 15가지 MG 스타일 시그니처 기법, 35개의 순수 시간 모션 함수, 6가지 시작 look)을 하나의 리듬 문법, 사운드 규범 및 세 가지 품질 게이트 아래 통합합니다.

Code-Video-Infinite란 무엇인가요?

Code-Video-Infinite는 코드를 통해 모션 그래픽 비디오를 제작하기 위한 포괄적인 AI 에이전트 스킬입니다. 이미지나 비디오를 생성하는 AI 모델에 의존하지 않고, 각 프레임이 시간(t)에 대한 순수 함수로 정의되는 웹 페이지 또는 Remotion 프로젝트를 작성하여 비디오를 만듭니다. 무헤드 브라우저나 Remotion의 프레임별 렌더링과 ffmpeg 오디오 믹싱을 사용하여 최종 MP4를 생성합니다. 이 스킬은 다섯 가지 엔진(onetake, shotcraft, claude-motion, mg-motion, wise-motion)을 통합하며, 각 엔진은 제품 데모, 영화 같은 프로모션, 3D 오브젝트 애니메이션, MG 스타일, 개별 모션 효과 등 특정 요구 사항에 적합합니다. 또한 880개의 검색 가능한 에셋, 세 가지 품질 게이트(머신 게이트, 스틸 프레임 게이트, 리뷰 게이트), 그리고 리듬, 카메라 움직임, 사운드 디자인 및 전달에 대한 엄격한 규칙을 제공하여 최종 결과물이 PPT 스타일이 아닌 전문적인 모션 디자인이 되도록 보장합니다. 이 스킬은 Claude Code, Cursor, Codex와 같은 AI 코딩 에이전트와 함께 사용하도록 설계되었습니다.

지원 대상✓Claude Code~Codex CLI~Cursor
npx skills add siweimidu/Code-Video-Infinite

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

Code-Video-Infinite은(는) 무엇을 하나요?

화면은 '생성'되는 것이 아니라 '코드로 쓰여집니다'. 여기에는 이미지/비디오 생성 모델이 없습니다. 하나의 영상은 웹 페이지나 Remotion 프로젝트입니다. 그것에 시간 t를 주면 해당 프레임을 그립니다. 무헤드 브라우저나 Remotion 프레임별 렌더링, ffmpeg가 오디오와 비디오를 합칩니다. 사운드도 코드로 합성할 수 있습니다. 따라서 모든 영상은 임의로 seek하고, 임의로 재렌더링할 수 있으며, 한 버전을 수정해도 이전 버전이 틀어지지 않습니다.

이 스킬은 다섯 가지 엔진의 통합체입니다: 하나의 진입구, 하나의 프로세스, 세 가지 게이트. 각 엔진은 자체 전체 문서와 에셋을 유지합니다.

0 · 시작하기 전에 이 두 가지를 먼저 실행하세요 (30초, 건너뛰지 마세요)

node scripts/doctor.mjs          # 환경 점검: Node / ffmpeg / ffprobe / Python / Chrome / 다섯 엔진 모두 준비되었는지 확인
node scripts/find.mjs --stats    # 디렉토리: 880개 에셋을 출처와 컬렉션별로 정리

doctor에서 FAIL이 있으면 먼저 환경을 수정한 후 창작을 시작하세요. Chrome이 없으면 Chrome을 설치하거나 npx playwright install chromium을 실행하세요. Windows에서 npm이 실행 정책에 의해 차단되면 npm.cmd를 사용하세요.

1 · 먼저 엔진을 선택하고, 그 다음 스타일을 논하세요

엔진은 사용자의 요구에 의해 결정되며, 디렉토리의 풍부함에 의해 결정되지 않습니다. 하나의 영상은 기본적으로 하나의 메인 엔진만 사용하며, 두 번째 엔진은 에셋을 가져오는 데만 사용합니다.

요구 사항의 형태엔진강점즉시 사용 시 지불해야 할 대가
15–30초 제품/출시/스킬 모션 영상, 리듬, 카메라 움직임, 'PPT 같지 않은' 느낌 필요onetake단일 HTML 합성, 실제 셔터 모션 블러, 합성 사운드 이펙트, 리듬과 이어짐을 위한 oraclePython + Chrome 필요; 4K60 렌더링 느림 (먼저 시간 경고)
제품 프로모션 영상, 영화 같은 느낌, 실제 웹 페이지 화면, 멀티 샷 내러티브, CapCut에서 추가 편집, 소셜 미디어 게시 필요shotcraft124장의 샷 레시피 카드 + Ink Press 템플릿 + 실제 페이지 캡처 + Freesound 사운드 선택 + 워크벤치Node + Remotion (npm 설치); Remotion은 별도 라이선스
구체적인 형태, 재질, 3D 오브젝트, 캐릭터와 동물, 손 그림, 종이 공예, 바로 실행 가능한 장면 필요claude-motion47개의 소스 코드 사례 + 20개의 소스 코드 컴포넌트 + 30개의 오브젝트 모델 + 14개의 시작 장면, 보존된 소스 코드 (스타일 태그 아님)Node ≥ 22 + Playwright Chromium + ffmpeg 필요; 에셋 볼륨 큼
MG 스타일 필요 (플랫/라인 아트/아이소메트릭/3D 렌더링/프레임별/콜라주/리퀴드/모프/바우하우스/신스웨이브/글라스/장식 글자/스티커/픽셀/사이버 HUD)mg-motion15가지 검증 가능한 시그니처 기법 + 103 샘플 음악 도구 키트 + 10개의 머신 게이트 + 두 라운드 리뷰Chrome 필요 (MG_CHROME) + ffmpeg + 폰트 자체 로딩
하나의 동작, 전환, 텍스트 모션의 실제 소스 코드만 필요, 다른 프로젝트에서 사용wise-motion462개의 모션 항목, 미리보기, 실제 소스 코드 진입점 및 내보내기 스크립트에셋만 제공, 전체 영상 디자인은 하지 않음

라우팅 세부 사항, 부정된 조합 및 각 엔진의 명확한 경계는 references/engine-selection.md를 참조하세요.

모든 에셋 검색은 동일한 명령어를 사용합니다 (다섯 엔진 공통):

node scripts/find.mjs "HUD 레이더"
node scripts/find.mjs "커피 손그림" --limit 5
node scripts/find.mjs fade --source wise-motion
node scripts/find.mjs "제목 등장" --collection shot-card --json

2 · 6단계 파이프라인 (순서 고정, 단계는 생략 가능하지만 게이트는 건너뛸 수 없음)

단계수행 작업심층 문서
0 요구사항납품 사양 (길이/화면비/fps/더빙 및 자막 유무/언어), 에셋 출처, 대상 및 게시 위치를 한 번에 명확히 질문; 하나씩 묻지 않음references/pipeline.md §0
1 참조참조 영상이 있으면 실제로 측정: 에너지 그래프, 컷 포인트, 정적 비율, t80 및 모션 블러 (onetake analyze_ref.py); 참조가 없으면 검증 가능한 숫자 목표 작성references/motion-grammar.md
2 컨셉서로 다른 세 가지 중심 아이디어, 사용자가 하나 선택; 동시에 이름으로 look/스타일 선택, 묵시적 기본값 사용 금지onetake §2 / mg-motion §2
3 리듬과 이어짐스토리보드를 리듬과 이어짐 두 축으로 설계: 동일한 길이의 샷 금지, 하나의 비트를 이전 비트로 대체 금지references/motion-grammar.md
4 에셋과 샷실제 페이지 캡처 / 스크린샷 UI 복원 / 오브젝트 모델 / 샷 카드 / 모션 항목; 먼저 가장 작은 실행 가능한 조각 가져오기각 엔진 ENGINE.md
5 구현모든 프레임은 시간의 순수 함수; 동작은 라이브러리에서 선택, 커브는 t80에 따라 결정; 먼저 정적 프레임 출력 후 전체 영상각 엔진 ENGINE.md
6 렌더링 및 납품1080p30 초안 → 승인 → 4K60/최종 버전; 세 게이트 통과; 납품 계약에 따라 보고references/delivery.md

3 · 철칙 (다섯 엔진 통합 중복 제거, 각각은 다른 사람이 이미 겪은 경험)

  1. 모든 프레임은 t에만 의존합니다. Date.now() 금지, rAF 누적 상태 금지, 상태 기반 CSS 애니메이션 금지; 의사 난수는 고정 시드 사용.
  2. 템플릿의 이야기를 사용자의 이야기로 착각하지 마세요. 컨셉은 세 가지 중에서 선택; 새 영상에 템플릿의 비트를 적용하면 템플릿으로 읽힙니다.
  3. 이전 영상의 look을 다음 영상으로 가져오지 마세요. look/스타일은 이름으로 명시적으로 선택되어야 하며, 묵시적 기본값은 허용되지 않습니다.
  4. 메트로놈처럼 동일한 간격으로 나누지 마세요. 동일한 길이의 샷은 아무리 좋아도 슬라이드쇼로 읽힙니다.
  5. 비트를 대체하지 말고 이어가세요. 각 단락 경계에는 무언가가 살아남아 보이게 움직이거나 확대/축소되어 다음 단락으로 이어져야 합니다. 상호 배타적인 장면 (display:none 페이지 전환)은 리듬이 완벽해도 PPT입니다. 하드 컷 클라이맥스와 엔딩 카드는 예외입니다.
  6. 여백은 클라이맥스가 떨어질 조건입니다. 참조 영상의 약 1/3 시간은 정적입니다. 영상 내내 멈추지 않으면 = 클라이맥스가 없습니다.
  7. 작은 요소, 큰 바탕. 이런 종류의 영상 화면은 종종 70% 흰색/배경색입니다. 화면을 채우는 에셋은 예외이지 기본이 아닙니다.
  8. 생성 과정이 보여야 합니다. 손이 녹화된 경로에서 그려지고, 공이 땅에 떨어지고, 점이 분열됩니다. 페이지가 스스로 움직이면 화면 보호기로 읽힙니다.
  9. 빠른 동작에는 셔터가 필요합니다. 약 80 px/프레임을 초과하면 모션 블러 없이 깜빡임과 잔상이 발생합니다. CSS blur가 아닌 렌더러의 셔터를 사용하세요.
  10. 카메라 움직임은 주인공을 따라가야 합니다. 고정 카메라는 '트래킹 카메라 움직임이 부족하다'는 평가를 받습니다. inFrame을 선언하고 카메라가 지연, 기울기, 정지하도록 만듭니다.
  11. 초안은 1080p30입니다. 승인되지 않은 편집은 4K60으로 렌더링하지 않습니다.
  12. 파티클/색종이/조각을 장식으로 사용하지 마세요. 템플릿으로 읽힙니다. 화려함이 필요하면 글자가 스스로 착지하게 만듭니다.
  13. 사운드는 하나의 공간, 하나의 재질. 각 이벤트에 하나의 합성 사운드 = 오디오 버전의 슬라이드쇼.
  14. 위조하지 마세요: 실행되지 않은 샘플 영상은 재현이라고 할 수 없고, 무음 영상을 유성 영상이라고 할 수 없으며, 기술적 통과가 미적 기준 충족을 의미하지 않습니다.

4 · 세 가지 게이트, 하나도 빠짐없이 필수

게이트판단자판단 내용통과하지 못하면 어떻게 하나
머신 게이트node scripts/qc.mjs gate <video>길이/화면비/fps/오디오 트랙 유무/LUFS/트루 피크/블랙 프레임/정적 프레임 비율영상 수정 후 재렌더링, 기준 변경 안 됨
정적 프레임 게이트사용자 본인이 read_image6–10개의 키프레임이 포스터로 사용 가능한지: 구도/계층/여백/텍스트 레이아웃화면 재구성
리뷰 게이트컨텍스트가 깨끗한 독립 subagent7차원 점수 + 프레임 번호가 포함된 수정 목록; 수정 후 한 번 더 리뷰영향 순서대로 수정

머신 게이트는 기계가 측정할 수 있는 것만 측정합니다. 미적 판단은 모두 독립 리뷰에 맡기며, 제작자의 자체 검사는 확인 편향이 있습니다. 각 엔진 고유의 게이트 (mg-qc.mjs, verify_promo.py, final-review.md, jury.md) 사용법과 판단 기준은 references/quality-gates.md를 참조하세요.

5 · 사운드

  • 목표: 하나의 공간, 하나의 재질, 이벤트 수는 비트 수보다 적어야 함; 음악은 기본적으로 상업적 사용이 허가된 곡만 사용하고 기록해야 함.
  • 일반적인 목표: −14 LUFS (소셜/웹), −16 LUFS (장편/팟캐스트 스타일), 트루 피크 ≤ −1 dBTP (AAC 인코딩 후 더 올라감); 더 많은 여유를 두려면 −3.5를 목표로 함.
  • 세 엔진의 기성 도구: onetake sfx_palette.py / score.py (합성 + 녹음 믹스), mg-motion audio.py + 103 샘플, shotcraft sound-design.md + sfx-source.py (Freesound, 기본 CC0).
  • 세부 사항 및 라이선스 한계는 references/sound.md를 참조하세요.

6 · 납품 계약

모든 영상은 이 일곱 가지를 갖춰야 합니다 (하나라도 빠지면 완료되지 않은 것): 컨셉 두 문장 / 타임코드가 있는 비트 시트 / 시그니처 기법별 대응 / 어떤 스타일을 사용했고 어떻게 전환했는지 / 기술 경로 / 실제 측정 숫자 (길이 화면비 fps LUFS 트루 피크 블랙 프레임 정적 프레임 비율) / 솔직한 top-3 약점.

엔진별 추가 납품물: onetake 다국어 동일 소스 (?lang= 분기 없음), claude-motion ADAPTATION.md (보존/수정/라이선스/미해결 문제), shotcraft 모션 워크벤치 및 CapCut 프로젝트, mg-motion 버전 디렉토리 v1/ v2/. 자세한 내용은 references/delivery.md를 참조하세요.

7 · 디렉토리 맵

Code-Video-Infinite.skill/
├── SKILL.md                  # 본 파일: 라우팅 + 철칙 + 게이트 + 납품
├── README.md                 # 사람용: 다섯 엔진 설명, 설치 방법, 라이선스 표
├── LICENSES.md               # 엔진별 라이선스 및 타사 저작권 표시
├── references/               # 통합된 공유 지식 (이 레벨에서 새로 작성, 엔진 간 판단만 포함)
│   ├── engine-selection.md   # 의사 결정 매트릭스 및 경계
│   ├── pipeline.md           # 6단계 파이프라인의 각 단계 심층 정보
│   ├── motion-grammar.md     # 리듬/커브/이어짐/카메라 움직임의 통합 용어
│   ├── sound.md              # 사운드 및 라이선스 한계
│   ├── quality-gates.md      # 세 게이트의 판단 기준
│   ├── delivery.md           # 납품 계약
│   ├── assets-and-licenses.md# 에셋 위치, 재배포 가능 여부
│   └── provenance.md         # 다섯 출처, 버전, 통합 내용
├── catalog/
│   ├── INDEX.md              # 880개 에셋 목록 (생성물)
│   ├── index.json            # 동일 데이터의 기계 판독 가능 버전
│   └── assets-index.json     # 537개의 대형 에셋 목록
├── scripts/
│   ├── doctor.mjs            # 환경 자가 진단
│   ├── find.mjs              # 엔진 간 검색
│   ├── qc.mjs                # 통합 머신 게이트 (measure / gate / delegate)
│   ├── build-catalog.mjs     # 인덱스 재구축
│   └── check-links.mjs       # 문서 상호 링크 점검
└── engines/                  # 다섯 엔진 원본 유지 (각 문서/에셋/라이선스 포함)
    ├── onetake/       ENGINE.md + lib/motion.js + scripts/ + looks/ + cases/
    ├── shotcraft/     ENGINE.md + references/shots(124) + template/ + demos/ + assets/
    ├── claude-motion/ ENGINE.md + references/*.json + assets/{cases,extensions,models,scenes}
    ├── mg-motion/     ENGINE.md + mg-styles-15/{harness,assets} + references/ + scripts/
    └── wise-motion/   ENGINE.md + catalog/registry.json + references/effects(462) + scripts/

8 · 언제 어떤 파일을 읽을까

상황읽을 파일
어떤 엔진을 사용해야 할지 모를 때references/engine-selection.md
작업을 시작해야 하고 각 단계의 구체적인 작업과 명령어가 필요할 때references/pipeline.md
리듬이 이상하고, PPT 같고, 동작이 너무 약하거나 강할 때references/motion-grammar.md
더빙/효과음/배경 음악/라우드니스 관련references/sound.md
영상이 완성되었는데 게이트를 통과할지 걱정될 때references/quality-gates.md
영상을 납품해야 하고, 보고서를 제출해야 하며, 추가 수정이 필요할 때references/delivery.md
특정 엔진의 에셋을 사용하는데 상업적 사용이 가능한지 확실하지 않을 때references/assets-and-licenses.md
특정 엔진을 업그레이드하거나 출처를 확인해야 할 때references/provenance.md
엔진 심층 정보 (유일한 권위)engines/<engine>/ENGINE.md 및 해당 references/

9 · 라이선스 및 에셋 경계 (한 문장 요약)

다섯 엔진의 라이선스는 각각 다릅니다. 통합 저장소는 각각의 라이선스를 변경하지 않습니다. onetake는 PolyForm Noncommercial (비상업적 무료), wise-motion은 Apache-2.0, claude-motion과 상위 mg-styles-15는 MIT (타사 에셋은 각각 라이선스 유지), shotcraft는 자체 라이선스이며 Remotion은 별도 라이선스가 있습니다 (회사 상업적 사용은 직접 확인 필요). 글꼴, 모델, 효과음, 배경 음악의 라이선스는 references/assets-and-licenses.md와 각 엔진의 LICENSE / ATTRIBUTION / NOTICE에 기록되어 있습니다. 브랜드 이름은 모두 가상이며, 실제 상표를 사용하지 마십시오.

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

관련 스킬