blendi-remade / prompt2rig
git clone https://github.com/blendi-remade/prompt2rig.git
Type a motion, watch a rigged character perform it: fast video model + GVHMR + live Mixamo retargeting
+86
stars, 24h Β· #117
+86
stars, 7 days Β· #616
+86
stars, 30 days Β· #2,680
86
β
total Β· +86% this week
6
forks Β· 0 open issues
Star history starts 2026-10-20; the chart appears after the second daily snapshot.
LanguageJavaScript
LicenseApache-2.0
Created2026-10-19 (1d ago)
Last pushtoday
Watchers1
OwnerUser
Links
README excerpt
# Prompt2Rig **Type a motion, watch a rigged character perform it β in seconds.** A text prompt goes to a fast video model on fal β MiniMax H3 Max Turbo (faster than real time) or FLUX 3 Max (higher fidelity, ~real time) β the clip's human motion is recovered with GVHMR on a local GPU, and retargeted live onto a Mixamo skeleton in the browser. Inspired by Motion2MixamoRig, rebuilt for interactive speed. ## How it works [code] | Stage | Where | Time (5s clip, RTX 4090) | |---|---|---| | Video generation | fal Β· H3 Max Turbo (480P) | ~2β3s wall (0.5s GPU) | | | fal Β· FLUX 3 Max (720p) | ~8β9s wall (4.5s GPU) | | **Live** preview β MediaPipe Pose, retargeted per frame | browser | immediate | | **HQ** motion β GVHMR β SMPL rotations β Mixamo | local GPU worker | ~3.5β4s (0.7β0.8Γ real time) | | **Fingers** β WiLoR hand model (MediaPipe fallback), in parallel with GVHMR | local GPU worker | +~0.3s | The live pass hides the wait; the HQ pass is the real result. GVHMR sees the whole clip at once, outputs joint *rotations* on a fixed-proportion body, and recovers a gravity-aware root path β so there's no jitter, limb stretching, or twisted forearms. ## Quick start **Needs:** Node 18+, a fal API key. For the HQ pass: Windows + NVIDIA GPU, `uv`, `ffmpeg` on PATH. [code] **HQ pass (optional, recommended):** [code] Then download **SMPL-X v1.1 (NPZ)** from smpl-x.is.tue.mpg.de (free registration) and put `SMPLX_NEUTRAL.npz` in `hq/body_models/smplx/`. **Finger tracking (optional):** WiLoR needs the MANO hand model β register at mano.is.tue.mpg.de and download *Models & Code* (`mano_v1_2.zip`), then: [code] Without MANO, fingers fall back to MediaPipe Hands (less accurate depth). Start the worker next to the web server: [code] ## Using it - **Generate** a prompt or click a preset. By default every clip starts from the same flux-generated *performer* (one person, full body, plain backdrop, static camera β ideal pose-estimation input). - **Video model** β *H3 Max Turbo* for the snappiest loop and Stream mode; *FLUX 3 Max* for more realistic motion (best for single takes β at ~9s per 5s clip it can't keep a chained stream fed yet). - **Character** β X Bot, Michelle or Soldier (textured Mixamo rigs from the three.js examples), or **Load Mixamo fileβ¦** for any Mixamo `.fbx`/`.glb` (download from mixamo.com, T-pose). - **Track fingers** β the HQ pass also recovers hands: WiLoR (MANO-based) on the full-resolution clip, assigned to the body's wrists, rotated into the motion's world frame and smoothed; the rig gets palm orientation plus all 15 finger joints. Untracked hands rest in a natural curl. - **Swap character every loop** β X Bot β Michelle β Soldier, cutting on each loop (or each new clip in Stream mode). The motion lives on one hidden driver rig; the character on stage copies its pose, so swapping is instant. - **Cinematic camera** β slow arc and push-in around the performer on a studio stage (environment lighting, warm key + cool rim, soft reflectiv