AI PLAY玩法更新持续收录
← 回到更新流

2026-09-08 · 原文发布日

逐镜头拆解爆款短视频并换成自己的产品

不同于笼统模仿,这条流程把参考短视频拆开重做:Apify下载原片后用场景检测找到每个硬切并为每个镜头存关键帧,后台轮询避免长片超时。所有关键帧一次交给Gemini Flash分析构图、角度、运镜和光线,逐镜头写出换成你产品的图像提示词和运动提示词;fal.ai逐镜头生成静帧并按各自运动提示词做动画,每段剪回原镜头时长后按原顺序拼接成片。成本随镜头数而非片长增长。Apify和fal.ai需要付费额度。

原文要点

该n8n模板流程:Apify下载参考短视频,场景检测actor找出每个硬切并为每个镜头存一张关键帧,任务后台轮询避免长片超时;所有关键帧一次交给Gemini Flash分析构图、角度、运镜和光线,逐镜头写出把原产品换成目标产品的图像提示词和运动提示词;fal.ai逐镜头生成静帧并按各自运动提示词做动画,每段剪回原镜头时长后按原顺序拼接。成本随镜头数而非片长增长。作者给出的参考:Apify免费档每月续5美元额度,短条约0.03美元一次;Gemini免费层可覆盖镜头分析;fal.ai图像与视频生成任何档位均收费。需建三个独立Header Auth凭据。

这次做成什么

复刻“逐镜头拆解→换成自己产品→按原节奏重拼”这条流水线。因本条不含可下载工作流文件,本站设计的独立练习是:先在本地拆镜头并手动复刻核心环节(关键帧→逐镜头中文提示词→静帧→动画→按时长重拼),跑通后再到原模板接入自动化;未核实的界面参数需回原模板核对。

准备什么

  • 一段有权使用的参考短视频文件或可下载链接
  • Google AI Studio账号及Gemini API密钥
  • 本地安装ffmpeg用于镜头切分与拼接
  • 如跑完整自动化还需Apify与fal.ai付费额度
  • n8n模板需自行从n8n.io/workflows/19399获取并核对

具体怎么做

  1. 本地切镜头并导出关键帧

    用ffmpeg场景检测把参考片按硬切拆开,每个镜头导出一帧,命名shot_01.jpg、shot_02.jpg……同时记录每镜头起止秒数与时长,存成scenes.json(本站合成样例见材料)。阈值先取0.3,切得太多就调高,漏切就调低。

  2. 一次调用让模型逐镜头写提示词

    在AI Studio或API里把全部关键帧一次性发给Gemini Flash,配合下方“逐镜头拆解提示词”,要求输出JSON数组:每镜头含framing、angle、movement、lighting、image_prompt、motion_prompt六个字段,并把“目标产品”替换进两个prompt。确认数组长度等于镜头数。

  3. 逐镜头生成静帧并动画化

    把每条image_prompt送到图像模型生成对应静帧,再以该静帧为输入、用该镜头的motion_prompt做图生视频;完整模板里这一步由fal.ai逐镜头完成,练习中可换用你已有的图像/视频服务。

  4. 剪回原时长并按原顺序拼接

    把每段生成视频用ffmpeg剪成scenes.json里对应镜头的原始时长,按镜头序号顺序concat成成片;音频练习中可先静音或后配。

  5. 接入完整模板时配置三个凭据

    在n8n中分别创建三个Header Auth凭据:Apify用Authorization: Bearer令牌,Gemini用X-goog-api-key,fal.ai用Authorization: Key密钥;各凭据只挂各自服务的节点,然后在Set Source Reel And Target Product节点填参考片URL与目标产品即可运行。

可直接复制的材料

逐镜头拆解与产品替换提示词(本站编写)

本站独立编写的练习提示词,替换【目标产品】后可直接粘贴到Gemini使用;非原模板内置提示词。

你是短视频分镜分析师。我会一次性给你一段参考短视频的全部镜头关键帧(按顺序),以及一个目标产品:【在此填写你的产品名与一句话卖点】。
请对每张关键帧输出一个JSON数组元素,字段如下:
- shot_index:镜头序号,从1开始,必须与图片顺序一致;
- framing:构图(如特写/中景/俯拍,主体在画面中的位置);
- angle:拍摄角度与机位高度;
- movement:运镜方式(推、拉、摇、跟、固定等);
- lighting:光线氛围(色温、方向、明暗对比);
- image_prompt:一段图像生成提示词,复刻该镜头的构图、角度与光线,但把画面中出现的商品替换为我的目标产品,写明产品的材质与摆放;
- motion_prompt:一段视频运动提示词,描述该镜头内的运镜与主体动作,产品替换同上。
只输出JSON数组本身,不要解释。每个prompt用中文写,不超过80字。

合成镜头清单scenes.json(练习数据)

本站虚构的三镜头练习数据,字段对应ffmpeg场景检测输出,实际数值以你本地检测为准。

[{"shot":1,"start":0.0,"end":3.2,"duration":3.2,"keyframe":"shot_01.jpg"},{"shot":2,"start":3.2,"end":7.8,"duration":4.6,"keyframe":"shot_02.jpg"},{"shot":3,"start":7.8,"end":12.0,"duration":4.2,"keyframe":"shot_03.jpg"}]

镜头切分与重拼命令示例(需本地核对)

本站独立整理的通用ffmpeg示例命令,阈值与参数需在你的ffmpeg版本上核对,未针对原模板实测。

# 按场景阈值0.3导出每镜头关键帧
ffmpeg -i ref.mp4 -vf "select='gt(scene,0.3)',showinfo" -vsync vfr frames/shot_%02d.jpg
# 剪回原镜头时长(示例:第2镜头4.6秒)
ffmpeg -i gen_shot_02.mp4 -t 4.6 -c copy clip_02.mp4
# 按原顺序拼接
ffmpeg -f concat -safe 0 -i clips.txt -c copy final.mp4

输入与输出示例

本站虚构演示输出,非作者运行结果;实际镜头数与描述以你的检测和模型输出为准。

输入

参考片为12秒气泡水广告,阈值0.3检出3个镜头(时长3.2/4.6/4.2秒),目标产品填“云栖冷萃咖啡250毫升罐装,卖点是零糖”。

对应输出

[{"shot_index":1,"framing":"特写,罐体居中偏右,背景虚化","angle":"平视微仰","movement":"缓慢推近","lighting":"暖色侧光,高光在罐体左缘","image_prompt":"特写镜头,一罐云栖冷萃咖啡居中偏右立于木桌,铝罐哑光质感,暖色侧光勾出左缘高光,背景浅景深虚化","motion_prompt":"镜头缓慢向咖啡罐推近,罐身轻微反光流动,背景保持虚化"},{"shot_index":2,"framing":"中景,手部入画拿起产品","angle":"俯拍约45度","movement":"固定机位","lighting":"明亮顶光","image_prompt":"俯拍45度中景,一只手拿起云栖冷萃咖啡罐,桌面有冰块与咖啡豆点缀,明亮顶光","motion_prompt":"固定机位,手将咖啡罐举向镜头,罐身标签转正"},{"shot_index":3,"framing":"全景,产品置于前景,人物在后景举杯","angle":"平视","movement":"轻微横摇","lighting":"黄昏逆光","image_prompt":"平视全景,前景一罐云栖冷萃咖啡清晰,后景人物举杯剪影,黄昏逆光暖调","motion_prompt":"镜头轻微从左向右横摇,前景咖啡罐保持清晰,后景人物举杯动作"}]

做完检查这些

  • 导出的关键帧数量与scenes.json中镜头数完全一致
  • 模型返回JSON数组长度等于镜头数,且每条同时含image_prompt与motion_prompt
  • 每条prompt中均出现目标产品名而非原片商品
  • 重拼后成片总时长等于各镜头原始时长之和
  • 完整模板中三个Header Auth凭据各自只挂在对应服务的节点上

容易卡住的地方

  • n8n会把同一个Header Auth凭据跨主机复用,导致密钥被发错服务,必须建三个独立凭据
  • 模板钉死Gemini模型版本而非gemini-flash-latest别名,因为别名追踪最新Flash且免费层配额最紧
  • fal.ai的图像与视频生成在任何档位都收费,练习时可用自有服务替代
  • 镜头阈值过低会检出大量软切,成本随镜头数线性上升
  • Claude加Higgsfield的替换方案作者明确标为未实测的可选项
  • 长片依赖后台轮询场景检测任务,同步等待会中途超时

原文与作者资料 ↗

本站借助AI整理来源事实,独立编写中文操作指南与示例。示例不代表实际运行结果;来源效果尚未由本站独立复现。付费模板与模型、服务费用分别计算。

原文标题
Rebuild product-focused reels shot by shot with Apify, Gemini, and fal.ai
原作者
Muhammad Arsal Murad
原始发布日期
2026-09-08T15:10:41.940Z
来源
https://n8n.io/workflows/19399