Voltar ao blog

Ferramentas e integraçõesGuia

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.

Por CheapTokens TeamPublicado em 5 min de leitura

Entrada de configuração do LibreChat apontando para a API do CheapTokens
Nesta página
  1. O que a entrada precisa
  2. Conecte em três passos
  3. Três modelos em um menu
  4. Se o endpoint não aparecer ou responder com erro

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://api.cheaptokens.dev/v1, 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-compose.override.yml sob environment, então crie esse arquivo ao lado de docker-compose.yml. O nome da variável é nosso, escolha qualquer um, só mantenha idêntico no YAML:

yaml
services:
  api:
    environment:
      CHEAPTOKENS_API_KEY: ct_your_key_here

O valor é um placeholder: use a chave do seu painel do CheapTokens.

Adicione o endpoint ao librechat.yaml

Crie librechat.yaml ao lado de docker-compose.yml. A estrutura segue o exemplo da Mistral na documentação do LibreChat, com nosso endereço e ids:

yaml
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-compose.override.yml, para que ele agora contenha os dois:

yaml
services:
  api:
    environment:
      CHEAPTOKENS_API_KEY: ct_your_key_here
    volumes:
      - ./librechat.yaml:/app/librechat.yaml

Depois aplique:

bash
docker compose up -d
Da chave ao menu: variável de ambiente, librechat.yaml, o mount, e então CheapTokens na lista de modelos
O caminho da chave até o endpoint CheapTokens no menu do LibreChat

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-org/GLM-5.3-Flash 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-ai/DeepSeek-V4-Flash-0731 (contexto de 380K, até 32.768 tokens por resposta). MiniMaxAI/MiniMax-M2.7 (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 Por solicitação 200 solicitações OpenRouter, 200 solicitações
GLM-5.3-Flash $0.00008 $0.016 $0.0284
DeepSeek-V4-Flash $0.000095 $0.019 $0.056
MiniMax-M2.7 $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-org/GLM-5.3-Flash e peça um resumo de um parágrafo que você conhece bem. Troque o modelo no mesmo menu para deepseek-ai/DeepSeek-V4-Flash-0731 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ê?

CheapTokens está faltando no menu

O LibreChat nunca leu seu arquivo. Verifique se librechat.yaml está montado em /app/librechat.yaml (o arquivo de override acima), se a indentação do YAML está intacta e se você executou docker compose up -d 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-ai/DeepSeek-V4-Flash-0731; 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.