Pluggable model registry

Your model. Your license.

One HTTP contract, a registry of providers you pick in config. Every runtime below has produced real output, validated on Modal A10G — and each is labeled with its honest license, so you know what you can ship commercially.

MIT / Apache = commercial-OK
Non-commercial = self-host only

Clay is the open tool — self-hosters pick any provider and accept its license. The managed service only offers the commercial-OK ones.

Shape — image → 3D

microsoft

microsoft/TRELLIS-2

Default

Microsoft's structured-latent image-to-3D. Textured meshes, MIT-licensed.

MIT
✓ validated · ~30–55s · 1024² PBR
Stable-X

Stable-X/Hi3DGen

High detail

Normal-driven image-to-geometry — the sharpest commercial-OK shape option.

MIT
✓ validated · 1.48M-face raw mesh
tencent

tencent/Hunyuan3D-2.1

Self-host

High-fidelity shape generation. Self-host under Tencent's license.

Non-commercial
✓ validated · 768k-face watertight

Material — tiling PBR

gvecchio

gvecchio/StableMaterials

Default

Tiling PBR material sets from a text prompt — seamless, game-ready.

OpenRAIL
✓ validated · 5 maps · 1024²

Texture — paint onto UVs

tencent

tencent/Hunyuan3D-Paint

Self-host

Image-conditioned mesh re-texturing onto existing UVs.

Non-commercial
✓ validated · 2048² baked

One contract, any backend.

Providers are metadata descriptors in the orchestrator; inference runs on a GPU backend behind a single base64 HTTP contract — Modal, RunPod, or your own box. Swap the SOTA of the day in [providers] config; nothing else changes.

Benchmarked metrics live in the repo — benchmarks/results/MODEL_RUNTIMES.md.

Pick a model. Ship an asset.