uncensored opencode

Quickstart: first request

Make a key, send one request, read the reply. Three minutes, and everything after this page builds on it.

1. Get a key

Sign in with your email, add credit under Billing, then create a key under API keys. A key starts with sk-nc- and is shown once, at the moment you create it, so copy it then.

shell
# macOS and Linux
export UNCENSORED_OPENCODE_API_KEY="sk-nc-..."

# Windows PowerShell
$env:UNCENSORED_OPENCODE_API_KEY = "sk-nc-..."

2. Send a request

curl
curl https://uncensoredopencode.com/v1/chat/completions \
  -H "Authorization: Bearer $UNCENSORED_OPENCODE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model": "glm-5.3-flash-uncensored", "messages": [{"role": "user", "content": "Hello"}]}'
Python
import os
from openai import OpenAI

client = OpenAI(base_url="https://uncensoredopencode.com/v1", api_key=os.environ["UNCENSORED_OPENCODE_API_KEY"])
reply = client.chat.completions.create(
    model="glm-5.3-flash-uncensored",
    messages=[{"role": "user", "content": "Hello"}],
)
print(reply.choices[0].message.content)
Node
import OpenAI from "openai";

const client = new OpenAI({ baseURL: "https://uncensoredopencode.com/v1", apiKey: process.env.UNCENSORED_OPENCODE_API_KEY });
const reply = await client.chat.completions.create({
  model: "glm-5.3-flash-uncensored",
  messages: [{ role: "user", content: "Hello" }],
});
console.log(reply.choices[0].message.content);

3. Read the reply

The response is the standard chat completion object: choices[0].message.content holds the answer and usage holds the token counts the request was billed on. Add "stream": true to get the answer as it is written.

Next

Point an agent at the same key: opencode, Claude Code, Codex or Hermes Agent. Or read which request formats the API accepts.