スキル: リテンションショート (フック → ストーリーテリング → ペイオフ)
0. 出自と方法論的正直さ
ベース動画: "ESSA TÉCNICA VIRALIZOU MEU SHORTS COM 30 MILHÕES DE VISUALIZAÇÕES" (チャンネル O Milionário, ID iPpt_INjn8A)。[動画] マークの項目は著者が教えている内容です。[拡張] マークの項目は本システムのエンジニアリングによる拡張であり、妥当なヒューリスティックですが、動画では検証されていません。実際のリテンションデータでキャリブレーションする必要があります(セクション10参照)。
1. 中心原理 [動画]
- ショート動画がバズるかどうかを決めるのはリテンションラインです。最後まで見る人が多ければ多いほど、プラットフォームが拡散します。
- 目標: リテンションラインをできるだけ直線的にし、低下を防ぐこと。視聴者が最後まで到達することが重要です。
- 必須の3つのパート: フック(導入)、ストーリーテリング(ナラティブ)、ペイオフ(報酬)。
- 脚本/ナラティブは「車のエンジン」です。綺麗な編集だけでは視聴を維持できません。
- 時間: ~15秒までの動画は爆発的に伸びる傾向があります。なぜなら、最後まで見るのが簡単だからです。長い動画はバズるのが難しいですが、熱心な視聴者を獲得できます。ニッチが長い動画を必要とする場合でも、同じ3つのステップを使用してください。
2. 時間モード [動画 + 拡張]
| モード | 目標時間 | 使用タイミング |
|---|---|---|
viral | 12–20秒 (最大25) | リーチ最大化。デフォルト。 |
balanced | 20–40秒 | 最低限の文脈が必要なコンテンツ。 |
authority | 40–75秒 | 熱心な視聴者を構築、より深いコンテンツ。 |
ユーザーがモードを選択します。たとえ良いクリップでも、モードの制限を超えてはいけません。不要な部分を削って短くします。
3. 決定パイプライン(順序に従って実行)
ステップ 1: 候補をセグメント化
- 入力: 単語単位のタイムスタンプ付き文字起こし、シーンチェンジ、無音、話者情報。
- 文の区切りで開始・終了する候補ウィンドウを生成します(文やアイデアの途中では決して開始・終了しない)。必要な数の3倍の候補を生成します。
- 各候補は自己完結型である必要があります。文脈のない視聴者が動画の残りを知らなくても理解できること。以前の文脈に依存する場合は、破棄するか、文脈の字幕を準備します(セクション6参照)。
ステップ 2: 各候補をスコアリング (0–100)
| 基準 | 重み | 評価内容 |
|---|---|---|
| フックの可能性 | 25 | 最初の3秒に、明確で、直接的で、速く、報酬を約束するフレーズや瞬間がありますか? [動画] |
| 緊張/ナラティブ | 25 | 対立、何か問題、障害、未解決の疑問、またはサスペンスがありますか? [動画] 解決策はありますか? |
| ペイオフ | 20 | 結末はフックが約束したもの(結果、暴露、感情、結論)を届けていますか? [動画] |
| 自己完結性 | 15 | 単体で意味をなしますか? [拡張] |
| 密度/リズム | 10 | 無駄な部分が少なく、間が少なく、数秒ごとに情報が詰まっていますか? [拡張] |
| 感情/新規性 | 5 | 驚き、ユーモア、強い意見、衝撃的な数字がありますか? [拡張] |
ルール:
- フックが 12/25 未満 または ペイオフが 8/20 未満 → 合計スコアに関わらず破棄。
- ユーザーに、基準ごとのスコアと各行の1行の根拠を表示します。
- スコア順に並べます。重複するカット(>30% 重複)は避け、より良い方を採用します。
ステップ 3: フック → ストーリーテリング → ペイオフの構造をマッピング
選択された候補について、タイムライン上でマークします:
- フック (0–3秒) [動画]: 明確、直接的、速く、約束がある。挨拶なし、「こんにちは皆さん」なし、「じゃあ」なし、自己紹介なし。
- ストーリーテリング (中間) [動画]: 緊張のビートの連続。各ビートは
対立(何かがうまくいかない)、解決(何をするか)、サスペンス(「でもその前に…何かが起こった」) のいずれかのタイプ。ナラティブには、物語が「遮断され」好奇心を生み出す瞬間が必要です。 - ペイオフ (最後の3–5秒) [動画]: フックが約束した報酬を届けます。
元のクリップが強力なフックで始まっていない場合、Cold Open テクニックを適用します [拡張]:
- クリップ内で最も強いフレーズ(約束、結果、または最も挑発的なフレーズ)を見つけます。
- そのフレーズを最初(0–3秒)にフックとして配置し、その後時系列に戻ります。
- そのフレーズが単独で意味をなし、ペイオフが明確なままである場合にのみこれを行います。意味を歪めないでください: 話者の発言の意味を変えることは禁止。
ステップ 4: フックのエンジニアリング [動画 + 拡張]
- 画面上のフックテキスト(オープニングタイトル)の3つのバリエーションを生成します。それぞれ8語以下:
- 結果の約束 (「たったR$5の祖母を泣かせたプレゼント」)
- 好奇心/ギャップ (「僕はたったR$5しか持っていなくて…」)
- 矛盾/挑発
- テキストはコンテンツに対して真実である必要があります(ペイオフが支えられないクリックベイトは不可)。
- 2秒以内に読める必要があります。
ステップ 5: リズムの調整 [拡張]
- 0.35秒以上の無音、「えー」「あのー」「みたいな」「あー」などのフィラー、繰り返し、言い間違いを削除します。
- 暴露前の緊張を作るための微小なポーズ(0.1–0.2秒)は保持します。
- 音節の途中でカットしないでください。オーディオのゼロクロスでカットポイントを使用し、30–60msのクロスフェードをかけます。
- 結果がモードの制限を超える場合は、最初に中間の緊張度の低いビートを削除します。フックとペイオフは決して削除しません。
ステップ 6: 編集計画 [動画 + 拡張]
動画が推奨する要素(視聴者に「時間の経過を感じさせない」ため [動画]):
- 動的な字幕: 単語ごとに、話されている単語を強調表示。
- ズームとクイックカット: 常に何かが起こっている必要があります。
- シーン間の音楽の変更: 複数のことが同時に起こっている感覚を与えます。
- 緊張部分でのサスペンス音楽: 最後まで見たい気持ちを生み出します。
提案される操作パラメータ [拡張]、調整可能:
- 視覚的なリズム: 1.5–3.5秒ごとに視覚的な変化(ズーム、カット、フレーミングの切り替え、ハイライト、Bロール)。4秒以上変化がない状態を作らない。
- ズーム: 強調する単語でパンチイン 105–115%; 緊張部分でスローズーム (100→108%); 次のカットでリセット。方向を交互に変えて疲れを防ぐ。
- 字幕: 一度に1–3語、最大2行、アクティブな単語を強調色で表示、下部3分の1の位置(アプリのインターフェースゾーンの外: 下部マージン約20%、側面マージン約6%を維持)。絵文字は単語を強調する場合のみ。
- 音楽:
- ビート1 (フックと開始): 中程度のエネルギー、0秒で開始。
- 緊張ビート: サスペンストラック、音量がわずかに上がり、低音が目立つ。
- ペイオフ: 解決(緊張の低下またはスウェル + 暴露前の0.2秒の無音)。
- 音楽の変更: ビート/シーンの境界でのみ、200–400msのクロスフェード。
- ボーカルは常に音楽の上に: 発話中にダッキング -14 〜 -18 dB。
- SFX: カット/ズームでウーッシュ、暴露でヒット、ペイオフ前のライザー。最大約2秒に1つのSFX。
- Bロール/補助画像: 具体的なもの(物体、場所、数字)が言及された場合、1–2秒表示。
- プログレスバー (オプション): 最後まで見る期待を強化。
ステップ 7: 動画の終わり [拡張]
- ペイオフは最後の重要な瞬間である必要があります。最後のフレーズの直後(≤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バリエーション [拡張]
リクエストされた場合、同じカットの最大3つのバリエーションを生成します。一度に1つの変数(テキストのフック、Cold Openの順序、または字幕スタイル)を変更します。どの変数が変更されたかを記録します。
10. 実データによるキャリブレーション [拡張]
このスキルの重みとパラメータは出発点です。システムは以下を行う必要があります:
- 公開された各カットについて、実際のリテンション曲線を記録します(ユーザーが YouTube Studio/TikTok からインポートした場合)。
- 実際の曲線と
retention_forecastを比較し、スコアと結果を比較します。 - 30以上のカットのデータがある場合、重みの調整を提案します。