Communitygithub.com

비디오 프로듀서

내레이션과 배경 음악이 포함된 완전한 비디오를 제작하는 스킬입니다.

비디오 프로듀서란 무엇인가요?

이 스킬은 AI 에이전트가 내레이션, 배경 음악, 비디오 클립을 결합한 완전한 비디오를 제작할 수 있도록 설계된 오케스트레이터 스킬입니다. 사용자가 주제, 길이, 스타일, 오디오 전략 등을 대화형 질문을 통해 지정하면, 스크립트 생성(Claude), 음성 합성(Gemini TTS), 배경 음악 생성(Lyria), 비디오 클립 생성(Veo 3.1) 또는 이미지 애니메이션, 최종 조립(FFmpeg via media-utils)의 전체 파이프라인을 자동으로 실행합니다. 제품 비디오, 설명 비디오, 프로모션 광고, 데모, 교육 비디오 등 다양한 유형의 콘텐츠를 제작할 수 있으며, YouTube(16:9), TikTok/Reels/Shorts(9:16), Instagram 피드(1:1) 등 다양한 플랫폼의 종횡비를 지원합니다. 특히 `project.json` 파일을 통해 장면 프롬프트, 내레이션 텍스트, 음악 스타일 등을 세밀하게 구성할 수 있고, 기존 에셋(이미지, 비디오 클립, 로고)을 재사용하거나 처음부터 모든 것을 생성할 수 있습니다.

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

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

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

문서

비디오 프로듀서은(는) 무엇을 하나요?

내레이션, 음악, 비주얼이 포함된 완전한 비디오를 제작합니다.

오케스트레이터 스킬로서 다음을 결합합니다:

  • 스크립트/스토리보드 생성 (Claude)
  • 음성 합성 (Gemini TTS)
  • 배경 음악 (Lyria)
  • 비디오 클립 생성 (Veo 3.1) 또는 이미지 애니메이션
  • 최종 조립 (media-utils를 통한 FFmpeg)

워크플로우

1단계: 요구사항 수집 (필수)

⚠️ 이 단계를 건너뛰지 마십시오. 모든 답변을 받을 때까지 init_project.py를 실행하지 마십시오.

대화형 질문 사용 — 한 번에 하나의 질문을 하고, 응답을 기다린 후 다음 질문을 합니다. 이는 협력적인 사양 기반 프로세스를 만듭니다.

질문 흐름

⚠️ 아래 각 질문에 대해 AskUserQuestion 도구를 사용하십시오. 응답에 질문을 인쇄하지 말고, 도구를 사용하여 표시된 옵션으로 대화형 프롬프트를 만드십시오.

Q1: 주제

"해당 비디오를 만들어드리겠습니다! 먼저 — 무엇에 관한 것인가요?

(예: 제품 출시, 브랜드 스토리, 튜토리얼, 설명 — 또는 직접 설명해주세요)"

응답 대기.

Q2: 길이

"비디오 길이는 어느 정도로 할까요?

  • 15초 (빠른 후크)
  • 30초 (표준 광고)
  • 60초 (설명)
  • 2분 이상 (상세)
  • 또는 직접 길이를 지정해주세요"

응답 대기.

Q3: 스타일

"어떤 시각적 스타일을 원하시나요?

  • 프리미엄/럭셔리
  • 재미/장난기
  • 기업/전문적
  • 드라마틱/시네마틱
  • 미니멀/깔끔
  • 또는 직접 스타일을 설명해주세요"

응답 대기.

Q4: 에셋

"사용할 기존 이미지나 비디오 클립이 있나요?

  • 아니요, 모두 새로 생성합니다
  • 네, 이미지가 있습니다 (경로 제공)
  • 네, 비디오 클립이 있습니다 (경로 제공)"

응답 대기.

Q5: 오디오 전략

"오디오는 어떻게 처리할까요?

  • 커스텀 — 내레이션 + 배경 음악 생성
  • Veo 네이티브 — Veo의 내장 대사/SFX/앰비언트 사용
  • 무음 — 오디오 없음, 나중에 추가"

응답 대기.

Q6: 음성 (커스텀 오디오 선택 시)

"내레이션의 음성 톤은 어떻게 할까요?

  • 전문적
  • 친근/따뜻
  • 활기찬
  • 차분/편안
  • 드라마틱
  • 또는 직접 톤을 설명해주세요"

응답 대기.

Q7: 음악 (커스텀 오디오 선택 시)

"어떤 음악 분위기를 원하시나요?

  • 모던 일렉트로닉
  • 시네마틱/장엄
  • 경쾌한 팝
  • 앰비언트/차분
  • 기업
  • 또는 직접 스타일을 설명해주세요"

응답 대기.

Q8: 포맷

화면 비율은 어떻게 할까요?

  • 16:9 (YouTube, 웹)
  • 9:16 (TikTok, Reels, Shorts)
  • 1:1 (Instagram 피드)"

응답 대기.

Q9: 해상도

해상도는 어떻게 할까요?

  • 720p (더 빠른 생성)
  • 1080p (표준 HD)"

응답 대기.

Q10: 모델

어떤 Veo 모델을 사용할까요?

  • veo-3.1 — 최신, 최고 품질 (기본값)
  • veo-3.1-fast — 더 빠른 생성, 약간 낮은 품질
  • veo-3 — 이전 세대
  • veo-3-fast — 이전 세대, 더 빠름"

응답 대기.

빠른 참조

질문결정 사항
주제장면 내용 및 프롬프트
길이장면 수 (Veo 클립은 4, 6, 8초여야 함)
스타일시각적 프롬프트 및 음악 선택
에셋생성 vs 기존 파일 사용
오디오custom, veo_audio, silent
음성TTS 음성 선택
음악Lyria 프롬프트
포맷Veo의 화면 비율
해상도720p 또는 1080p 출력 품질
모델veo-3.1, veo-3.1-fast, veo-3, veo-3-fast

2단계: 프로젝트 초기화

사용자의 답변을 받으면 다음 명령어로 프로젝트를 초기화합니다:

python3 ${CLAUDE_PLUGIN_ROOT}/skills/video-producer-agent/scripts/init_project.py \
  --name "제품 출시 비디오" \
  --duration 30 \
  --aspect-ratio 16:9 \
  --audio-strategy custom \
  --scenes 5

3단계: project.json 구성

사용자의 답변에 따라 장면 프롬프트, 내레이션 텍스트 및 음악 스타일로 project.json을 편집합니다.

4단계: 비디오 조립

python3 ${CLAUDE_PLUGIN_ROOT}/skills/video-producer-agent/scripts/assemble.py \
  --project ~/my_video_project/

프로젝트 구조

프로젝트를 초기화하면 다음 폴더 구조가 생성됩니다:

my_project/
├── project.json          # 구성: 장면, 내레이션, 음악, 설정
├── storyboard.md         # 비디오 계획 문서
├── scenes/               # Veo에서 생성된 비디오 클립
│   ├── scene1_intro.mp4
│   ├── scene2_features.mp4
│   └── scene3_cta.mp4
├── audio/                # 오디오 에셋
│   ├── voiceover.wav     # 생성된 내레이션
│   ├── background_music.wav  # 생성된 음악
│   └── final_mix.mp3     # 혼합된 오디오 트랙
├── work/                 # 중간 파일 (자동 생성)
│   ├── silent_scene1.mp4
│   ├── video_concatenated.mp4
│   └── ...
└── output/               # 최종 결과물
    └── product_launch_video_final.mp4

스크립트

init_project.py

폴더 구조와 템플릿으로 새 비디오 프로젝트를 초기화합니다.

# 기본 프로젝트
python3 init_project.py --name "내 비디오" --duration 30

# 특정 디렉토리에 생성
python3 init_project.py --name "데모 비디오" --output ~/Videos/

# 소셜 미디어용 세로 비디오
python3 init_project.py --name "인스타그램 릴스" --aspect-ratio 9:16 --duration 15

# Veo 네이티브 오디오 사용 (커스텀 내레이션/음악 없음)
python3 init_project.py --name "시네마틱 장면" --audio-strategy veo_audio

# 더 많은 장면
python3 init_project.py --name "긴 비디오" --duration 60 --scenes 5

옵션:

옵션기본값설명
--name필수프로젝트 이름
--output현재 디렉토리상위 디렉토리
--duration30목표 길이 (초)
--aspect-ratio16:916:9, 9:16, 1:1, 4:3
--audio-strategycustomcustom, veo_audio, silent
--scenes3장면 자리 표시자 수

assemble.py

전체 비디오 조립 파이프라인을 오케스트레이션합니다.

# 전체 파이프라인 (모든 것 생성 + 조립)
python3 assemble.py --project ~/my_project/

# 생성 건너뛰기 (기존 장면/오디오 파일 사용)
python3 assemble.py --project ~/my_project/ --skip-generation

# 드라이 런 (수행할 작업 표시)
python3 assemble.py --project ~/my_project/ --dry-run

파이프라인 단계:

  1. 비디오 장면 생성 (Veo 3.1)
  2. 장면에서 오디오 제거 (커스텀 오디오인 경우)
  3. 내레이션 생성 (Gemini TTS)
  4. 배경 음악 생성 (Lyria)
  5. 내레이션 + 음악 혼합
  6. 비디오 클립 연결
  7. 오디오와 비디오 병합
  8. 최종 비디오 출력

project.json 구성

{
  "name": "제품 출시 비디오",
  "duration_target": 30,
  "aspect_ratio": "16:9",
  "resolution": "720p",
  "audio_strategy": "custom",
  
  "scenes": [
    {
      "id": 1,
      "name": "scene1_hero",
      "prompt": "프리미엄 제품에 대한 시네마틱 슬로우 줌, 드라마틱 조명, 고급 상업 스타일",
      "duration": 6,
      "notes": "음악만, 내레이션 없음"
    },
    {
      "id": 2,
      "name": "scene2_features",
      "prompt": "제품 특징 시연, 세련된 애니메이션, 현대 기술 미학",
      "duration": 8,
      "notes": "여기서 내레이션 시작"
    },
    {
      "id": 3,
      "name": "scene3_cta",
      "prompt": "깔끔한 배경의 제품과 로고, 클릭 유도 문구 순간",
      "duration": 6,
      "notes": "음악 고조, 내레이션 종료"
    }
  ],
  
  "voiceover": {
    "enabled": true,
    "text": "오디오의 미래를 소개합니다. 수정처럼 맑은 사운드. 하루 종일 편안함. 차이를 경험하세요.",
    "voice": "Charon",
    "style": "전문적, 자신감 있는, 프리미엄 브랜드 목소리"
  },
  
  "music": {
    "enabled": true,
    "prompt": "모던 일렉트로닉, 프리미엄, 세련된, 제품 쇼케이스, 미묘한 베이스",
    "duration": 35,
    "bpm": 100,
    "brightness": 0.6
  },
  
  "assembly": {
    "transition": "fade",
    "transition_duration": 0.5,
    "music_volume": 0.3,
    "fade_in": 1.0,
    "fade_out": 2.0
  }
}

오디오 전략

전략설명사용 시기
customVeo 오디오 제거, 커스텀 내레이션 + 음악 추가대부분의 비디오
veo_audioVeo가 생성한 오디오 유지 (대화, SFX)시네마틱 장면, 대화
silent오디오 제거, 무음 비디오 출력나중에 오디오 추가 예정

워크플로우: 비디오 만들기

1단계: 프로젝트 초기화

python3 init_project.py --name "무선 이어버드 프로모" --duration 30

2단계: 스토리보드 계획

storyboard.md를 편집하여 비디오 구조를 계획합니다:

## 장면 1: 히어로 리빌 (0-5초)
- 시각: 그림자에서 나타나는 이어버드, 프리미엄 조명
- 오디오: 음악만 (드라마틱 인트로)

## 장면 2: 음질 (5-12초)
- 시각: 음파, 음악을 즐기는 사람
- 오디오: 내레이션: "수정처럼 맑은 사운드. 몰입감 있는 베이스."

## 장면 3: 편안함 (12-20초)
- 시각: 착용감 클로즈업, 달리는 사람
- 오디오: 내레이션: "하루 종일 편안함. 안정적인 착용감."

## 장면 4: CTA (20-30초)
- 시각: 제품 + 로고
- 오디오: 내레이션: "차이를 경험하세요." + 음악 고조

3단계: project.json 구성

스토리보드를 기반으로 장면 프롬프트, 내레이션 텍스트 및 음악 스타일을 입력합니다.

4단계: 조립

python3 assemble.py --project ~/wireless_earbuds_promo/

5단계: 검토 및 반복

output/에서 출력을 확인합니다. 조정이 필요한 경우:

# 기존 장면으로 다시 실행 (오디오만 다시 혼합)
python3 assemble.py --project ~/wireless_earbuds_promo/ --skip-generation

만들 수 있는 것

유형예시
제품 비디오제품을 소개하는 30초 히어로 비디오
설명 비디오사용 방법 또는 기능 설명
프로모/광고 비디오마케팅 광고
데모 비디오제품 시연
교육 비디오내부 교육 콘텐츠
사용 후기고객 인용 스타일 비디오
브랜드 비디오회사/브랜드 스토리

사전 요구 사항

  • GOOGLE_API_KEY - Veo (비디오), Gemini TTS (음성), Lyria (음악) 용
  • FFmpeg 설치: brew install ffmpeg

비디오 스타일 및 음악 페어링

스타일음악 프롬프트음성
프리미엄/럭셔리"elegant, minimal, ambient, sophisticated"Charon (정보 제공)
기술/모던"electronic, futuristic, clean, innovative"Kore (단호)
재미/장난기"upbeat, cheerful, acoustic, positive"Puck (경쾌)
기업"professional, inspiring, orchestral lite"Orus (단호)
라이프스타일"chill, aspirational, indie, warm"Aoede (산뜻)
드라마틱/시네마틱"epic, orchestral, emotional, building"Gacrux (성숙)

일반적인 비디오 구조

제품 비디오 (30초)

0-5초:   히어로 샷 (음악만)
5-15초:  특징 (내레이션 + 음악)
15-25초: 라이프스타일/사용 사례 (내레이션 + 음악)
25-30초: 로고 + CTA (음악 페이드아웃)

설명 비디오 (60초)

0-5초:   후크/문제 진술
5-20초:  솔루션 소개
20-45초: 작동 방식 (3단계)
45-55초: 이점 요약
55-60초: CTA

사용 후기 비디오 (45초)

0-5초:   소개/이름 카드
5-35초:  사용 후기 인용 (여러 장면)
35-45초: 제품 샷 + 로고

수동 워크플로우 (스크립트 없음)

각 단계를 수동으로 실행하려면:

장면 생성:

python3 ${CLAUDE_PLUGIN_ROOT}/skills/video-generation/scripts/veo.py \
  --batch scenes.json

내레이션 생성:

python3 ${CLAUDE_PLUGIN_ROOT}/skills/voice-generation/scripts/gemini_tts.py \
  --text "내레이션 텍스트..." \
  --voice Charon \
  --style "전문적, 따뜻함"

음악 생성:

python3 ${CLAUDE_PLUGIN_ROOT}/skills/music-generation/scripts/lyria.py \
  --prompt "modern electronic, premium" \
  --duration 35

클립에서 오디오 제거:

python3 ${CLAUDE_PLUGIN_ROOT}/skills/media-utils/scripts/video_strip_audio.py \
  -i scene*.mp4

비디오 연결:

python3 ${CLAUDE_PLUGIN_ROOT}/skills/media-utils/scripts/video_concat.py \
  -i silent_*.mp4 --transition fade -o video.mp4

오디오 혼합:

python3 ${CLAUDE_PLUGIN_ROOT}/skills/media-utils/scripts/audio_mix.py \
  --voice voiceover.wav --music music.wav -o audio.mp3

오디오 + 비디오 병합:

python3 ${CLAUDE_PLUGIN_ROOT}/skills/media-utils/scripts/video_audio_merge.py \
  --video video.mp4 --audio audio.mp3 -o final.mp4

제공할 수 있는 입력 파일

파일 유형사용 방법
제품 이미지Veo로 첫 프레임으로 애니메이션
로고 (PNG)최종 장면에 오버레이
기존 내레이션audio/voiceover.wav에 배치
브랜드 음악audio/background_music.wav에 배치
비디오 클립scenes/ 폴더에 배치
스크립트/카피내레이션 텍스트로 사용

제한 사항

  • Veo 비디오 길이: 클립당 최대 8초 (더 길게 연결)
  • Veo 3.1에는 오디오 포함: 모든 클립에 생성된 오디오가 있음 (커스텀 사용 시 제거)
  • 처리 시간: 비디오 생성은 클립당 1-3분 소요
  • 해상도: 현재 720p 또는 1080p (1080p는 8초 전용)

오류 처리

오류해결 방법
"GOOGLE_API_KEY not set"README에 따라 API 키 설정
"FFmpeg not found"설치: brew install ffmpeg
"project.json not found"먼저 init_project.py 실행
비디오 생성 시간 초과다시 시도하거나 더 짧은 길이 사용
오디오/비디오 동기화 문제장면 길이 조정

예시 프롬프트

간단:

"새 커피 메이커에 대한 30초 제품 비디오를 만들어줘"

상세:

"새 무선 이어버드에 대한 45초 제품 비디오를 만들어줘. 프리미엄, 럭셔리 느낌. 제품 사진을 첨부했어. 전문적인 남성 내레이션. 모던 일렉트로닉 음악. YouTube용 16:9."

프로젝트 포함:

"'앱 데모'라는 비디오 프로젝트를 초기화해줘. 5개 장면, 총 60초, TikTok용 세로 포맷"

관련 스킬