File size: 2,115 Bytes
9c6d710
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
---
license: mit
library_name: mlx
tags:
  - mlx
  - 3d
  - rigging
  - auto-rigging
  - mesh
base_model: VAST-AI-Research/SkinTokens
---

# SkinTokens-bf16 (Swift-MLX)

Swift-MLX conversion of [**VAST-AI-Research/SkinTokens**](https://github.com/VAST-AI-Research/SkinTokens)
β€” a mesh **auto-rigger** (UniRig successor): a 3D triangle mesh (GLB) in β†’ the **same** geometry with a
skeleton + per-vertex skin weights (`JOINTS_0`/`WEIGHTS_0`) injected out.

⚠️ **This is a custom multi-component pipeline, NOT a standard `mlx_lm`/`mlx_vlm`/`mlx_audio` model.**
It is consumed by the [`mlx-skintokens-swift`](https://github.com/xocialize/mlx-engine-swift) package as
the MLXEngine **`meshRig`** capability (contract 1.19.0, engine β‰₯ v0.30.0). Loading it standalone with
`mlx_lm` will not work.

## Contents

| File | What |
|---|---|
| `tokenrig.safetensors` | bf16, 672 tensors β€” Qwen3-0.6B backbone + un-tied rig head + Michelangelo point encoder + embedded SkinVAE. The runtime loads THIS. |
| `skinvae.safetensors` | f32, 252 tensors β€” the standalone pretrained SkinVAE (FSQ `[8,8,8,8,8]` + chunked decoder); provenance / init. |
| `skeleton_vroid.json` | the canonical VRoid (VRM) bone template β€” the Route-B `skinOnly` humanoid skeleton order. |
| `config.json` | resolved TokenRig + SkinVAE + tokenizer config (reference; the Swift port hard-codes the architecture). |

## Pipeline

`mesh GLB β†’ SamplerMix(54000 pts) β†’ Michelangelo encoder β†’ SkinVAE._encode β†’ TokenRig AR transformer`
`(Qwen3-0.6B on inputs_embeds, grammar-constrained batched beam) β†’ FSQ chunked decoder β†’ per-point skin`
`β†’ cKDTree propagate to original verts β†’ GLB inject`. Two modes: **auto** (generate skeleton + skin) and
**skinOnly** (skin a provided/embedded skeleton β€” the companion-character VRM path, J-in == J-out).

## Licensing

- **SkinTokens** (the rigging model): **MIT** (VAST-AI-Research).
- **Qwen3-0.6B** backbone weights (embedded inside `tokenrig.safetensors`): **Apache-2.0** (Alibaba/Qwen).

Both permissive. Converted for Apple-Silicon MLX inference by the Xocialize MLXEngine effort.