One base URL, one key.

Every model on UncensoredLLM speaks the OpenAI API. Point your client at https://api.uncensoredllm.ai/v1, paste your sk-ullm- key from the console, and pick a model id from the models page. The same key works in every client below, and every request settles against one prepaid balance. The full reference is in the docs.

SillyTavern

API Connections → API: Chat Completion → Source: Custom (OpenAI-compatible)
Custom endpoint: https://api.uncensoredllm.ai/v1
API key: your sk-ullm- key
Model: glm-5.3-uncensored

Janitor AI

API: Proxy
URL: https://api.uncensoredllm.ai/v1/chat/completions
Key: your sk-ullm- key
Model: glm-5.3-uncensored

OpenAI SDK · Python

from openai import OpenAI
client = OpenAI(base_url="https://api.uncensoredllm.ai/v1", api_key="sk-ullm-live-...")
client.chat.completions.create(model="glm-5.3-uncensored", messages=[{"role": "user", "content": "Hello"}])

OpenAI SDK · JavaScript

import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.uncensoredllm.ai/v1", apiKey: "sk-ullm-live-..." });
await client.chat.completions.create({ model: "glm-5.3-uncensored", messages: [{ role: "user", content: "Hello" }] });

Get a key