SK-Adapter

SK-Adapter is a lightweight adapter for skeleton-based structural control in native 3D generation. It adds explicit 3D skeleton control to TRELLIS by encoding joint coordinates and topology into learnable tokens and injecting them into the frozen 3D generation backbone through cross-attention.

This model repository contains the released SK-Adapter checkpoints:

File Use case
sk-adapter-text.pt Text-conditioned 3D generation with skeleton control
sk-adapter-img.pt Image-conditioned 3D generation with skeleton control

Links

Model Details

SK-Adapter treats a 3D skeleton as a first-class control signal. Instead of relying only on text or image prompts, it conditions generation on joint positions and skeleton topology, allowing more precise control over the generated object's structure.

The adapter is inserted into the first TRELLIS stage, replacing the sparse-structure flow model during inference while keeping the TRELLIS generative pipeline intact. The downstream TRELLIS stages then produce 3D outputs such as Gaussian splatting files, GLB meshes when export succeeds, and rendered views.

Intended Use

Use SK-Adapter when you want to generate 3D assets whose coarse structure follows a specified skeleton.

Supported workflows:

  • Text prompt + skeleton to 3D
  • Image prompt + skeleton to 3D
  • Dataset sample id based inference
  • Custom skeleton JSON based inference

This model is intended for research and creative 3D generation experiments. It is not intended for safety-critical, medical, legal, or engineering-grade structural design.

Setup

Clone and set up the code repository:

git clone https://github.com/Supramundane/SK-Adapter.git
cd SK-Adapter
bash setup.sh
conda activate sk-adapter
export PYTHONPATH=.:./TRELLIS

On Windows PowerShell:

$env:PYTHONPATH=".;.\TRELLIS"

The setup script creates a sk-adapter environment with Python 3.10 and installs the TRELLIS backend plus SK-Adapter dependencies.

Usage

Download the checkpoint files from this repository and point the inference config to the appropriate file.

For text-conditioned generation:

# configs/inference_text.yaml
model_config: configs/sk_adapter_text.yaml
checkpoint: /path/to/sk-adapter-text.pt

Run:

python tools/vis/run_sk_adapter_text.py --run_config configs/inference_text.yaml

For image-conditioned generation:

# configs/inference_image.yaml
model_config: configs/sk_adapter_image.yaml
checkpoint: /path/to/sk-adapter-img.pt

Run:

python tools/vis/run_sk_adapter_image.py --run_config configs/inference_image.yaml

Both pipelines support dataset ids through samples[].id. The text pipeline also supports custom samples[].skeleton plus samples[].prompt, and the image pipeline supports custom samples[].skeleton plus samples[].image.

License

This repository is released under the Apache 2.0 License.

The checkpoints depend on external models and third-party components, including TRELLIS and Anymate-related tooling. Please also review the licenses and terms of those dependencies.

Citation

If you find this work useful, please cite:

@Article{wang2026skadapterskeletonbasedstructuralcontrol,
  title     = {SK-Adapter: Skeleton-Based Structural Control for Native 3D Generation},
  author    = {Anbang Wang and Yuzhuo Ao and Shangzhe Wu and Chi-Keung Tang},
  journal   = {arXiv preprint arXiv:2603.14152},
  year      = {2026}
}
Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for Supramundaner/sk-adapter

Finetuned
(8)
this model

Paper for Supramundaner/sk-adapter