Tools & IntegrationenAnleitung
LibreChat mit CheapTokens verbinden: benutzerdefinierter Endpunkt in librechat.yaml
Füge einen CheapTokens-Endpunkt zu selbst gehostetem LibreChat hinzu: ein Eintrag in librechat.yaml, der Schlüssel als Umgebungsvariable, drei Modelle im Menü.

Auf dieser Seite
Dein LibreChat läuft, aber das Modellmenü zeigt nur die mitgelieferten Modelle. Um CheapTokens hinzuzufügen, schreibst du einen endpoints.custom-Eintrag in librechat.yaml: einen Namen, die Basis-URL https:/, den Schlüssel als Umgebungsvariable und eine Liste von Modell-IDs. Starte den Container neu, und ein „CheapTokens“-Endpunkt erscheint im Menü.
Die folgenden Feldnamen stammen aus der Referenz für benutzerdefinierte Endpunkte von LibreChat (Dokumentation, Branch „Latest (dev)“, geprüft am 30. Oktober 2026). Die Seite trägt keine Versionsnummer; wenn deine Installation älter ist und sich ein Feld anders verhält, vergleiche mit der Dokumentation für deine Version. Die API-Seite ist die aus unserer Dokumentation: OpenAI-Chat-Completions-Format, ein Guthaben für alle Modelle.
Was der Eintrag braucht#
Vier Felder sind erforderlich, und jedes hat eine einfache Aufgabe:
name— wie der Endpunkt im Menü heißt.apiKey— der Schlüssel. Die Dokumentation empfiehlt eine Referenz wie${VAR}statt des Schlüssels selbst, damit das Geheimnis nicht im YAML landet.baseURL— wohin die Anfragen gehen:https:/./ api. cheaptokens. dev/ v1 models.default— die Liste der Modell-IDs, die im Menü angezeigt werden.
Zwei optionale Felder lohnen sich. titleConvo: true lässt LibreChat deine Chats benennen (Titel werden erstellt, es sei denn, es ist false), und modelDisplayLabel ist die Beschriftung neben den Antworten (Standard ist „AI“). models.fetch ist standardmäßig false, sodass LibreChat die API nicht nach einer Modellliste fragt; das Menü kommt aus models.default. Deshalb sind die IDs unten vollständig ausgeschrieben.
In drei Schritten verbinden#
Schritt für Schritt
LibreChat verbinden (Docker)
Dem Container den Schlüssel geben
Der Schlüssel muss den LibreChat-Container als Umgebungsvariable erreichen. Laut LibreChat-Dokumentation kannst du Variablen in docker- unter environment setzen; erstelle diese Datei neben docker-. Der Variablenname ist uns überlassen, wähle einen beliebigen, halte ihn nur im YAML identisch:
services:
api:
environment:
CHEAPTOKENS_API_KEY: ct_your_key_hereDer Wert ist ein Platzhalter: Verwende den Schlüssel aus deinem CheapTokens-Dashboard.
Den Endpunkt zu librechat.yaml hinzufügen
Erstelle librechat.yaml neben docker-. Die Struktur folgt dem Mistral-Beispiel in der LibreChat-Dokumentation, mit unserer Adresse und unseren 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'Die Datei einbinden und neu starten
Der Container muss die Datei sehen. Füge volumes zur selben docker- hinzu, sodass sie nun beides enthält:
services:
api:
environment:
CHEAPTOKENS_API_KEY: ct_your_key_here
volumes:
- ./librechat.yaml:/app/librechat.yamlWende es dann an:
docker compose up -d
Öffne LibreChat im Browser, starte einen neuen Chat und wähle CheapTokens im Endpunktmenü. Die drei Modelle stehen in der Liste. Sende „Sag Hallo in einem Satz“ und du solltest eine Antwort erhalten. Wenn nicht, springe zum letzten Abschnitt.
Drei Modelle in einem Menü#
Das ist der Teil, der einen selbst gehosteten Chat lohnenswert macht. Angenommen, du betreibst ihn für ein kleines Team. Die meisten Fragen sind alltäglich: diese E-Mail umschreiben, diesen Fehler erklären. Dafür reicht zai- mit einem Kontextfenster von 390K und bis zu 8.192 Tokens pro Antwort. Wenn jemand ein langes Dokument einfügt und eine lange Antwort möchte, wechselt er denselben Chat zu deepseek- (380K Kontext, bis zu 32.768 Tokens pro Antwort). MiniMaxAI/ (180K Kontext) ist die dritte Meinung, wenn zwei Antworten nicht übereinstimmen. Kein zweites Abonnement, kein zweiter Schlüssel: Alle drei werden von einem Guthaben abgerechnet.
Was kostet so ein Chat? Nimm ein Team von fünf Personen, die täglich 200 Nachrichten senden, jede mit etwa 3.000 Eingabe-Tokens (der Verlauf wächst) und etwa 500 Tokens zurück:
| Modell | Input $/1M | Output $/1M | Pro Anfrage | 200 Anfragen | OpenRouter, 200 Anfragen |
|---|---|---|---|---|---|
| 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 Input- und 500 Output-Tokens pro Anfrage. Die Preise pro 1 Mio. Tokens sind aktuell und ändern sich zusammen mit unseren Tarifen; die OpenRouter-Spalte zeigt Referenzpreise für dieselbe Arbeitslast.
In der Tabelle wird der Preis jedes Modells für diese 200 Anfragen mit Eingabe und Ausgabe zusammen gezählt, und insgesamt ist es günstiger als OpenRouter. Wähle die Zeile, die deiner Nutzung entspricht, und vergleiche sie mit der Preisseite.
Probier es selbstAusprobieren: eine Frage an zwei Modelle sendenAntwort anzeigen
Öffne einen neuen Chat, wähle zai- und bitte um eine Zusammenfassung eines Absatzes, den du gut kennst. Wechsle im selben Menü das Modell zu deepseek- und frage erneut. Vergleiche Länge und Ton der beiden Antworten — danach entscheidest du über das Standardmodell.
Wenn der Endpunkt nicht erscheint oder mit einem Fehler antwortet#
Die meisten Probleme sind eines von drei Dingen. Wähle das aus, was du siehst:
Wähle deinen Fall
Was siehst du?
Wähle eine Option, um die Antwort zu sehen
CheapTokens fehlt im Menü
LibreChat hat deine Datei nie gelesen. Prüfe, ob librechat.yaml unter / eingebunden ist (die Override-Datei oben), ob die YAML-Einrückung intakt ist und ob du nach der Änderung docker compose up - ausgeführt hast.
401 Unauthorized
Der Schlüssel fehlt oder ist falsch. Prüfe, ob der Name nach ${ in librechat.yaml exakt dem Namen der Umgebungsvariable entspricht und ob der Schlüssel keine eingefügten Leerzeichen oder Anführungszeichen enthält. Mehr zu diesem Fehler in API 401 oder 404.
404 oder ein Modellfehler
Die Modell-ID ist falsch. Verwende die vollständige ID wie deepseek-; der Kurzname wird nicht akzeptiert. Du kannst exakte IDs mit den Schritten in Modelle mit GET /v1/models auflisten abrufen.
Sobald die erste Nachricht durchgeht, kannst du jederzeit weitere IDs zu models.default hinzufügen, wenn du ein weiteres Modell im Menü möchtest. Lieber ein anderes Frontend? Dieselbe Idee, eine Basis-URL plus ein Schlüssel, steht in Open WebUI mit CheapTokens verbinden, und das Gesamtbild findest du in OpenAI-kompatible API: Was ist base_url. Die Modelle selbst sind auf der GLM-Seite.



