Communitygithub.com

ComeOnOliver/skillshub

음성 해설, 배경 음악, 비주얼을 포함한 완전한 비디오를 생성합니다.

skillshub란 무엇인가요?

이 스킬은 AI 에이전트가 직접 대화형 질문을 통해 사용자의 요구 사항을 수집하고, 스크립트/스토리보드 생성부터 음성 해설 합성, 배경 음악 생성, 비디오 클립 생성, 최종 편집까지의 전체 비디오 제작 워크플로우를 오케스트레이션합니다. Claude Code, Cursor, Codex 등 쉘 명령어를 실행할 수 있는 모든 AI 에이전트 플랫폼에서 사용 가능합니다. 이 스킬은 Veo 3.1(비디오 생성), Gemini TTS(음성 합성), Lyria(음악 생성), FFmpeg(최종 조립) 등 최신 AI 기술을 결합하여 전문가 수준의 비디오를 제작합니다. 사용자는 에이전트가 안내하는 10단계의 대화형 질문에 답변하기만 하면 되며, 그 후 에이전트가 자동으로 프로젝트를 초기화하고 설정 파일을 구성한 후 assemble.py 스크립트를 실행하여 최종 비디오 파일을 생성합니다. 생성된 프로젝트는 scenes, audio, output 등으로 정리된 폴더 구조를 가지며, 필요 시 기존 에셋을 활용하거나 개별 단계를 수동으로 실행할 수도 있습니다.

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

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

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

문서

비디오 프로듀서

음성 해설, 배경 음악, 비주얼을 포함한 완전한 비디오를 생성합니다.

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

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

워크플로우

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 "My Video" --duration 30

# 특정 디렉토리에 생성
python3 init_project.py --name "Demo Video" --output ~/Videos/

# 소셜 미디어용 세로 비디오
python3 init_project.py --name "Instagram Reel" --aspect-ratio 9:16 --duration 15

# Veo 네이티브 오디오 사용 (커스텀 음성 해설/음악 없음)
python3 init_project.py --name "Cinematic Scene" --audio-strategy veo_audio

# 더 많은 장면
python3 init_project.py --name "Long Video" --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": "Product Launch Video",
  "duration_target": 30,
  "aspect_ratio": "16:9",
  "resolution": "720p",
  "audio_strategy": "custom",
  
  "scenes": [
    {
      "id": 1,
      "name": "scene1_hero",
      "prompt": "Cinematic slow zoom on premium product, dramatic lighting, high-end commercial style",
      "duration": 6,
      "notes": "음악만, 음성 해설 없음"
    },
    {
      "id": 2,
      "name": "scene2_features",
      "prompt": "Product features demonstration, sleek animations, modern tech aesthetic",
      "duration": 8,
      "notes": "여기서 음성 해설 시작"
    },
    {
      "id": 3,
      "name": "scene3_cta",
      "prompt": "Product with logo on clean background, call to action moment",
      "duration": 6,
      "notes": "음악이 커지고, 음성 해설 종료"
    }
  ],
  
  "voiceover": {
    "enabled": true,
    "text": "오디오의 미래를 소개합니다. 수정처럼 맑은 사운드. 하루 종일 편안함. 차이를 경험하세요.",
    "voice": "Charon",
    "style": "전문적, 자신감 있는, 프리미엄 브랜드 목소리"
  },
  
  "music": {
    "enabled": true,
    "prompt": "modern electronic, premium, sleek, product showcase, subtle bass",
    "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 "Professional, warm"

음악 생성:

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용 세로 형식으로 초기화해 줘"

Individual skills in this repo

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

ComeOnOliver/skillshub

Create stunning, animation-rich HTML presentations from scratch or by converting PowerPoint files. Use when the user wants to build a presentation, convert a PPT/PPTX to web, or create slides for a talk/pitch. Helps non-designers discover their aesthetic through visual exploration rather than abstract choices.

ComeOnOliver/skillshub

Next.js 16+ 和 Turbopack — 增量打包、文件系统缓存、开发速度,以及何时使用 Turbopack 与 webpack。

ComeOnOliver/skillshub

SwiftUI architecture patterns, state management with @Observable, view composition, navigation, performance optimization, and modern iOS/macOS UI best practices.

ComeOnOliver/skillshub

See, Understand, Act on video and audio. See- ingest from local files, URLs, RTSP/live feeds, or live record desktop; return realtime context and playable stream links. Understand- extract frames, build visual/semantic/temporal indexes, and search moments with timestamps and auto-clips. Act- transcode and normalize (codec, fps, resolution, aspect ratio), perform timeline edits (subtitles, text/image overlays, branding, audio overlays, dubbing, translation), generate media assets (image, audio, video), and create real time alerts for events from live streams or desktop capture.

ComeOnOliver/skillshub

AI-assisted video editing workflows for cutting, structuring, and augmenting real footage. Covers the full pipeline from raw capture through FFmpeg, Remotion, ElevenLabs, fal.ai, and final polish in Descript or CapCut. Use when the user wants to edit video, cut footage, create vlogs, or build video content.

ComeOnOliver/skillshub

Next.js 15 애플리케이션을 위한 프론트엔드 개발 가이드라인. React 19, TypeScript, Shadcn/ui, Tailwind CSS를 사용한 모던 패턴. Server Components, Client Components, App Router, 파일 구조, Shadcn/ui 컴포넌트, 성능 최적화, TypeScript 모범 사례 포함. 컴포넌트, 페이지, 기능 생성, 데이터 페칭, 스타일링, 라우팅, 프론트엔드 코드 작업 시 사용.

ComeOnOliver/skillshub

Provides Tamagui patterns for config v4, compiler optimization, styled context, and cross-platform styling. Must use when working with Tamagui projects (tamagui.config.ts, @tamagui imports).

ComeOnOliver/skillshub

Create distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.

ComeOnOliver/skillshub

Create high-converting, visually distinctive landing pages. Use when building marketing pages, product launches, SaaS homepages, or any single-page conversion-focused website. Guides section-by-section composition with anti-AI-slop principles.

ComeOnOliver/skillshub

Auto-loaded context for Portfolio Buddy 2 development. Use for ANY task involving: React 19 development, TypeScript, portfolio analysis features, metrics calculations, trading strategy comparison, or working with the Portfolio Buddy 2 codebase. Contains tech stack, known issues, and architectural constraints.

ComeOnOliver/skillshub

Next.js development tooling via MCP. Inspect routes, components, build info, and debug Next.js apps. Use when working on Next.js applications, debugging routing, or inspecting app structure. NOT for general React or non-Next.js projects.

ComeOnOliver/skillshub

Implement UI using Shadcn MCP (atoms/theme) and 21st.dev MCP (complex sections). Use when adding buttons, layouts, or generating landing pages.

ComeOnOliver/skillshub

A conceptual skill for building an API client in Next.js that handles JWT tokens

ComeOnOliver/skillshub

Best practices and patterns for Next.js App Router, Server Actions, and Routing in this project.

ComeOnOliver/skillshub

The Design System, Theme, and UX rules for the Physical AI Hub.

ComeOnOliver/skillshub

Comprehensive frontend development skill for building modern, performant web applications using ReactJS, NextJS, TypeScript, Tailwind CSS. Includes component scaffolding, performance optimization, bundle analysis, and UI best practices. Use when developing frontend features, optimizing performance, implementing UI/UX designs, managing state, or reviewing frontend code.

ComeOnOliver/skillshub

This document captures learnings from fixing keyboard navigation issues when floating components (Select, DropdownMenu, Popover) have CSS open/close animations.

ComeOnOliver/skillshub

Build Next.js 16 applications with correct patterns and distinctive design. Use when creating pages, layouts, dynamic routes, upgrading from Next.js 15, or implementing proxy.ts. Covers breaking changes (async params/searchParams, Turbopack, cacheComponents) and frontend aesthetics. NOT when building non-React or backend-only applications.

ComeOnOliver/skillshub

Comprehensive Framer Motion animation library for React. Covers motion components, variants, gestures, page transitions, and scroll animations. Use when adding animations to React/Next.js applications.

ComeOnOliver/skillshub

Build interfaces that resonate, not just render. This skill enforces bold, intentional

관련 스킬