Communitygithub.com

AGHEORONO/video-dna

실제 푸티지, 사진, 음악 또는 간단한 브리핑만으로 스토리 중심의 모션 그래픽 비디오를 제작합니다. 각 비디오마다 새로운 테마가 선택되며, 포맷, 방향, 리듬, 모션 강도, 시각적 아이덴티티를 먼저 요청합니다. 릴, 틱톡, 쇼츠, 블로그 시리즈, 애프터무비, 이벤트 프로모션, 진행 업데이트, 애니메이션 포스터, QR 또는 프로젝터 루프를 만들거나 '동영상 만들어 줘', '편집해 줘' 등의 요청에 사용합니다.

video-dna란 무엇인가요?

Video DNA는 AGHEORONO가 개발한 AI 에이전트 기술로, Claude Code 및 Claude 앱 환경에서 작동합니다. 사용자가 제공한 실제 푸티지, 사진, 음악 또는 간단한 브리핑만으로 스토리 중심의 모션 그래픽 비디오를 생성합니다. 각 비디오는 템플릿을 재사용하지 않고, 해당 푸티지에서 추출한 고유한 테마를 기반으로 제작되어 독창성을 보장합니다. 주요 기능으로는 음성 전사, 단어 단위 자막 생성, 비트에 맞춘 컷 편집, 음향 효과 생성, ffmpeg 기반 렌더링, 프레임 수준 품질 검사 및 사후 자막 삽입이 포함됩니다. 이 기술은 사용자의 요청 사항(포맷, 방향, 길이, 리듬, 모션 강도, 시각적 아이덴티티, 오디오)을 먼저 수집하여 비디오 제작의 기반을 마련하며, 사실에 기반한 진실성 원칙을 철저히 준수합니다.

지원 대상✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/AGHEORONO/video-dna/tree/HEAD/video-dna

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

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

문서

Video DNA

푸티지 폴더를 마치 현장에 있었던 사람이 편집한 듯한 비디오로 만듭니다. DNA를 유지하고 템플릿을 절대 재사용하지 않습니다. 모든 비디오는 푸티지에서 실제로 일어난 일에서 파생된 고유한 테마를 갖습니다.

사용자의 언어로 응답하세요. 자막과 화면상 텍스트는 달리 지시하지 않는 한 푸티지의 언어를 사용합니다.

시작하기

  1. python scripts/doctor.py를 실행하여 이 환경에서 무엇을 할 수 있는지 확인합니다. 누락된 항목이 있거나 클라우드 샌드박스에 있는 경우 references/environments.md를 읽어보세요.
  2. 작업 폴더를 살펴본 다음 references/brief.md를 읽고 브리핑을 수집합니다. 요청과 자료가 이미 답변하지 않은 사항만 질문하세요.
  3. references/formats.md를 읽고 요청에 가장 가까운 레시피를 사용합니다. 자료가 없는 경우 references/brief.md의 "자료 없음" 섹션을 따릅니다.
  4. 타임라인을 만들기 전에 references/pipeline.md를 읽고, 코어 스크립트 이상이 필요한 작업에는 references/tools.md를 참조하세요.

워크플로우

순서대로 진행하세요. 5단계 전에는 아무것도 렌더링하지 마세요.

  1. 브리핑. 포맷, 방향, 길이, 리듬, 모션 강도, 시각적 아이덴티티 및 오디오를 결정합니다. references/brief.md를 참조하세요. 비디오 전체에 걸쳐 이 선택 사항을 사용합니다.
  2. 인벤토리. 클립, 사진, 음악 및 로고(있는 경우)를 나열합니다. scripts/contact_sheet.py로 연락처 시트를 만들고 확인합니다. scripts/transcribe.py로 음성을 전사하고, 가장 짧고 밀도 높은 클립부터 시작합니다. 실제 대사가 일반적으로 가장 재미있는 자료입니다.
  3. 스토리. 실제로 일어난 일을 순서대로 기록하고, 가장 좋은 실제 대사와 그 대사를 한 사람을 적습니다. 알려주지 않은 경우 사람들이 누구인지 물어보세요.
  4. 테마. 각각 실제 순간에서 구축된 2개의 구체적인 개그를 포함하여 2-3개의 새로운 테마를 제안합니다. 하나를 추천하며, 푸티지가 이미 암시하는 테마를 선호합니다. 그런 다음 멈추고 사용자가 선택하도록 합니다. references/themes.md를 참조하세요.
  5. 음악. 섹션별로 하나의 트랙을 대상 파일 이름과 함께 제안하고 사용자에게 폴더에 파일을 넣도록 요청합니다. 2_chorus_0m45s.mp3와 같은 이름은 "0:45부터 시작"을 의미합니다. 요청하더라도 상업용 음악을 절대 다운로드하지 마세요. 대신 생성된 사운드와 무음악 버전을 제공합니다.
  6. 먼저 샘플 제작. 약 45초가 넘는 경우, 사용자가 방향을 판단할 수 있도록 짧은 챕터 하나를 먼저 렌더링합니다. 그런 다음 나머지를 만듭니다.
  7. 확인. scripts/qa.py를 실행하고, 추출된 프레임을 살펴보고 references/qa-checklist.md를 확인합니다. 전달하기 전에 발견한 문제를 수정합니다.
  8. 전달. 아래 "완성된 비디오가 저장되는 위치"를 참조하세요. 유용한 경우 무음악 버전, references/copy.md에서 바로 붙여넣을 수 있는 텍스트, 정직한 보고서를 포함합니다.

완성된 비디오가 저장되는 위치

scripts/doctor.py가 환경을 보고합니다. 모든 비디오를 다음 방식으로 마무리합니다:

  • Claude Code: 완성된 비디오를 사용자 폴더의 output/에 직접 작성합니다(작업 폴더 내). 사용자가 다른 위치를 지정하지 않은 경우입니다. 전체 경로를 제공합니다. 사용자가 _work/ 디렉토리를 뒤질 필요가 없어야 합니다.
  • Claude 앱: 완성된 비디오를 대화에서 열고 다운로드할 수 있는 파일로 채팅에 직접 전달합니다. 출력 폴더(/mnt/user-data/outputs가 존재하는 경우)에 복사하고, 가능한 경우 파일 공유 도구를 사용합니다. 샌드박스 경로에서 멈추지 말고, 전달에 실패하지 않는 한 파일을 축소하거나 분할하지 않습니다.

DNA

  • 하나의 테마, 완전히 집중. 첫 프레임부터 마지막 프레임까지 동일한 글꼴, 색상, 애니메이션 및 사운드를 사용합니다. 모든 그래픽은 테마의 세계에 속합니다.
  • 모든 그래픽은 이 푸티지의 진짜 농담 또는 진짜 사실을 전달합니다. 장식적이거나 일반적인 것은 없습니다. 실제 디스플레이의 실제 값을 읽는 라벨은 어떤 스톡 자막보다 낫습니다.
  • 콜백. 초반에 무언가를 심고 후반에 갚아줍니다. 시작 부분의 대사가 끝에서 다시 등장합니다.
  • 처음 2-3초 안에 후크를 가장 강력한 순간으로 잡고, 테마에 속하는 방식으로 다시 시작 부분으로 돌아갑니다.
  • 리듬. 비트에 맞춰 컷하고, 펀치라인에 펀치-줌을 사용하고, 움직이는 전환을 사용하고, 충격에 흔들림을 주고, 지루한 부분은 속도를 높입니다. 말한 대사는 그대로 둡니다.
  • 모든 음성에 대한 자막은 단어 단위로, 테마에 맞게 스타일링됩니다. 화면에서만 욕설을 검열합니다.
  • 사운드 디자인. 각 그래픽에는 고유한 사운드가 있습니다. 음악은 섹션별로 변경되고, 트랙의 큰 히트는 핵심 순간에 맞춰지며, 음악은 음성 아래에서 작아집니다.
  • 명확성이 밀도보다 중요합니다. 농담을 이해하는 데 필요한 맥락이 시청자에게 부족하다면 잘라냅니다. 처음 보는 시청자에게 무엇을, 어디서, 언제, 얼마나 많은지 명확해야 합니다.

진실 규칙

  • 사실을 절대 날조하지 마세요. 추론되었거나, 근사치이거나, 예시적인 것은 모두 확인을 위해 나열해야 합니다: 날짜, 역할, 숫자, 상, 키, 누가 무슨 말을 했는지.
  • 불확실한 전사 대사는 사용자가 확인할 수 있도록 나열합니다. transcribe.py는 신뢰도가 낮은 단어에 플래그를 지정합니다.
  • 실제 결과로 읽힐 수 있는 예시 숫자는 플래그를 지정하거나 제거해야 합니다.
  • 실제 사람들의 입에 인용구를 넣지 마세요. 자막으로 읽힐 때 작성된 농담은 괜찮습니다.
  • 사람들의 당혹스러운 순간을 포함하기 전에, 낯선 사람의 얼굴을 흐림 없이 보여주기 전에 물어보세요.
  • 스폰서와 자금 제공자의 공식 텍스트는 그대로 유지합니다. 로고와 일치하지 않으면 수정하는 대신 물어보세요.
  • QR 코드의 대상 주소를 확인하고 공개적으로 편집 가능한 문서인 경우 사용자에게 경고합니다.

수정 사항 처리

피드백을 정확히 적용하고 다른 모든 것은 그대로 둡니다. 타임라인을 데이터로 유지하여 한 번의 변경이 영향을 받는 세그먼트만 다시 렌더링하도록 합니다. 길이 제한을 준수하기 위해 무언가를 제거해야 하는 경우, 제거한 내용을 말합니다.

정직한 보고서

오디오를 듣거나 실시간으로 시청할 수 없습니다. 매번 명확한 언어로 다음을 명시합니다:

  • 검증한 내용(추출된 프레임, 지속 시간, 레벨, QR 디코딩);
  • 사용자가 귀와 눈으로 판단해야 하는 내용(비트 동기화, 자막 타이밍, 믹스 밸런스);
  • 제거한 내용과 요청대로 수행할 수 없었던 내용;
  • 상업용 음악으로 인해 플랫폼이 비디오를 음소거할 수 있는지 여부.

번들 파일

파일용도
scripts/doctor.py도구 및 종속성 확인
scripts/contact_sheet.py푸티지 및 렌더링 검토를 위한 타임스탬프 프레임 그리드
scripts/transcribe.py낮은 신뢰도 플래그가 포함된 단어 수준 전사
scripts/captions.py타임라인에 매핑된 단어별 ASS 자막
scripts/beats.py템포, 비트 시간 및 트랙의 가장 강한 히트
scripts/sfx.py저작권 없는 음향 효과 생성
scripts/music.py루핑되는 간단한 오리지널 칩튠 또는 펄스 음악 배경 생성
scripts/setup_tools.py프로필별로 선택적 도구를 확인 및 설치하고 Whisper 모델 저장
scripts/toolbox.py장면 감지, 컷아웃, 얼굴, QR, 글꼴, HTML 장면, 스템, 보이스오버, 음량, 타임라인 내보내기
scripts/render.py타임라인 JSON을 최종 MP4로 변환, 선택적 무음악 버전 포함
scripts/qa.py지속 시간, 포맷, 크기, 음량, ASS 및 QR 확인
scripts/fit_size.py대상 크기로 압축하거나 전송을 위해 분할
references/brief.md시작할 때 질문할 사항과 빈 폴더 처리 방법
references/formats.md비디오 유형별 레시피
references/themes.md테마를 찾는 방법, 작업 예제 포함
references/pipeline.md타임라인 형식, 렌더링 규칙, ASS 애니메이션 레시피
references/tools.md필요에 따른 도구, Whisper 백엔드 포함
references/environments.mdClaude Code와 Claude 앱의 차이점
references/qa-checklist.md전달 전 검사 사항
references/copy.md게시글 자막 및 공유 가능 메시지

관련 스킬