Skip to main content

SOMA-X

PyPI version License Technical Report

Documentation · PyPI · Hugging Face · Changelog

Overview

SOMA-X provides a canonical, differentiable representation for parametric human bodies and hands. It maps supported identity models to shared SOMA topology and rig conventions so applications can reuse one animation, retargeting, and geometry pipeline across model families. Runtime skinning and fitting are accelerated with NVIDIA Warp.

The package includes:

  • SOMALayer for full-body models at mid, low, and extra-low LODs.
  • SOMAHandLayer for wrist-local left and right hands at the same three LODs.
  • Native SOMA body and hand identity models, plus optional MHR, Anny, SMPL-family, GarmentMeasurements, and MANO interoperability.
  • Pose inversion, procedural rig controls, smoothing, conversion, USD/NPZ I/O, and reusable geometry utilities.

All identity models below are driven by SOMA's unified body and hand skeletons.

SOMA Body and SOMA Hand identity backends animated by the unified skeleton, with the skeleton overlaid

Installation

pip install py-soma-x

Assets are downloaded from nvidia/SOMA-X on first use and cached by huggingface_hub. Optional identity backends have additional dependencies and some require separately licensed model files. See the installation guide for source installation, extras, and model-file setup.

Quick start

Full body

import torch

from soma import SOMALayer

body = SOMALayer(identity_model_type="mhr", device="cpu")
poses = torch.zeros(1, 77, 3)
identity = torch.zeros(1, body.num_shape_components)

output = body(poses, identity)
vertices = output.vertices
joints = output.joints

SOMA Hand

import torch

from soma import SOMAHandLayer

hand = SOMAHandLayer(hand_type="right", lod="mid", device="cpu")
poses = torch.zeros(1, 25, 3)
identity = torch.zeros(1, hand.num_shape_components)

output = hand(poses, identity)
vertices = output.vertices
joints = output.joints

SOMAHand.npz includes the native hand identity model and bind-relative articulation prior. MANO interoperability uses user-supplied MANO v1.2 files; licensed MANO models are not redistributed.

Supported identity models

Scope Backend Notes
Body MHR Default high-fidelity body backend
Body SOMA Native PCA identity and body-part scaling
Body Anny Anthropometric controls with broad age coverage
Body SMPL / SMPL-H / SMPL-X User-supplied licensed model files
Body GarmentMeasurements User-generated local PCA asset
Hand SOMA Native 20-component hand identity model
Hand MANO User-supplied MANO v1.2 model files
Hand MHR Hand identity sliced from the MHR body model

Documentation

  • GEM-X — SOMA-based video pose estimation.
  • Kimodo — controllable text-to-motion generation.
  • ARDY — an autoregressive diffusion model designed for interactive motion generation.
  • MotionBricks — a real-time motion in-betweener.
  • BONES-SEED — human and humanoid motion dataset in SOMA format.
  • SOMA Retargeter — SOMA-to-Humanoid retargeting.
  • ProtoMotions — physically simulated character learning.
  • GR00T Whole-Body Control — a state-of-the-art whole-body controller.

Citation

If you use SOMA-X in your work, please cite:

@article{soma2026,
  title={SOMA: Unifying Parametric Human Body Models},
  author={Jun Saito and Jiefeng Li and Michael de Ruyter and Miguel Guerrero and Edy Lim and Ehsan Hassani and Roger Blanco Ribera and Hyejin Moon and Magdalena Dadela and Marco Di Lucca and Qiao Wang and Xueting Li and Sam Wu and Chaeyeon Chung and Yeongho Seol and Jan Kautz and Simon Yuen and Umar Iqbal},
  eprint={2603.16858},
  archivePrefix={arXiv},
  year={2026},
  url={https://arxiv.org/abs/2603.16858},
}

Acknowledgements

  • SMPL-Body was used to create the SMPL-to-SOMA topology correspondence, courtesy of the Max Planck Institute for Intelligent Systems.
  • MHR was used to learn the pose corrective model.
  • Anny provided the basis for Warp-accelerated sparse linear blend skinning.
  • GarmentMeasurements was used to augment the native body shape model.

License

SOMA-X is licensed under Apache-2.0. Optional third-party models and dependencies retain their own license terms.

Metadata

Release files for py-soma-x 0.3.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for py-soma-x 0.3.5
File Size Uploaded Provenance Actions
py_soma_x-0.3.5.tar.gz 188.3 kB With provenance Details for py_soma_x-0.3.5.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for py-soma-x 0.3.5
File Interpreter ABI Platform Actions
py_soma_x-0.3.5-py3-none-any.whl Python 3 none any Details for py_soma_x-0.3.5-py3-none-any.whl

Total release size: 394.6 kB

Release files / py_soma_x-0.3.5.tar.gz

Download URL py_soma_x-0.3.5.tar.gz
Size 188.3 kB
Tags Source
SHA-256 checksum
How to use checksums
a4e9038f6a802c0cf50837ca5f2254b6044eeb7102032a6ea51d7beb5a728b4b
BLAKE2b-256 checksum
How to use checksums
a139b283509701bdd002d72cbdbc54231a1ea7907cdf975bb11030685ba13840
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 2, 2026.

Transparency log

Release files / py_soma_x-0.3.5-py3-none-any.whl

Download URL py_soma_x-0.3.5-py3-none-any.whl
Size 206.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
5de3660a38be79a8b7b2e01655d020b57c65b72c0d52639fc888095c2f866fc1
BLAKE2b-256 checksum
How to use checksums
ef6ee115505be01fd791de0bdd080b7b1475e68de3fbf5f57ae717eafe54a080
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 2, 2026.

Transparency log

Security for py-soma-x 0.3.5

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for py_soma_x-0.3.5.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 2, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page