# Auto-rig API

A skeleton and skin weights for a character, as a GLB ready to pose and animate; then the animate tool puts animations on it. Humanoids with every model: tripo-rig names the bones for an engine (bone_names), rodin-rig is the fastest (about 30 s), meshy-rig adds an FBX of the rig. Four-legged animals with rodin-rig only (body: horse, dog or cow), which come with their kind's walk and run (walk_glb, run_glb).

Tool id `auto-rig` on the REST API (`POST https://3dvalley.com/api/v1/jobs`); MCP tool `rig_model` on https://3dvalley.com/mcp. Paid in credits (1 credit = $0.01), taken when the job starts and given back if it fails. The general rules (keys, idempotency, waiting, webhooks) are in [the API docs](https://3dvalley.com/docs/api).

The free CC0 library holds rigged characters already: `GET /api/v1/assets?type=model&rigged=true` (MCP: `search_assets` with `rigged: true`), ready for the animate tool.

## Models and prices

| Model | Name | Price | Time | What it is |
|---|---|---|---|---|
| `tripo-rig` (default) | Tripo | 45 credits | about 30 s | Rigs humanoid characters with the bone names of Mixamo, Unity, Unreal or VRM, so an engine's own animations play on them. |
| `meshy-rig` | Meshy | 35 credits | about 110 s | Rigs humanoid characters, with an FBX of the rig as well. |
| `rodin-rig` | Rodin | 35 credits | about 25 s | Rigs humanoids and four-legged animals in half a minute, fingers included; an animal comes with a walk and a run of its kind. |

## Input

| Field | Required | |
|---|---|---|
| `mesh` | yes | A mesh (GLB, glTF, OBJ, PLY or STL) as an https URL, an upload id (upl_...), a library id (ph:wooden_barrel_01) or an earlier job (job_... or its asset id 3dv:...). One character, best standing in a T-pose or A-pose; an animal on all fours, facing +Z. |

## Options

| Option | Type | Values | |
|---|---|---|---|
| `bone_names` | string | `tripo`, `mixamo`, `unity`, `unreal`, `vrm` | The bone names, so an engine's own animations play on it (tripo-rig). Default `tripo`. |
| `body` | string | `humanoid`, `horse`, `dog`, `cow` | What is rigged (rodin-rig): humanoid (humanoid), horse (horse or deer), dog (dog or wolf), cow (cow or bull). An animal comes with its kind's walk and run. Default `humanoid`. |
| `animations` | list | `preset:idle`, `preset:walk`, `preset:run`, `preset:jump`, `preset:turn`, `preset:climb`, `preset:dive`, `preset:slash`, `preset:shoot`, `preset:hurt`, `preset:fall` | Deprecated: Tripo's preset animations on a tripo-rig rig (17 credits each), up to 5. Use the animate tool instead: 79 free animations on any rig, or any motion described in words. |

## Output

Files: `glb`, `fbx`, `walk_glb`, `run_glb`. `glb` is the rig in its rest pose, with no animations: put them on with the animate tool. `fbx` comes from meshy-rig. `walk_glb` and `run_glb` come from rodin-rig with an animal's body: its walk and its run, each a GLB of the rig.

## Example

```
curl -X POST https://3dvalley.com/api/v1/jobs \
  -H "Authorization: Bearer $THREEDVALLEY_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Prefer: wait=50" \
  -H "Content-Type: application/json" \
  -d '{"tool":"auto-rig","model":"rodin-rig","input":{"mesh":"job_8Hq2..."}}'
```

From an MCP client:

```
rig_model({"mesh":"job_8Hq2...","model":"rodin-rig"})
```

## Limits

- `max_image_bytes`: 10,485,760
- `max_mesh_bytes`: 62,914,560
