Communitygithub.com

KasunJayasanka/产品动态视频

构建一个60秒的动态图形产品/品牌视频(展示片、宣传片、发布预告、解说视频),作为独立的单文件动画,可选择导出为 MP4。适用于用户要求制作动态图形、产品视频、展示片、宣传片、动画品牌影片或产品/公司/创意的“1分钟视频”,即使未提及“技能”一词。以 token 效率为核心设计。

产品动态视频 是什么?

该技能可生成一个独立的 60 秒动态图形视频,适合产品发布、品牌宣传或创意展示。用户只需提供产品/想法(必需)和可选的品牌 URL 或 Markdown 文件作为品牌输入,技能会提取名称、标语、3项优势、颜色和语气。系统会智能推断风格参考(节奏、类型、调色板),无需深入调研即可运行。 视频采用 1920×1080 画布,通过 CSS 变换缩放并填充视口;颜色、字体和场景结构全部由 CSS 变量和 JavaScript 数据对象定义。输出为一个自包含的 HTML 文件(小于 18 KB),没有外部依赖,原生支持播放/暂停(空格键)、进度条、重新开始和通过 URL 参数 `?t=秒数` 进行时间点跳转。内置 WebAudio 合成音效(默认关闭)和针对弱视用户的 `prefers-reduced-motion` 预防闪烁效果。 该技能可部署在支持 Artifact 发布的平台(如 Claude Code),或回退为创建本地文件。如果用户明确要求,还可以使用 Playwright + ffmpeg 导出为 MP4。作者特别强调避免不必要的大模型调用:一次性编写整个文件,仅通过小的 `str_replace` 修改进行迭代,控制网络请求最多 1 次提取和 1 次搜索,并最大限度地减少 token 消耗。

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

在你喜欢的 AI 中提问

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

文档

产品动态视频(60秒)

0. 输入(仅询问缺少的内容,一次消息,最多3个问题)

  • TOPIC: 产品/想法(必需)
  • BRAND: URL 或 md 文件(可选)-> 提取名称、标语、3项优势、颜色、语气。最多一次 web_fetch。
  • STYLE REF: 可选;在一行中推断3个特征(节奏、类型、调色板)。不进行深度调研。 如果用户留下了 {占位符} 未填写,则将其视为空,在一行中说明假设,然后构建。

1. 计划(思考不超过15行,无长篇大论)

调色板(背景色、墨色、1种强调色、1种辅助色),1个展示字体 + 1个正文字体(系统/Google 字体,带后备),8个场景。

默认60秒结构(秒):

  1. 0-5 钩子:动态文字,一个大胆的主张
  2. 5-13 问题:毛刺/张力,计数器
  3. 13-21 揭示:标志/产品变形进入
  4. 21-31 特性1-3:UI卡片,图标弹出,交错排列
  5. 31-41 证明:动画图表/数字计数递增
  6. 41-49 流程/工作原理:线描路径 + 节点
  7. 49-56 蒙太奇:快速剪辑,0.4秒节拍,滚动字幕
  8. 56-60 行动号召:标志,标语,URL,脉冲

2. 构建(一个 .html 文件,原生 JS,零依赖,<=18KB)

架构,保持小巧:

  • 1920x1080 画布通过 CSS 变换缩放以适配;所有颜色作为 CSS 变量。
  • 主时间线:scenes=[{t0,t1,build(stage), update(p)}],其中 p 在 0..1 之间,来自单个 rAF 时钟 t=(now-start)/1000。不要使用 setTimeout 链。
  • 辅助函数(一次编写,重复使用):ease(p)(cubic/expo/back)、lerp、clamp、stagger(i,n,p)、type(el,text,p)。
  • 动态词汇表(使用 >=6 种):动态文字、蒙版揭示、stroke-dashoffset 线条绘制、计数递增、视差层、交错卡片、形状变形(通过 lerped d 实现 SVG 路径)、毛刺(clip-path 切片)、滚动字幕、镜头推进(对舞台进行 scale+translate)、场景间屏幕擦除。
  • 规则:场景过渡重叠 0.4 秒;每个元素都使用缓动(从不线性);最多同时2个焦点;关键文字保持 >=1.2 秒;仅对 transform/opacity 做动画。
  • 控制:播放/暂停(空格)、进度条、重新开始、?t=秒数 跳转参数、window.seek(t) 用于导出。
  • 尊重 prefers-reduced-motion,不自动播放闪烁的毛刺场景。
  • 可选的音频:WebAudio 合成场景切换提示音(默认关闭,静音切换)。绝不使用外部音频。

3. 交付

  • 通过 Artifact 工具(发布)发布为页面;如果没有 Artifact 工具,则在 /mnt/user-data/outputs 中创建文件 + 呈现文件。
  • 回复:2句话(它是什么,假设)。不要逐场景叙述。

4. MP4 导出(仅当用户要求时)

Playwright 无头模式:对于 f 在 0..1799,调用 seek(f/30),截图 1920x1080 -> 帧;ffmpeg -framerate 30 -i f_%04d.png -c:v libx264 -pix_fmt yuv420p out.mp4。如果缺少 ffmpeg/playwright,说明情况并将这个方案告知用户,不要重试。

5. Token 纪律

  • 不要阅读其他技能,不要预览渲染,除非被要求,不要进行润色。
  • 在场景间重用相同的卡片/文字布局;变化运动,而不是标记。
  • 在 一次 工具调用中编写文件。通过小的 str_replace 编辑进行修改,绝不重写。
  • 研究限制为最多1次提取 + 1次搜索。

相关技能