AI Video Studio은(는) 무엇을 하나요?
AI 비디오 올인원 워크플로우: Seedance 2.0 생성 + CapCut Mate 편집 + 클라우드 렌더링 내보내기.
핵심 기능
- AI 비디오 클립 생성 — 텍스트/이미지 프롬프트를 통해 Seedance 2.0으로 5/8/11초 비디오 생성
- 자동 편집 합성 — 여러 클립 연결, 자막 오버레이, 전환 효과, BGM
- 클라우드 렌더링 내보내기 — 최종 MP4 생성
하나의 명령으로 시나리오 기반 비디오 생성 (NEW — huobao 4단계 파이프라인)
drama 하위 명령어는 "대본 → 캐릭터/장면 → 스토리보드 → 렌더링" 전체 체인을 캡슐화하며, Sonnet이 실행하고 Opus advisor가 내러티브 템플릿(문제-전환-해결 / 장면 몽타주 / 스토리 드라마화 / hybrid)을 자율적으로 선택합니다. 방법론은 reference/huobao/ (CC BY-NC-SA 4.0)를 참조하세요.
제품 홍보 숏폼 비디오 (하나의 명령)
python3 ~/.openclaw/workspace/skills/ai-video-studio/scripts/studio.py drama \
--mode product \
--idea "스마트 보온병, 직장인의 하루" \
--scenario "아침 조깅/지하철/사무실/야근" \
--highlights "12시간 보온, 항공우주 등급 스테인리스, 원터치 온도 조절" \
--shots 6 --duration 5 --ratio 9:16 --lang ko --run
단편 드라마 (하나의 명령)
python3 ~/.openclaw/workspace/skills/ai-video-studio/scripts/studio.py drama \
--mode shortdrama \
--idea "카페에서 전 애인을 만나고, 한 마디가 3년 간의 오해를 풀다" \
--shots 6 --duration 8 --ratio 9:16 --lang ko --run
매개변수
| 매개변수 | 설명 |
|---|---|
--mode | product 시나리오 기반 제품 홍보 / shortdrama 단편 드라마 |
--idea | 핵심 아이디어 또는 제품 한 줄 설명 |
--scenario | 사용/스토리 장면 제약 (선택 사항), advisor가 이를 중심으로 구성 |
--highlights | product 모드의 판매 포인트 목록 (advisor가 자연스럽게 스토리에 통합, 하드 광고 아님) |
--shots | 샷 수, 기본값 6 |
--duration | 샷당 길이 5/8/11초, 기본값 5 |
--ratio | 화면 비율, 세로 숏폼 비디오는 9:16 권장 |
--advisor-calls | Opus 상담 최대 횟수, 기본값 3 |
--run | 추가 시 Seedance 생성 + ffmpeg 렌더링 즉시 실행, 미추가 시 블루프린트 JSON만 생성 |
출력: 블루프린트 JSON (characters / scenes / shots / narrative_template / logline 포함)이 $MEDIA_DIR/drama-<mode>-<ts>.json에 저장됨; --run 추가 시 파이프라인 계속 진행하여 최종 mp4 생성.
전체 워크플로우 (저수준)
네 가지 제공 프로필 및 외부 렌더러
python3 ~/.openclaw/workspace/skills/ai-video-studio/scripts/studio.py profiles
python3 ~/.openclaw/workspace/skills/ai-video-studio/scripts/studio.py profiles paibao_private
내장 프로필: automotive_export, paibao_private, haitun_public, personal_ip. 스토리보드는 명시적으로 renderer: video_use|hyperframes|remotion을 사용하여 실제 영상 편집, HTML/GSAP 애니메이션 또는 React 매개변수화 템플릿에 연결할 수 있습니다. 프로필은 EDL/프로젝트 디렉토리에 의존하는 렌더러를 자동으로 선택하지 않습니다.
video_use는 edl이 필요하며, output과 edl.json이 동일한 edit/ 디렉토리에 있어야 합니다. hyperframes는 project_dir이 필요합니다. remotion은 project_dir, entry_point 및 composition_id가 필요합니다. 두 Node 프로젝트 모두 package-lock.json을 사용하여 프로젝트 로컬 CLI를 고정하고 먼저 npm ci를 실행해야 하며, 렌더링 단계에서는 네트워크를 통해 패키지를 보충하지 않습니다. 외부 렌더러는 로컬 pipeline CLI에서만 명시적으로 실행할 수 있으며, 서버/LLM 경로는 기본적으로 비활성화됩니다.
paibao_private는 모든 렌더러에 대해 스토리보드 자막 하드코딩을 금지합니다. 먼저 무자막 편집 마스터를 출력한 다음 paibao-course-publisher로 전달하여 ASS, 키프레임 추출, 해싱 및 게시 게이트를 수행합니다.
원클릭 생성: 스토리보드에서 완성품까지
JSON 스토리보드 파일을 만든 다음 파이프라인을 호출합니다:
# 스토리보드 생성
cat > /tmp/storyboard.json << 'EOF'
{
"title": "제품 광고",
"ratio": "16:9",
"shots": [
{"prompt": "A modern smartphone floating in space with golden particles around it, cinematic lighting", "duration": 5, "caption": "새로운 디자인 미래를 선도하다"},
{"prompt": "Hands holding a smartphone with holographic UI elements emerging from screen", "duration": 5, "caption": "손에 닿는 지능"},
{"prompt": "Slow motion water splash revealing a smartphone, dramatic lighting", "duration": 5, "caption": "방수의 새로운 경지"}
],
"bgm_url": null
}
EOF
# 전체 프로세스 실행
python3 ~/.openclaw/workspace/skills/ai-video-studio/scripts/studio.py pipeline /tmp/storyboard.json
출력: 최종 비디오 파일 경로 (예: /root/.openclaw/media/studio-xxx.mp4)
스토리보드 필드 설명
| 필드 | 유형 | 설명 |
|---|---|---|
title | string | 프로젝트 이름 |
ratio | string | 화면 비율: 16:9, 9:16, 1:1 |
shots[].prompt | string | Seedance 생성 프롬프트 (영어 권장, 더 나은 결과) |
shots[].duration | int | 각 클립 길이: 5, 8, 11초 |
shots[].caption | string | 자막 텍스트 (비워두면 자막 없음) |
shots[].ref_image | string? | 선택적 참조 이미지 URL |
bgm_url | string? | 선택적 배경 음악 URL |
단계별 사용 (유연한 조합)
Step 1: 단일 비디오 클립 생성
python3 ~/.openclaw/workspace/skills/ai-video-studio/scripts/studio.py generate \
--prompt "햇빛 아래에서 하품하는 주황색 고양이" \
--ratio 16:9 \
--duration 5
반환: 비디오 파일 경로
Step 2: 여러 클립 합성
python3 ~/.openclaw/workspace/skills/ai-video-studio/scripts/studio.py compose \
--videos /root/.openclaw/media/clip1.mp4,/root/.openclaw/media/clip2.mp4 \
--captions "첫 번째 장면,두 번째 장면" \
--ratio 16:9
반환: 초안 URL + 내보내기 비디오 경로
Step 3: CapCut Mate만 사용하여 기존 비디오 편집
python3 ~/.openclaw/workspace/skills/ai-video-studio/scripts/studio.py compose \
--videos https://example.com/v1.mp4,https://example.com/v2.mp4 \
--captions "시작,끝" \
--bgm https://example.com/music.mp3 \
--ratio 9:16
FFmpeg 직접 출력 모드 (권장, 기본값)
pipeline 명령은 기본적으로 ffmpeg를 사용하여 서버 측에서 mp4를 직접 출력하며, CapCut 클라이언트에 의존하지 않습니다.
렌더링만 수행 (Seedance 건너뛰기, 기존 클립 사용)
python3 ~/.openclaw/workspace/skills/ai-video-studio/scripts/studio.py render --videos clip1.mp4,clip2.mp4 --captions "첫 번째 장면,두 번째 장면" --bgm https://example.com/music.mp3 --ratio 16:9 --title myproject
반환: 최종 mp4 파일 경로
ffmpeg 렌더링 기능
- 여러 클립 연결 (자동 해상도 정규화)
- SRT 자막 하드코딩 (흰색 글자, 검은색 테두리, 하단 중앙)
- BGM 믹싱 (원음 100% + BGM 30%)
- H.264 + AAC 인코딩, 초 단위 렌더링
pipeline 기본 ffmpeg
스토리보드 JSON에서 renderer가 기본적으로 ffmpeg이며, capcut으로 설정하면 CapCut 초안 모드로 전환됩니다.
주의사항
- Seedance 비디오 생성은 일반적으로 클립당 3~10분 소요, 여러 클립은 병렬 제출
- 클라우드 렌더링에는 CapCut API Key 필요 (
CAPCUT_API_KEY환경 변수로 설정) - 클라우드 렌더링 Key가 없어도 초안 파일 생성 가능, CapCut 클라이언트로 수동 내보내기 가능
- 비디오 출력 디렉토리:
/root/.openclaw/media/ - Seedance에는 한국어 프롬프트 권장, 더 나은 결과
환경 변수
| 변수 | 용도 | 기본값 |
|---|---|---|
SEEDANCE_API_KEY | Doubao Seedance API | 내장 fallback |
CAPCUT_MATE_URL | CapCut Mate 서비스 주소 | http://127.0.0.1:30000 |
CAPCUT_API_KEY | CapCut 클라우드 렌더링 Key (선택 사항) | 없음 |