스킬: 리텐션 숏츠 (후크 → 스토리텔링 → 페이오프)
0. 출처 및 방법론적 정직성
기반: "ESSA TÉCNICA VIRALIZOU MEU SHORTS COM 30 MILHÕES DE VISUALIZAÇÕES" 동영상 (O Milionário 채널, ID iPpt_INjn8A). [VÍDEO] 표시 항목은 저자가 가르치는 내용에서 가져왔습니다. [EXT] 표시 항목은 이 시스템의 엔지니어링 확장입니다: 합리적인 휴리스틱이지만, 동영상에서 입증되지 않았습니다. 실제 리텐션 데이터로 보정해야 합니다(섹션 10 참조).
1. 핵심 원칙 [VÍDEO]
- 짧은 동영상의 바이럴 여부를 결정하는 것은 리텐션 라인(retention line)입니다: 더 많은 사람들이 끝까지 시청할수록 플랫폼이 더 많이 배포합니다.
- 목표: 리텐션 라인을 가능한 한 직선으로, 하락 없이 유지하는 것입니다. 중요한 것은 시청자가 끝까지 도달하는 것입니다.
- 세 가지 필수 부분: 후크(Hook), 스토리텔링(Storytelling), 페이오프(Payoff).
- 스크립트/내러티브는 "자동차의 엔진"입니다: 내러티브 없이 예쁜 편집만으로는 시청자를 붙잡을 수 없습니다.
- 길이: 약 ~15초 이하의 동영상은 폭발적으로 퍼지는 경향이 더 큽니다. 왜냐하면 끝까지 시청하기 더 쉽기 때문입니다. 더 긴 동영상은 바이럴되기 더 어렵지만 충성도 높은 시청자를 구축합니다. 니치가 더 긴 동영상을 요구한다면 동일한 세 단계를 사용하십시오.
2. 길이 모드 [VÍDEO + EXT]
| 모드 | 목표 길이 | 사용 시기 |
|---|---|---|
viral | 12–20초 (최대 25초) | 도달 범위 최대화. 기본값. |
balanced | 20–40초 | 최소한의 컨텍스트가 필요한 콘텐츠. |
authority | 40–75초 | 충성도 높은 시청자 구축, 더 깊은 콘텐츠. |
사용자가 모드를 선택합니다. 구간이 좋더라도 모드 제한을 초과하지 마십시오: 죽은 부분을 잘라서 줄이십시오.
3. 의사 결정 파이프라인 (순서대로 따르십시오)
단계 1: 후보 구간 분할
- 입력: 단어별 타임스탬프가 있는 트랜스크립션, 장면 전환, 침묵, 화자.
- 문장 경계에서 시작하고 끝나는 후보 윈도우를 생성하십시오(문장이나 아이디어 중간에서 절대 시작/끝나지 않음). 요청된 수보다 3배 더 많은 후보를 생성하십시오.
- 각 후보는 자체 완결적(self-contained)이어야 합니다: 컨텍스트가 없는 시청자가 나머지 동영상 없이도 이해할 수 있어야 합니다. 이전 컨텍스트에 의존한다면 폐기하거나 컨텍스트 자막을 준비하십시오(섹션 6).
단계 2: 각 후보 점수 매기기 (0–100)
| 기준 | 가중치 | 평가 항목 |
|---|---|---|
| 후크 잠재력 | 25 | 처음 3초 안에 명확하고, 직접적이며, 빠르고, 보상을 약속하는 문장이나 순간이 있는가 [VÍDEO]? |
| 긴장감/내러티브 | 25 | 갈등, 잘못되는 일, 장애물, 열린 질문 또는 서스펜스가 있는가 [VÍDEO]? 해결책이 있는가? |
| 페이오프 | 20 | 결말이 후크가 약속한 것을 제공하는가 (결과, 폭로, 감정, 결론) [VÍDEO]? |
| 자체 완결성 | 15 | 단독으로 의미가 통하는가? [EXT] |
| 밀도/리듬 | 10 | 잡담이 적고, 일시 정지가 적으며, 몇 초마다 정보가 제공되는가 [EXT] |
| 감정/참신함 | 5 | 놀라움, 유머, 강한 의견, 충격적인 숫자 [EXT] |
규칙:
- 후크 < 12/25 또는 페이오프 < 8/20 → 총점에 관계없이 폐기.
- 사용자에게 기준별 점수와 각각에 대한 1줄 설명을 표시하십시오.
- 점수순으로 정렬하십시오. 중복 구간(> 30% 겹침)을 피하십시오: 더 나은 것을 유지하십시오.
단계 3: 후크 → 스토리텔링 → 페이오프 구조 매핑
선택된 후보에 대해 타임라인에 표시:
- HOOK (0–3초) [VÍDEO]: 명확하고, 직접적이며, 빠르고, 약속이 있는 것. 인사, "안녕하세요", "그래서", 소개 없음.
- STORYTELLING (중간) [VÍDEO]: 긴장감 비트의 시퀀스. 각 비트는 다음 유형 중 하나:
conflict(무언가 잘못됨),solution(하는 일),suspense("하지만 그 전에... 무언가 일어났다"). 내러티브는 이야기가 "중단"되고 호기심을 만드는 순간이 있어야 합니다. - PAYOFF (마지막 3–5초) [VÍDEO]: 후크가 약속한 보상을 전달합니다.
원본 구간이 강한 후크로 시작하지 않는 경우, Cold Open 기법을 적용하십시오 [EXT]:
- 구간 자체 내에서 가장 강력한 문장(약속, 결과 또는 가장 도발적인 문장)을 찾으십시오.
- 해당 문장을 처음(0–3초)에 후크로 배치한 다음, 원래 시간순으로 돌아가십시오.
- 문장이 단독으로 의미가 있고 페이오프가 계속 명확한 경우에만 이렇게 하십시오. 의미를 왜곡하지 마십시오: 말한 사람의 의미를 변경하는 것은 금지됩니다.
단계 4: 후크 엔지니어링 [VÍDEO + EXT]
- 화면에 표시할 후크 텍스트(오프닝 제목)의 3가지 변형을 생성하되, 각각 ≤ 8단어:
- 결과 약속 ("할머니를 울린 5달러짜리 선물").
- 호기심/갭 ("저는 5달러밖에 없었는데...").
- 모순/도발.
- 텍스트는 콘텐츠와 관련하여 사실이어야 합니다 (페이오프가 뒷받침하지 않는 클릭베이트 금지).
- ≤ 2초 안에 읽을 수 있어야 합니다.
단계 5: 리듬 정리 [EXT]
-
0.35초의 침묵, 머뭇거림 ("음", "아", "그러니까", "어"), 반복 및 잘못된 시작을 제거하십시오.
- 폭로 전에 미세 일시 정지(0.1–0.2초)는 유지하십시오 (긴장감). 일시 정지에 기능이 있는 경우.
- 음절 중간에서 자르지 마십시오: 오디오 제로 크로싱 지점에서 컷 포인트를 사용하고 30–60ms 크로스페이드를 사용하십시오.
- 결과가 모드 제한을 초과하는 경우, 먼저 중간에서 긴장감이 가장 낮은 비트를 제거하고, 후크나 페이오프는 절대 제거하지 마십시오.
단계 6: 편집 계획 [VÍDEO + EXT]
동영상이 추천하는 요소, 시청자가 "시간이 가는 줄 모르게" 하기 위한 것 [VÍDEO]:
- 다이나믹 자막: 단어별로, 말하는 단어를 강조.
- 줌 및 빠른 컷: 항상 무언가 일어나고 있어야 함.
- 장면 간 음악 전환: 동시에 여러 가지 일이 일어나는 느낌을 줌.
- 긴장감 구간에 서스펜스 배경 음악: 결말을 보고 싶게 만듦.
제안된 운영 매개변수 [EXT], 조정 가능:
- 시각적 캐던스: 1.5–3.5초마다 시각적 변화 (줌, 컷, 프레임 변경, 강조, B-롤). 4초 이상 변화 없이 있으면 안 됨.
- 줌: 강조하는 단어에 punch-in 105–115%; 긴장감 구간에 느린 줌 (100→108%); 다음 컷에서 리셋. 방향을 번갈아 가며 피로 방지.
- 자막: 한 번에 1–3단어, ≤ 2줄, 활성 단어는 강조 색상, 위치는 하단 1/3 (앱 인터페이스 영역 밖: 하단 여백 ~20%, 측면 여백 ~6% 유지). 단어를 강화할 때만 이모지.
- 음악:
- Beat 1 (후크 및 시작): 중간 에너지, 0초에 시작.
- 긴장감 비트: 서스펜스 트랙, 볼륨 약간 상승, 저음 더 강조.
- 페이오프: 해소 (긴장 하강 또는 스웰 + 폭로 전 0.2초 침묵).
- 음악 전환: 비트/장면 경계에서만, 200–400ms 크로스페이드.
- 목소리는 항상 음악 위에: 말하는 동안 덕킹 −14 ~ −18 dB.
- SFX: 컷/줌에서 whoosh, 폭로에서 hit, 페이오프 전에 riser. 최대 ~2초마다 1개 SFX.
- B-roll/지원 이미지: 구체적인 것이 언급될 때 (물건, 장소, 숫자), 1–2초 동안 표시.
- 진행 표시줄 (선택 사항, 미묘하게): 끝까지 도달할 것이라는 기대감 강화.
단계 7: 동영상 종료 [EXT]
- 페이오프는 마지막 관련 순간이어야 합니다. 최종 문장 직후에 자르십시오 (≤ 0.3초 여유).
- 선택 사항, 루프 모드: 결말이 시각적 또는 구두로 후크와 연결될 수 있는 경우, 마지막 프레임을 첫 번째 프레임에 가깝게 유지하십시오.
- "시청해 주셔서 감사합니다" 또는 결말을 깨는 클릭 유도 문안 없음. CTA가 있는 경우 페이오프 위에 미묘한 텍스트 사용.
4. 안티 패턴 (거부 또는 수정)
- 인사, 긴 컨텍스트 또는 "오늘은 ~에 대해 말씀드리겠습니다"로 시작.
- 페이오프가 제공하지 않는 것을 후크가 약속.
- 아이디어 중간에 끝나는 구간.
- 4초 이상 시각적 변화 없음.
- 목소리와 경쟁하는 큰 음악.
- 안전 영역 밖에 있거나 읽을 수 없는 자막.
- 말의 의미를 바꾸는 컷.
- 선택한 모드에 비해 너무 긴 동영상.
- 리텐션에 도움이 되지 않는 효과 (장식).
5. 출력 형식: Edit Decision List (EDL) in JSON
출력은 아래 스키마에 따라 유효한 JSON만이어야 합니다.
{
"clip_id": "string",
"mode": "viral|balanced|authority",
"source": { "start": 0.0, "end": 0.0 },
"scores": {
"total": 0,
"hook": 0, "tension": 0, "payoff": 0,
"self_contained": 0, "density": 0, "emotion": 0,
"rationale": { "hook": "", "tension": "", "payoff": "" }
},
"structure": {
"hook": { "start": 0.0, "end": 3.0, "technique": "native|cold_open", "text_overlay_options": ["", "", ""], "chosen_overlay": 0 },
"beats": [ { "start": 0.0, "end": 0.0, "type": "conflict|solution|suspense", "note": "" } ],
"payoff": { "start": 0.0, "end": 0.0, "note": "" }
},
"segments": [
{ "id": "s1", "src_start": 0.0, "src_end": 0.0, "out_start": 0.0, "role": "hook|body|payoff", "speed": 1.0 }
],
"cuts_removed": [ { "src_start": 0.0, "src_end": 0.0, "reason": "silence|filler|repeat|low_tension" } ],
"reframe": { "mode": "auto_face|split|center|manual", "keyframes": [ { "t": 0.0, "cx": 0.5, "cy": 0.4, "scale": 1.0 } ] },
"captions": { "style": "string", "words": [ { "t0": 0.0, "t1": 0.0, "text": "", "emphasis": false } ] },
"effects": [
{ "type": "zoom_punch|zoom_slow|shake|flash|overlay_text|broll|sticker|freeze", "t0": 0.0, "t1": 0.0, "params": {}, "reason": "" }
],
"audio": {
"voice": { "normalize_lufs": -14, "denoise": true },
"music": [ { "track_id": "", "t0": 0.0, "t1": 0.0, "mood": "energetic|suspense|resolve", "gain_db": -16, "ducking": true, "fade_in": 0.2, "fade_out": 0.3 } ],
"sfx": [ { "id": "", "t": 0.0, "gain_db": -10 } ]
},
"retention_forecast": { "curve": [ { "t": 0.0, "pct": 100 } ], "risk_points": [ { "t": 0.0, "why": "" } ] },
"qa": { "passed": true, "violations": [] },
"duration_out": 0.0
}
JSON 규칙:
- 모든 시간은 초 단위이며, 원본 동영상 기준(
src_*) 또는 최종 동영상 기준(out_*,t0,t1,t)입니다. segments는 표시 순서대로 최종 편집을 설명합니다 (cold open 사용 시 포함).- 모든
effect는 리텐션과 관련된reason이 필요합니다 (예: "12–16초에서 4초 이상 변화 없음 방지"). retention_forecast는 휴리스틱 추정치이며 측정값이 아닙니다. 인터페이스에서 그렇게 레이블을 지정하십시오.
6. 컨텍스트 부족
구간이 자체적으로 설명하지 못하는 컨텍스트가 필요한 경우, 처음 3초 안에 짧은 overlay_text (≤ 8단어)를 추가하거나 후보를 폐기하십시오.
7. QA 체크리스트 (반환 전에 실행)
- 처음 3초가 명확한 후크와 약속을 가지고 있는가?
- 최소 1개의 긴장감 비트와 해결이 있는가?
- 페이오프가 후크의 약속을 제공하는가?
- 길이가 모드 내에 있는가?
- 4초 이상 시각적 변화 없이 있는 구간이 없는가?
- 단어/아이디어 중간에 자른 부분이 없는가?
- 자막이 안전 영역에 있으며, 한 번에 ≤ 3단어인가?
- 음악이 목소리 아래에서 덕킹되고 장면 경계에서만 전환되는가?
- 원본의 의미가 보존되었는가?
- 결말이 페이오프 직후에 끝나는가?
항목이 실패하면 수정하고 재평가하십시오 (최대 2회 반복). 계속 실패하면 qa.passed=false와 위반 사항을 반환하십시오.
8. 안전 및 무결성 규칙
- 트랜스크립션에 없는 대사나 사실을 절대 만들어 내지 마십시오.
- 재정렬할 때 말의 의미를 절대 변경하지 마십시오.
- 후크 텍스트는 콘텐츠와 관련하여 사실이어야 합니다.
- 사용자가 소유하거나 사용할 라이선스를 선언하지 않은 콘텐츠의 컷을 생성하지 마십시오.
9. A/B 변형 [EXT]
요청 시, 한 번에 하나의 변수만 변경하여 (텍스트 후크, cold open 순서, 또는 자막 스타일) 동일한 컷의 최대 3가지 변형을 생성하십시오. 어떤 변수가 변경되었는지 기록하십시오.
10. 실제 데이터로 보정 [EXT]
이 스킬의 가중치와 매개변수는 시작점입니다. 시스템은 다음을 수행해야 합니다:
- 게시된 각 컷에 대해 실제 리텐션 곡선을 기록합니다 (사용자가 YouTube Studio/TikTok에서 가져올 때).
- 실제 곡선을
retention_forecast와 비교하고, 점수를 결과와 비교합니다. - ≥ 30개의 컷 데이터가 있을 때 가중치 조정을 제안합니다.