--- 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.