ツールと連携ガイド
LibreChat を CheapTokens に接続する: librechat.yaml カスタムエンドポイント
セルフホスト型 LibreChat に CheapTokens エンドポイントを追加する: librechat.yaml に1つのエントリ、環境変数としてのキー、メニューに3つのモデル。

LibreChat は動作していますが、モデルメニューには最初から入っているものしか表示されません。CheapTokens を追加するには、librechat.yaml に endpoints.custom エントリを1つ書きます。名前、ベース URL https:/、環境変数としてのキー、そしてモデル ID のリストです。コンテナを再起動すると、メニューに「CheapTokens」エンドポイントが表示されます。
以下のフィールド名は LibreChat のカスタムエンドポイントリファレンス(docs の「Latest (dev)」ブランチ、2026年10月30日確認)に基づいています。このページにはバージョン番号がないため、インストールが古くてフィールドの挙動が異なる場合は、お使いのリリースのドキュメントと比較してください。API 側はドキュメントのとおりです。OpenAI Chat Completions 形式で、すべてのモデルが1つの残高で課金されます。
エントリに必要なもの#
必須フィールドは4つで、それぞれに明確な役割があります。
name— メニューに表示されるエンドポイント名。apiKey— キー。ドキュメントではキーそのものではなく${VAR}のような参照を推奨しており、シークレットが YAML に残りません。baseURL— リクエストの送信先:https:/。/ api. cheaptokens. dev/ v1 models.default— メニューに表示するモデル ID のリスト。
設定する価値のある任意フィールドが2つあります。titleConvo: true を使うと LibreChat がチャットに名前を付けられます(false でない限りタイトルが作成されます)。modelDisplayLabel は回答の横に表示されるラベルです(デフォルトは「AI」)。models.fetch はデフォルトで false なので、LibreChat は API にモデルリストを問い合わせません。メニューは models.default から生成されます。そのため、以下の ID は完全な形で記載しています。
3ステップで接続する#
ステップバイステップ
LibreChat(Docker)を接続する
コンテナにキーを渡す
キーは環境変数として LibreChat コンテナに届く必要があります。LibreChat のドキュメントでは environment の下にある docker- で変数を設定できるので、docker- の隣にそのファイルを作成します。変数名は自由に決められますが、YAML 内で同じ名前にしてください。
services:
api:
environment:
CHEAPTOKENS_API_KEY: ct_your_key_here値はプレースホルダーです。CheapTokens ダッシュボードのキーを使用してください。
librechat.yaml にエンドポイントを追加する
docker- の隣に librechat.yaml を作成します。形式は LibreChat ドキュメントの Mistral の例に従い、アドレスと 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'ファイルをマウントして再起動する
コンテナがファイルを認識できる必要があります。同じ docker- に volumes を追加すると、両方が含まれます。
services:
api:
environment:
CHEAPTOKENS_API_KEY: ct_your_key_here
volumes:
- ./librechat.yaml:/app/librechat.yaml次に適用します。
docker compose up -d
ブラウザで LibreChat を開き、新しいチャットを開始して、エンドポイントメニューで CheapTokens を選択します。3つのモデルがリストに表示されます。「Say hi in one sentence」と送信すると、回答が返ってくるはずです。返ってこない場合は最後のセクションに進んでください。
1つのメニューに3つのモデル#
これがセルフホスト型チャットを導入する価値のある部分です。小さなチームで運用しているとします。ほとんどの質問は日常的なものです。このメールを書き直して、このエラーを説明して。そうした用途には zai- で十分で、390K のコンテキストウィンドウと回答あたり最大 8,192 トークンを備えています。誰かが長い文書を貼り付けて長い回答を求める場合は、同じチャットを deepseek-(380K コンテキスト、回答あたり最大 32,768 トークン)に切り替えます。MiniMaxAI/(180K コンテキスト)は、2つの回答が食い違ったときの第三の意見です。2つ目のサブスクリプションも2つ目のキーも不要で、3つすべてが1つの残高から課金されます。
そのチャットのコストはいくらでしょうか。5人のチームが1日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 出力トークン。100万トークンあたりの価格は現行のもので、当社の料金体系に合わせて変動します。OpenRouter 列は同じワークロードの参考価格を示しています。
表では、その200リクエストに対する各モデルの価格が入力と出力を合わせて計算されており、合計では OpenRouter より安くなります。自分の使用量に合う行を選び、料金ページと比較してください。
自分で試す試してみる: 1つの質問を2つのモデルに送る答えを表示
新しいチャットを開き、zai- を選択して、よく知っている段落の要約を依頼します。同じメニューでモデルを deepseek- に切り替え、もう一度依頼します。2つの回答の長さとトーンを比較してください。それがデフォルトモデルを決める基準になります。
エンドポイントが表示されない、またはエラーで応答する場合#
ほとんどの問題は3つのうちのどれかです。表示されている内容に合うものを選んでください。
ケースを選ぶ
何が表示されていますか?
オプションを選択して答えを表示
メニューに CheapTokens がない
LibreChat がファイルを読み込んでいません。librechat.yaml が /(上記のオーバーライドファイル)にマウントされていること、YAML のインデントが保たれていること、変更後に docker compose up - を実行したことを確認してください。
401 Unauthorized
キーが欠落しているか間違っています。librechat.yaml の ${ の後の名前が環境変数の名前と完全に一致していること、キーにスペースや引用符が貼り付けられていないことを確認してください。このエラーの詳細は API 401 または 404 にあります。
404 またはモデルエラー
モデル ID が間違っています。deepseek- のような完全な ID を使用してください。短い名前は受け付けられません。GET /v1/models でモデルを一覧表示するの手順で正確な ID を確認できます。
最初のメッセージが通れば、メニューに別のモデルを追加したいときにいつでも models.default に ID を追加できます。別のフロントエンドを使いたい場合は、ベース URL とキーという同じ考え方が Open WebUI を CheapTokens に接続する にあり、全体像は OpenAI 互換 API: base_url とは何か にあります。モデル自体は GLM ページ にあります。



