캐러셀 → 애니메이션 MP4
이 스킬은 instagram-carousel 스킬을 재사용합니다(~/.claude/skills/instagram-carousel에 설치되어 있어야 하며, 아래에서는 <ic>로 표기합니다).
최종 출력물은 MP4이며, PNG가 아닙니다.
워크플로우
- 평소처럼 캐러셀 제작:
<ic>/SKILL.md의 1~4단계(개요, 원형, 비주얼 시스템, 스크립트 및 HTML)를 따릅니다. 모든 규칙(슬라이드 간 연속성, 새로운 글꼴, 2+1 팔레트, 디자인 리뷰)이 적용됩니다.-
요청에 언급이 없더라도 디자인 전에 항상 방향을 묻습니다(객관식 질문):
- 세로: 릴스/스토리 9:16(1080×1920,
--reels) 또는 피드 4:5(1080×1350, 플래그 없음); - 가로: 16:9(1920×1080,
--landscape), YouTube, 웹사이트 또는 화면용.
방향에 따라 전체 구성(그리드, 크기, 안전 영역)이 달라지므로 기본값을 선택하지 마십시오. 가로는 모션 그래픽 모드에서만 작동합니다.
- 세로: 릴스/스토리 9:16(1080×1920,
-
또한 스타일도 묻습니다: 슬라이드(자동 안무: 슬라이드 간 카메라 무브) 또는 모션 그래픽(키네틱 타이포그래피와 다양한 전환으로 슬라이드처럼 보이지 않음). 사용자가 결과가 "슬라이드처럼 보인다"고 하거나 더 역동적인 것을 요청하면 모션 그래픽을 사용합니다.
references/motion.md를 참고하세요. -
그리고 사운드: 내장 효과(기본값), Openverse 효과, Openverse 음악, 사용자 파일, 또는 사운드 없음.
-
<ic>/references/video.md읽기: 안무,data-anim/data-delay로 애니메이션 제어, 사운드 및 확인 사항.- 필요시 HTML에서 안무 조정: 애니메이션은 자동이지만,
data-anim과data-delay로 주요 순간을 미세 조정할 수 있습니다. - 전체 비디오 전에 스틸로 확인(빠르게):
node <ic>/scripts/video.mjs <output>/carousel.html <output>/carousel.mp4 --stills=0.6,1.5,3,4.2,6<output>/carousel-stills/에서 JPEG를 열고 각 진입이 끝날 때 잘리는 부분, 겹침, 보이지 않는 요소가 없는지 확인합니다. - 사운드(선택사항,
video.md› 사운드 참고):- Openverse:
node <ic>/scripts/sounds.mjs search "whoosh" --type=sfx. 옵션을 사용자에게 보여주고, 허락을 받은 후node <ic>/scripts/sounds.mjs download <id> <output>/sounds/whoosh-1.mp3를 실행합니다. - 파일 이름이 용도를 결정합니다:
whoosh*(전환),pop*(스티커/알약),hit*(제목). 각 유형당 여러 개 사용(whoosh-1.mp3,whoosh-2.mp3…)하여 전환마다 같은 소리가 나지 않도록 합니다. 연속 반복 없이 순환합니다. 음악은 별도로 처리합니다. - 파일이 없으면 내장 효과가 이미 다양하게 변주됩니다(5개의 whoosh, 3개의 pop, 3개의 hit, 무작위 피치와 길이).
- Openverse:
- MP4 렌더링:
ffmpeg 필요 없음: Chrome(GSAP + WebCodecs)을 사용합니다. 20node <ic>/scripts/video.mjs <output>/carousel.html <output>/carousel.mp4 [--reels] [--sfx=<output>/sounds] [--music=<output>/sounds/music.mp3]30초 비디오 기준 약 3060초 소요. 시간이 오래 걸리면 백그라운드에서 실행합니다. - 전달:
carousel.mp4(H.264 + AAC, Instagram/Reels 준비 완료)caption.txt(캡션, 해시태그, 키워드)- 참고 사항: 길이, 포맷, 사용된 사운드(출처는
sounds/sound-sources.txt에서) 및 아직 교체해야 할 플레이스홀더
사용자가 요청하지 않는 한 PNG를 전달하지 마십시오. 요청하는 경우 기본 스킬의 render.mjs를 사용하세요.