{
  "$schema": "https://voxobox.com/schemas/voxobox-agent-v1.json",
  "name": "Voxobox",
  "version": "1",
  "description": "Turn a local GLB or GLTF into a temporary public 3D viewer without an account, API key, or payment.",
  "primaryWorkflow": {
    "name": "Temporary guest viewer",
    "free": true,
    "requires": [],
    "steps": [
      "POST sandbox.uploadUrl with filename, contentType, and sizeBytes",
      "PUT the model bytes to the returned uploadUrl",
      "POST sandbox.confirm with sandboxId and optional etag",
      "Return viewerUrl, embedCode, claimUrl, activeUntil, and expiresAt to the human"
    ]
  },
  "sandbox": {
    "uploadUrl": "/api/sandbox/upload-url",
    "confirmUrl": "/api/sandbox/confirm",
    "statusUrl": "/api/sandbox/{slug}",
    "viewerUrlPattern": "/s/{slug}",
    "claimUrlPattern": "/claim/?sandbox={slug}",
    "allowedExtensions": [".glb", ".gltf"],
    "activeDays": 7,
    "readOnlyDays": 23,
    "deleteAfterDays": 30
  },
  "resources": {
    "agentGuide": "/agents.md",
    "llms": "/llms.txt",
    "apiLlms": "/api/llms.txt",
    "openapi": "/openapi.json",
    "pluginManifest": "/.well-known/ai-plugin.json",
    "mcpServerCard": "/.well-known/mcp/server-card.json"
  },
  "paidFeatures": {
    "description": "Claiming a sandbox into permanent cloud storage and Studio requires a paid Voxobox workspace.",
    "pricing": "/pricing/"
  }
}
