Skip to content

Supported formats

View Markdown llms-full.txt
ExtensionPreprocessing?Notes
.glbNo (fastest)Direct path to the SimReady pipeline.
.gltfYesSend as .zip if it has external .bin / textures.
.fbxYesSingle-file binary FBX.
.objYesSend as .zip to include the .mtl and textures.
.stlYesGeometry only — no materials.
.plyYesGeometry only. Must contain faces — see below.
.usdYesSingle-file USD.
.usdaYesASCII USD.
.usdcYesCrate-binary USD.
.usdzYesUSD-zipped (Pixar standard).
.zipYesMulti-file bundle. See ZIP packaging below.

When preprocessing runs, Rigyd uses Blender to convert the file to a clean GLB before submitting it to the SimReady pipeline. You don’t have to do anything — the API picks the right path based on the extension.

A .ply can hold a mesh, a point cloud, or a 3D Gaussian splat. Only a mesh has the triangle surface a simulation asset is built from, so the API reads the PLY header on upload and returns 400 — before any credit is reserved — when it declares no face element or zero faces:

{ "error": "This PLY file is a 3D Gaussian splat (78,426 splats, no faces). It has no triangle surface, so it cannot be converted to a simulation asset. Upload a mesh: a PLY with faces, or a GLB, glTF, OBJ, FBX, STL or USD file." }

A file whose vertices carry f_dc_0 (spherical-harmonic colour) is named a Gaussian splat; any other face-less PLY is named a point cloud. The same check applies to a .zip whose model file is a PLY. Mesh the scan first (for example Poisson reconstruction, or a splat-to-mesh tool) and upload the mesh.

.jpg, .jpeg, .png, .webp. Max 10 MB per image. Up to 4 images per request.

Use .zip when your model has companion files that must travel together:

Primary fileWhat goes in the ZIP
*.objThe .obj + its .mtl + every texture it references
*.gltfThe .gltf + its .bin + every texture
*.usd[a]The .usd + every file referenced via @./...@

Rules:

  • The archive must contain exactly one primary file (.obj / .gltf / .usd[a]).
  • Texture / mesh references must be relative (./diffuse.png, not absolute paths).
  • The API validates the archive on upload — invalid layouts fail at 400 before any credit is reserved.

500 MB per upload (server-side nginx limit). For larger assets, decimate locally first.