🎬 22B Labs · 오픈소스 공개
숏폼 영상, 찍기 전에 계획부터 — Shorts Engine
유튜브 쇼츠·TikTok·릴스 제작 계획을 자동으로 세워주는 CLI 기획 엔진 오픈소스
AI 영상 생성 도구는 많습니다. Sora, Kling, Runway. 그런데 막상 주제를 정하고, 어떤 구도로, 어떤 순서로, 어떤 플랫폼 규격에 맞게, 얼마의 비용으로 만들지 계획하는 것은 여전히 사람이 해야 합니다.
Shorts Engine은 그 기획 과정을 자동화합니다. 요청 파일 하나를 넣으면 플랫폼 규격, 카메라 모션 계획, B-roll 추천, 비용 라우팅, 실행 계획, 회복 경로까지 전체 제작 계획서를 JSON으로 출력합니다. TypeScript CLI 도구이며 127 테스트 전부 통과합니다.
⚠️ 중요 — 이 도구가 하지 않는 것
Shorts Engine은 실제 영상을 만들지 않습니다. 영상 생성 API(Sora, Kling 등) 연동, 실제 TTS 생성, 플랫폼 자동 업로드는 현재 구현되어 있지 않습니다. 이 도구는 "무엇을 어떻게 만들지 계획하는 엔진"입니다.
"철학 → 시나리오 → 감성 → 기술 순서로.
기술이 먼저가 아닙니다. 이야기가 먼저입니다."
기술이 먼저가 아닙니다. 이야기가 먼저입니다."
features
요청 파일 하나로 나오는 것들
| 항목 | 설명 |
|---|---|
| 요청 검증 + 정규화 | 입력 형식 확인 및 표준화 |
| 플랫폼 출력 스펙 | 유튜브/틱톡/릴스별 규격 자동 적용, 범위 초과 시 자동 보정 |
| 소설→숏츠 플래닝 | 소설 에피소드를 숏폼 시나리오로 변환 |
| 모션 플래닝 | 카메라 움직임 패턴 계획 (반복 방지 규칙 포함) |
| B-roll 플래닝 | 장면에 어울리는 보조 영상 클립 추천 |
| 비용 라우팅 | 5가지 규칙으로 가장 저렴한 백엔드 자동 선택 |
| 실행 계획 | 노드별 재시도·폴백·비용 계획 |
| 회복 시뮬레이션 | 오류 발생 시 자동 복구 경로 예측 |
| AI 프롬프트 생성 | 영상 생성 AI 도구용 프롬프트 자동 작성 |
| Narrative DNA | 스튜디오 철학 기반 scene_archetype + emotional_texture 계산 |
platforms
지원 플랫폼
유튜브 쇼츠
권장 30초 / 최소 15초 / 최대 60초
검색 최적화, 훅 명확성
검색 최적화, 훅 명확성
TikTok
권장 20초 / 최소 10초 / 최대 45초
모션 에너지, 자막 즉시성
모션 에너지, 자막 즉시성
Instagram Reels
권장 20초 / 최소 10초 / 최대 45초
시각 일관성, 브랜드 완성도
시각 일관성, 브랜드 완성도
cost routing
5가지 비용 라우팅 규칙
- Rule A후보 점수 0.6 미만 → 프리미엄 엔진 사용 안 함
- Rule B캐시 히트 시 즉시 반환 (항상 최우선)
- Rule C배치 5개 이상 + GPU 가능 시 GPU 우선
- Rule D프리미엄 엔진은 최종 고가치 단계에만
- Rule E재시도 비용 > 예상 이득 → 폴백으로 직행
usage
사용 방법
# 설치
git clone https://github.com/sinmb79/Shorts-engine.git
cd Shorts-engine
npm install
# 실행 (사람이 읽기 좋은 출력)
npm run engine -- run tests/fixtures/valid-low-cost-request.json
# JSON 출력
npm run engine -- run tests/fixtures/valid-low-cost-request.json --json
# 기타 명령어
npm run engine -- prompt <파일> # AI 프롬프트 생성
npm run engine -- analyze <파일> # 분석 리포트
npm run engine -- doctor # 시스템 상태 진단
request file
요청 파일 구조
{
"intent": {
"topic": "만들고 싶은 영상 주제",
"platform": "youtube_shorts",
"duration_sec": 30
},
"constraints": {
"budget_tier": "low", // low / balanced / high
"quality_tier": "balanced"
},
"style": {
"hook_type": "curiosity",
"pacing_profile": "fast_cut",
"caption_style": "tiktok_viral"
},
"backend": {
"preferred_engine": "local",
"allow_fallback": true
}
}
💡 테스트 실행 —
npm test → 127 tests passed, 0 failed
output
출력 결과
validation요청 파일 형식 검증 결과
platform_output_spec플랫폼별 규격 + 자동 보정
motion_plan카메라 움직임 계획
broll_planB-roll 추천 목록
routing선택된 백엔드 + 이유
execution_plan처리 순서 + 단계별 비용
recovery_simulation오류 시 복구 경로
narrative_payload스튜디오 DNA 계약 구조
GitHub에서 바로 시작하세요
MIT 라이선스 · 완전 무료 · TypeScript
127 tests passed · Node.js 24+
YouTube Shorts / TikTok / Instagram Reels