TERM0 DOCS / FOUNDER ALPHA

One URL change.
Everything else stays familiar.

Use the OpenAI SDK or any client that accepts a custom base URL. Term0 speaks the request shape your tooling already understands.

01

Set your credentials

Keep the key server-side. Term0 keys begin with tm0_ and are shown once when issued.

.envcopy
TERM0_API_KEY=tm0_...
OPENAI_BASE_URL=https://api.term0.dev/v1
02

Send a request

The examples below target the founder model alias. Streaming is recommended for interactive clients.

first-request.tsnode
import OpenAI from "openai";

const term0 = new OpenAI({
  baseURL: "https://api.term0.dev/v1",
  apiKey: process.env.TERM0_API_KEY,
});

const stream = await term0.chat.completions.create({
  model: "qwen3.8-27b",
  messages: [{ role: "user", content: "Hello" }],
  stream: true,
});
terminalcurl
curl https://api.term0.dev/v1/chat/completions \
  -H "Authorization: Bearer $TERM0_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "qwen3.8-27b",
    "messages": [{"role": "user", "content": "Hello"}],
    "stream": true
  }'
03

Stream by default

Set stream: true to receive Server-Sent Events. Term0 passes upstream chunks through without buffering the completed response.

04

Endpoint surface

POST/v1/chat/completionsOpenAI Chat Completions
POST/v1/responsesOpenAI Responses
POST/v1/messagesAnthropic Messages compatibility
GET/v1/modelsAvailable model aliases
05

Model

Use qwen3.8-27b. The full 128K context window remains a founder-alpha beta while validation continues.

06

Limits and pressure

Founder accounts begin with one active generation. Short bursts are protected. Sustained power usage may receive HTTP 429 with a Retry-After header until capacity pressure falls.