Communitygithub.com

polyir/ai-video-production-skill

숏폼 및 롱폼 소셜 비디오(Instagram Reels, YouTube, Shorts, 설명 영상, 토크/2인 콜라보) 제작을 위한 종합 가이드입니다. ElevenLabs TTS/음악/SFX, fal.ai 이미지-투-비디오, Hedra Character-3 립싱크, 코드 기반 Remotion 모션 디자인, ffmpeg 마스터링 및 QC는 물론, 후크/CTA 작성, Instagram 성장 규칙, 게시물 성과 분석까지 다룹니다.

ai-video-production-skill란 무엇인가요?

이 스킬은 AI 기반 비디오 제작 전반의 엔드투엔드 노하우를 제공합니다. 스크립트 작성, 스토리보드, AI 생성(이미지, 비디오, 음성, 립싱크), Remotion을 이용한 코드 기반 모션 디자인, ffmpeg를 이용한 마스터링/QC, 그리고 Instagram/YouTube 게시물 성과 분석까지 포함합니다. 특히 **승인 후 지출(Approval gate before spending)** 원칙을 강조하며, 모든 유료 AI 생성(이미지, 비디오, 음성)은 스크립트와 스토리보드 승인 후에만 진행합니다. 모션 디자인을 AI보다 우선시하여 비용을 절감하고, 모든 AI 비디오는 참조 이미지(image-to-video)를 기반으로 생성하며, 예산 한도는 스크립트를 통해 도구(tooling)로 강제합니다. 이 스킬은 실제 제작(Iran 2.0 Series 2)에서 얻은 실패와 의사 결정을 바탕으로 작성되었습니다.

지원 대상~Claude Code✓Codex CLI~Cursor✓Antigravity✓Gemini CLI
npx skills add polyir/ai-video-production-skill

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

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

문서

AI 비디오 제작

40개 이상의 릴(reel)과 장편 에피소드를 배송한 프로덕션 시스템입니다. 의견이 확고합니다(system is opinionated): 아래의 모든 규칙은 실제 실패나 명시적인 소유자 결정에서 비롯되었습니다. 프로젝트별 선택(브랜드, 로고, 음성, 예산)은 여기에 없습니다 — 각 새 프로젝트가 자신의 것을 설정합니다("프로젝트별 설정" 참고).

핵심 원칙

  1. 승인 후 지출(Approval gate before spending). 스크립트 + 스토리보드는 먼저 소유자에게 보내야 합니다. 둘 다 승인될 때까지 유료 생성(TTS, 이미지, 비디오, 립싱크)은 진행하지 않습니다. 승인 전에 푸티지 리서치 및 소스 목록을 작성하는 것은 괜찮습니다. 승인 후 상당한 내용 변경이 있을 경우 다시 보여드려야 합니다. 모든 공개 업로드는 별도의 승인이 필요합니다.
  2. 소유자가 날짜를 결정합니다. 소유자가 정기적인 주기를 설정하지 않는 한, 제작/게시 날짜나 일정을 절대 제안하지 마십시오. 콘텐츠 캘린더 파일을 유지하고, 매 제작 및 게시 직후(상태, 실제 날짜, 게시물 ID) 업데이트하십시오. 업데이트될 때까지 작업이 완료된 것이 아닙니다.
  3. 모션 디자인 우선, AI는 그 다음. AI 클립을 주문하기 전에 "이것을 코드로 만들 수 있을까?"라고 자문하십시오. 보여줄 수 있는 것(지도, 게이지, 타임라인, 체크리스트, 숫자, 비교, 규칙 카드, 알레고리)이라면 Remotion/SVG로 무료로 제작하십시오. AI는 반드시 보여야 하는 것(얼굴, 역사적 장면, 그림, 분위기)에만 사용하십시오. 모든 비디오(30초 릴 포함)는 코드 기반 모션 디자인을 사용합니다. 각 스토리보드 샷의 레이어(코드 / AI / 립싱크)를 표시하고 모션 디자인 비율을 명시하십시오.
  4. 모든 AI 비디오는 승인된 참조 이미지에서 시작합니다 (이미지-투-비디오, 참조-투-비디오 또는 첫-마지막 프레임). 텍스트-투-비디오는 사용하지 마십시오.
  5. 오디오는 항상 전용 오디오 도구에서 가져옵니다 (ElevenLabs): 나레이션, 후크, 음악, SFX. 비디오 모델의 자체 오디오는 강제로 끄십시오(종종 가격도 두 배가 됩니다).
  6. 예산 한도는 도구(tooling)로 강제하며, 기억에 의존하지 않습니다. scripts/fal_jobs.py를 한도(cap)와 함께 사용하십시오. 예상 비용이 한도를 초과하거나 이미지 비용이 $1 이상이면 제출을 거부합니다.
  7. 저는 오디오를 듣거나 얼굴을 확실하게 판단할 수 없습니다. 대신 측정하십시오: 음성 성별은 F0, 음량은 LUFS, 단어는 STT, 시각 자료는 스틸/접촉 시트(contact sheets)를 사용하십시오. 이름과 모호한 단어는 소유자에게 들어보도록 요청하십시오.
  8. 결정 사항을 기록하십시오. DECISIONS.md(소유자 규칙 + 교훈, 날짜 포함)와 PRODUCTION_WORKFLOW.md(현재 규칙)를 유지하십시오. 지식/연구는 신뢰 수준과 함께 별도 파일에 보관하며, 소유자가 승인할 때만 규칙이 됩니다.

제작 순서

  1. 소스 텍스트 및 목표 검토 → 2. 스크립트 초안 + 스토리보드 작성 (지금 숏(short)과 해당 후크 표시, 재사용 푸티지를 ~25%로 제한) → 3. 정확한 에셋 목록 추출 → 4. 기존 에셋 확인, 라이선스 소스에서 누락된 부분만 다운로드 → 5. 다운로드 확인 (주제, 길이, 해상도) → 6. 실제 파일을 기반으로 스크립트/스토리보드 최종 확정 → 7. 소유자에게 보여주고, 승인될 때까지 중단 → 8. 생성 (TTS → 참조 이미지 → I2V → 립싱크) → 9. Remotion에서 조립 + 기술 QC → 10. 게시 승인을 위한 편집본 검토 → 11. 승인 후 업로드 → 12. 캘린더 + 분석 로그 업데이트.

스크립트 기반 파이프라인 (references/pipeline.md에 세부 정보): turns.py → tts.py → stt_check.py → build_audio.py (→ timing.ts + 자막) → Remotion → scripts/master.sh (두 패스 −14 LUFS + QC).

기본 도구 분할 (프로젝트별로 재정의 가능)

작업도구비고
이미지가능한 경우 무료 에이전트 우선 (Codex image_gen / 교차 에이전트 MCP를 통한 Antigravity); 그렇지 않으면 fal (nano-banana-2 신규, nano-banana-pro/edit 스타일 일관성 및 i2i용; Nano Banana가 거부할 때 Flux 2 Pro 대체)이미지당 ≤ $0.30 목표, 절대 $1 미만
비디오 (I2V)fal: Veo 3.1 (incl. lite/fast, 전환용 첫-마지막 프레임), Gemini Omni Flash 1.1, Wan 3.0, Kling 2.6 Pro항상 해상도를 명시적으로 설정 — 가격이 이에 따라 결정됨
립싱크Hedra hedra-character-3만종종 I2V보다 초당 비용이 저렴함 → 가능하면 캐릭터를 통해 이야기 전달
음성, 음악, SFXElevenLabs, 최신 플래그십 TTS 모델 (list_models; 이전 model_id를 절대 복사하지 말 것)라이브러리 음성만 사용, 절대 디자인된 음성(designed voices) 사용 금지
녹음된 음성 정리fal veed/clean-audio → fal-ai/lava-sr (denoise off) → 약간의 후처리(polish)향상(enhancement)이지 생성(generation)이 아님
편집 / 렌더링Remotion (+ 최대 한 개의 3D 히어로 씬을 위한 @remotion/three)
마스터 / QCffmpegscripts/master.sh, scripts/qc.sh

모델/가격 세부 사항 및 함정: references/ai-generation.md.

어렵게 얻은 규칙 (돈이 들었던 규칙)

  • 새 TTS 음성을 절대 디자인하지 마십시오 (text_to_voice). 디자인된 음성은 영어 외의 언어를 잘못 발음하며 STT가 모음 오류를 잡을 수 없습니다. 기존 라이브러리에서 캐스팅하십시오. 맞는 것이 없으면 물어보십시오.
  • 립싱크 얼굴을 생성하기 전에 캐릭터를 음성과 일치시키십시오. 중앙값 F0를 측정하십시오 (~85–155 Hz 남성, ~165–255 Hz 여성). 대본을 읽으십시오. 남성 아바타에 여성 목소리를 입히면 렌더링 전체가 낭비됩니다.
  • 소유자 푸티지에 나오는 카메라 속 인물의 성별이나 신원을 절대 추측하지 마십시오 — 보통은 소유자 본인입니다.
  • 페르시아어/아랍 문자 TTS는 TTS 텍스트에만 발음 구별 부호(특히 ezafe kasra 및 짧은 모호한 단어)가 필요합니다. 자막은 일반 텍스트로 유지하십시오. 잘못된 발음 구별 부호는 없는 것보다 더 나쁩니다. references/audio.md 참고.
  • 음악은 명확하게 들려야 합니다: 음성 대비 약 10–13 dB 아래이며 덕킹(ducking) 적용, 일시 정지/커버/엔드 카드에서 더 크게. 게인 0.06의 고정 베드는 들리지 않았습니다.
  • fal_pricing은 최저 계층만 반환합니다 (예: 360p). 해상도별 테이블에서 예산을 책정하십시오.
  • 실제 인물의 포토리얼리스틱 얼굴은 재구성되지 않습니다. 실루엣/뒷모습/손을 사용하고 "상징적 재구성"이라고 표시하십시오. 공인에 대한 명백한 만화 캐리커처는 문서화되고, 날짜가 표시되며, 출처가 있는 인용문만 말할 수 있으며, 그렇게 표시해야 합니다.
  • 이미지/비디오 모델 프롬프트에 읽을 수 있는 텍스트를 절대 넣지 마십시오 — 횡설수설을 생성합니다. Remotion에서 텍스트를 추가하십시오. 프롬프트에 캐릭터 이름을 넣지 마십시오(모델이 이미지에 이를 씁니다). 깃발/소품의 경우 "평범하게, 기호 없음"이라고 말하십시오.
  • 모든 AI 클립의 끝을 확인하십시오 — 종종 마지막 몇 초 동안 내용이 깨집니다. clipLen을 줄이십시오.

숏폼 규칙 (요약 — 전체 버전은 references/short-form.md)

  • 후크는 0–3초 내에 동시에 3개 레이어에서 작동합니다: 프레임 0 시각, 첫 번째 음성 라인 (0.05초에 시작, 서두 없음, 4초까지 주요 약속), 소리 없이도 읽을 수 있는 화면 텍스트. ≤ 8단어. 릴당 다른 유형의 후크를 2–3개 작성하십시오.
  • 프레임 0 = 커버 (진입 페이드는 한 프레임으로 줄임).
  • 릴 하드 캡 160초, 최적 지점 ~80–90초; Instagram은 비팔로워에게 ≤ 3분만 권장합니다.
  • 종료: 음성 = 이유와 함께 팔로우 유도 (가장 좋은 것: 다음 부분의 구체적인 티저); 화면 = 콘텐츠 질문; 캡션 = 댓글 질문 + 팔로우 유도. 실용적인 게시물에만 공유 요청 ("이것을 알아야 할 사람에게 보내세요")을 사용하십시오.
  • 시청자가 위험에 처할 수 있는 경우 시청자의 그룹, 신원, 위치 또는 활동을 드러내는 질문을 절대 하지 마십시오.
  • ≤ 5개의 해시태그; 주요 키워드는 캡션 1–2행에 명시적으로 포함 (캡션은 검색 색인됨).
  • 시각적 패밀리, 후크 유형, 내레이터 및 커버 템플릿을 순환하십시오 — 연속적으로 비슷한 릴은 "이전 게시물"로 건너뛰어집니다.

분석 규칙 (요약 — 전체 버전은 references/analytics.md)

  • 동일한 연령(24시간 / 48시간 / 7일) 및 동일한 협업 상태 내에서만 게시물을 비교하십시오. 24시간 미만 게시물은 "잠정적"입니다.
  • 이상치(외부 대규모 계정 공유, 뉴스 이벤트 등에 의해 발생)는 제어하는 매개변수를 변경하여 패턴이 재현될 때까지 기준선에서 제외됩니다. 콘텐츠를 신용하기 전에 외부 공유에 대해 소유자에게 물어보십시오 — API는 이를 볼 수 없습니다.
  • 앱의 계정 상태(Account Status) 증거 없이 섀도우밴/제한을 주장하지 마십시오.
  • 협업 수락 타이밍은 예측할 수 없습니다. 증거 없이 도달 범위 증가를 협업 탓으로 돌리지 마십시오.
  • 도달 범위만으로가 아니라 참여도(도달 범위당 공유, 저장, 댓글, 도달 1k당 팔로우)로 성공을 판단하십시오.
  • 두 가지 속도: 매번 데이터를 기록하십시오. 규칙 변경은 주간 검토 시에만 제안하며, 동일한 연령의 게시물이 3개 이상 패턴을 보여야 합니다.

프로젝트별 설정 (새 프로젝트 시작 시 질문하거나 읽으십시오)

브랜드 팔레트, 글꼴 및 로고 세트 · 내레이터 음성 + 순환 부음성 · AI 공개 문구 · 릴/비디오당 예산 한도 · 허용/금지 모델 · API 키 위치 (Keychain 서비스 이름 / 환경 변수) · 게시 계정 및 협업자 맵 · 콘텐츠 캘린더 및 분석 파일 위치 · 청중 안전 제약 조건 · 소유자가 카메라에 등장할 수 있는지 여부.

참조 파일

파일읽어야 할 때
references/pipeline.md스크립트 기반 TTS → 타이밍 → Remotion 파이프라인 구축 시; 폴더 레이아웃; 결과물
references/remotion.mdRemotion 컴포지션, 글꼴, RTL 텍스트, 3D, 렌더 QC 작성 또는 디버깅 시
references/audio.mdTTS 설정, 발음 구별 부호, 음성 체인, 음악 덕킹, 음량, SFX
references/ai-generation.mdfal 모델 선택/가격 책정, I2V 규칙, Hedra Character-3, Omni 비디오 편집, 매팅, LUT, 무료 이미지 에이전트 시
references/short-form.md후크 카탈로그, CTA, 루프 숏, Instagram 랭킹 신호, 호기심 갭, 설명자 원칙, 프레이밍
references/analytics.mdInstagram/YouTube 분석 실행, CSV 스키마, 비교 규칙 시
scripts/fal_jobs.py예산 한도가 있는 fal 이미지/비디오 작업 실행기 (예상 / 제출 / 폴링 / 다운로드)
scripts/stt_check.pyElevenLabs STT로 스크립트에 대한 TTS 턴 확인
scripts/master.sh두 패스 음량 마스터 + 음량/블랙/프리즈 QC
scripts/qc.sh프레임 그리드 + 접촉 시트 + 납품 전 기술적 확인

관련 스킬