mcpField
V
viral-hook

viral-hook

github.com/pika-labs创意与媒体411.0k 次安装14 周前更新
代码仓库

关于 viral-hook

viral-hook 是用于为视频设计场景化开场动作和标题的技能,并通过渲染工具生成开场片段及拼接后的成片。

主要功能

  1. 01按场景选择开场动作
  2. 02涵盖四类开场设计
  3. 03提供可选标题与字体指导
  4. 04生成开场片段和拼接视频

适用场景

  1. 01为视频添加简短戏剧化开场
  2. 02利用视频中的物件或场景结构设计钩子

MCP 相关

该技能调用 Pika MCP 工具,包括 `generate_viral_hook`,用于分析媒体并渲染开场片段和成片。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/pika-labs/pika-plugins --skill viral-hook

安装后在 Claude Code 中输入/viral-hook确认已加载。

详细介绍

病毒式钩子

在用户的视频前添加一个极端、无对白、约 4 秒的钩子——一个闯入用户自身场景、令人瞩目的事件,并可选择在下三分之一处叠加精心设计的标题——然后硬切到未经处理的片段。

generate_viral_hook 一次调用即可完成整个渲染,并同时返回钩子和拼接后的最终视频。这项技能的作用是做出工具无法完成的创意判断:读懂场景,从菜单中挑选钩子动作,并撰写标题。

钩子规则(决定你为 hook_action 撰写的内容)

  1. 一定要迅速抓住注意力。 在约 2 秒内制造极端且不容忽视的效果,优先于合理性或与视频主题的相关性。
  2. 闯入用户自己的场景。 保持同一人物、地点和光线——工具会以最佳视觉锚点帧为基准:可用时选 0 秒,否则选首个检测到人脸的帧。描述事件进入那个空间,而不是另一个场景。
  3. 利用场景的真实空间结构。 通过有纵深的门口进入,利用人物身后的墙面,以及头顶空间。
  4. 不要对白。 不含人声(仅环境音/冲击音效)——不要在 hook_action 中写台词。

钩子超类别菜单

共四种超类别。同一片段/会话的每次运行都要轮换超类别——如果不轮换,重新生成的内容就会趋同于车辆/爆炸/生物。原型只是起点,并非封闭列表;可在类别内自由创作。

A. 破坏性闯入——外力猛烈闯入并破坏场景
原型发生的情况场景条件
来袭车辆汽车/卡车/公交车撞穿墙壁或门口,朝镜头冲来背景纵深或后方墙面
山洪/巨浪墙壁爆裂,水流朝镜头汹涌而来走廊/后方墙面
建筑结构坍塌天花板/墙壁/货架塌陷,碎片如雨落下头顶空间/墙壁
爆炸/冲击波火球在人物身后爆发,冲击波和碎片向前席卷背景表面
生物袭击动物/怪物从画面外扑来或突然闯入画面边缘有开阔空间
荒诞闯入者恐龙、大象、UFO、巨手从人物身后进入背景空间
自然灾害龙卷风/流星/闪电/地陷户外或宽敞空间
B. 物理异常——物理定律被打破,呈现写实效果;场景和人物保持不变,运动规律却出现异常
原型发生的情况场景条件
重力向上翻转人物、松散物品和灰尘向上飘落至天花板任意室内场景
人物周围时间冻结其他所有物体都定格在空中,只有人物继续移动有松散/运动物体的场景
天花板磁力牵引头发、衣物、首饰和小物件猛地向上扯起,仿佛天花板上的磁铁启动室内场景+松散道具
房间旋转 90°墙壁和地板围绕站直的人物旋转,直到原本的“下方”变成墙壁可见墙壁和地板的封闭空间
物体环绕所有松散的小物件升起,像龙卷风一样环绕人物表面上有道具的场景
颜色反相闪变场景短暂反转为负片色调,然后恢复,犹如故障闪烁任意场景
C. 内容元素超大化——片段中的元素变得和建筑一样大,撞进画面

从场景解读(步骤 2)中提取元素——主角产品、宠物、饮料、手机、徽标。

原型发生的情况来源元素
巨型主角产品展示的产品以 10 倍大小出现,撞穿墙壁 / 天花板片段中的产品
建筑级宠物主体的宠物出现在窗户 / 门口,高度堪比建筑片段中的宠物
巨型饮料杯子 / 罐子 / 瓶子变得和建筑一样大,倾倒砸向房间片段中的饮料
巨型手机主体的手机放大到占满后墙,屏幕发光片段中的手机
巨型徽标墙上 / 衬衫上 / 包装上的品牌标志变大,覆盖整个后墙片段中的任意徽标
D. 内容元素飞射——片段中的相关物体高速飞向主体

从场景解读中提取。

原型发生的情况来源元素
主角物品猛击展示的产品高速飞向他们的脸主角产品
食物 / 饮料飞溅他们的食物或饮料猛冲向他们,四处飞溅片段中的食物或饮料
群物袭击许多小物体(运动鞋 / 药丸 / 罐子)的复制品如冰雹般砸向他们可重复出现的小物体
道具鞭击表面上的物体(马克杯、台灯、书)猛然飞起并砸向他们任何可见的重型道具

标题规则(用户需要标题时)

  • ≤7 个词,全大写,一行有力短句。 标题要同时呼应钩子动作和片段的 实际内容。例如:巨型运动鞋飞射 + 运动鞋开箱 → “这双新鞋来势汹汹。”
  • 可选——无标题钩子可省略。
  • 排版默认采用粗体、做旧的展示字体,并加粗黑色描边。用户可通过 type_style(自由格式的样式字符串)覆盖此设置,或粘贴 brand.md——只提取 排版要求(字体、字重、处理方式),忽略徽标 / 配色 / 语气。提醒用户,纤细 / 无描边的样式在 4 秒内可能会抖动。

工作流

步骤 0 — 输入(参数为空)

如果未提供视频,原样打印以下菜单并停止——不要调用任何工具:

你想为哪段视频制作病毒式钩子? 可粘贴以下任一内容:

  • 本地视频路径——例如 /Users/me/Desktop/clip.mp4
  • mp4 的 https URL
  • 路径 + 标题——例如 clip.mp4 — "YOUR PROMPTS WON'T SAVE YOU"
  • 路径 + “surprise me”——由 Agent 选择钩子动作和标题

等待下一条消息。不要猜测输入内容。

步骤 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,要明确指出具体的主角物品,让工具将其与片段关联起来。如果主角物品在片段后面才出现,而不是在开场附近出现, 要明确写出第一帧钩子:“从第一帧起,主体就拿着 / 使用[主角物品]”。

第 4 步 — 标题 + 样式

询问用户是否需要标题。如果需要,提出一行不超过 7 个词的全大写标题,将钩子动作与主题联系起来,征求用户确认,并在渲染前提供字体排版选项:默认、自定义方向或 brand.md。如果用户没有偏好,使用默认选项并说明这一点。如果用户不需要标题,则跳过——钩子会以无标题形式渲染。

第 5 步 — 渲染

调用 generate_viral_hook({ video_url, scene, hook_action, title?, type_style? })。 如果它返回 {task_id, status},则持续快速循环调用 task_status(task_id) 进行轮询,直到任务结束,然后读取结果。如果状态为 failed,则说明错误——不要盲目重试。

第 6 步 — 交付

呈现两个片段:

  • 仅钩子:[[video:<hook_url>]]
  • 拼接后的最终视频:[[video:<final_url>]]

不要做的事

  • 不要在技能中重新实现渲染。 不要在这里使用 extract_frame / generate_image / edit_concat / transcode——generate_viral_hook 会处理所有这些操作。如果钩子效果不佳,请修改 hook_action / title 文本,而不是处理流程。
  • 不要传入 seed。 变化应来自 hook_action、title 或 type_style。
  • 不要将标题烘焙到原始视频中。 标题只属于钩子。
  • 不要自动修改已获批准的标题。 如果需要改写,请先询问。

评论

支持 Markdown