Инструменты и интеграцииИнструкция
Подключаем LibreChat к CheapTokens: custom endpoint в librechat.yaml
Как добавить CheapTokens в свой LibreChat: одна запись в librechat.yaml, ключ в переменной окружения и три модели в меню выбора.

Содержание
LibreChat у вас запущен, но в меню моделей только то, что в нём было из коробки. Чтобы добавить CheapTokens, нужна одна запись endpoints.custom в librechat.yaml: имя, базовый адрес https:/, ключ в виде переменной окружения и список id моделей. Перезапустите контейнер — и в меню появится endpoint «CheapTokens».
Названия полей ниже взяты из справочника LibreChat по custom endpoint (документация ветки «Latest (dev)», сверено 30 октября 2026). На странице нет номера версии, так что если у вас старая сборка и поле ведёт себя иначе, сверьтесь с документацией своего релиза. Сторона API — как в нашей документации: формат OpenAI Chat Completions, один баланс на все модели.
Что нужно в записи#
Обязательных полей четыре, и у каждого простая роль:
name— как endpoint называется в меню.apiKey— ключ. Документация советует ссылку вида${VAR}, а не сам ключ, чтобы секрет не лежал в YAML.baseURL— куда уходят запросы:https:/./ api. cheaptokens. dev/ v1 models.default— список id моделей в меню.
Ещё два необязательных поля стоит задать. titleConvo: true разрешает LibreChat придумывать названия чатов (заголовки создаются, пока не стоит false), а modelDisplayLabel — подпись рядом с ответами (по умолчанию «AI»). У models.fetch значение по умолчанию false: LibreChat не запрашивает у API список моделей, и меню строится из models.default. Поэтому id ниже записаны полностью.
Подключение в три шага#
Шаг за шагом
Подключаем LibreChat (Docker)
Передайте ключ контейнеру
Ключ должен попасть в контейнер LibreChat как переменная окружения. Документация LibreChat позволяет задавать переменные в docker- под ключом environment, так что создайте этот файл рядом с docker-. Имя переменной наше, можно любое — главное, чтобы в YAML оно совпало:
services:
api:
environment:
CHEAPTOKENS_API_KEY: ct_your_key_hereЗначение — заглушка: подставьте ключ из кабинета CheapTokens.
Добавьте endpoint в librechat.yaml
Создайте librechat.yaml рядом с docker-. Форма — как в примере с Mistral из документации LibreChat, только с нашим адресом и id:
endpoints:
custom:
- name: 'CheapTokens'
apiKey: '${CHEAPTOKENS_API_KEY}'
baseURL: 'https://api.cheaptokens.dev/v1'
models:
default:
- 'zai-org/GLM-5.3-Flash'
- 'deepseek-ai/DeepSeek-V4-Flash-0731'
- 'MiniMaxAI/MiniMax-M2.7'
titleConvo: true
modelDisplayLabel: 'CheapTokens'Смонтируйте файл и перезапустите
Контейнер должен видеть файл. Добавьте volumes в тот же docker-, теперь в нём обе части:
services:
api:
environment:
CHEAPTOKENS_API_KEY: ct_your_key_here
volumes:
- ./librechat.yaml:/app/librechat.yamlИ примените:
docker compose up -d
Откройте LibreChat в браузере, начните новый чат и выберите CheapTokens в меню endpoint. Три модели уже в списке. Отправьте «Say hi in one sentence» — должен прийти ответ. Если нет, загляните в последний раздел.
Три модели в одном меню#
Вот ради чего стоит держать свой чат. Допустим, вы запустили его для небольшой команды. Большинство вопросов обычные: переписать письмо, объяснить ошибку. Для них хватает zai-: контекст 390K и до 8 192 токенов в ответе. Когда кто-то вставляет длинный документ и ждёт длинного ответа, он переключает тот же чат на deepseek- (контекст 380K, до 32 768 токенов в ответе). MiniMaxAI/ (контекст 180K) — третье мнение, когда два ответа расходятся. Второй подписки и второго ключа не нужно: все три модели списываются с одного баланса.
Сколько стоит такой чат? Возьмём команду из пяти человек: 200 сообщений в день, в каждом около 3 000 входных токенов (история растёт) и около 500 токенов в ответе:
| Модель | Вход $/1M | Выход $/1M | За запрос | 200 запросов | OpenRouter, 200 запросов |
|---|---|---|---|---|---|
| GLM-5.3-Flash | $0.02 | $0.04 | $0.00008 | $0.016 | $0.0284 |
| DeepSeek-V4-Flash | $0.015 | $0.10 | $0.000095 | $0.019 | $0.056 |
| MiniMax-M2.7 | $0.05 | $0.15 | $0.00023 | $0.045 | $0.54 |
3 000 входных и 500 выходных токенов на запрос. Цены за 1M токенов актуальны и меняются вместе с нашими тарифами; столбец OpenRouter показывает справочные цены для той же нагрузки.
В таблице цена каждой модели за эти 200 запросов посчитана со входом и выходом вместе, и в сумме выходит дешевле, чем у OpenRouter. Найдите строку под свою нагрузку и сверьтесь со страницей цен.
Попробуйте самиПопробуйте: один вопрос двум моделямПоказать ответ
Откройте новый чат, выберите zai- и попросите пересказать абзац, который вы хорошо знаете. Переключите модель в том же меню на deepseek- и спросите ещё раз. Сравните длину и тон двух ответов — по ним и выбирают модель по умолчанию.
Если endpoint не появился или пришла ошибка#
Почти всегда причина одна из трёх. Выберите ту, что совпадает с тем, что вы видите:
Выберите свой случай
Что вы видите?
Выберите вариант, чтобы увидеть ответ
CheapTokens нет в меню
LibreChat не прочитал файл. Проверьте, что librechat.yaml смонтирован в / (файл override выше), что отступы в YAML на месте и что после правки вы выполнили docker compose up -.
401 Unauthorized
Ключ не передан или неверный. Проверьте, что имя после ${ в librechat.yaml в точности совпадает с именем переменной окружения, и что в ключ не попали пробелы или кавычки. Подробнее об этой ошибке — в статье API 401 или 404.
404 или ошибка модели
Неверный id модели. Берите полный id, например deepseek-: короткое имя не принимается. Точные id можно вывести по шагам из статьи List models with GET /v1/models.
Когда первое сообщение прошло, добавляйте новые id в models.default, когда захотите ещё одну модель в меню. Нужен другой интерфейс? Та же схема — базовый адрес и ключ — описана в статье Connect Open WebUI to CheapTokens, а общая картина — в OpenAI-compatible API: what base_url is. Сами модели — на странице GLM.



