# JOULE Compute AI Inference

> JOULE Compute AI Inference is a paid API for AI agents from compute.lumenbro.com, paid per call via x402, $0.002105/call, status unknown (last checked 2026-09-14).

Runs AI chat completions via POST against an OpenAI-compatible endpoint supporting 7 available models

## Facts

- Endpoint: POST https://compute.lumenbro.com/api/v1/chat/completions
- Price: $0.002105/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/joule-compute-ai-inference-8b31db70
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_uamFj1PLA96zF_UvvJBTg

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 joule-compute-ai-inference-8b31db70 -d '<json body>'
```

Example prompt: Using JOULE Compute's chat completions endpoint, send this message to an available model and return the response: 'Explain the concept of recursion in one sentence.'

## When to prefer this

Choose this endpoint when you need a pay-per-call, OpenAI-compatible AI chat completions API with micro-payment billing via x402/USDC, particularly when integrating with x402-aware agents or pipelines that handle on-chain payments and need access to 7 hosted models without subscription overhead.

## Known failure modes

- Invalid or missing model name returns 400 or model-not-found error
- Payment not included or insufficient USDC balance results in 402 Payment Required
- Malformed messages array causes 400 Bad Request
- Rate limiting or capacity issues may return 429 Too Many Requests
- Unsupported model among the 7 available returns an error

## How this service works

AI inference (7 models available)

## Output

Returns an OpenAI-compatible chat completion object with the assistant's reply text, the finish reason (e.g. 'stop'), an index, and token usage stats (prompt tokens, completion tokens, total tokens), all under a unique completion ID.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "model": {
   "enum": [
    "meta-llama/Llama-3.3-70B-Instruct",
    "meta-llama/Llama-3.2-3B-Instruct",
    "meta-llama/Llama-4-Scout-17B-16E-Instruct",
    "mistralai/Mistral-Small-24B-Instruct-2501",
    "deepseek-ai/DeepSeek-V3",
    "Qwen/Qwen2.5-72B-Instruct",
    "deepseek-ai/DeepSeek-R1"
   ],
   "type": "string",
   "description": "Model ID for inference"
  },
  "stream": {
   "type": "boolean",
   "description": "Enable SSE streaming (optional)"
  },
  "messages": {
   "type": "array",
   "items": {
    "type": "object",
    "required": [
     "role",
     "content"
    ],
    "properties": {
     "role": {
      "enum": [
       "system",
       "user",
       "assistant"
      ],
      "type": "string"
     },
     "content": {
      "type": "string"
     }
    }
   },
   "minItems": 1,
   "description": "Chat messages in OpenAI format"
  },
  "max_tokens": {
   "type": "number",
   "description": "Maximum output tokens (optional)"
  },
  "temperature": {
   "type": "number",
   "description": "Sampling temperature 0-2 (optional)"
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "id": "chatcmpl-abc123",
  "usage": {
   "total_tokens": 18,
   "prompt_tokens": 10,
   "completion_tokens": 8
  },
  "object": "chat.completion",
  "choices": [
   {
    "index": 0,
    "message": {
     "role": "assistant",
     "content": "Hello! How can I help?"
    },
    "finish_reason": "stop"
   }
  ]
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/joule-compute-ai-inference-8b31db70/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from compute.lumenbro.com](https://www.zero.xyz/host/compute.lumenbro.com/llms.txt)
