Rayform

API reference

Assets

Download the stored files behind a segment, such as reconstructed scenes and collision meshes.

Rayform is in private preview. APIs, formats and the SDK described here may change before general availability.

Assets are content-addressed: an asset's ID is the SHA-256 of its decoded content, so the same file is stored once and an ID always means the same bytes. Segment objects list their assets under assets.

The asset object

JSON
{
  "id": "sha256:ab12f09c...",
  "object": "asset",
  "kind": "scene",
  "codec": "gs-codec@3.1",
  "bytes": 48210331,
  "url": "https://files.rayform.world/assets/9f3c...?sig=...",
  "url_expires_at": "2026-10-15T10:22:00Z"
}
kindContents
sceneGaussian splats of the static scene, losslessly encoded
objectSplats of one moving object
collisionCollision mesh, GLB
visual_meshTextured mesh, GLB

Scene and object assets use Rayform's lossless splat codec. Decode them with the SDK, which picks the decoder from codec:

Python
splats = client.assets.load("sha256:ab12f09c...")    # dict of NumPy arrays
print(splats["means"].shape, splats["scales"].shape, splats["sh"].shape)
Text
(1843201, 3) (1843201, 3) (1843201, 16, 3)

Retrieve an asset

GET/v1/assets/{id}

Returns the asset with a signed download URL valid for 15 minutes. Request the asset again for a fresh URL.

Shell
curl https://api.rayform.world/v1/assets/sha256:ab12f09c... \
  -H "Authorization: Bearer $RAYFORM_API_KEY"

Because IDs are content hashes, downloads can be cached forever and verified locally:

Shell
curl -s "$ASSET_URL" -o scene.rfs && rayform verify scene.rfs --expect sha256:ab12f09c...

Last updated October 18, 2026