From Veo to Motion Transfer: Building Demo Videos for a BJJ Training App
Description and use
Generating realistic demo videos for BJJ drills with AI failed for basic movements, so the author filmed himself, used Wan 2.2 for motion transfer, and applied post‑processing to produce loopable clips.
Problem
Generating realistic demo videos for BJJ drills using AI failed for basic movements like hip escape because the model had never seen them.
Outcome
The app now delivers realistic, loopable demo videos for all BJJ drills, offline voice guidance, and a streamlined HIIT experience.
Workflow
- Generate starting pose with Gemini‑3‑pro‑image
- Feed pose to Veo 3.1 to create 8‑second loop
- Convert to 960×540 H.264 with ffmpeg
- Film author performing movements
- Transfer motion with Wan 2.2
- Stabilize footage with OpenCV
- Grey background with MediaPipe
- Slow down, interpolate, speed up with ffmpeg
- Repair freeze‑frames with script
- Remove loop seam with crossfade
Evidence
It worked for push‑ups. It completely failed for the hip escape — the most basic movement in BJJ — because the model had simply never seen it.
I switched to motion transfer with Wan 2.2 (Wan2.2‑Animate on fal.ai): it reads the skeleton and motion from a source video and redraws it onto the reference athlete.
Raw transfer wasn’t shippable either. The post‑processing pipeline that made it work: Stabilization (OpenCV), Background greying (MediaPipe), Slow it down, then speed it back up (ffmpeg), Freeze‑frame repair, Loop seam removal.
- Record date: 2026-10-27T00:11:34.237Z