Instructions to use mlx-community/SkinTokens-bf16 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- MLX
How to use mlx-community/SkinTokens-bf16 with MLX:
# Download the model from the Hub pip install huggingface_hub[hf_xet] huggingface-cli download --local-dir SkinTokens-bf16 mlx-community/SkinTokens-bf16
- Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- LM Studio
| { | |
| "model_type": "skintokens", | |
| "format": "swift-mlx", | |
| "note": "Custom multi-component auto-rigging pipeline \u2014 NOT loadable by mlx_lm/mlx_vlm/mlx_audio. Consumed by the mlx-skintokens-swift package (MLXEngine `meshRig` capability).", | |
| "tokenrig": { | |
| "model_config": { | |
| "hidden_size": 768, | |
| "vae_decoder_dim": 768, | |
| "tokens_per_skin": 4, | |
| "tokens_skin_cond": 384, | |
| "use_rope": true, | |
| "encode_repeat": 32, | |
| "skin_warmup_start_epoch": -2, | |
| "skin_warmup_end_epoch": -1, | |
| "mesh_encoder_layers": 8, | |
| "mesh_encoder_attention_heads": 8, | |
| "mesh_encoder_dim": 768, | |
| "init_scale": 0.25, | |
| "pretrained_vae": "experiments/skin_vae_2_10_32768/last.ckpt", | |
| "mesh_encoder": { | |
| "__target__": "michelangelo_encoder", | |
| "freeze_encoder": false, | |
| "device": "cpu", | |
| "dtype": "float32", | |
| "num_latents": 256, | |
| "embed_dim": 64, | |
| "point_feats": 3, | |
| "num_freqs": 8, | |
| "include_pi": false, | |
| "heads": 8, | |
| "width": 512, | |
| "num_encoder_layers": 8, | |
| "use_ln_post": true, | |
| "init_scale": 0.25, | |
| "qkv_bias": false, | |
| "use_checkpoint": false, | |
| "flash": true, | |
| "supervision_type": "occupancy", | |
| "query_method": false, | |
| "token_num": 512 | |
| }, | |
| "llm": { | |
| "pretrained_model_name_or_path": "Qwen/Qwen3-0.6B", | |
| "n_positions": 3192, | |
| "max_position_embeddings": 3192, | |
| "hidden_size": 896, | |
| "word_embed_proj_dim": 896, | |
| "do_layer_norm_before": true | |
| } | |
| }, | |
| "tokenizer_config": { | |
| "__target__": "tokenizer_part", | |
| "num_discrete": 256, | |
| "continuous_range": [ | |
| -1, | |
| 1 | |
| ], | |
| "cls_token_id": { | |
| "rignet": 0, | |
| "vroid": 1, | |
| "articulation": 2 | |
| }, | |
| "parts_token_id": { | |
| "body": 0, | |
| "hand": 1 | |
| }, | |
| "order_config": { | |
| "skeleton_path": { | |
| "vroid": "./configs/skeleton/vroid.yaml", | |
| "mixamo": "./configs/skeleton/mixamo.yaml" | |
| } | |
| } | |
| }, | |
| "transform_config": { | |
| "random_pose_angle": 45.0, | |
| "order": { | |
| "skeleton_path": { | |
| "vroid": "./configs/skeleton/vroid.yaml", | |
| "mixamo": "./configs/skeleton/mixamo.yaml" | |
| } | |
| }, | |
| "vertex_group": [ | |
| { | |
| "__target__": "skin" | |
| } | |
| ], | |
| "train_transform": { | |
| "augments": [ | |
| { | |
| "__target__": "trim" | |
| }, | |
| { | |
| "__target__": "collapse", | |
| "max_bones": 196 | |
| }, | |
| { | |
| "__target__": "delete", | |
| "p": 0.2, | |
| "rate": 0.2 | |
| }, | |
| { | |
| "__target__": "drop_part", | |
| "p": 0.5, | |
| "rate": 0.5 | |
| }, | |
| { | |
| "__target__": "lbs", | |
| "random_pose_p": 0.5, | |
| "random_pose_angle": 45.0, | |
| "random_scale_range": [ | |
| 0.5, | |
| 1.7 | |
| ] | |
| }, | |
| { | |
| "__target__": "linear", | |
| "random_rotate_p": 0.5, | |
| "random_rotate_angle": 90.0, | |
| "random_flip_x_p": 0.0, | |
| "random_flip_y_p": 0.0, | |
| "random_flip_z_p": 0.0, | |
| "random_scale_p": 0.5, | |
| "random_scale": [ | |
| 0.3, | |
| 1.0 | |
| ] | |
| }, | |
| { | |
| "__target__": "affine", | |
| "normalize_into": [ | |
| -1.0, | |
| 1.0 | |
| ], | |
| "random_scale_p": 0.75, | |
| "random_scale": [ | |
| 0.5, | |
| 1.0 | |
| ], | |
| "random_shift_p": 1.0, | |
| "random_shift": [ | |
| -1.0, | |
| 1.0 | |
| ] | |
| }, | |
| { | |
| "__target__": "jitter", | |
| "p": 0.5, | |
| "vertex_sigma": 0.001, | |
| "vertex_clip": 0.001, | |
| "normal_sigma": 0.01, | |
| "normal_clip": 0.01 | |
| }, | |
| { | |
| "__target__": "normalize" | |
| } | |
| ], | |
| "order": { | |
| "skeleton_path": { | |
| "vroid": "./configs/skeleton/vroid.yaml", | |
| "mixamo": "./configs/skeleton/mixamo.yaml" | |
| } | |
| }, | |
| "vertex_groups": [ | |
| { | |
| "__target__": "skin" | |
| } | |
| ], | |
| "sampler": { | |
| "__target__": "mix", | |
| "num_samples": 54000, | |
| "num_vertex_samples": 16384, | |
| "num_skin_samples": 32768, | |
| "all_skeleton": true, | |
| "max_distance": 0.1, | |
| "rate_distance": 0.1 | |
| } | |
| }, | |
| "validate_transform": { | |
| "augments": [ | |
| { | |
| "__target__": "trim" | |
| }, | |
| { | |
| "__target__": "affine", | |
| "normalize_into": [ | |
| -1.0, | |
| 1.0 | |
| ] | |
| }, | |
| { | |
| "__target__": "normalize" | |
| } | |
| ], | |
| "order": { | |
| "skeleton_path": { | |
| "vroid": "./configs/skeleton/vroid.yaml", | |
| "mixamo": "./configs/skeleton/mixamo.yaml" | |
| } | |
| }, | |
| "vertex_groups": [ | |
| { | |
| "__target__": "skin" | |
| } | |
| ], | |
| "sampler": { | |
| "__target__": "mix", | |
| "num_samples": 54000, | |
| "num_vertex_samples": 16384, | |
| "num_skin_samples": 32768, | |
| "all_skeleton": true, | |
| "max_distance": 0.1, | |
| "rate_distance": 0.1 | |
| } | |
| }, | |
| "predict_transform": { | |
| "augments": [ | |
| { | |
| "__target__": "trim" | |
| }, | |
| { | |
| "__target__": "affine", | |
| "normalize_into": [ | |
| -1.0, | |
| 1.0 | |
| ] | |
| }, | |
| { | |
| "__target__": "normalize" | |
| } | |
| ], | |
| "order": { | |
| "skeleton_path": { | |
| "vroid": "./configs/skeleton/vroid.yaml", | |
| "mixamo": "./configs/skeleton/mixamo.yaml" | |
| } | |
| }, | |
| "sampler": { | |
| "__target__": "mix", | |
| "num_samples": 54000, | |
| "num_vertex_samples": 16384 | |
| } | |
| } | |
| }, | |
| "generate_kwargs": { | |
| "max_new_tokens": 2040, | |
| "num_return_sequences": 1, | |
| "num_beams": 10, | |
| "do_sample": true, | |
| "top_k": 10, | |
| "top_p": 0.95, | |
| "repetition_penalty": 2.0, | |
| "temperature": 1.5 | |
| } | |
| }, | |
| "skinvae": { | |
| "model_config": { | |
| "model": { | |
| "in_channels": 4, | |
| "cond_channels": 3, | |
| "latent_channels": 512, | |
| "num_attention_heads": 12, | |
| "width_encoder": 768, | |
| "width_decoder": 768, | |
| "num_layers_encoder": 2, | |
| "num_layers_decoder": 10, | |
| "embedding_type": "frequency", | |
| "embed_frequency": 8, | |
| "embed_include_pi": true, | |
| "is_learned_queries": true, | |
| "use_pmpe": true, | |
| "FSQ_dict": { | |
| "levels": [ | |
| 8, | |
| 8, | |
| 8, | |
| 8, | |
| 8 | |
| ], | |
| "dim": 512 | |
| } | |
| }, | |
| "sample": { | |
| "cond_tokens": 384, | |
| "sample_tokens": 32, | |
| "compress_tokens": 32 | |
| } | |
| } | |
| }, | |
| "vocab": { | |
| "tokenizer": 267, | |
| "fsq_codebook": 32768, | |
| "lm_total": 33036, | |
| "fsq_levels": [ | |
| 8, | |
| 8, | |
| 8, | |
| 8, | |
| 8 | |
| ] | |
| }, | |
| "precision": { | |
| "tokenrig": "bf16", | |
| "skinvae": "f32" | |
| } | |
| } |