Communitygithub.com

carousel-mp4

인스타그램 캐러셀을 PNG 대신 애프터 이펙트 스타일의 MP4 애니메이션(글자 단위 텍스트, 화면 전환, 슬라이드 간 카메라 무브, 켄 번스, 다양한 사운드 효과 및 Openverse의 저작권 없는 음악)으로 제작합니다.

carousel-mp4란 무엇인가요?

이 스킬은 `instagram-carousel` 스킬을 재사용하여 동일한 캐러셀 제작 과정을 따르되, 최종 출력물을 PNG 파일 대신 MP4 비디오 애니메이션으로 제공합니다. 텍스트가 한 글자씩 나타나는 키네틱 타이포그래피, 슬라이드 전환 시 카메라 무브, 켄 번스 효과, 다양한 배경 음악과 사운드 이펙트를 지원합니다. 사용자는 캐러셀의 방향(세로/가로), 스타일(슬라이드/모션 그래픽), 사운드(내장 효과/Openverse/사용자 파일)를 선택할 수 있으며, HTML에서 `data-anim`과 `data-delay` 속성으로 애니메이션을 세밀하게 조정할 수 있습니다. 최종 MP4는 Chrome의 GSAP과 WebCodecs를 사용하여 렌더링되며, 인스타그램 릴스에 바로 업로드 가능합니다. 사용자가 `/carousel-mp4`를 입력하거나 '비디오로', '애니메이션', 'MP4로', '릴스용' 또는 '애프터 이펙트처럼'을 요청할 때 이 스킬을 사용합니다.

지원 대상✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Yupzao/instagram-carousel-skill/tree/main/skills/carousel-mp4

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

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

문서

캐러셀 → 애니메이션 MP4

이 스킬은 instagram-carousel 스킬을 재사용합니다(~/.claude/skills/instagram-carousel에 설치되어 있어야 하며, 아래에서는 <ic>로 표기합니다). 최종 출력물은 MP4이며, PNG가 아닙니다.

워크플로우

  1. 평소처럼 캐러셀 제작: <ic>/SKILL.md의 1~4단계(개요, 원형, 비주얼 시스템, 스크립트 및 HTML)를 따릅니다. 모든 규칙(슬라이드 간 연속성, 새로운 글꼴, 2+1 팔레트, 디자인 리뷰)이 적용됩니다.
    • 요청에 언급이 없더라도 디자인 전에 항상 방향을 묻습니다(객관식 질문):

      • 세로: 릴스/스토리 9:16(1080×1920, --reels) 또는 피드 4:5(1080×1350, 플래그 없음);
      • 가로: 16:9(1920×1080, --landscape), YouTube, 웹사이트 또는 화면용.

      방향에 따라 전체 구성(그리드, 크기, 안전 영역)이 달라지므로 기본값을 선택하지 마십시오. 가로는 모션 그래픽 모드에서만 작동합니다.

    • 또한 스타일도 묻습니다: 슬라이드(자동 안무: 슬라이드 간 카메라 무브) 또는 모션 그래픽(키네틱 타이포그래피와 다양한 전환으로 슬라이드처럼 보이지 않음). 사용자가 결과가 "슬라이드처럼 보인다"고 하거나 더 역동적인 것을 요청하면 모션 그래픽을 사용합니다. references/motion.md를 참고하세요.

    • 그리고 사운드: 내장 효과(기본값), Openverse 효과, Openverse 음악, 사용자 파일, 또는 사운드 없음.

  2. <ic>/references/video.md 읽기: 안무, data-anim/data-delay로 애니메이션 제어, 사운드 및 확인 사항.
  3. 필요시 HTML에서 안무 조정: 애니메이션은 자동이지만, data-anim과 data-delay로 주요 순간을 미세 조정할 수 있습니다.
  4. 전체 비디오 전에 스틸로 확인(빠르게):
    node <ic>/scripts/video.mjs <output>/carousel.html <output>/carousel.mp4 --stills=0.6,1.5,3,4.2,6
    
    <output>/carousel-stills/에서 JPEG를 열고 각 진입이 끝날 때 잘리는 부분, 겹침, 보이지 않는 요소가 없는지 확인합니다.
  5. 사운드(선택사항, 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, 무작위 피치와 길이).
  6. MP4 렌더링:
    node <ic>/scripts/video.mjs <output>/carousel.html <output>/carousel.mp4 [--reels] [--sfx=<output>/sounds] [--music=<output>/sounds/music.mp3]
    
    ffmpeg 필요 없음: Chrome(GSAP + WebCodecs)을 사용합니다. 2030초 비디오 기준 약 3060초 소요. 시간이 오래 걸리면 백그라운드에서 실행합니다.
  7. 전달:
    • carousel.mp4(H.264 + AAC, Instagram/Reels 준비 완료)
    • caption.txt(캡션, 해시태그, 키워드)
    • 참고 사항: 길이, 포맷, 사용된 사운드(출처는 sounds/sound-sources.txt에서) 및 아직 교체해야 할 플레이스홀더

사용자가 요청하지 않는 한 PNG를 전달하지 마십시오. 요청하는 경우 기본 스킬의 render.mjs를 사용하세요.

Individual skills in this repo

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

관련 스킬