Communitygithub.com

visalnaqvi/video-렌더러-스킬

스튜디오에서 최종 비디오를 완성합니다 — 스토리보드 분위기에 맞춰 음악을 선택/생성하고, 사운드 큐를 배치하며, 음성 타이밍에 맞춰 브랜드 자막을 추가하고, 소셜 라우드니스(-14 LUFS)로 믹싱하여 풀퀄리티 MP4와 커버 이미지를 렌더링하고 자동 품질 검사를 실행합니다. 기본적으로 무료 도구를 사용하며, 유료 음악은 사용자가 요청하거나 승인한 경우에만 사용합니다.

video-렌더러-스킬란 무엇인가요?

이 스킬은 영상 제작 파이프라인의 5단계(쓰기 → 스토리보드 → 음성 해설 → 렌더링)를 담당하며, 승인된 음성 해설과 스토리보드를 기반으로 최종 비디오를 완성합니다. 주요 기능으로는 스토리보드의 음악 분위기(mood)와 노트를 읽고 스튜디오 라이브러리에서 가장 적합한 무료 음악을 선택하거나, 일치하는 항목이 없을 경우 코드 생성 음악을 제작합니다. 또한 각 장면의 사운드 큐를 스튜디오 라이브러리에서 매핑하여 배치하고, 음성 타이밍으로부터 단어별 브랜드 자막을 생성하며, 보이스 오버를 우선으로 하는 사이드체인 덕킹과 함께 -14 LUFS로 마스터링된 최종 오디오 믹스를 만듭니다. 마지막으로 1080x1920 해상도의 H.264 MP4 비디오와 커버 이미지를 렌더링하고 품질 검사(QC)를 실행합니다. 이 스킬은 시각적 요소나 단어를 변경하지 않으며, 잘못된 애니메이션이나 타이밍은 이전 단계(스토리보드/음성 해설)로 돌아가 수정해야 합니다. Claude Code, Cursor, Codex 등 AI 에이전트 플랫폼에서 사용할 수 있습니다.

지원 대상~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/visalnaqvi/video-generator-skill/tree/HEAD/.claude/skills/render

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

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

문서

렌더 — 음악, 사운드, 자막, 최종 내보내기

입력: videos/<video>/ 디렉토리와 승인된 storyboard.json (음성에 맞춰 조정됨: audio 및 timing 포함), 승인된 audio/voice-script.json. 출력:

audio/music.wav        선택 또는 생성된 음악
audio/mix.wav          최종 사운드트랙 (음성 + 덕킹된 음악 + SFX), -14 LUFS
audio/mix.json         모든 사운드 이벤트 (장면, 큐, 파일, 시간) — 확인용
render/final.mp4       1080x1920 (포맷 기준), 30 fps, H.264 + AAC
render/cover.png       풀 해상도 커버 / 썸네일
render/qc.json         품질 검사 보고서

이 단계는 시각적 요소나 단어를 변경하지 않습니다. 잘못된 애니메이션이나 타이밍 → 스토리보드 / 음성 해설 스킬. 기본적으로 무료: 라이브러리 또는 코드 생성 음악, 코드 생성 사운드 효과. 유료 음악 (AI 생성)은 사용자가 요청하거나 견적을 승인한 경우에만 사용합니다.

1단계 — 음악

  1. 스토리보드의 music.mood / notes와 비디오 길이를 읽습니다.
  2. studio/library/music/을 확인합니다 (index.json에는 분위기 태그, BPM, 라이선스가 포함된 트랙 목록이 있음). 가장 잘 맞는 트랙을 선택합니다. 없으면 그렇다고 알립니다.
  3. 일치하는 항목 없음 → 무료 대체 음악을 생성하며, 리빌(reveal) 장면 시작 부분(장면 시작 시간 — 지속 시간/전환에서 계산)에 리프트("드롭")를 적용합니다: node studio/scripts/make-music.mjs --out videos/<video>/audio/music.wav --duration <s> --mood upbeat|calm|cinematic|tense --bpm <n> --drop <s> [--silence <from>-<to>] (tense: 단조, 심장 박동 맥박, 해결되지 않은 엔딩; --silence는 리빌 사운드 전 윈도우를 음소거합니다 — tense 분위기에서는 그 뒤에 시계 똑딱임이 따라옴). 유니버스 비디오의 경우: universe.json → music / sfx를 따릅니다. 라이브러리 트랙: audio/music.wav로 복사/변환합니다; 트리밍, 페이딩 및 덕킹은 믹스에서 처리됩니다.
  4. storyboard.json에 기록합니다 → music.file, music.source (트랙 + 라이선스, 또는 "code-generated"), 선택적 music.db (덕킹 전 기본값 -16 dB).

2단계 — 사운드 효과

큐는 이미 각 장면의 sfx에 있습니다 (일반 단어로, 음성 해설 단계에서 프레임 또는 음성 단어에 고정됨). 믹서는 studio/library/sfx/index.json을 통해 단어를 사운드로 매핑합니다 (node studio/scripts/make-sfx.mjs로 생성됨; 사용자 정의 사운드는 custom에 있으며 먼저 확인됨). repeat + every는 큐를 여러 번 재생합니다; syncEnd: true는 큐를 장면 끝에 배치합니다; 라이저(risers)는 큐에서 끝납니다. 전환 후시(whoosh)는 옵트인(--auto-whoosh)입니다 — 사용자는 절제된 사운드를 선호합니다: 시그니처 순간에만 사용 (최대 약 2초당 1개 큐, 대부분의 전환에는 없음). 스토리보드에 큐가 훨씬 더 많으면, 믹싱 전에 핵심 순간으로 줄이고 그 사실을 알립니다. 믹서에서 "일치하는 사운드 없음" 라인이 나오면 키워드를 추가하거나 사용자 정의 사운드를 사용하여 수정합니다 — 스토리보드의 디자인을 변경하지 마십시오.

3단계 — 믹스

node studio/scripts/mix.mjs videos/<video> (--dry를 사용하면 먼저 이벤트 수를 미리 볼 수 있음)

음성이 상단에 유지되고; 음악은 음성에 의해 덕킹 (사이드체인)되며 끝에서 페이드 아웃됩니다; SFX는 -12 dB (--sfx-db 또는 storyboard.sfxDb); 마스터는 제한되고 -14 LUFS / -1.5 dBTP로 노멀라이즈됩니다. storyboard.finalAudio를 설정합니다. 오디오 변경 후 다시 실행합니다.

4단계 — 자막

소셜 포맷의 경우 기본적으로 활성화됩니다. storyboard.json에서: "captions": { "enabled": true, "y": 83, "size": 50, "skipLines": ["L11"] }

  • 구문 (≤ 4단어, 균형, 일시 중지에서 분할)은 음성 타이밍에서 가져옵니다; 말하는 단어는 브랜드의 강조 색상으로 강조 표시됩니다.
  • skipLines: 단어가 이미 화면에 표시된 VO 라인 (전화번호, URL).
  • 장치별: captionY (프레임의 %)로 이동, captions: false로 동일한 단어가 화면에 있는 경우 숨깁니다 (예: 이름 로우더 서드).
  • 안전 영역 (기본 83%) 내에 유지하고 중요한 디자인 요소와 겹치지 않도록 합니다.

연락처 시트로 확인합니다 (자막은 누군가 말하는 프레임에 표시됨): node studio/scripts/render.mjs videos/<video>/storyboard.json --sheet --scale 0.25 --out <scratchpad>/captions-sheet.png 한 번 확인하고 captionY / captions: false로 충돌을 수정합니다.

5단계 — 최종 렌더링, 커버, QC

node studio/scripts/render.mjs videos/<video>/storyboard.json --final
node studio/scripts/render.mjs videos/<video>/storyboard.json --cover
node studio/scripts/qc.mjs videos/<video>

QC는 통과해야 함: 해상도, 프레임 속도, 코덱, 길이 = 스토리보드, 라우드니스 -14 ±1.5 LUFS. 경고 (트루 피크, 무음 갭, 검은 프레임) → 설명 또는 수정. MP4를 시청하지 말고 render/final.mp4 (및 커버)를 QC 요약과 믹스 내용(음악 소스, 사운드 이벤트 수, 자막 켜짐/꺼짐)과 함께 사용자에게 보냅니다.

6단계 — 승인

사용자 만족 → storyboard.json에서 "status": "final" → render, 완료. 변경 사항: 음악/사운드/자막 조정 → 1~5단계 반복; 시각적 또는 타이밍 변경 → 스토리보드 / 음성 해설 스킬로 이동한 후 이 단계를 다시 실행합니다.

Individual skills in this repo

This repo contains 2 individual skills — each has its own dedicated page.

관련 스킬