Skip to content
Back to skills

Anymove

ASecurity

Motion capture for any creature from one AI video, with the anymove repo. A video model films a rigged 3D creature from two cameras in one frame, a DINOv2 joint reader trained on that creature finds every joint in both views, and the rig is fitted to them and exported as a GLB. Use when someone wants to animate a non-human creature (dragon, spider, wolf, monster) from a text prompt or an AI video, asks how anymove works, or needs to know which step comes next; it routes to anymove-rig, anymov...

  • 544 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added November 7, 2026
ai-agentspythongobashgit

Works with

  • cli

Security analysis

A92/100
  • mediumInstalls packages at runtime which could introduce malicious dependencies

Pro shows the line behind each finding and how to fix it

Scanned November 7, 2026

npx -y skills add patch-gg/anymove --skill anymove --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Anymove?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Anymove
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/patch-gg-anymove/badge)](https://www.skillsdirectory.com/skills/patch-gg-anymove)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: anymove
description: Motion capture for any creature from one AI video, with the anymove repo. A video model films a rigged 3D creature from two cameras in one frame, a DINOv2 joint reader trained on that creature finds every joint in both views, and the rig is fitted to them and exported as a GLB. Use when someone wants to animate a non-human creature (dragon, spider, wolf, monster) from a text prompt or an AI video, asks how anymove works, or needs to know which step comes next; it routes to anymove-rig, anymove-film, anymove-reader, anymove-capture, anymove-pack and anymove-lora.
license: Apache-2.0
compatibility: Needs an NVIDIA GPU with CUDA (12 GB to train a reader, 24 GB is safer), Blender 5.x, Python 3.11, and a fal.ai key for video generation. Runs on Linux and on Windows in Git Bash.
---

# anymove

Animate any rigged creature from one AI video. The trick is the frame: one image holds two orthographic views of the
creature at the same scale, front on the left and side on the right, sharing the vertical axis. A joint sits on the
same pixel row in both halves, so the front view gives left-right and height, the side view gives front-back and
height, and together they pin the joint in 3D. The method is @CanItCode's; the LoRA step is @Graalitoo's idea.

## The pipeline

| step | once per | what happens | skill |
|---|---|---|---|
| 1. mesh | creature | a textured 3D model (Tripo H3.1 from one image, or your own GLB), facing -Y, real size | anymove-rig |
| 2. skeleton | creature | joints placed in `assets/<c>/rig.json`, rig built and skinned in Blender | anymove-rig |
| 3. limb colours | creature | each limb painted its own colour so left and right never swap | anymove-rig |
| 4. two cameras | move | the painted reference frame plus a strict prompt go to MiniMax H3 Max on fal | anymove-film |
| 5. teach a reader | creature | 2,200 random poses rendered with known joints; DINOv2 learns this creature | anymove-reader |
| 6. read every joint | clip | the reader finds every joint in both views, every frame | anymove-capture |
| 7. two views, 3D | clip | shared heights tie the views; the pair gives each joint in 3D | anymove-capture |
| 8. the rig follows | clip | forward kinematics in torch fitted to both views; GLB out | anymove-capture |
| 9. the pack | creature | score the takes, keep the best, cut loops and root motion; one GLB with every move | anymove-pack |
| optional | creature | a MiniMax H3 LoRA that keeps the two-camera layout and colours more reliably | anymove-lora |

## Before anything

0. **Check it's the right tool.** If the person only wants a creature, look in Patch's Assets first: nine are ready.
   anymove suits big single gestures, and doesn't do eight-legged walking, lying down, bird wings or tail swipes (see the
   README). Check there's an NVIDIA card before anything else; without one, stop and say so.
1. Work in an anymove checkout. If the working directory has no `tools/capture.sh`, clone it:
   `git clone https://github.com/Patch-gg/anymove && cd anymove`.
2. Set up once: `python3.11 -m venv .venv`, then
   `.venv/bin/pip install torch==2.11.0 --index-url https://download.pytorch.org/whl/cu128` and
   `.venv/bin/pip install -r requirements.txt`. Blender 5.x must be on PATH, or set `BLENDER=/path/to/blender`.
   **On Windows,** run everything in Git Bash, use `py -3.11 -m venv .venv` and `.venv/Scripts/` where these say
   `.venv/bin/`, and set `BLENDER`. `tools/*.sh` handle the rest. If you call Blender yourself rather than through them,
   give it absolute paths: on Windows it reads a relative output path from the drive root.
3. For video generation and LoRA training, put `FAL_KEY=...` in `.env` (git ignores it) or export it. Never print it.
4. Every command takes a creature name; its config is `assets/<c>/creature.json` and every output lands in
   `runs/<c>/` (reference frame, dataset, `reader.pt`, videos, clips). The scripts set `MOCAP_CREATURE` for you; when
   you run a `python -m mocap...` module by hand, set `MOCAP_CREATURE=assets/<c>` first, or the wolf's layout applies.

## Which step next

- No `assets/<c>/model.glb`: make or fetch the mesh. Examples: `tools/fetch_examples.sh <c>` (wolf, dragon, spider,
  demon). New creature: anymove-rig.
- No `assets/<c>/rigged/rigged.blend` or `runs/<c>/ref/ref.png`: `tools/prep.sh <c>` then `tools/rig.sh <c>`
  (anymove-rig).
- No `runs/<c>/reader.pt`: anymove-reader (about 45 min on one RTX 4090), or `tools/fetch_examples.sh <c> --readers`.
- No clip for the move: anymove-film (about $0.26 a 5 s clip, and about 7 clips for a usable move).
- A clip: anymove-capture, `tools/capture.sh <c> <video.mp4> <name>`.
- Several good takes: anymove-pack, `tools/pack.sh <c>`.
- Clips keep swapping limb colours or the halves drift apart: anymove-lora.

## Try it without a GPU

The repo carries the dragon's roar as read by its reader. Fit it on the CPU in about a minute and a half:

```bash
mkdir -p runs/dragon/clips/roar
MOCAP_CREATURE=assets/dragon .venv/bin/python -m mocap.solve examples/dragon_roar/det.npz \
  assets/dragon/rigged/rig_info.json runs/dragon/clips/roar/motion.json
```

It prints the paw agreement (about 0.93) and the reprojection error per view; `motion.json` holds the keyframes.

## Costs and time (October 2026, one RTX 4090)

**Quote the all-in numbers, not the price of one clip:** about $3 for a usable move, and about $17 and a couple of hours
for a new creature with about 5 moves (about $11 of AI services on the person's own card). A move took about 7 clips on
average ($1.80), and 58% of captured clips passed the checks.

- Tripo H3.1 mesh with HD texture: $0.40. MiniMax H3 Max clip: about $0.26 for 5 s (H3: $0.30).
- Dataset and reader training: about 75 min on one RTX 4090. Reading a clip: about 12 s. Fitting: about 45 s. GLB and
  renders: about 3 min.
- A LoRA: $0.01 a training step, so 1,200 steps cost about $12 and take about 2 h on fal.

Say what a step will cost before calling fal, and confirm with the person before spending on a batch.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.