Skip to content
DDasein
Published worldsPricing

API Documentation

Browse the maintained core contract for uploads, publishing, playback, and analytics.

Quick Start

1. Authenticate

# Sign in via Google OAuth, then use the JWT token
curl https://dasein-api.pixelraft.com/auth/me \
  -H "Authorization: Bearer YOUR_JWT_TOKEN"

2. Upload a Scene

# Create upload session
FILE_SIZE=$(wc -c < scene.ply | tr -d ' ')
REQUEST_BODY=$(jq -n --argjson size "$FILE_SIZE" \
  '{fileName:"scene.ply",contentType:"application/octet-stream",sizeBytes:$size,sourceFormat:"ply"}')
UPLOAD=$(curl -sS -X POST https://dasein-api.pixelraft.com/v1/uploads \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d "$REQUEST_BODY")
UPLOAD_ID=$(printf '%s' "$UPLOAD" | jq -r '.upload.id')
TARGET_URL=$(printf '%s' "$UPLOAD" | jq -r '.target.url')
TARGET_KIND=$(printf '%s' "$UPLOAD" | jq -r '.target.kind')
TARGET_PROVIDER=$(printf '%s' "$UPLOAD" | jq -r '.target.provider')

# Follow the target returned by the API
if [ "$TARGET_PROVIDER" = "api_relay" ]; then
  curl -X PUT "https://dasein-api.pixelraft.com$TARGET_URL" \
    -H "Authorization: Bearer $TOKEN" \
    -H "Content-Type: application/octet-stream" \
    --data-binary @scene.ply
elif [ "$TARGET_KIND" = "resumable_put" ]; then
  curl -X PUT "$TARGET_URL" \
    -H "Content-Type: application/octet-stream" \
    -H "Content-Range: bytes 0-$((FILE_SIZE - 1))/$FILE_SIZE" \
    --data-binary @scene.ply
else
  curl -X PUT "$TARGET_URL" \
    -H "Content-Type: application/octet-stream" \
    --data-binary @scene.ply
fi

# Complete the session and create the asset, version, and queued job
curl -X POST "https://dasein-api.pixelraft.com/v1/uploads/$UPLOAD_ID/complete" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"workspaceId":"YOUR_WORKSPACE_ID","title":"My Scene"}'

3. Embed

<iframe src="/embed/YOUR_SLUG"
  width="1280" height="720" allowfullscreen
  loading="lazy" style="border:none;border-radius:12px">
</iframe>

Accepted source formats

.ply

Gaussian or mesh PLY

.splat

Splat format

.spz

SPZ compressed

compressed_ply

Compressed PLY

.glb

Binary glTF

.gltf

glTF

.obj

Wavefront OBJ

.stl

STL mesh

.fbx

FBX

.usdz

USDZ

Dasein

Playable property tours and hosted spatial worlds by PixelRaft.

Published worldsUpload 3D capturePricingDocsPrivacyTerms
© 2026 PixelRaft