探索 AI 工具 · 2026.07 — 2026.08

FR live:浏览器本地图片动效工具

产品设计 / Vibe Coding / 交互实现

在线体验 FR live ↗
FR live:浏览器本地图片动效工具 项目封面

概览

我与 AI 协作完成了一个浏览器本地优先的图片动效工具:用户可以导入静态图片,选择多种动效,实时预览并导出 GIF、Live Photo、Motion Photo 与 MP4。项目重点不是做一个固定滤镜,而是把隐私边界、交互流程和多格式输出组织成一个可实际使用的工具。

角色
产品设计 / Vibe Coding / 交互实现
时间
2026.07 — 2026.08
平台
探索 AI 工具

证据

以下素材来自项目在场记录、路线整理和活动规范,用来证明项目沟通、路线设计、活动机制和审稿要求。

FR live 当前正式版本的图片动效工具界面
image FR live 当前成品界面

当前正式版本的空状态界面,包含本地处理提示、效果选择和参数面板。

FR live 当前正式版本上传图片后的实时预览工作区
image 当前成品效果工作区

当前正式版本上传图片后的实时预览、九种效果选择、参数控制和本地识别状态。

情境

静态图片缺少可控、可带走的动态表达

普通用户可以用修图工具改变图片,但想把一张静态图变成可预览、可调节、可下载的动效作品,往往需要安装专业软件或上传到云端。

  • 用户需要在手机或电脑浏览器中直接完成处理。
  • 图片动效要有明确的预设,也要允许用户继续微调。
  • 隐私、预览质量和最终导出不能被拆成互相割裂的功能。

任务

把图片动效制作压缩成一条本地可完成的工作流

我负责把产品边界、效果机制、预览交互和多格式输出组织成一个可使用的工具,并通过 Vibe Coding 快速迭代界面和实现细节。

  • 建立从图片导入、效果选择到预览和导出的最短路径。
  • 让预览与导出使用同一套效果参数和渲染逻辑。
  • 把隐私边界、浏览器能力差异和失败回退纳入产品设计。

行动

01

把数据留在浏览器里

明确图片、人物遮罩、逐帧渲染和导出文件均在浏览器本地完成,服务器只提供静态资源、模型和 WASM。

  • 支持文件选择、拖拽和剪贴板图片入口。
  • 图片改变后只执行一次人物分割,并在失败时回退到整图处理。
02

用统一注册表管理九类动效

把效果 ID、默认参数、控件描述、确定性随机和逐帧渲染放进统一结构,减少 UI、预览、Worker 和导出之间的分叉。

  • 支持素描、粒子、波浪、CMYK、像素排序、景深漂移等九类效果。
  • 支持播放、暂停、完整时间轴和随机种子复现。
03

为不同输出格式补上真实交付路径

围绕 GIF、MP4、Apple Live Photo 和 Android Motion Photo 分别处理编码能力、进度反馈、取消和浏览器降级。

  • GIF 生成放入 Worker,避免长任务冻结主界面。
  • 动态视频优先使用 WebCodecs,并保留 MediaRecorder 兼容路径。

结果

完成一个可直接访问的浏览器本地图片动效工具

FR live 已形成从图片导入、动效预览到多格式导出的完整工作流,并以公开网址提供体验。

  • 用户无需安装专业软件或创建账号即可开始使用。
  • 九类动效共享同一套预览与导出机制,减少结果偏差。
  • 图片与生成素材不离开访问者设备,隐私边界落实到实现层。

复盘

这个项目让我确认,Vibe Coding 的价值不只是加快写页面,而是把需求、边界、交互和验证组织成一个可以持续迭代的系统。真正需要先想清楚的不是“要加多少效果”,而是用户把图片交给工具后,数据经过哪里、每一步能否被理解、失败时能否恢复,以及最后的文件是否真的能带走。

在这个基础上,我把效果、预览和导出放进同一条数据路径,避免出现“预览看起来对,导出却变了”的断裂;也把隐私边界变成产品能力,而不是一句说明文字。接下来我仍需要继续提升移动端性能、跨设备动态照片兼容性,以及把复杂能力收敛成更清晰的默认体验。