Communitygithub.com

Product Motion Ad(Remotion + ElevenLabs)

使用 Remotion 和 ElevenLabs 为任何产品(SaaS、应用、数字产品、实物)创建动态图形广告视频,包含语音旁白和音效。视频流程遵循产品使用流程,每个场景证明一个优势。

Product Motion Ad(Remotion + ElevenLabs) 是什么?

这项技能(Product Motion Ad)旨在利用 Remotion 和 ElevenLabs 自动化创建高质量的产品宣传视频。它能够根据产品的实际使用流程(从登录、设置到核心功能、结果展示和行动号召)自动生成 30-45 秒、1920×1080、30fps 的 MP4 视频。用户只需提供产品信息或仓库,技能便会自动收集品牌颜色、字体、Logo,并基于产品实际功能编写脚本和故事板,生成自然对话风格的旁白(VO)和专业的音效(SFX)。整个流程高度自动化,包括音频与视频场景的精确同步、快速渲染(背景运行)以及自动检查视频质量(如文本模糊、布局冲突等),最终通过 `SendUserFile` 将视频文件发送给用户。它支持在 Next.js 等项目中运行,并能智能处理端口冲突(使用 3456 端口)等常见问题。

兼容平台✓Claude Code~Codex CLI✓Cursor
npx skills add https://github.com/rendydev404/open-skill/tree/HEAD/skills/product-motion-ad

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

Product Motion Ad(Remotion + ElevenLabs) 是做什么的?

最终输出:1920×1080 30fps 的 MP4 文件,时长 30–45 秒,包含强有力的钩子、目标语言的真人感旁白、专业音效、参考风格的快速过渡,以及与实际产品使用流程一致的场景顺序。通过 SendUserFile 发送给用户。

已验证的模板位于 template/(此技能文件夹内)。来自真实项目的 13 个场景完整示例可在 references/example-scenes-threads-automation.tsx.txt 和 references/example-promo-threads-automation.tsx.txt 中找到。在编写脚本之前,请先阅读 references/script-and-storyboard.md;在生成音频之前,请阅读 references/elevenlabs.md。

不可违反的原则

  1. 产品必须在 8 秒内清晰呈现:产品名称 + “为谁做什么”。
  2. 场景顺序必须遵循产品使用流程(登录/注册 -> 设置 -> 核心流程 -> 结果 -> 高级功能 -> 成果证据 -> 行动号召)。不要随意打乱。
  3. 一句旁白对应一个场景 = 一个优势 + 其视觉证据(动态 UI:表单填写、按钮点击、结果卡片出现、数字增长)。不要只显示文本。
  4. 事实必须来自产品来源,而非凭空编造:阅读代码/落地页/引导页/“工作原理”页面。示例数字(如浏览量、评分)可作为示意,但需告知用户这是示意。
  5. 节奏要快,如同参考视频:过渡 10 帧(T = 10),内部动画加速 speed 1.5–3 倍。不要为了配合慢速旁白而拖慢场景——应改进旁白。
  6. 旁白要自然:一次性完整录制,对话风格,节奏明快,每行无需情绪标签。不要分句录制(会导致僵硬)。
  7. 遵守用户的性能规则:只测量开始和结束各一次,不要无理由重复渲染。

工作流程

1. 收集素材(尽量并行)

  • 产品:在仓库中,搜索落地页、引导页、功能/工作原理页面、UI 特征名称(使用 Grep 搜索 UI 字符串)。若不在仓库中,则要求提供描述/URL。整理 流程优势表: 步骤 | 用户操作 | 优势 | 视觉证据(展示的 UI)。
  • 品牌:从 CSS(globals.css、Tailwind 主题、落地页 CSS)获取颜色和字体,Logo 来自 public/。填充 template/src/theme.ts(C、GRADIENT、字体、BRAND)。
  • 风格参考(如有视频):使用 Remotion 内置的 ffmpeg 提取帧并查看缩略图: npx remotion ffmpeg -v error -i "<video>" -r 3 -s 340x192 <dir>/f%03d.png(ffmpeg Remotion 不提供 fps=/tile 滤镜;请使用 -r 和 scripts/contact-sheet.cjs)。 记录:背景(模糊斑点/点阵)、文字出现方式、硬切、3D UI、光标点击、发光效果、节奏。

2. 脚本与故事板

遵循 references/script-and-storyboard.md:三段式钩子(好奇心缺口),每场景一句 ≤ 10 字,对话风格,首句以引导词(如“哎,”)开头以免首个关键词发音错误,行动号召简短。仅在 brief 模糊时向用户展示脚本及简要场景顺序;否则直接执行。

3. Remotion 项目

  • 将 template/ 复制到用户仓库的新文件夹(如 promo-video/),运行 npm install。
  • 如果位于其他 Next.js/TypeScript 项目中,请将该文件夹添加到根目录 tsconfig.json 的 exclude 以及 ESLint 的 globalIgnores 中。该文件夹已有 .gitignore(node_modules, out)。
  • 将 Logo 复制到 promo-video/public/ 并设置 BRAND.logo。
  • 在 src/scenes.tsx 中为每个产品编写场景(使用示例中的模式:useFrame()、useRise/rise、glass/white、StepTag、Words、typed+Caret、Cursor、BlurFilter)。通用场景 makeFeature 仅用于原型。
  • 填写 src/Promo.tsx 中的 DEFS:场景顺序、cue(旁白句子的起始短语)、beats(钩子)、speed、过渡、dark、sfx。

4. ElevenLabs 音频(参见 references/elevenlabs.md)

  • 一次性录制旁白 -> public/vo/full.mp3;使用 Scribe 逐词转录 -> public/vo/words.json。检查转录内容(单词发音错误?行缺失?)。
  • 10 个音效文件打包 -> public/sfx/*.mp3。
  • 时间线自动处理:场景在其 cue 短语被说出前 6 帧开始;音效放置在场景设计时间点(除以 speed)。

5. 渲染与验证

  • 运行 npm run typecheck 然后 npm run render(端口 3456 — 端口 3000 常被 Next 开发服务器占用,会导致渲染失败并提示 “not a valid Remotion project”)。
  • 如果渲染时间超过 2 分钟,请在后台运行。
  • 检查视觉效果:运行 node <skill>/scripts/contact-sheet.cjs out/promo.mp4 <scratchpad>/chk 然后查看缩略图。若需检查特定秒数,可列出秒数。(ffmpeg 的 -r 示例常显示假空白起始帧——有疑问时检查特定秒数。)
  • 检查:文本无持续模糊、无截断/换行、步骤标签未被面板遮挡、关键动画在场景切换前完成、屏幕文本与旁白单词一致。
  • 使用 SendUserFile 发送(display render),报告时长、文件大小以及尚未验证的内容(例如未直接听到音频电平)。

已发生的陷阱(请避免)

问题原因解决方案
钩子文字持续模糊前一阶段的模糊值(out1)保持为 1按阶段计算模糊:仅进入/退出
视频变得缓慢场景被拉长以配合缓慢旁白加快旁白、缩短脚本;保持 speed 不变
旁白生硬逐句剪辑 + 每行加 [excited] 标签 + 书面语一次性录制、对话风格、避免重复标签
首词发音错误(“账户”->“张户”)v3 在首词时常出错以“哎,”/“那,”开头,并检查 Scribe 转录
渲染失败 “getStaticCompositions undefined”端口 3000 被 Next 开发服务器占用使用 --port=3456
fps=/tile 错误Remotion 内置 ffmpeg 功能受限使用 -r + contact-sheet.cjs(sharp)
文本换行两行且头像被截断flex 项目收缩设置 flexWrap: "nowrap",缩小字号
面板遮挡步骤标签相机 translateY 过大限制相机移动,使用 scale(0.92)
卡片/标签重叠极角位置过近检查缩略图,调整角度/半径
useId() 在 url(#id) 中损坏id 包含 :使用 useFilterId()(已清理)
登录后 MCP ElevenLabs 未加载工具仅在新会话中出现直接使用工具;若不行,使用 headless 模式 claude -p(参见参考)
MCP 失败 “Protected resource ... does not match”主机区域问题使用 claude mcp add -s user --transport http elevenlabs https://api.us.elevenlabs.io/v1/mcp

Individual skills in this repo

This repo contains 2 individual skills — each has its own dedicated page.

相关技能