SkinTokens for Agents
Rig any 3D mesh. SkinTokens (ACM TOG 2026) on a ZeroGPU slice: send a glb, gltf, obj or fbx and one synchronous call returns the mesh with a predicted skeleton and skin weights as a rigged GLB, the rig as JSON, the weights and a preview.
Guide /llms.txtOpenAPI /openapi.jsonSwagger /docsMCP /gradio_api/mcp/Gradio schema /gradio_api/infoService /api
Give this to your agent
Read https://townbox-skintokens-for-agents.hf.space/llms.txt and use SkinTokens to <WHAT_TO_RIG_AND_WHAT_TO_DO_WITH_THE_FILES>. Use my configured Hugging Face token if available.
Connect over MCP
https://townbox-skintokens-for-agents.hf.space/gradio_api/mcp/. Tools: rig, list_examples, get_result, view_rig, service_info, guide. The Authorization header makes ZeroGPU bill your own quota.{
"mcpServers": {
"skintokens": {
"url": "https://townbox-skintokens-for-agents.hf.space/gradio_api/mcp/",
"headers": { "Authorization": "Bearer YOUR_HF_TOKEN" }
}
}
}claude mcp add --transport http skintokens https://townbox-skintokens-for-agents.hf.space/gradio_api/mcp/ --header "Authorization: Bearer $HF_TOKEN"
Quick start
BASE=https://townbox-skintokens-for-agents.hf.space
# 1. rig a mesh (20-60 s; GPU time goes to your ZeroGPU quota)
curl -s -X POST "$BASE/api/rig?filename=robot.glb&num_beams=10&seed=7" -H "Authorization: Bearer $HF_TOKEN" \
-H 'content-type: application/octet-stream' --data-binary @robot.glb
# or a bundled example / a URL
curl -s -X POST $BASE/api/rig -H "Authorization: Bearer $HF_TOKEN" -H 'content-type: application/json' \
-d '{"example": "giraffe", "seed": 7}'
# 2. download the rigged mesh, the rig as JSON, the preview
curl -s -H "Authorization: Bearer $HF_TOKEN" -o rigged.glb "$BASE/api/jobs/<job_id>/files/rigged.glb"Endpoints
POST /api/rig?filename=), a multipart file, or JSON {example} / {mesh_url}, plus options. Returns the result with a URL per output file.GET /api/jobs/{job_id}/api/jobs/{job_id}/files/{name}.GET /api/examplesGET /api/identityGET /api, /api/health, /api/gpu_checkParameters
num_beamsseedkeep_skeletonpreserve_originalpostprocessinfluencestop_k, top_p, temperature, repetition_penaltyOutputs
bone_0 is the root) + skin weights, glTF 2.0. Opens in Blender, three.js, Unity, Godot.Model and provenance
Skin Tokens: A Learned Compact Representation for Unified Autoregressive Rigging. Jia-peng Zhang, Cheng-Feng Pu, Meng-Hao Guo, Yan-Pei Cao, Shi-Min Hu. ACM Transactions on Graphics 2026. arXiv 2602.04805 · project page · code (MIT) · weights (MIT) · authors' Space
This service runs the released checkpoint articulation_xl_quantization_256_token_4/grpo_1400.ckpt (TokenRig: Michelangelo mesh encoder, Qwen3-0.6B-architecture decoder, skin-token FSQ-CVAE; 595M parameters) through the authors' own inference code, vendored from their Space at revision 1f4445ba (repository commit 273b691d) without changes to the model code. Blender 4.5 reads the input and writes the rigged GLB, as in the authors' demo. Details in PROVENANCE.md.
Code and weights are MIT; the example meshes keep their own licenses (listed by /api/examples). Every output of this service is generated live.