sophiamyang/finger-frame-effect-ai
Finger Frame AI
上传一段双手比"取景框"手势的视频,拿回一个框内是 AI 生成动画世界的版本——整段视频被 video-to-video 模型重绘,手指框变成通往动画版的窗口。
能用来干嘛
录一段双手取景框手势的视频,选个风格(3D 动画电影、动漫、黏土、水彩,或自定义 prompt),几分钟后拿到一条"框内是动画世界"的成片。适合社媒创意视频、演示 video-to-video 模型能力、做手势交互原型。管线分四步:Restyle(Gemini Omni Flash 整片重绘,动作眨眼完全跟随你)、Track(MediaPipe Hand Landmarker 逐帧追踪双手,定位取景框四边形)、Composite(动画版透过框内区域显现,带虚线行军蚂蚁描边和呼吸角点)、Export(导出 MP4/WebM)。
快速上手
# 在线直接玩(自带 Gemini API key,按视频计费)
# https://sophiamyang.github.io/finger-frame-effect-ai/
# 本地跑(纯静态页,无后端)
git clone https://github.com/sophiamyang/finger-frame-effect-ai
cd finger-frame-effect-ai
python3 -m http.server 8124
# 打开 http://localhost:8124
# CLI 批处理版(同样管线,输出 H.264 并保留原音轨)
python3 -m venv .venv
.venv/bin/pip install -r requirements.txt
export GEMINI_API_KEY=...
.venv/bin/python stylize.py input.mp4 -o stylized.mp4 # AI 重绘
.venv/bin/python composite.py input.mp4 stylized.mp4 -o final.mp4没有 API key 也能玩:点 placeholder style 按钮,用色相偏移的占位效果跑完整个 track→composite→export 流程,免费。视频建议控制在 ~15MB 以内(几秒 720p,mp4/mov/webm 均可)。
适合收藏的原因
- 小而完整:单页 app.js + 两个 Python 脚本就是全部,restyle→track→composite→export 整条 AI 视频管线一眼读完
- 手部追踪工程细节扎实:解剖学角点排序(手指交叉会渲染成蝴蝶结)、张开度/面积双门限带滞后、瞬移拒绝、速度自适应平滑、掉帧保持
- prompt 工程有讲究:每个 prompt 自动追加 strict-alignment 后缀——同构图、不缩放裁切、五官同坐标、表情逐帧保持(嘴部开合、眨眼、视线),保证重绘结果能和原片对齐叠回框内
- BYOK 零后端:key 只存在浏览器里、只发往 Google API,纯静态页 GitHub Pages 直接托管
- finger-frame 家族三代同堂:Canvas 2D 本地特效(零延迟)→ 本项目的 Gemini 离线重绘(分钟级)→ Decart Lucy 2.5 实时版(~real time),是观察 video-to-video 延迟演进的一组好样本