API

Документация

Работает из коробки, никаких танцев с бубном. OpenAI-совместимый Chat Completions. Ключ берётся в кабинете на сайте или в Telegram-боте: команда /api или кнопка API.

Base URL · https://uncensored.monster/v1
API Key · кабинет uncensored.monster/cabinet или кнопка API в @uncensobot, показывается один раз
Model ID · по умолчанию z-ai/glm-5.3-flash-uncensored
Протокол · Chat Completions, не Anthropic и не Responses

С чего начать

  1. Откройте кабинет или @uncensobot. Ключ, баланс и оплата общие.
  2. Пополните пакет ($1–$100, Crypto или xRocket USDT). Без баланса API ответит 402.
  3. Кнопка API — ключ целиком один раз. Пробелы и перенос из Telegram уберите.
  4. В клиенте три поля: Base URL с /v1, ключ, точный Model ID. Новый чат после смены адреса.
  5. Короткий пинг: «Ответь одним словом: готово». Если ответ пришёл — клиент ходит к нам.

Подробнее: маршрут бот → ключ → API.

Что умеет API

Кеш — часть входных токенов: если в usage есть cached_tokens, они по цене кеша модели. Карточки — на главной. Названия пунктов меню в IDE зависят от версии; полный агентный сценарий каждой оболочки отдельно не гоняли.

ZCode

  1. В боте откройте API, создайте ключ с понятным именем, например zcode.
  2. Поставьте или обновите ZCode с zcode.z.ai.
  3. Settings → Model Settings. Либо нажмите имя модели под полем ввода → Manage Models.
  4. Внизу списка — Add Provider. Имя любое, например uncensored.
  5. OpenAI Base URL: https://uncensored.monster/v1. Anthropic Base URL оставьте пустым.
  6. Формат: Chat completions. Вставьте ключ. Если есть «API Key Required» — включите. Сохраните.
  7. Add Model, ID точно z-ai/glm-5.3-flash-uncensored. Отображаемое имя — на ваш вкус.
  8. Advanced у этой модели: Context Window 1048576, Max output tokens 16384.
  9. Включите тумблер у провайдера и у модели. В чате выберите модель из этой группы, не встроенный GLM Z.ai.
  10. Новая задача, короткое сообщение вроде «Ответь одним словом: готово».

Не вставляйте ключ в карточку Z.ai / BigModel — они ходят на /paas/v4, этот адрес не подойдёт. Суффикс [1m] в ID модели не добавляйте.

Cursor

  1. Settings → Models → API Keys / OpenAI compatible (формулировка зависит от версии).
  2. Override OpenAI Base URL: https://uncensored.monster/v1. Anthropic Base URL оставьте пустым.
  3. Ключ из бота. Модель: z-ai/glm-5.3-flash-uncensored, без суффикса [1m].
  4. Новый чат агента после смены адреса. Старый тред может держать прежний хост.

Cursor Tab и встроенные модели Cursor ходят по условиям Cursor, не по нашему ключу. Подробнее: свой Base URL в Cursor. Из терминала Cursor можно поднять Aider — это отдельный клиент.

Roo Code (VS Code)

  1. Панель Roo → API Provider → OpenAI Compatible.
  2. Base URL, ключ, Model ID как выше. Context Window 1048576, Max Output Tokens 16384.
  3. Включите Image Support, если нужны картинки. Computer Use как отдельную возможность модели не включайте — картинки её не добавляют.
  4. Поля цены в Roo — для отображения в расширении. Списание всегда по нашему прайсу (у GLM вход $0.39 / выход $1.58 / кеш $0.16 за 1M).
  5. Начните с одной небольшой задачи и одного файла. Roo ходит нативными tools.

Cline (VS Code)

  1. Cline → Settings → API Provider: OpenAI Compatible.
  2. Base URL, ключ, Model ID. Если Plan и Act разведены по провайдерам — заполните оба одинаково.
  3. Model Configuration: Max Output Tokens 16384, Context Window 1048576, Image Support при необходимости.
  4. Короткий запрос. Системные инструкции, история и инструменты входят в то же окно.

Kilo Code (VS Code)

  1. Settings → Providers → Custom provider. ID любой, например uncensored.
  2. Provider API: OpenAI Compatible. Base URL, ключ, Model ID. Сохраните.
  3. В kilo.jsonc у модели: limit.context = 1048576, limit.output = 16384. Выберите этот провайдер в списке моделей.
  4. Только Chat Completions. Картинки GLM принимает; протокол Anthropic в Kilo не выбирайте.

Continue (VS Code / JetBrains)

VS Code: расширение Continue → локальный config.yaml. JetBrains: Settings → Plugins → Continue, тот же файл модели. Если конфиг уже есть — перенесите только запись в models.

models:
  - name: GLM 5.3 Flash Uncensored
    provider: openai
    model: z-ai/glm-5.3-flash-uncensored
    apiBase: https://uncensored.monster/v1
    apiKey: YOUR_KEY
    roles:
      - chat
      - edit
    defaultCompletionOptions:
      maxTokens: 16384

Chat и Edit работают. Автодополнение и индекс через embeddings — нет: embeddings мы не обслуживаем.

Zed

  1. Команда zed: open settings file — в settings.json добавьте провайдера, не затирая остальной JSON.
  2. Команда agent: open settings — ключ в UI провайдера, не в JSON.
  3. В панели AI выберите GLM и короткий текстовый запрос.
{
  "language_models": {
    "openai": {
      "api_url": "https://uncensored.monster/v1",
      "available_models": [
        {
          "name": "z-ai/glm-5.3-flash-uncensored",
          "display_name": "GLM 5.3 Flash Uncensored",
          "max_tokens": 1048576,
          "max_output_tokens": 16384
        }
      ]
    }
  }
}

В Zed max_tokens — окно контекста, max_output_tokens — бюджет ответа. Edit Prediction настраивается отдельно и к нашему API не обязан ходить.

JetBrains AI Assistant

  1. Settings → Tools → AI Assistant → Providers & API keys.
  2. Third-party AI providers → OpenAI-compatible. URL https://uncensored.monster/v1, ключ из бота. Test Connection.
  3. В AI Chat выберите GLM. При необходимости Model Assignment → Core features, контекст 1048576.

Это чат и генерация кода. Подписку JetBrains и отдельные встроенные агенты этот ключ не заменяет. Плагин Continue в тех же IDE — секция выше.

Aider

Терминал в папке проекта (VS Code, Cursor, JetBrains — без разницы). Префикс openai/ говорит Aider, какой протокол брать. Предупреждение «unknown model» бывает — id копируйте целиком. Не кладите в контекст весь репозиторий: /add один небольшой файл, затем правка.

export OPENAI_API_BASE=https://uncensored.monster/v1
export OPENAI_API_KEY=YOUR_KEY
aider --model openai/z-ai/glm-5.3-flash-uncensored

PowerShell: $env:OPENAI_API_BASE и $env:OPENAI_API_KEY.

OpenCode 2

В opencode.jsonc добавьте провайдера (у версии 1 формат другой). Ключ — в окружении, не в репозитории. В /models выберите uncensored/ и GLM. Начните с маленькой задачи.

{
  "provider": {
    "uncensored": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "uncensored.monster",
      "options": {
        "baseURL": "https://uncensored.monster/v1",
        "apiKey": "{env:UNCENSORED_API_KEY}"
      },
      "models": {
        "glm": {
          "name": "z-ai/glm-5.3-flash-uncensored",
          "limit": { "context": 1048576, "output": 16384 }
        }
      }
    }
  }
}

Python и Node

Ключ только на сервере, не в браузерном JS. Не вызывайте client.responses.create — будет 404.

from openai import OpenAI
client = OpenAI(
    api_key="YOUR_KEY",
    base_url="https://uncensored.monster/v1",
)
r = client.chat.completions.create(
    model="z-ai/glm-5.3-flash-uncensored",
    messages=[{"role": "user", "content": "ping"}],
    max_tokens=32,
)
print(r.choices[0].message.content)

Стрим: stream=True, читайте chunk.choices[0].delta.content. Пакет: python -m pip install openai.

const r = await fetch("https://uncensored.monster/v1/chat/completions", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.UNCENSORED_API_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    model: "z-ai/glm-5.3-flash-uncensored",
    messages: [{ role: "user", content: "ping" }],
    max_tokens: 32,
  }),
});
const data = await r.json();
if (!r.ok) throw new Error(data.error?.message || r.status);
console.log(data.choices[0].message.content);

Любой другой OpenAI-совместимый агент (Hermes и подобные) — те же три поля: Base URL с /v1, ключ, id модели.

Проверка cURL

curl https://uncensored.monster/v1/chat/completions \
  -H "Authorization: Bearer YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d "{
    \"model\": \"z-ai/glm-5.3-flash-uncensored\",
    \"messages\": [{\"role\": \"user\", \"content\": \"ping\"}],
    \"max_tokens\": 32
  }"

Если не отвечает

Что сюда не подключается

Claude Code и ANTHROPIC_BASE_URL меняют хост, но не формат: нужен Anthropic Messages — его нет. Codex ждёт Responses — его нет. GLM не становится Claude/GPT от смены клиента. Для агента берите Cline, Roo, OpenCode или Aider.

Ключи и баланс — в кабинете или в Telegram. Документация: эта страница.