Get started
SDKs & Editors
Anajak Lab speaks the OpenAI format, so anything built on the OpenAI SDKs works with a one-line change — swap the base URL, keep your code.
The one line
Point the client at https://api.anajaklabs.dev/v1 and use your Anajak Lab key. Grab a key from the dashboard first.
Python
from openai import OpenAI
client = OpenAI(
base_url="https://api.anajaklabs.dev/v1",
api_key="sk-xxxxxxxxxxxx",
)
resp = client.chat.completions.create(
model="auto", # let Anajak Lab route
messages=[{"role": "user", "content": "Ship it."}],
)
print(resp.choices[0].message.content)Node.js / TypeScript
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://api.anajaklabs.dev/v1",
apiKey: "sk-xxxxxxxxxxxx",
});
const resp = await client.chat.completions.create({
model: "auto",
messages: [{ role: "user", content: "Ship it." }],
});
console.log(resp.choices[0].message.content);Environment variables
Most tools read OPENAI_BASE_URL and OPENAI_API_KEY. Set them once and every OpenAI-compatible tool follows:
export OPENAI_API_KEY="sk-xxxxxxxxxxxx"
export OPENAI_BASE_URL="https://api.anajaklabs.dev/v1"Codex
Codex talks to the /v1/responses surface. Add a provider block to ~/.codex/config.toml:
model_provider = "anajaklab"
model = "gpt-5.5"
model_reasoning_effort = "xhigh"
disable_response_storage = true
preferred_auth_method = "apikey"
[model_providers.anajaklab]
name = "anajaklab"
base_url = "https://api.anajaklabs.dev"
wire_api = "responses"Note the base URL. Codex uses the OpenAI base without a trailing path —
https://api.anajaklabs.dev — and Codex appends /v1/responses via wire_api = "responses".Other editors
Any editor or extension with a custom OpenAI base URL works the same way: set the base URL to https://api.anajaklabs.dev/v1, paste your Anajak Lab key, and pick a model id (or auto). See the API reference for the full model list.