Установка и настройка
Для начала убедитесь, что у вас установлена официальная SDK OpenAI для вашего языка. API использует стандартную схему аутентификации на основе заголовков. Вы должны установить заголовок Authorization в значение Bearer your-api-key и настроить базовый URL на https://api.glmapi.cc/v1. Этот URL работает с любым клиентом, поддерживающим формат Chat Completions от OpenAI.
Не требуется специальной инициализации клиента, кроме стандартной конфигурации. Сервис является готовой заменой существующих интеграций OpenAI. Вы можете проверить свою настройку, обратившись к эндпоинту доступных моделей.
Первый запрос
Отправьте простой запрос на генерацию текста, чтобы проверить подключение. Используйте идентификатор модели uncensored для основной большой языковой модели. API принимает стандартные параметры, такие как max_tokens и temperature.
Этот запрос возвращает прямой текстовый ответ. Если вы получили ошибку 401, проверьте свой API-ключ. Ошибка 402 указывает на недостаточный предоплаченный баланс.
curl https://api.glmapi.cc/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Write a blunt product review of a cheap VPN."}]
}'
Интеграция с Python SDK
Используйте официальную библиотеку Python для взаимодействия с API. Инициализируйте клиент, указав базовый URL и API-ключ. Синтаксис повторяет структуру стандартного клиента OpenAI.
Этот подход позволяет менять провайдеров без переписывания бизнес-логики. Модель реагирует на стандартные форматы промптов. Вы можете управлять длиной вывода и случайностью с помощью стандартных параметров.
from openai import OpenAI
client = OpenAI(base_url="https://api.glmapi.cc/v1", api_key="YOUR_KEY")
resp = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Summarise this thread without softening it."}],
)
print(resp.choices[0].message.content)
Интеграция с Node SDK
Для сред JavaScript используйте Node SDK. Настройте параметр baseUrl так, чтобы он указывал на наш эндпоинт API. Это гарантирует правильную маршрутизацию всех запросов на наши серверы.
SDK автоматически обрабатывает повторные попытки и разбор ответов. Вы можете передавать стандартные параметры завершения. Объект ответа содержит сгенерированный текст в ожидаемом месте.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.glmapi.cc/v1", apiKey: process.env.API_KEY });
const resp = await client.chat.completions.create({
model: "uncensored",
messages: [{ role: "user", content: "Draft a villain monologue for my game." }],
});
console.log(resp.choices[0].message.content);
Потоковая передача ответов
Включите потоковую передачу, установив параметр stream в значение true. API возвращает фрагменты данных через Server-Sent Events (SSE). Каждый фрагмент содержит частичный текст и статистику использования.
Этот метод снижает воспринимаемую задержку для длинных ответов. Вы можете обрабатывать токены по мере их поступления. Последний фрагмент содержит общее количество токенов для выставления счета.
stream = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Tell the story in second person."}],
stream=True,
)
for chunk in stream:
if chunk.choices and chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="", flush=True)
Лимиты, ошибки и контекст
Контекстное окно поддерживает 100 000 токенов в сумме, с максимальным выводом 32 000 токенов. Запросы, превышающие лимит тела в 8 МБ, будут отклонены. Лимит составляет 300 запросов в минуту и 8 параллельных запросов на ключ.
Ошибка 401 означает недействительный ключ. Ошибка 402 указывает на отсутствие предоплаченного баланса. Ошибка 429 сигнализирует о достижении лимита запросов. Баланс не сгорает, а ошибки не расходуют токены. Приватность сохраняется; промпты не используются для обучения.
Технические характеристики
Все реальные лимиты и возможности API в одном месте — сверьте их до пополнения.
| Параметр | Значение |
|---|---|
| Формат API | совместим с OpenAI: любой OpenAI SDK работает — замените base URL и ключ |
| ID модели | uncensored |
| Эндпоинты | POST /v1/chat/completions · GET /v1/models |
| Авторизация | Authorization: Bearer YOUR_KEY |
| Base URL | https://api.glmapi.cc/v1 |
| Параметры | temperature, top_p, stop, seed, presence_penalty, frequency_penalty |
| Контекстное окно | 100 000 токенов (вход и ответ вместе) |
| Максимум ответа | до остатка окна в 100 000 токенов; max_tokens необязателен (отдельного лимита нет) |
| Вызов функций | да — tools, tool_choice; ответ содержит tool_calls, в том числе в потоке; результат — сообщением role: tool |
| Потоковая передача | да — server-sent events, последний фрагмент содержит расход токенов |
| JSON-режим | response_format: {"type": "json_object"} |
| Параллельные запросы | до 8 одновременно на ключ |
| Размер запроса | до 8 МБ |
| Заголовки ответа | X-Request-Id, X-Balance-USD, X-RateLimit-Limit-Requests, X-RateLimit-Limit-Concurrency |
| Лимит запросов | 300 запросов в минуту на ключ |
| Пополнение | USDT (TRC20) или USDC (Base), любая целая сумма от $20 до $500 |
| Срок действия | оплаченный баланс не сгорает, без подписки |
| Бонус | +5% от $50, +10% от $100, +15% от $200 |
| Оплата | предоплаченный баланс по фактическому расходу; ошибки и отказы бесплатны |
| Пробный баланс | $0,50 на 7 дней, без карты · Пробный ключ: 2 параллельных запроса, 60 в минуту; полные лимиты (8 и 300) после первого пополнения |
| Цена | $0,15 за 1 млн входных токенов · $0,50 за 1 млн выходных |
| Контент | контент для взрослых разрешён; сексуальный контент с несовершеннолетними запрещён |
| Вход | Google или e-mail и пароль |
| Ключи | один активный ключ на аккаунт; новый заменяет старый |
Коды ошибок
Ошибки приходят в JSON с постоянным type; неудачные и отклонённые запросы не оплачиваются.
| Код | Тип | Что значит |
|---|---|---|
400 | bad_request | неверный JSON, пустые сообщения, неверный параметр или превышено окно контекста |
401 | missing_key · invalid_key · key_revoked | нет ключа, ключ неверный или заменён новым |
402 | no_credit | баланс пуст — пополните, работа продолжится сразу |
403 | content_blocked | сексуальный контент с несовершеннолетними — отказ, без оплаты |
404 | not_found | неизвестный эндпоинт |
413 | request_too_large | тело запроса больше 8 МБ |
429 | rate_limited · concurrency | больше 300/мин или 8 параллельно — подождите и повторите |
503 | upstream_busy | модель занята — повторите через несколько секунд |
Вопросы и ответы
Это официальный API GLM?
Нет, это независимый сервис. Мы используем собственную модель без цензуры и предоставляем интерфейс, совместимый с OpenAI. Мы не связаны с оригинальными разработчиками GLM.
Как оплатить API?
Мы принимаем пополнения криптовалютой (USDT на TRC20, USDC на Base). Минимальная сумма пополнения — $20. Предоплаченный баланс списывается за использование токенов и не сгорает.
Какой размер контекстного окна?
Модель поддерживает контекстное окно на 100 000 токенов. Максимальный объем вывода на один запрос — 32 000 токенов, если не указано иное.
Ваш ключ — всего в одной форме
Создайте аккаунт, скопируйте ключ, измените базовый URL. Вот и вся настройка.