Rig
Add a skeleton and skin weights to a character, creature or robot, with bone names your engine already knows.
Rig adds a skeleton and per-vertex skin weights to a finished model, so it can be posed and animated in Blender, Unity, Unreal or any engine that reads skinned glTF or FBX. It is built for anything with a body and limbs: characters, creatures and robots. It is automatic: no markers, no T-pose needed, about half a minute per model.
Rig takes any completed model as its parent: a Create, Sculptor, Detailer, Edit or Upload result.
Made for characters, creatures and robots
Rig runs on any model, but the skeleton is only meaningful on something with a body and
limbs. On a building, a vehicle or a prop it usually comes out poor, or the run fails with
rig_unsupported and the Cubes are refunded.
Rig a model
POST /api/v1/rig/submit
Requires API key. Flat price per run (5 Cubes today; the live figure is
flat_op_cubes.rig on GET /api/v1/tiers). Refunded if the run fails.
The Free plan allows 4 Rig runs a month; past that the submit returns 402
(see Rate Limits).
Request Body
| Name | Type | Description |
|---|---|---|
parent_submission_id | string (required) | ID of the completed model to rig. |
skeleton | string | Bone naming for a humanoid result: mixamo (default), unity or ue5. See below. |
seed | integer | Sampling seed. Random when omitted; rigging the same model again with a new seed gives a different skeleton. |
project_id | string | Assign to a project. |
Example Request
curl -X POST https://api.thrixel.com/api/v1/rig/submit \
-H "Authorization: Bearer sk-thrixel-<YOUR_KEY>" \
-H "Content-Type: application/json" \
-d '{
"parent_submission_id": "a1b2c3d4-..."
}'The response is the usual submission_id, status: "queued" and created_at. Follow it
with progress like any other job, then download the result.
The rigged model is a new version of the parent; it looks the same, it now has bones.
Bone names
When the model is a humanoid (a spine, a head, two arms, two legs), its joints are renamed to the standard skeleton you pick, so engines and animation libraries recognise them without a manual mapping:
skeleton | Example names | Use it for |
|---|---|---|
mixamo | mixamorig:Hips, mixamorig:LeftUpLeg, mixamorig:RightForeArm | Mixamo animations; most tools auto-map these names. |
unity | Hips, LeftUpperLeg, RightLowerArm, UpperChest | Unity's Humanoid avatar maps these automatically. |
ue5 | pelvis, thigh_l, lowerarm_r, spine_03 | The UE5 Mannequin skeleton and its retargeter. |
Creatures with tails or wings, four-legged animals and other non-humanoids keep generic
names (bone_0, bone_1, ...). The submission's params report what was applied:
| Field | Description |
|---|---|
bones | Number of bones in the skeleton. |
humanoid | Whether a humanoid was found and named. |
skeleton | The naming applied: mixamo, unity, ue5, or generic when no humanoid was found. |
Fingers, when present, keep generic names.
Exporting to an engine
- glTF / GLB carries the skeleton and weights as-is (up to 4 bone influences per vertex).
- FBX export (download with
format=fbx) writes no extra end bones, so the bone count in the engine matchesbones. Withue5naming, arootbone is added abovepelvisat the model's origin, as the Mannequin expects for root motion. - You do not need to rig again for another engine:
target=unity,target=ue5ortarget=robloxon the FBX download renames a humanoid's bones for that engine (Roblox gets a full R15 rig). See FBX for an engine.
Errors
| Status | When |
|---|---|
402 | Your Cube balance does not cover the run. |
404 | The parent submission does not exist. |
400 | The parent is not completed yet. |
A run that starts and then cannot produce a usable skeleton ends failed with
error_code: "rig_unsupported", and the Cubes are refunded. Any other failure is
error_code: "rig_failed", also refunded.