작성 2026-09-28 · M2 Toon Factory 세션 · 형 결정용 초안
factory/(공통 뼈대) + lines/(툰·릴·뉴스·롱폼) 로 나눠 두면 이름만 바꿔 달면 됩니다.| 단 | 있는 것 | 상태 |
|---|---|---|
| 입력 | 자연어 한 줄(make.py), 촬영본 인박스(iCloud momentus_inbox), Slack 봇 접수 |
돌아감 |
| 리서치·대본 | intent.py(요청→spec) · writer.py(작가 각색) · PLAYBOOK/톤 프리셋 |
돌아감, 로컬 claude -p 비용 0 |
| 샷 설계 | spec의 beats(화면+문장+자막) — 비트 단위 싱크 원칙 확정 | 돌아감 |
| 에셋 생성 | creagen i2i 시트→슬라이스(generate.py·slice.py), 앵커 얼굴 |
돌아감. Kling 이미지→영상은 없음 — Remotion 세션이 Creagen MCP로 수동 호출한 경험만 있음(경복궁 릴, 4클립 3~4분) |
| 내레이션 | fal MiniMax 클론 보이스(형 목소리) fal_tts.py |
코드 있음, 키 대기 |
| 렌더·발행 | Remotion 4컴포지션(Reel·ReelV2·ReelMontage·ReelPop, 전부 1080×1920) + R2 업로드 | M2에서 컴포지션 4개 확인 완료. 16:9 롱폼 템플릿은 없음 |
claude -p). 사실 검증은 원문 링크를 spec에 남겨 렌더 엔드카드/설명란에 자동 표기.whisper.cpp, 비용 0)로 텍스트화 → 같은 대본 단계로. 형이 "말로 던지면 영상"이 되는 입구.| 포맷 | 길이 | 비율 | 컷 | 특징 |
|---|---|---|---|---|
| 릴스/쇼츠 | 30~60초 | 9:16 | 8~15 | 첫 컷 훅, 자막 세이프존, 비트 싱크 |
| 롱폼 | 5~12분 | 16:9 | 챕터 5~8 × 컷 4~8 | 챕터 카드, 자료화면 + 모션그래픽(숫자·도표·타임라인), 하단 자막 |
- 같은 spec 스키마에 format 필드 하나. 대본 작가 프롬프트만 포맷별로 갈립니다. |
LongForm169 1개 추가: 챕터 카드 + 자료화면 켄번즈 + 모션그래픽 슬롯 + 하단 자막 + 엔드카드. 릴스용 효과(팝·섬광·번짐)는 공용 컴포넌트로 빼서 둘 다 씀.| 순서 | 할 일 | 끝 기준 | 새로 드는 비용 |
|---|---|---|---|
| 0 | 키 투입 → 목소리 실측 → M2 단독 렌더 1회 | 형 목소리 mp3 + 9:16 mp4 1개 | TTS 약 $0.003 |
| 1 | 뉴스 릴스 라인: URL→대본 어댑터 + 출처 표기 + 모션그래픽 컴포넌트 3종(숫자·인용·지도) | 기사 URL 하나로 45초 릴 완주 | 0 (이미지 없이 모션그래픽만) |
| 2 | 음성 입력: 음성메모→Whisper→대본 | 형이 말한 1분 메모가 릴이 됨 | 0 |
| 3 | Kling i2v 모듈: 시트 컷/실사 사진 → 5초 클립 → Remotion <OffthreadVideo> |
클립 4개 들어간 릴 1개 | creagen 크레딧 ~280/릴 |
| 4 | 롱폼 템플릿 LongForm169 + 챕터 대본 프롬프트 |
5분 영상 1개, 자막·챕터 카드 포함 | 렌더 시간만 |
| 5 | 발행 자동화(YouTube API·인스타) | Slack "올려" 한마디로 업로드 | 0 |