Humanoid rigging, explained
TO3D treats image generation and humanoid rigging as two related jobs. The first creates a textured mesh; the second takes a GLB and binds a skeleton with a selected naming convention.
Verified 27 September 2026
Two steps, two task types
Start with a Trellis image-to-3d task to create a mesh and texture. When that GLB is available, submit it to a separate Skin Tokens rig task. Keeping the tasks separate makes the input, status, cost, and retry boundary explicit.
- Trellis input: a reachable image URL or an image payload; output: a GLB and related media.
- Skin Tokens input: a GLB URL or base64 GLB; output: a rigged GLB.
- A failed rig task does not mean the original generation should be submitted again.
image -> /api/trellis/tasks -> mesh.glb
mesh.glb -> /api/skin_tokens/tasks -> rigged.glbChoose a bone naming convention
The bone_names input tells Skin Tokens which naming convention to request. Pick the convention that matches the downstream import or retargeting setup you plan to test.
- original keeps the service's original humanoid names.
- mixamo requests Mixamo-style names.
- ue5 requests Unreal Engine 5-style names.
{"task_type":"rig","input":{"model":"https://…/model.glb","bone_names":"original"}}| Value | Meaning |
|---|---|
original | Use the original humanoid naming convention |
mixamo | Request Mixamo-style bone names |
ue5 | Request Unreal Engine 5-style bone names |
Check the skeleton and skin
After downloading the result, inspect the GLB skin, joints, vertex weights, UVs, and texture before importing it into a target tool. The fixed samples in the GLB guide provide deterministic files for that first check.
- Confirm that a skin references a joint hierarchy.
- Confirm that mesh primitives expose JOINTS_0 and WEIGHTS_0.
- Check the pose, scale, materials, and animation playback in the tool where the asset will live.
npx @gltf-transform/cli inspect https://to3d.app/showcase/gen-scout-idle.glbWhat the names do not promise
Bone names help an importer find familiar labels, but they do not prove retargeting, proportions, deformation quality, or a ready-made avatar. Treat Unity, Unreal, VRM, face, mouth, and VTubing support as separate acceptance checks.
- Run a target-engine import and pose test for the convention you selected.
- Check facial blendshapes and lip sync separately; they are not established by a humanoid skeleton.
- The four public samples are structural fixtures, not a ranking or a production-readiness claim.
# Verify in the destination tool
printf '%s\n' 'import -> retarget -> pose -> playback'