Conecte o LibreChat ao CheapTokens: endpoint personalizado no librechat.yaml
Adicione um endpoint CheapTokens ao LibreChat auto-hospedado: uma entrada no librechat.yaml, a chave como variável de ambiente, três modelos no menu.

Nesta página
Seu LibreChat está rodando, mas o menu de modelos só mostra o que veio de fábrica. Para adicionar o CheapTokens, você escreve uma entrada endpoints.custom em librechat.yaml: um nome, a URL base https:/, a chave como variável de ambiente e uma lista de ids de modelos. Reinicie o contêiner, e um endpoint "CheapTokens" aparece no menu.
Os nomes de campo abaixo vêm da referência de endpoints personalizados do LibreChat (branch "Latest (dev)" da documentação, verificada em 30 de outubro de 2026). A página não traz número de versão, então se sua instalação for mais antiga e algum campo se comportar de forma diferente, compare com a documentação da sua versão. O lado da API é o da nossa documentação: formato OpenAI Chat Completions, um saldo para todos os modelos.
O que a entrada precisa#
Quatro campos são obrigatórios, e cada um tem uma função simples:
name— como o endpoint é chamado no menu.apiKey— a chave. A documentação recomenda uma referência como${VAR}em vez da chave em si, para que o segredo fique fora do YAML.baseURL— para onde vão as requisições:https:/./ api. cheaptokens. dev/ v1 models.default— a lista de ids de modelos exibidos no menu.
Dois campos opcionais valem a pena ser definidos. titleConvo: true permite que o LibreChat nomeie seus chats (os títulos são criados a menos que seja false), e modelDisplayLabel é o rótulo ao lado das respostas (o padrão é "AI"). models.fetch é false por padrão, então o LibreChat não vai pedir à API uma lista de modelos; o menu vem de models.default. É por isso que os ids abaixo estão escritos por extenso.
Conecte em três passos#
Passo a passo
Conectar o LibreChat (Docker)
Passe a chave para o contêiner
A chave precisa chegar ao contêiner do LibreChat como variável de ambiente. A documentação do LibreChat permite definir variáveis em docker- sob environment, então crie esse arquivo ao lado de docker-. O nome da variável é nosso, escolha qualquer um, só mantenha idêntico no YAML:
services:
api:
environment:
CHEAPTOKENS_API_KEY: ct_your_key_hereO valor é um placeholder: use a chave do seu painel do CheapTokens.
Adicione o endpoint ao librechat.yaml
Crie librechat.yaml ao lado de docker-. A estrutura segue o exemplo da Mistral na documentação do LibreChat, com nosso endereço e ids:
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'Monte o arquivo e reinicie
O contêiner precisa enxergar o arquivo. Adicione volumes ao mesmo docker-, para que ele agora contenha os dois:
services:
api:
environment:
CHEAPTOKENS_API_KEY: ct_your_key_here
volumes:
- ./librechat.yaml:/app/librechat.yamlDepois aplique:
docker compose up -d
Abra o LibreChat no navegador, inicie um novo chat e escolha CheapTokens no menu de endpoints. Os três modelos estão na lista. Envie "Diga oi em uma frase" e você deve receber uma resposta. Se não receber, pule para a última seção.
Três modelos em um menu#
Esta é a parte que torna um chat auto-hospedado vantajoso. Digamos que você o rode para uma equipe pequena. A maioria das perguntas é do dia a dia: reescrever este e-mail, explicar este erro. Para essas, zai- basta, com janela de contexto de 390K e até 8.192 tokens por resposta. Quando alguém cola um documento longo e quer uma resposta longa, troca o mesmo chat para deepseek- (contexto de 380K, até 32.768 tokens por resposta). MiniMaxAI/ (contexto de 180K) é a terceira opinião quando duas respostas divergem. Sem segunda assinatura, sem segunda chave: os três são cobrados de um único saldo.
Quanto custa esse chat? Considere uma equipe de cinco pessoas enviando 200 mensagens por dia, cada uma com cerca de 3.000 tokens de entrada (o histórico cresce) e recebendo cerca de 500 tokens de volta:
| Modelo | Entrada $/1M | Saída $/1M | Por solicitação | 200 solicitações | OpenRouter, 200 solicitações |
|---|---|---|---|---|---|
| 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 tokens de entrada e 500 tokens de saída por solicitação. Os preços por 1M de tokens são atuais e mudam junto com nossas tarifas; a coluna OpenRouter mostra preços de referência para a mesma carga de trabalho.
Na tabela, o preço de cada modelo para essas 200 requisições é contado com entrada e saída juntas, e no total sai mais barato que o OpenRouter. Escolha a linha que corresponde ao seu uso e compare com a página de preços.
Experimente você mesmoExperimente: envie uma pergunta para dois modelosMostrar resposta
Abra um novo chat, escolha zai- e peça um resumo de um parágrafo que você conhece bem. Troque o modelo no mesmo menu para deepseek- e pergunte de novo. Compare o tamanho e o tom das duas respostas — é por isso que você decide o modelo padrão.
Se o endpoint não aparecer ou responder com erro#
A maioria dos problemas é uma de três coisas. Escolha a que corresponde ao que você vê:
Escolha o seu caso
O que você vê?
Escolha uma opção para ver a resposta
CheapTokens está faltando no menu
O LibreChat nunca leu seu arquivo. Verifique se librechat.yaml está montado em / (o arquivo de override acima), se a indentação do YAML está intacta e se você executou docker compose up - após a alteração.
401 Unauthorized
A chave está faltando ou errada. Verifique se o nome após ${ em librechat.yaml é exatamente o nome da variável de ambiente, e se a chave não tem espaços ou aspas colados. Mais sobre este erro em API 401 ou 404.
404 ou erro de modelo
O id do modelo está errado. Use o id completo, como deepseek-; o nome curto não é aceito. Você pode listar os ids exatos com os passos em Listar modelos com GET /v1/models.
Assim que a primeira mensagem passar, você pode adicionar mais ids a models.default sempre que quiser outro modelo no menu. Prefere outro front end? A mesma ideia, uma URL base mais uma chave, está em Conectar o Open WebUI ao CheapTokens, e o panorama geral está em API compatível com OpenAI: o que é base_url. Os modelos em si estão na página do GLM.



