기술: 리텐션 숏츠 (후크 → 스토리텔링 → 보상)
0. 출처 및 방법론적 투명성
기반: "ESSA TÉCNICA VIRALIZOU MEU SHORTS COM 30 MILHÕES DE VISUALIZAÇÕES" (O Milionário 채널, ID iPpt_INjn8A). [영상] 표시 항목은 저자가 가르친 내용입니다. [EXT] 표시 항목은 이 시스템의 엔지니어링 확장입니다: 합리적인 휴리스틱이지만 영상에 의해 입증되지 않았습니다. 실제 리텐션 데이터로 보정해야 합니다 (10절 참조).
1. 핵심 원리 [영상]
- 짧은 영상의 입소문 여부를 결정하는 것은 리텐션 라인입니다: 더 많은 사람들이 끝까지 시청할수록 플랫폼이 더 많이 배포합니다.
- 목표: 리텐션 라인을 최대한 직선으로 만드는 것, 하락 없이. 중요한 것은 시청자가 끝까지 도달하는 것입니다.
- 세 가지 필수 부분: Hook (후크), Storytelling (스토리텔링), Payoff (보상).
- 대본/내러티브는 "자동차의 엔진"입니다: 내러티브 없는 멋진 편집은 시청자를 붙잡지 못합니다.
- 길이: ~15초 이하의 영상은 폭발적으로 퍼지는 경향이 더 큽니다. 전체를 시청하기 더 쉽기 때문입니다. 더 긴 영상은 입소문이 나기 더 어렵지만 충성도 높은 시청자를 구축합니다. 틈새에서 더 긴 영상이 필요한 경우 동일한 세 단계를 사용하십시오.
2. 길이 모드 [영상 + EXT]
| 모드 | 목표 길이 | 사용 시기 |
|---|---|---|
viral | 12–20초 (최대 25) | 도달 범위 극대화. 기본값. |
balanced | 20–40초 | 최소한의 맥락이 있는 콘텐츠. |
authority | 40–75초 | 충성도 높은 시청자 구축, 더 깊이 있는 콘텐츠. |
사용자가 모드를 선택합니다. 좋은 구간이라도 모드 제한을 초과하지 마십시오: 죽은 부분을 잘라서 단축하십시오.
3. 의사 결정 파이프라인 (순서대로 따르기)
1단계: 후보 분할
- 입력: 단어별 타임스탬프가 포함된 전사, 장면 전환, 침묵, 화자.
- 문장 경계에서 시작하고 끝나는 후보 창을 생성합니다 (문장이나 생각 중간에 절대 넣지 않음). 요청된 수보다 3배 더 많은 후보를 생성합니다.
- 각 후보는 자체 완결적이어야 합니다: 맥락이 없는 시청자가 나머지 영상 없이 이해할 수 있어야 합니다. 이전 맥락에 의존하는 경우 폐기하거나 맥락 자막을 준비합니다 (6절).
2단계: 각 후보 점수 매기기 (0–100)
| 기준 | 가중치 | 평가 항목 |
|---|---|---|
| Hook 잠재력 | 25 | 처음 3초 안에 명확하고, 직접적이며, 빠르고, 보상을 약속하는 문장이나 순간이 있습니까? [영상] |
| 긴장/내러티브 | 25 | 갈등, 잘못되는 일, 장애물, 열린 질문 또는 서스펜스가 있습니까? [영상] 해결책이 있습니까? |
| Payoff | 20 | 결말이 후크가 약속한 것(결과, 폭로, 감정, 결론)을 제공합니까? [영상] |
| 자체 완결성 | 15 | 단독으로 의미가 있습니까? [EXT] |
| 밀도/리듬 | 10 | 빈말, 긴 멈춤이 적고, 몇 초마다 정보가 제공됩니까? [EXT] |
| 감정/참신성 | 5 | 놀라움, 유머, 강한 의견, 충격적인 숫자 [EXT] |
규칙:
- Hook < 12/25 또는 Payoff < 8/20 → 총점에 관계없이 폐기.
- 사용자에게 기준별 점수와 각 기준에 대한 1줄 설명을 표시합니다.
- 점수 순으로 정렬합니다. 중복 컷(> 30% 겹침)은 피하고, 더 나은 것을 유지합니다.
3단계: Hook → Storytelling → Payoff 구조 매핑
선택된 후보에 대해 타임라인에 표시:
- HOOK (0–3초) [영상]: 명확하고, 직접적이며, 빠르고, 약속이 있음. 인사말, "안녕하세요 여러분", "그럼", 소개 없음.
- STORYTELLING (중간) [영상]: 긴장의 비트 시퀀스. 각 비트는 다음 유형 중 하나:
conflito(무언가 잘못됨),solução(무엇을 하는지),suspense("하지만 그 전에... 무언가 일어났다"). 내러티브는 이야기가 "잘리고" 호기심을 불러일으키는 순간이 있어야 합니다. - PAYOFF (마지막 3–5초) [영상]: 후크가 약속한 보상을 제공합니다.
원본 구간이 강력한 후크로 시작하지 않는 경우 Cold Open 기술을 적용합니다 [EXT]:
- 해당 구간 자체에서 가장 강력한 문장(약속, 결과 또는 가장 도발적인 문장)을 찾습니다.
- 해당 문장을 시작(0–3초)에 후크로 배치한 다음 시간 순서로 돌아갑니다.
- 문장이 단독으로 의미가 있고 보상이 계속 명확한 경우에만 수행합니다. 의미를 왜곡하지 마십시오: 화자가 말한 의미를 변경하는 것을 금지합니다.
4단계: 후크 엔지니어링 [영상 + EXT]
- 화면 후크 텍스트 (시작 제목) 3가지 변형을 생성하며, 각각 ≤ 8단어:
- 결과 약속 ("$5짜리 선물을 받고 할머니가 우셨다").
- 호기심/공백 ("나는 단돈 $5만 있었는데...").
- 모순/도발.
- 텍스트는 콘텐츠와 관련하여 진실해야 함 (보상이 뒷받침하지 않는 클릭베이트 금지).
- ≤ 2초 안에 읽을 수 있어야 합니다.
5단계: 리듬 정리 [EXT]
- 0.35초 이상의 침묵, 머뭇거림 ("음", "그게", "저기", "어어"), 반복 및 잘못된 시작을 제거합니다.
- 폭로 전 (긴장감을 위해) 0.1–0.2초의 미세 멈춤은 유지하며, 멈춤에 기능이 있는 경우.
- 음절 중간에서 자르지 마십시오: 오디오 제로 크로싱 지점에서 컷 포인트를 사용하고 30–60ms 크로스페이드를 적용합니다.
- 결과가 모드 제한을 초과하면 중간에서 긴장도가 가장 낮은 비트를 먼저 제거하고, 후크나 보상은 절대 제거하지 않습니다.
6단계: 편집 계획 [영상 + EXT]
영상에서 권장하는 요소, 시청자가 "시간이 어떻게 지나가는지 모르게" 하려면 [영상]:
- 동적 자막: 단어별로, 말하는 단어를 강조 표시.
- 줌 및 빠른 컷: 항상 무언가가 진행 중이어야 함.
- 장면 간 음악 전환: 여러 가지가 동시에 일어나는 느낌을 줌.
- 긴장 구간의 서스펜스 배경 음악은 결말을 보고 싶게 만듦.
제안된 운영 매개변수 [EXT], 조정 가능:
- 시각적 케이던스: 1.5–3.5초마다 시각적 변화 (줌, 컷, 프레임 변경, 강조, B-roll). 4초 이상 변화 없이 두지 않음.
- 줌: 강조할 단어에 펀치인 105–115%; 긴장 구간에서 느린 줌 (100→108%); 다음 컷에서 리셋. 피로를 방지하기 위해 방향을 번갈아 가며.
- 자막: 한 번에 1–3단어, ≤ 2줄, 활성 단어는 대비 색상으로 표시, 하단 1/3 지점에 위치 (앱 인터페이스 영역 밖: 하단 여백 ~20%, 측면 여백 ~6% 유지). 단어를 강화할 때만 이모지 사용.
- 음악:
- 비트 1 (후크 및 시작): 중간 에너지, 0초에 시작.
- 긴장 비트: 서스펜스 트랙, 볼륨 약간 상승, 저음이 더 두드러짐.
- 보상: 해결 (긴장 완하 또는 팽창 + 폭로 전 0.2초 무음).
- 음악 전환: 비트/장면 경계에서만, 200–400ms 크로스페이드.
- 음성은 항상 음악 위에: 말하는 동안 덕킹 -14 ~ -18dB.
- SFX: 컷/줌에서 우쉬, 폭로에서 히트, 보상 전 라이저. 최대 ~2초마다 1 SFX.
- B-roll/지원 이미지: 구체적인 것이 언급될 때 (물체, 장소, 숫자), 1–2초 동안 보여줍니다.
- 진행 표시줄 (선택 사항): 끝에 도달할 기대감을 강화.
7단계: 영상 종료 [EXT]
- 보상은 마지막 관련 순간이어야 합니다. 마지막 문장 직후에 자릅니다 (≤ 0.3초 여유).
- 선택 사항, 루프 모드: 결말이 시각적으로나 구두로 후크와 연결될 수 있으면 마지막 프레임을 첫 번째 프레임과 가깝게 유지합니다.
- "시청해주셔서 감사합니다" 또는 종말을 깨는 행동 유도 금지. CTA가 있으면 보상 위에 눈에 띄지 않는 텍스트를 사용합니다.
4. 안티 패턴 (거부 또는 수정)
- 인사말, 긴 맥락 또는 "오늘은 ~에 대해 이야기하겠습니다"로 시작.
- 보상이 제공하지 않는 것을 약속하는 후크.
- 생각 중간에 끝나는 구간.
- 4초 이상 시각적 변화 없음.
- 음성과 경쟁하는 큰 음악.
- 안전 영역 밖 또는 읽을 수 없는 자막.
- 말의 의미를 바꾸는 컷.
- 선택한 모드에 비해 너무 긴 영상.
- 리텐션에 기여하지 않는 효과 (장식).
5. 출력 형식: JSON 형식의 EDL (편집 결정 목록)
출력은 아래 스키마에 따라 유효한 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]
요청 시 동일한 컷의 최대 3가지 변형을 생성하고, 한 번에 하나의 변수(텍스트 후크, cold open 순서 또는 자막 스타일)를 변경합니다. 변경된 변수를 기록합니다.
10. 실제 데이터를 사용한 보정 [EXT]
이 스킬의 가중치와 매개변수는 시작점입니다. 시스템은 다음을 수행해야 합니다:
- 게시된 각 컷에 대해 실제 리텐션 곡선을 기록합니다 (사용자가 YouTube Studio/TikTok에서 가져올 때).
- 실제 곡선을
retention_forecast와 비교하고, 점수를 결과와 비교합니다. - ≥ 30개의 컷에 대한 데이터가 있으면 가중치 조정을 제안합니다.