Back to three.ws

Card snapshot

three.ws · 2026-05-22 05:46:36 UTC · b5a356ee4739c381273cdfaf85a10856a1894d878f158b9c7417c0fb3c9e5965

This is a frozen copy of the agent's agent-card.json as we observed it at the timestamp above. We capture a new snapshot every time the card's content hash changes. Useful for: forensic drift analysis, verifying downstream callers see the right version, reproducing routing decisions made historically.

{
  "name": "three.ws",
  "description": "AI-powered 3D model viewer and validation agent. Load glTF/GLB models, run validation, inspect materials, and manage avatar assets.",
  "url": "https://three.ws/",
  "provider": {
    "organization": "three.ws",
    "url": "https://three.ws/"
  },
  "version": "1.5.1",
  "capabilities": {
    "streaming": false,
    "pushNotifications": false,
    "stateTransitionHistory": false,
    "extensions": [
      {
        "uri": "https://github.com/google-a2a/a2a-x402/v0.1",
        "description": "Supports payments using the x402 protocol for on-chain settlement.",
        "required": true
      }
    ]
  },
  "authentication": {
    "schemes": [
      "bearer"
    ],
    "credentials": null
  },
  "defaultInputModes": [
    "text/plain",
    "application/json"
  ],
  "defaultOutputModes": [
    "text/plain",
    "application/json"
  ],
  "skills": [
    {
      "id": "list-avatars",
      "name": "List Avatars",
      "description": "List all avatars owned by the authenticated user",
      "tags": [
        "avatar",
        "list"
      ],
      "examples": [
        "Show me my avatars",
        "List all my 3D models"
      ]
    },
    {
      "id": "get-avatar",
      "name": "Get Avatar",
      "description": "Retrieve details of a specific avatar by ID or slug",
      "tags": [
        "avatar",
        "inspect"
      ],
      "examples": [
        "Get avatar details for cz",
        "Show avatar info"
      ]
    },
    {
      "id": "search-avatars",
      "name": "Search Public Avatars",
      "description": "Search public avatar gallery by query",
      "tags": [
        "avatar",
        "search"
      ],
      "examples": [
        "Find avatars matching 'robot'",
        "Search public models"
      ]
    },
    {
      "id": "render-avatar",
      "name": "Render Avatar",
      "description": "Get an embeddable HTML model-viewer snippet that renders the given avatar in 3D",
      "tags": [
        "avatar",
        "render",
        "preview"
      ],
      "examples": [
        "Render my avatar in the viewer",
        "Preview this model"
      ]
    },
    {
      "id": "delete-avatar",
      "name": "Delete Avatar",
      "description": "Delete an avatar owned by the authenticated user",
      "tags": [
        "avatar",
        "delete"
      ],
      "examples": [
        "Delete my old avatar",
        "Remove avatar abc123"
      ]
    },
    {
      "id": "validate-model",
      "name": "Validate glTF/GLB Model",
      "description": "Run the Khronos glTF-Validator against a remote model URL and return a structured error/warning/info/hint report",
      "tags": [
        "model",
        "validation",
        "gltf",
        "glb"
      ],
      "examples": [
        "Validate https://example.com/model.glb",
        "Is this GLB spec-compliant?",
        "Check my model for errors"
      ]
    },
    {
      "id": "inspect-model",
      "name": "Inspect glTF/GLB Model",
      "description": "Parse a remote model and return structural stats: scene/node/mesh counts, vertex and triangle totals, material and texture summaries, extensions used",
      "tags": [
        "model",
        "inspect",
        "stats",
        "gltf",
        "glb"
      ],
      "examples": [
        "How many triangles are in this model?",
        "Inspect https://example.com/scene.glb",
        "Show texture stats for this GLB"
      ]
    },
    {
      "id": "optimize-model",
      "name": "Suggest Optimizations",
      "description": "Inspect a remote model and return actionable suggestions for reducing size and draw-call overhead (Draco/Meshopt, KTX2, texture resize, reindexing, material merging)",
      "tags": [
        "model",
        "optimize",
        "suggestions",
        "performance"
      ],
      "examples": [
        "How can I make this model smaller?",
        "Optimize this GLB for web delivery",
        "Suggest compression for https://example.com/avatar.glb"
      ]
    },
    {
      "id": "inspect-glb-a2a",
      "name": "Inspect glTF/GLB (A2A)",
      "description": "Pay-per-call glTF/GLB inspector exposed over the Agent-to-Agent (A2A) protocol with x402 settlement. Send a JSON-RPC message/send to the URL below \u2014 the first call returns payment requirements, the retry with a signed PaymentPayload settles on-chain and returns the inspection report as a task artifact.",
      "tags": [
        "model",
        "gltf",
        "glb",
        "inspect",
        "a2a",
        "x402",
        "paid"
      ],
      "examples": [
        "Inspect https://example.com/model.glb (A2A x402)",
        "Vet this GLB before I mint it"
      ],
      "inputModes": [
        "application/json",
        "text/plain"
      ],
      "outputModes": [
        "application/json"
      ],
      "url": "https://three.ws/api/agents/a2a-paid"
    }
  ]
}