API documentation

Everything you need to call open-weight models through one endpoint.

Authentication

All API requests use a bearer key. Create one in your dashboard — it starts with vxb_ and is shown once.

Authorization: Bearer vxb_your_key

Get an API key

List models

Returns the live catalog of open-weight models (OpenAI shape).

curl https://vx-build.ai/v1/models \
  -H "Authorization: Bearer vxb_your_key"

Full catalog with pricing →

Chat completions

OpenAI-compatible. Add "stream": true for server-sent events.

curl https://vx-build.ai/v1/chat/completions \
  -H "Authorization: Bearer vxb_your_key" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "meta-llama/llama-3.3-70b-instruct",
    "messages": [{"role": "user", "content": "Hello!"}],
    "stream": false
  }'

OpenAI SDK

Any OpenAI-compatible SDK works — just point base_url here.

from openai import OpenAI

client = OpenAI(
    base_url="https://vx-build.ai/v1",
    api_key="vxb_your_key",
)
r = client.chat.completions.create(
    model="meta-llama/llama-3.3-70b-instruct",
    messages=[{"role": "user", "content": "Hello!"}],
)
print(r.choices[0].message.content)

MCP server

Connect agents and editors over the Model Context Protocol. Tools: list_models and chat.

Streamable HTTP with a bearer key — pick your client below. Never commit your key; prefer the env-var and prompt forms shown here.

Claude Desktop
Config file: ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) %APPDATA%\Claude\claude_desktop_config.json (Windows)
{
  "mcpServers": {
    "vx-build": {
      "command": "npx",
      "args": [
        "-y", "mcp-remote",
        "https://vx-build.ai/mcp",
        "--header", "Authorization:${AUTH_HEADER}"
      ],
      "env": { "AUTH_HEADER": "Bearer vxb_your_key" }
    }
  }
}

Claude Desktop custom connectors authenticate over OAuth, so a static key needs the mcp-remote bridge (requires Node.js). The missing space after "Authorization:" is deliberate — it avoids an argument-escaping bug on Windows.

Cursor
Config file: ~/.cursor/mcp.json (global) · .cursor/mcp.json (project)
{
  "mcpServers": {
    "vx-build": {
      "url": "https://vx-build.ai/mcp",
      "headers": { "Authorization": "Bearer ${env:VX_BUILD_KEY}" }
    }
  }
}

Export VX_BUILD_KEY in your shell first, so the key never lands in the config file.

VS Code
Config file: .vscode/mcp.json (workspace) · MCP: Open User Configuration (global)
{
  "inputs": [
    { "type": "promptString", "id": "vx-key",
      "description": "vx-build.ai API key", "password": true }
  ],
  "servers": {
    "vx-build": {
      "type": "http",
      "url": "https://vx-build.ai/mcp",
      "headers": { "Authorization": "Bearer ${input:vx-key}" }
    }
  }
}

VS Code prompts for the key on first use and stores it securely — safe to commit this file.

OpenCode
Config file: opencode.json (project) · ~/.config/opencode/opencode.json (global)
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "vx-build": {
      "type": "remote",
      "url": "https://vx-build.ai/mcp",
      "enabled": true,
      "headers": { "Authorization": "Bearer vxb_your_key" }
    }
  }
}
OpenClaw
Config file: ~/.openclaw/config.json — or use the CLI below
openclaw mcp set vx-build '{
  "url": "https://vx-build.ai/mcp",
  "transport": "streamable-http",
  "headers": { "Authorization": "Bearer vxb_your_key" }
}'

Equivalent to adding the same object under mcp.servers in ~/.openclaw/config.json.

Restart the app, then ask your agent to "list the models available on vx-build" — it should call list_models.

Billing

Prepaid credits. Usage is billed at provider cost + 25%; at zero balance the API returns 402. Credits never expire.