/yt-pipeline — 롱폼 1편 → 숏폼 3개
형식은 정해져 있다(근거: docs/research/, ADR-002).
- 롱폼: 영어, 10~13분, 얼굴 없음, Voicebox 내레이션, AI×경제 반직관 질문 하나를 7단계 비트시트로.
- 화면: HyperFrames 모션그래픽(차트·비교표·기사 캡처 무빙·2D 컷아웃) + 스톡. AI 생성 영상 0, 남의 영상 재편집 0.
- 숏폼: 롱폼에서 20
55초 구간 23개를 골라 세로로 다시 렌더. 쇼츠·릴스·틱톡에 같은 파일. 목적은 롱폼 유입.
시작과 재개
/yt-pipeline # 새 에피소드
/yt-pipeline 003 # 003의 STATUS.md를 읽고 멈춘 단계부터
/yt-pipeline 003 --from script
새 에피소드면 episodes/NNN-slug/를 만든다(NNN은 기존 최댓값+1). 글은 이 폴더, 음성·영상은 output/NNN/(git 제외).
단계를 끝낼 때마다 episodes/NNN-slug/STATUS.md 체크리스트를 갱신한다. 다음 세션은 이것만 보고 이어 간다.
단계
| # | 단계 | 쓰는 스킬·도구 | 산출물 | 멈춤 |
|---|---|---|---|---|
| 1 | 질문 발굴 | yt-dlp 수집 → /yt-viral (같은 장르 채널 배수 순위) | 01_idea.md 반직관 질문 후보 3개 | 게이트 1 |
| 2 | 리서치 | 웹 검색·1차 자료, 필요하면 /watch 1~2편(구조만) | 02_research.md | |
| 3 | 대본 | 7단계 비트시트 + /yt-script 훅 5개 채점 | 03_script.md | 게이트 2 |
| 4 | 패키징 | /yt-package | 04_package.md 제목·썸네일 문구 | |
| 5 | 음성 | Voicebox REST(/generate) | output/NNN/voice.wav, transcript.srt | |
| 6 | 화면·렌더 | /hyperframes, 소재는 /media-use | output/NNN/long.mp4 (16:9) | 게이트 3 |
| 7 | 챕터·설명 | /yt-chapters → /yt-seo | 07_seo.md | |
| 8 | 숏폼 | /yt-shorts → /hyperframes 세로 렌더 | output/NNN/short_1~3.mp4, 08_shorts.md | |
| 9 | 업로드 | scripts/ 업로드(유튜브·릴스), 틱톡은 수동 | 링크 기록 | 게이트 4 |
| 10 | 측정 | /yt-retention(48시간·7일), /yt-comment, 4편마다 /yt-audit, 월 1회 /yt-plan | 10_metrics.md |
/yt-edit은 쓰지 않는다. 직접 녹음한 원본의 군더더기를 자르는 스킬인데 이 채널은 합성 음성이라 자를 게 없다. 사람이 내레이션을 녹음하게 되면 5단계 뒤에 넣는다.
단계별 규칙
1. 질문 발굴
- 질문 하나가 영상의 전부다. 조회 7
10만 편과 100만290만 편을 가른 건 질문의 각도였다. - 좋은 질문의 조건: 모두가 믿는 통념이 있고, 1차 자료의 숫자가 그 통념을 뒤집는다. 예) "AI가 사람보다 비싸졌다", "데이터센터를 조용히 취소한다".
- 후보마다: 질문 한 줄, 뒤집는 숫자 1개와 출처, 참고 영상(있으면 배수), 반론 한 줄.
- 게이트 1: 사용자가 하나를 고른다.
2. 리서치
- 1차 자료 3개 이상(실적 공시·논문·공식 발표·정부 통계), 숫자 10개 이상, 숫자마다 출처 URL.
- 사실과 추정·전망을 따로 표시한다. 영상에서도 추정은 화면에 "Projection" 표시. (Economy Media가 지적받은 약점)
- 반론 1개와 그 반박 근거를 반드시 찾는다.
/watch는 참고 영상의 구조를 볼 때만. 대본 문장을 옮기지 않는다(비진정성 정책·저작권).
3. 대본 (영어, 1,4001,900단어, 분당 150단어 기준 1013분)
- 7단계 비트시트: ① 0
15초 모두가 동의하는 전제 ② 45초2분 전제를 뒤집는 질문 + 제목 드롭 ③ 기둥 4개 각 11.5분, 기둥마다 숫자 12개 ④ 75~85% 지점 반론 인정 후 범위를 넓혀 반박 ⑤ 차트 하나로 펀치라인 ⑥ 질문으로 끝내거나 다음 편 연결, 구독 구걸 없음. - 훅은
/yt-script로 5개 써서hookscore.py로 채점하고 상위 2개를 보여 준다. - 문단마다 오른쪽에 화면 지시를 단다:
[CHART: ...],[ARTICLE: url + highlight],[CUTOUT: ...],[STOCK: ...]. 2~4초마다 화면이 바뀌어야 한다. - 숫자는 전부
02_research.md에 있는 것만. 없는 숫자를 쓰지 않는다. - 게이트 2: 사용자가 대본을 승인한다.
5. 음성
- Voicebox 앱이 켜져 있어야 한다(
http://127.0.0.1:17493). 꺼져 있으면 사용자에게 켜 달라고 하고 멈춘다. - 문단 단위로
POST /generate(language: "en", 확정된profile_id) → 이어 붙여voice.wav. - 받아쓰기로 시간표를 만든다(
POST /transcribe또는hyperframes transcribe) →transcript.srt. 7·8단계가 이걸 쓴다. - 음성 프로필은 첫 편에서 3개 샘플을 사용자가 듣고 고른다. 이후 고정.
6. 화면·렌더
/hyperframes로 진입한다. 차트·비교표·타임라인·기사 캡처 무빙은 직접 만들기 전에/hyperframes-registry에서 먼저 찾는다.- 스톡·BGM·효과음은
/media-use. 뉴스·영화·남의 영상 클립은 쓰지 않는다. - 화면 색·글꼴은 에피소드마다 바꾸지 않는다(채널 정체성). 장면 구성은 매 편 달라야 한다(템플릿 반복 금지 정책).
- 게이트 3: 사용자가
long.mp4를 본다.
8. 숏폼
/yt-shorts로transcript.srt에서 2055초 구간 23개. 우선순위: 역설 훅 장면, 펀치라인 차트, 가장 반직관적인 숫자.- 같은 장면을 9:16으로 다시 렌더한다(크롭 아님). 하단 440px·우측 150px는 비운다(쇼츠·릴스 버튼 영역).
- 자막은 숫자·핵심어만 크게. 마지막 장면을 첫 장면과 이어지게 하면 반복 재생이 붙는다.
- 쇼츠 설명란과 "관련 동영상"에 롱폼을 건다. 이게 숏폼을 만드는 이유다.
9. 업로드 — 게이트 4
- 올리기 전에 요약한다: 무엇을(파일·제목), 어디로(유튜브·인스타·틱톡), 공개 범위, 되돌릴 수 있나.
- 사용자가 채팅으로 승인해야만 올린다. 첫 업로드는 비공개(private)로 올리고 확인 후 공개 전환.
- 유튜브 사실적 합성 콘텐츠 라벨: 이 채널은 AI 생성 영상이 없으므로 해당 없음. 합성 음성은 설명란에 "AI narration" 명시.
10. 측정
- 48시간·7일 뒤 유튜브 스튜디오에서 리텐션 CSV를 받아
/yt-retention. 이탈 구간이 대본 어느 문단인지transcript.srt로 짚는다. - 댓글은
/yt-comment로 답글 초안만. 게시는 사용자가. - 통과 기준(8주 12편): 평균 시청 지속률 35% 이상, 12편 중 1편 이상이 채널 중앙값 5배.
하지 않는 것
- 힉스필드 등 AI 영상 생성(ADR-002, 필요해지면 그때 재검토).
- 남의 영상 재편집, 대본 그대로 옮기기.
- 게이트 건너뛰기. 사용자가 "끝까지 알아서"라고 해도 게이트 4(업로드)는 건너뛰지 않는다.