---
title: "Paid: Unlock a 3D avatar animation (GLB)"
method: GET
path: "/api/x402/animation-download"
---

# Paid: Unlock a 3D avatar animation (GLB)

`GET /api/x402/animation-download`

## Request

- Base URL: `https://three.ws`
- URL: `https://three.ws/api/x402/animation-download`
- Auth: none required

Pay once in USDC to unlock a 3D avatar animation (GLB). Each animation has its own price; the response carries a short-lived presigned URL the client fetches directly. Wallets that already paid re-download for free via SIWX.

## Query parameters

- `id` string, uuid, required

## Response `200`

Presigned download URL JSON

- object
  - `ok` boolean, required
  - `id` string, uuid, required
  - `slug` string
  - `name` string, required
  - `mimeType` string, required
  - `sizeBytes` integer
  - `expiresAt` string, date-time, required
  - `downloadUrl` string, uri, required

## Other responses

- `400`: Missing or invalid id
- `402`: Payment Required (x402)
- `404`: Animation not found

---

[API](https://skmtc.dev/three/apis/three-ws-api.md) · [All operations](https://skmtc.dev/three/apis/three-ws-api/llms.txt) · [OpenAPI document](https://skmtc.dev/three/apis/three-ws-api/revisions/dbc5e3a81b79?raw)
