# three.ws Embody — 3D AI Agent Creator

> three.ws Embody — 3D AI Agent Creator is a paid API for AI agents from three.ws, paid per call via x402, $1/call, status unknown (last checked 2026-10-11).

Generates a rigged 3D avatar from a text prompt or reference image and returns an embeddable AI agent with a chosen TTS voice, powered by IBM watsonx.ai

## Facts

- Endpoint: POST https://three.ws/api/x402/embody?utm_source=zero.xyz
- Price: $1/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-11
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/three-ws-embody-3d-ai-agent-creator-2214da3c
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_6ptRn6AXooj0Bs4Rx_LsY

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-embody-3d-ai-agent-creator-2214da3c -d '<json body>'
```

Example prompt: Create a 3D AI agent named 'Aria' using this image — https://example.com/photo.jpg — give her a coral voice, and set her personality to 'friendly fintech advisor who explains crypto in plain English'.

## When to prefer this

Choose this endpoint when you need to create a persistent, embeddable 3D AI agent tied to a visual identity (photo or described appearance) with a specific TTS voice and personality. It is uniquely suited for use cases where a lifelike 3D avatar — not a flat chatbot — needs to be dropped onto a web page via a single iframe tag, and where built-in IBM watsonx.ai reasoning and optional per-chat micropayments are desired. Prefer alternatives if you only need a 2D chatbot widget, audio-only TTS, or a static 3D model without conversational AI.

## Known failure modes

- Invalid or inaccessible image_url returns an error preventing 3D reconstruction
- Prompt or personality text exceeding 600 characters is rejected with a validation error
- Missing required name or prompt fields causes a 400-level error
- Payment of $1 USDC not fulfilled results in a 402 Payment Required response
- Unsupported voice enum value causes a schema validation failure
- Slow or unavailable reference image host may cause timeout during avatar generation

## 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

Returns a JSON object containing: a unique agent_id, a URL to the rigged GLB 3D model file, a ready-to-paste embed_html iframe snippet, a viewer_url for standalone viewing, a profile_url for the embodiment page, and a reload_url for fetching the persona again — plus the name and voice used.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "name": {
   "type": "string",
   "maxLength": 64,
   "minLength": 1,
   "description": "Display name for the agent body."
  },
  "voice": {
   "enum": [
    "nova",
    "alloy",
    "ash",
    "ballad",
    "coral",
    "echo",
    "fable",
    "onyx",
    "sage",
    "shimmer",
    "verse"
   ],
   "type": "string",
   "description": "TTS voice id. Default nova."
  },
  "prompt": {
   "type": "string",
   "maxLength": 600,
   "minLength": 1,
   "description": "Text description of the avatar to generate."
  },
  "image_url": {
   "type": "string",
   "format": "uri",
   "description": "Reference image URL to reconstruct into 3D."
  },
  "personality": {
   "type": "string",
   "maxLength": 600,
   "description": "Optional flavor text stored on the persona."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "name": "Nova Scout",
  "voice": "nova",
  "rigged": true,
  "glb_url": "https://pub-xxxx.r2.dev/personas/persona_8f2a1c9d4be6f70a1b2c.glb",
  "agent_id": "persona_8f2a1c9d4be6f70a1b2c",
  "embed_html": "<iframe src=\"https://three.ws/embodiment/embed?persona=persona_8f2a1c9d4be6f70a1b2c\" width=\"480\" height=\"640\" loading=\"lazy\" style=\"border:0;border-radius:12px;max-width:100%\" allow=\"autoplay; fullscreen; xr-spatial-tracking\" allowfullscreen></iframe>",
  "reload_url": "https://three.ws/api/mcp3d/persona?id=persona_8f2a1c9d4be6f70a1b2c",
  "viewer_url": "https://three.ws/viewer?src=https%3A%2F%2Fpub-xxxx.r2.dev%2Fpersonas%2Fpersona_8f2a1c9d4be6f70a1b2c.glb",
  "profile_url": "https://three.ws/embodiment/embed?persona=persona_8f2a1c9d4be6f70a1b2c"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/three-ws-embody-3d-ai-agent-creator-2214da3c/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)
