Skip to content

Formats

GET/v1/formats

Returns the formats the rigger currently accepts and produces. This endpoint needs no API key, so you can check support before signing up.

Response

200 OK

json
{
  "object": "formats",
  "input": ["glb", "fbx", "obj", "stl", "zip"],
  "output": ["glb", "fbx"],
  "notes": {
    "stl": "Binary STL has no magic bytes, so it is only detected from a URL or filename ending in .stl.",
    "max_faces": "Meshes above roughly 300k faces are rejected by the rigger."
  }
}

Input formats

FormatNotes
glb / gltfPreferred. Carries materials and textures in one file
fbxWell supported. Binary and ASCII both work
objGeometry only. Bring an .mtl in a .zip if you need materials
stlGeometry only, no UVs or materials. See the caveat below
zipAn archive containing one of the above plus its textures

Format is detected by content sniffing first, filename second, so a mislabelled extension usually still works. Binary STL is the exception: it has no magic bytes to sniff, so it is only recognised when the URL or filename ends in .stl.

ply and vrm files are recognised but cannot be rigged, and are rejected with unsupported_format rather than silently producing a broken result.

Output formats

glb (default) or fbx, selected with output_format on POST /v1/rigs.

Choose GLB for web, three.js, Babylon, Godot, and anything glTF-native. It is a single self-contained file with materials and textures embedded.

Choose FBX for Unity, Unreal, Maya, and 3ds Max pipelines that expect it. The skeleton and skin weights are identical; only the container differs.

Size limits

Meshes above roughly 300,000 faces are rejected. This is a quality boundary as much as a performance one: rigging accuracy does not improve past that density, and game-ready characters are typically far below it. Decimate before submitting if your source is a scan or a sculpt.