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" }] });