viral-video-hook-templates について
短尺動画の制作者向けマーケティングスキルです。10種類のフックテンプレート、FFmpegのフィルター例、プラットフォーム別の提案を使って、動画の冒頭を設計・テストできます。
主な機能
- 01短尺動画向けフックテンプレート10種
- 02FFmpegフィルターグラフとパラメーター
- 03ビジュアルフック効果の例
- 04フックの表示時間の目安
- 05プラットフォーム別の提案
- 06A/Bテストのワークフロー
活用シーン
- 01短尺動画の冒頭テキストと映像の設計
- 02FFmpegで冒頭に視覚効果を追加
- 03テスト用の冒頭バリエーションを生成
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ josiahsiegel/ claude-plugin-marketplace --skill viral-video-hook-templatesインストール後、Claude Code で/viral-video-hook-templatesを入力して読み込まれたか確認します。
同梱ファイルreferences/animation-color-audio-parameters.mdreferences/ten-hook-templates.md
詳細
重要なガイドライン
Windows のファイルパス要件
必須:Windows ではファイルパスに常にバックスラッシュを使用してください
Windows で Edit または Write ツールを使用する場合、ファイルパスにはスラッシュ(/)ではなく、必ずバックスラッシュ(\)を使用してください。
ドキュメント作成のガイドライン
ユーザーから明示的に依頼されない限り、新しいドキュメントファイルを作成しないでください。
バイラル動画のフックテンプレート(2025-2026)
フックの科学
重要な時間:スクロールを止めるには1.3~3秒あります。調査によると:
- 視聴者の65%は、3秒以内に視聴するかスキップするかを決めます
- 強力なフックがある動画は、完了率が2~3倍高くなります
- フックは動画のバイラル性の最大80%を左右します
フックのタイミングに関する参考情報
タイプ別の最適なフックの長さ
| フックのタイプ | 長さ | 理由 |
|---|---|---|
| パターン割り込み(ビジュアル) | 0.3~0.5秒 | 素早く驚かせてから、本編に入ります |
| パターン割り込み(テキスト) | 1.0~1.5秒 | 「STOP」などを読む時間です |
| 好奇心のギャップ | 2.0~3.0秒 | 2段階で明かすタイミングです |
| 直接的な挑戦 | 1.5~2.5秒 | 読んで、理解し、反応する時間です |
| 変化の予告 | 2.0~3.0秒 | ビフォー/アフターを比較する時間です |
| 質問フック | 1.5~2.0秒 | 読んで、考えを促す時間です |
FFmpeg の時間単位クイックリファレンス
FFmpeg のフィルター式では、すべて小数を含む秒数を使用します:
| 式 | 意味 | 使用例 |
|---|---|---|
t | 現在の時刻 | enable='lt(t,2)' = 最初の2秒 |
between(t,0,2.5) | 時間範囲 | フックを2.5秒間表示 |
if(lt(t,1),expr1,expr2) | 条件式 | 最初の1秒に異なる効果を適用 |
sin(t*10) | 振動 | 1秒あたり10サイクル |
exp(-t*3) | 減衰 | 素早くフェード(3 = 減衰が速い) |
おすすめのフックのタイミング
# Hook window timing breakdown:
# 0.0-0.3s: Visual impact (flash, zoom, color)
# 0.3-1.5s: Primary hook text appears
# 1.0-2.5s: Secondary text/elaboration
# 2.5-3.0s: Transition to main content
# Example: Complete hook with timed elements
ffmpeg -i input.mp4 \
-vf "
eq=brightness='0.2*between(t,0,0.2)',
drawtext=text='STOP':fontsize=80:fontcolor=red:x=(w-tw)/2:y=h*0.12:enable='between(t,0.2,1.5)',
drawtext=text='This changes everything':fontsize=48:fontcolor=white:x=(w-tw)/2:y=h*0.20:enable='between(t,1.0,2.8)'
" \
output_timed_hook.mp4
実績のある10種類のフックテンプレート
バイラル動画で定番の10種類のフックを簡潔にまとめています。各項目のFFmpegフィルターグラフとパラメーターの全容は、references/ten-hook-templates.md にあります。
- パターン割り込み — 最初の0.5秒に予想外の映像変化を入れます。
- 質問フック — 素早いカットに合わせて、挑発的なテキストを重ねます。
- 大胆な主張フック — 強調した断定的なテキストを画面に表示します。
- 好奇心のギャップ — 後で答えが明かされることを予感させる、一部だけの見せ方です。
- ネガティブフック — 直感に反する導入です。
- 数字フック — 「5つのこと…」のようなテキストを重ねます。
- ストーリーフック — 物語の途中の場面から始めます。
- ビジュアルスペクタクル — 印象的なトランジションやショット構成を使います。
- 直接語りかけ — キャラクターが最初のフレームでカメラを見て話します。
- クリフハンガー — 数秒後に解決する場面を一瞬保ちます。
テンプレートのフィルターグラフ全体を確認するには、references/ten-hook-templates.md を読み込んでください。
ビジュアルフック効果ライブラリ
シェイク/振動効果
# Subtle shake for emphasis
ffmpeg -i input.mp4 \
-vf "crop=1060:1900:(10+10*sin(t*30)):(10+10*cos(t*25)):enable='lt(t,1)',scale=1080:1920" \
-c:v libx264 -preset fast -crf 23 \
-c:a copy \
output_shake.mp4
ズームパルス
# Rhythmic zoom pulse - 8% amplitude at ~2Hz for 1.5s (60% more visible than 5%)
# sin(t*12) = 12 rad/s = 1.91 Hz oscillation. Completes before 1.3-second decision point
# Note: 60fps ensures smooth motion; d=1 for continuous per-frame processing
ffmpeg -i input.mp4 \
-vf "fps=60,zoompan=z='if(lt(t,1.5),1+0.08*sin(t*12),1)':d=1:x='iw/2-(iw/zoom/2)':y='ih/2-(ih/zoom/2)':s=1080x1920" \
-c:v libx264 -preset fast -crf 23 \
-c:a copy \
output_zoom_pulse.mp4
カラーフラッシュ
# Red flash then normal
ffmpeg -i input.mp4 \
-vf "colorbalance=rs=0.5:gs=-0.2:bs=-0.2:enable='lt(t,0.3)',colorbalance=rs=0.3:enable='between(t,0.3,0.5)'" \
-c:v libx264 -preset fast -crf 23 \
-c:a copy \
output_color_flash.mp4
ビネットの表示
# Dark vignette that opens up
ffmpeg -i input.mp4 \
-vf "vignette=PI*min(t,2)/2" \
-c:v libx264 -preset fast -crf 23 \
-c:a copy \
output_vignette_reveal.mp4
A/Bテストのワークフロー
複数のフックのバリエーションを生成する
#!/bin/bash
# generate_hook_variants.sh - Create multiple hook versions for testing
INPUT="$1"
BASE=$(basename "$INPUT" .mp4)
# Variant A: Curiosity Gap
ffmpeg -i "$INPUT" \
-vf "drawtext=text='Wait for it...':fontsize=64:fontcolor=yellow:borderw=4:bordercolor=black:x=(w-tw)/2:y=h*0.15:enable='between(t,0,2)'" \
-c:v libx264 -preset fast -crf 23 -c:a copy \
"${BASE}_hook_A.mp4" &
# Variant B: Direct Challenge
ffmpeg -i "$INPUT" \
-vf "drawtext=text='STOP SCROLLING':fontsize=72:fontcolor=red:borderw=5:bordercolor=white:x=(w-tw)/2:y=h*0.12:enable='between(t,0,2)'" \
-c:v libx264 -preset fast -crf 23 -c:a copy \
"${BASE}_hook_B.mp4" &
# Variant C: Question Hook
ffmpeg -i "$INPUT" \
-vf "drawtext=text='Did you know?':fontsize=56:fontcolor=white:borderw=4:bordercolor=black:x=(w-tw)/2:y=h*0.15:enable='between(t,0,2)'" \
-c:v libx264 -preset fast -crf 23 -c:a copy \
"${BASE}_hook_C.mp4" &
wait
echo "Generated 3 hook variants for A/B testing"
ls -la "${BASE}_hook_*.mp4"
フックのパフォーマンス指標
| フックのタイプ | 平均停止率 | 最適なコンテンツタイプ | リスクレベル |
|---|---|---|---|
| パターン割り込み | 85% | すべて | 低 |
| 好奇心のギャップ | 78% | 教育系 | 低 |
| 直接的な挑戦 | 75% | 意見/ニッチ | 中 |
| 変化 | 80% | チュートリアル/デモ | 低 |
| 大胆な主張 | 72% | ハウツー | 中 |
| 直感に反する内容 | 70% | 教育系 | 中 |
| ソーシャルプルーフ | 68% | レビュー | 低 |
| 緊急性 | 65% | トレンド/ニュース | 高 |
| ストーリーテリング | 82% | パーソナル/ブランド | 低 |
| 質問 | 74% | 教育系 | 低 |
プラットフォーム別のフックに関するおすすめ
| プラットフォーム | 効果的なフック | 避けるもの |
|---|---|---|
| TikTok | パターン割り込み、好奇心のギャップ、直接的な挑戦 | 長いテキストのフック |
| YouTube Shorts | 変化、質問、ストーリーテリング | クリックベイト的な緊急性 |
| Instagram Reels | ソーシャルプルーフ、変化、大胆な主張 | 宣伝色が強すぎる内容 |
| Facebook Reels | ストーリーテリング、ソーシャルプルーフ、質問 | 若者言葉 |
アニメーション、カラー、オーディオのパラメーター(2025-2026)
アニメーションのタイミング、カラーグレーディングLUT、オーディオフックの設計に関する具体的なパラメーター値は、references/animation-color-audio-parameters.md に記載されています。主な内容:
- アニメーションのタイミング: キネティックテキストの表示時間は0.4-0.6 s、パターンを中断するカットは0.3 sです。
- カラーグレーディング: サムネイルを目立たせるには彩度を1.15-1.3xに上げます。シネマティックな雰囲気にはティール/オレンジのスプリットトーンを使います。
- オーディオ: トレンドのサウンドレイヤーはメインの音声より-8 dB低くします。ナレーションは-3 dBです。
関連スキル
viral-video-platform-specs- プラットフォーム要件viral-video-animated-captions- 字幕のスタイリングffmpeg-viral-tiktok- TikTokの最適化ffmpeg-viral-shorts- YouTube Shortsの最適化