# three.ws Animation Download

> three.ws Animation Download is a paid API for AI agents from three.ws, paid per call via x402, $0.01/call, status unknown (last checked 2026-09-14).

Downloads a specific 3D animation clip (GLB file) by UUID from the three.ws marketplace, returning a signed temporary download URL.

## Facts

- Endpoint: GET https://three.ws/api/x402/animation-download
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/three-ws-animation-download-d9c8a974
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_y4uCuxQ5BldmFml6TxKoH

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability three-ws-animation-download-d9c8a974
```

Example prompt: Download the three.ws marketplace animation with ID 00000000-0000-0000-0000-000000000000 and give me the GLB file download link.

## When to prefer this

Use this endpoint when you have a specific animation clip UUID (from a three.ws marketplace feed) and need to obtain a temporary signed download URL for the corresponding GLB/GLTF-binary file. This is the right endpoint when you already know the animation ID and just need the actual file access link, not for browsing or searching the animation catalog.

## Known failure modes

- Invalid or non-existent animation UUID returns an error response
- Expired or malformed payment (x402) causes 402 Payment Required
- Animation ID not found in marketplace returns 404
- Signed download URL expires after the expiresAt timestamp — must re-call to refresh
- Missing or malformed 'id' query parameter causes validation error

## How this service works

Make a 3D AI agent from a selfie in 60 seconds. Drop one HTML tag to embed it on any website. Agents think on IBM watsonx.ai (Granite); optionally charge per chat with built-in micropayments.

## Output

A JSON object containing: ok (true), the animation's UUID, human-readable name (e.g. 'Spin Kick Combo'), URL slug, MIME type ('model/gltf-binary'), file size in bytes, a signed temporary CDN download URL for the .glb file, and an expiry timestamp after which the URL becomes invalid.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET",
      "HEAD",
      "DELETE"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "$schema": "https://json-schema.org/draft/2020-12/schema",
     "required": [
      "id"
     ],
     "properties": {
      "id": {
       "type": "string",
       "format": "uuid",
       "description": "Animation clip id from the marketplace animations feed."
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "$schema": "https://json-schema.org/draft/2020-12/schema",
     "required": [
      "ok",
      "id",
      "name",
      "mimeType",
      "downloadUrl",
      "expiresAt"
     ],
     "properties": {
      "id": {
       "type": "string",
       "format": "uuid"
      },
      "ok": {
       "type": "boolean",
       "const": true
      },
      "name": {
       "type": "string"
      },
      "slug": {
       "type": "string"
      },
      "mimeType": {
       "type": "string"
      },
      "expiresAt": {
       "type": "string",
       "format": "date-time"
      },
      "sizeBytes": {
       "type": "integer",
       "minimum": 0
      },
      "downloadUrl": {
       "type": "string",
       "format": "uri"
      }
     }
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "id": "00000000-0000-0000-0000-000000000000",
  "ok": true,
  "name": "Spin Kick Combo",
  "slug": "spin-kick-combo",
  "mimeType": "model/gltf-binary",
  "expiresAt": "2026-06-15T18:48:09.000Z",
  "sizeBytes": 248400,
  "downloadUrl": "https://three.ws/cdn/u/.../spin-kick-combo.glb?X-Amz-Algorithm=..."
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/three-ws-animation-download-d9c8a974/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from three.ws](https://www.zero.xyz/host/three.ws/llms.txt)
