viral-hook について
viral-hookは、動画の場面に合わせた冒頭アクションとタイトルを考えるスキルです。レンダリングツールでフック映像と元動画をつないだ完成動画を生成します。
主な機能
- 01場面に応じたフック選定
- 024種類のフックカテゴリ
- 03任意のタイトルと文字スタイル案内
- 04フックと連結動画の生成
活用シーン
- 01動画に短いドラマチックな冒頭を追加
- 02映像内の物や空間を使ったフック作成
MCP 対応
Pika MCPのツール(`generate_viral_hook`など)を呼び出し、メディア分析と動画のレンダリングを行います。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ pika-labs/ pika-plugins --skill viral-hookインストール後、Claude Code で/viral-hookを入力して読み込まれたか確認します。
詳細
Viral Hook
ユーザーの動画の冒頭に、セリフのない約4秒間の過激なフックを加えます。ユーザー自身のシーンに突如として起こる、目を引く出来事です。下三分の一にデザインされたタイトルを焼き込むこともできます。その後、手を加えていないクリップへハードカットします。
generate_viral_hook は1回の呼び出しでレンダリング全体を行い、フックとつなぎ合わせた最終版の両方を返します。このスキルの役割は、ツールではできないクリエイティブな判断をすることです。シーンを読み取り、メニューからフックのアクションを選び、タイトルを書きます。
フックのルール(hook_action として記述する内容を規定します)
- 一瞬で確実に注意を引くこと。 約2秒以内に、過激で見逃しようのないものにします。動画のテーマに合っているか、現実味があるかよりも優先します。
- ユーザー自身のシーンに突如として起こること。 同じ人物、場所、照明を使います。ツールは最適な視覚的アンカーとなるフレームを基準にします。使える場合は0秒、それ以外の場合は顔を最初に検出したフレームです。その空間に入り込む出来事を描写し、別の場所に変えてはいけません。
- シーンの実際の形状を活かすこと。 奥行きのある出入り口から入る、被写体の後ろに壁がある、頭上に空間がある、といった要素を活用します。
- セリフを入れないこと。 声は使わず、環境音や衝撃音のみとします。
hook_actionにセリフを書いてはいけません。
フックの大分類メニュー
大分類は4つあります。同じクリップやセッションで実行するたびに、大分類をローテーションしてください。ローテーションしないと、再生成の結果が乗り物、爆発、生き物に偏ります。アーキタイプは出発点であり、選択肢を限定するものではありません。そのカテゴリ内で自由に考案してください。
A. 破壊的な侵入 — 外部からの力が激しく侵入し、シーンを損傷する
| アーキタイプ | 起こること | シーンに必要な要素 |
|---|---|---|
| 突進してくる乗り物 | 車、トラック、バスが壁や出入り口を突き破り、カメラに向かって突進する | 背景に奥行きがある、または後方に壁がある |
| 鉄砲水/大波 | 壁が破裂し、水がカメラに向かって押し寄せる | 廊下、または後方の壁 |
| 構造物の崩壊 | 天井、壁、棚が崩れ、破片が降り注ぐ | 頭上の空間、または壁 |
| 爆発/爆風 | 人物の背後で火球が発生し、衝撃波と破片が手前へ押し寄せる | 背景に面がある |
| 生き物の襲撃 | 動物や怪物が画面外から飛びかかる、または飛び込んでくる | 画面外へつながる開けた縁 |
| ありえない侵入者 | 恐竜、ゾウ、UFO、巨大な手が人物の背後から入り込む | 背景に空間がある |
| 自然災害 | 竜巻、隕石、落雷、陥没穴 | 屋外、または広い空間 |
B. 物理法則の異常 — フォトリアルなまま物理法則が崩れ、シーンと被写体はそのままで動きだけが異常になる
| アーキタイプ | 起こること | シーンに必要な要素 |
|---|---|---|
| 重力が上向きに反転 | 被写体、動かせる物体、ほこりが天井へ向かって落ちる | 屋内のシーン |
| 被写体の周囲で時間が停止 | 被写体が動き続ける一方、ほかのすべての物体が空中で静止する | 動かせる物体、または動いている物体があるシーン |
| 天井からの磁力 | 天井の磁石が作動したかのように、髪、衣服、アクセサリー、小物が上方へ引っ張られる | 小道具のある屋内のシーン |
| 部屋が90度回転 | 直立した被写体の周囲で壁と床が回転し、「下」が壁になる | 壁と床が見える、囲まれた空間 |
| 物体が周回 | 小さな動かせる物体がすべて浮き上がり、竜巻のように被写体の周りを周回する | 表面に小道具が置かれたシーン |
| 色が反転するフラッシュ | グリッチのように、シーンの色が一瞬ネガ反転して元に戻る | あらゆるシーン |
C. コンテンツ巨大化型 — クリップ内の要素が建物サイズで現れ、突っ込んできます
シーンの読み取り(ステップ 2)から要素を選びます — 主役の商品、ペット、飲み物、スマートフォン、ロゴ。
| アーキタイプ | 起こること | 元となる要素 |
|---|---|---|
| 巨大な主役商品 | 紹介されている商品が10倍の大きさで現れ、壁や天井を突き破ります | クリップ内の商品 |
| 建物サイズのペット | 被写体のペットが窓や出入り口に建物ほどの高さで現れます | クリップ内のペット |
| 巨大な飲み物 | カップ/缶/ボトルが建物サイズになり、部屋に倒れ込みます | クリップ内の飲み物 |
| 巨大なスマートフォン | 被写体のスマートフォンが拡大し、背面の壁全体を覆って画面が光ります | クリップ内のスマートフォン |
| 巨大なロゴ | 壁/シャツ/パッケージにあるブランドロゴが大きくなり、背面の壁全体を覆います | クリップ内のロゴ |
D. コンテンツ飛来型 — クリップ内の関連アイテムが勢いよく被写体に飛んできます
シーンの読み取りから要素を選びます。
| アーキタイプ | 起こること | 元となる要素 |
|---|---|---|
| 主役アイテムの激突 | 紹介している商品が高速で顔に飛んできます | 主役の商品 |
| 食べ物/飲み物の飛散 | 食べ物や飲み物が勢いよく飛んできて、被写体にぶつかり、あたりに飛び散ります | クリップ内の食べ物や飲み物 |
| 群れの打撃 | 小さなアイテム(スニーカー/薬/缶)の複製が大量に、ひょうのように被写体にぶつかります | 繰り返し登場する小さなアイテム |
| 小道具の鞭打ち | テーブルなどの上にあるアイテム(マグカップ、ランプ、本)が飛び上がって被写体に激突します | 映っている重そうな小道具 |
タイトルのルール(ユーザーが希望した場合)
- 7語以内、すべて大文字、インパクトのある一文。 フックの動きとクリップの実際の内容の両方に結び付けます。例:巨大なスニーカーが飛んでくる+スニーカーの開封動画 → 「THIS DROP HITS DIFFERENT.」
- 省略可 — タイトルなしのフックにできます。
- タイポグラフィは、太字でかすれたディスプレイ書体に太い黒の縁取りをデフォルトとします。ユーザーは
type_style(自由形式のスタイル文字列)またはbrand.mdを貼り付けて変更できます — タイポグラフィの指定(フォント、ウェイト、処理)のみを抽出し、ロゴ/配色/トーンは無視します。細字や縁取りのないスタイルは、4秒間に揺らぐ可能性があることを警告します。
ワークフロー
ステップ 0 — 入力(引数なし)
動画が提供されていない場合は、このメニューをそのまま表示して停止します — ツールは呼び出さないでください。
どのようなバイラルフックを作成しますか? 次のいずれかを貼り付けてください:
- ローカル動画のパス — 例:
/Users/me/Desktop/clip.mp4- mp4 の https URL
- パス+タイトル — 例:
clip.mp4 — "YOUR PROMPTS WON'T SAVE YOU"- パス+「surprise me」 — エージェントがフックの動きとタイトルを選びます
次のメッセージを待ちます。入力内容を推測しないでください。
ステップ 1 — URL を取得
入力がローカルファイルの場合は、upload_asset に渡し、返された
public_url を使用します。すでに https URL の場合は、そのまま使用します。形式は問いません — ここではトランスコードもプロービングも行いません。
ステップ 2 — シーンを読み取る
analyze_media(video_url) → 被写体とフレーミング、屋内/屋外と設定、
照明、フォトリアルかスタイライズされた美的表現か、趣旨/トピックを記録します。また、主役のアイテム(商品、ペット、飲み物、スマートフォン、ロゴ)も記録し、それぞれが冒頭付近に映っているか、後から登場するかを含めます — これはスーパーカテゴリー C と D で必要です。この読み取り結果は scene パラメーターとしてそのまま渡されます。
ステップ 3 — フックの動きを選ぶ
このクリップに対する前回の実行で選んだスーパーカテゴリーと交互にし、可能であれば異なるカテゴリーを選びます。シーンの構図で成立する最も強いアーキタイプ(A/B)か、最も目立つ主役のアイテム(C/D)を選びます。具体的なフックの動き — 入ってくる方向+動き+スケール+ピーク — を、生き生きとした一文で書きます。これが hook_action です。C/D の場合は、ツールがクリップと結び付けられるよう、該当する主役のアイテムを正確に指定します。主役のアイテムが冒頭付近ではなく後から登場する場合は、最初のフレームについて明記します:「最初のフレームから、被写体は[主役のアイテム]を持っている/使っている」。
Step 4 — タイトル+スタイル
ユーザーにタイトルが必要かどうか尋ねます。必要であれば、フックの動作とトピックを結び付けた、7語以内のすべて大文字の行を提案し、承認を得てから、レンダリング前にタイポグラフィの選択肢(デフォルト、カスタムの方向性、または brand.md)を提示します。希望がない場合は、デフォルトを使用することを伝えます。タイトルが不要なら、この手順は省略します。フックはタイトルなしでレンダリングされます。
Step 5 — レンダリング
generate_viral_hook({ video_url, scene, hook_action, title?, type_style? }) を呼び出します。
{task_id, status} が返された場合は、task_status(task_id) を短い間隔で繰り返し呼び出し、ターミナル状態になるまで待ってから、結果を読み取ります。failed の場合は、エラーを提示します。考えなしに再試行してはいけません。
Step 6 — 提示
両方のクリップを提示します。
- フックのみ:
[[video:<hook_url>]] - 最終的につなぎ合わせた動画:
[[video:<final_url>]]
してはいけないこと
- スキル内でレンダリングを再実装しないでください。
extract_frame/generate_image/edit_concat/transcodeはここでは使いません。すべてgenerate_viral_hookが担います。フックの見た目に問題がある場合は、パイプラインではなく、hook_action/titleのテキストを変更してください。 - シードを渡さないでください。 バリエーションは
hook_action、title、またはtype_styleで生み出してください。 - 実際の動画にタイトルを焼き込まないでください。 タイトルを載せるのはフックだけです。
- 承認済みのタイトルを自動で編集しないでください。 言い換えが必要な場合は、ユーザーに尋ねてください。