Video-to-character animation with expressive cameras and local exports
Capture motion, retarget a rigged character, refine the stage, and record with source audio.
| Demo | Description | View |
|---|---|---|
| Character animation | Existing video-derived character animation and local viewer | View |
Animate a rigged GLB or FBX from a video or reuse an existing BVH. The standalone package includes the V2Fun API runtime, a Three.js viewer, body mapping and optional 30-joint finger mapping.
- Stage centering, fixed pitch/roll correction, and ground repair enabled by default.
- Cinematic, full-body, side and free views; describe a custom camera sequence in natural language.
- Local video recording with source audio; animated GLB and original/repaired BVH downloads.
- Compact English playback, adjustment and export controls.
PMX uses the native MMD route: submit the PMX archive plus BVH without conversion. Its paid executor and MMD viewer require adaptation; it is not a one-command scaffold path. The paid quote/retarget executor remains GLB-specific. Continuous contact can flatten jumps and is not foot locking/IK. Fixed tilt preserves dance bends. Custom camera text is interpreted by the agent, not an in-browser AI service. Capture gaps are disclosed rather than synthesized.
Video + rigged model → capture or reuse BVH → retarget → align → author cameras → preview and export
- Supply a video and optionally a rigged model. Without one, the access-restricted fallback model is used.
- Choose body-only or body + fingers and a camera preset or free-text brief.
- Review named API services, current pricing, estimated credits and balance before paid submissions.
- Use compatible local retargeting or the authorized API route, retaining task IDs and budgets.
- Inspect body/finger poses, centering, tilt, contacts and camera framing.
- Record or export locally. Camera-only changes and model tests with existing BVH need no new capture.
See camera preferences, alignment and exports.
CN/global routing is included. Before remote work, run python3 scripts/v2fun.py region --project /path/to/project; use V2FUN_REGION=cn or V2FUN_REGION=global to select explicitly. Automatic detection uses read-only balance requests. Quotes and saved tasks stay bound to the selected server. See server routing.
Requires Codex with local skills, Python 3.9+, Node.js and a WebGL browser. Three.js 0.180.0 is an external dependency for scaffolded viewers. No separate setup skill or Blender is required. This repository is private: installation requires an authorized GitHub account.
Install directly into ~/.codex/skills/v2fun-animation/, or the skills/v2fun-animation/ directory under a custom CODEX_HOME. SKILL.md must be directly inside that directory.
gh repo clone V2Fun-Research/v2fun-animation ~/.codex/skills/v2fun-animation
cd ~/.codex/skills/v2fun-animation
python3 scripts/v2fun.py doctor --project /tmp/v2fun-animation-project
python3 scripts/scaffold.py --helpAttach your inputs and use this example prompt:
Use $v2fun-animation with my attached video and rigged model.
Capture body and fingers. Start wide, slowly push in, orbit left at 8 seconds,
and pull back at the end. Keep the feet visible. Show API services,
estimated credits and remaining balance before paid work.
The doctor command is offline and creates no API task. Configure V2FUN_API_KEY in the execution environment or an explicit project JSON configuration for authorized remote work; never commit credentials. Capture and API retargeting consume V2Fun credits; local preview, cameras and exports do not. The skill obtains a live quote instead of promising fixed prices.
Missing mappings require a reviewed adapter. An uncertain submission must be reconciled rather than automatically retried. See runtime.
Updating from 1.0.0: remove the old vendor/v2fun-setup directory after installing the new files. Preserve external user projects, task IDs and budget records. The old scripts/setup.py command remains a compatibility alias; V2FUN_SETUP_DIR is no longer used. See runtime migration.
| Output | Contents |
|---|---|
| English viewer | Playback, cameras, centering, tilt, ground repair and recording |
| Animated GLB | Mesh, materials, skin, skeleton and baked selected corrections |
| Original BVH | Unmodified source skeleton and capture units |
| Repaired BVH | Target skeleton in metres, alignment and continuous contact |
| Recorded video | Rendered character with source audio; MP4 or supported WebM |
| Project source | Local settings, camera brief and authored shot sequence |
Validate exports by reloading them. BVH contains no mesh or audio; GLB does not include source audio. Browser recording support varies.
- Flat scripts/references layout with integrated API setup, budgets and task recovery.
- GLB/FBX local body/finger retargeting and model fallback.
- Default-on grounding, stage centering, fixed tilt and side view.
- Camera presets and agent-authored custom camera briefs.
- Audio/video recording and GLB/BVH exports.
- Bilingual installation and capability documentation.
The repository is private; its chart may be unavailable to anonymous visitors.
Maintained by V2Fun Team. Feedback: V2Fun Discord。
Thanks to Three.js and its contributors for the rendering, loaders and exporters used by generated viewers. The optional MMD physics route uses Ammo.js. No endorsement is implied.
MIT License
Copyright © 2026 V2Fun Team.
MIT covers first-party code and documentation. The fallback model and brand assets are excluded; the fallback’s broader redistribution rights remain unverified. Keep this repository private until those rights are resolved or the asset is replaced. Service access and uploaded/generated asset rights are separate. See third-party scope.
