API & SDKAnleitung
Anthropic Python SDK mit CheapTokens: Messages API
Installiere das Anthropic Python SDK, richte base_url auf CheapTokens aus, sende eine messages.create-Anfrage und setze max_tokens.

Auf dieser Seite
Wenn dein Code bereits das Anthropic Python SDK verwendet, musst du ihn nicht neu schreiben, um ein anderes Modell aufzurufen. CheapTokens spricht die Anthropic Messages API, du änderst also nur die Client-Einstellungen und lässt client. unverändert. Diese Anleitung führt dich von einem leeren Ordner zu einem Skript, das eine Antwort ausgibt.
Was du brauchst#
- Python 3.10 oder neuer (die Anforderung des SDK).
- Einen CheapTokens-API-Schlüssel. Falls du noch keinen hast, siehe "Was ist ein API-Schlüssel und wie speichert man ihn sicher".
- Ein Guthaben deckt alle Modelle ab, und es gibt keine Stoßzeiten, daher kostet dasselbe Skript zu jeder Tageszeit gleich viel.
SDK installieren#
pip install anthropic
export CHEAPTOKENS_API_KEY="your-key"Bewahre den Schlüssel in einer Umgebungsvariable auf, nicht in der Quelldatei.
Client erstellen#
Zwei Einstellungen weichen von einem Standard-Anthropic-Setup ab: der Schlüssel und base_url.
import os
import anthropic
client = anthropic.Anthropic(
api_key=os.environ["CHEAPTOKENS_API_KEY"],
base_url="https://api.cheaptokens.dev",
)Das SDK hängt den Pfad /v1/messages selbst an, base_url ist also der Host ohne /v1. (Der Endpunkt im OpenAI-Stil, https:/, ist derjenige, den du mit dem OpenAI SDK verwendest; siehe "Deine erste API-Anfrage mit CheapTokens".)
Erste Anfrage#
message = client.messages.create(
model="deepseek-ai/DeepSeek-V4-Flash-0731",
max_tokens=1024,
messages=[
{"role": "user", "content": "Explain what a token is in two sentences."}
],
)
print(message.content[0].text)
print(message.stop_reason, message.usage.input_tokens, message.usage.output_tokens)Nimm die Modell-ID aus der CheapTokens-Dokumentation; die IDs unterscheiden sich zwischen den Anbietern. Hier verwenden wir DeepSeek-V4-Flash: ein Kontextfenster von 380K und bis zu 32.768 Tokens in einer Antwort, was für lange Antworten und Agent-Schleifen geeignet ist.
Die Antwort steht in message.content, einer Liste von Blöcken; der Text befindet sich im ersten. usage zeigt, wie viele Eingabe- und Ausgabe-Tokens der Aufruf verbraucht hat, und dafür wirst du abgerechnet.
max_tokens ist erforderlich#
Anders als bei der OpenAI API läuft messages.create nicht ohne max_tokens. Es begrenzt die Länge der Antwort:
- Zu niedrig, und die Antwort wird abgeschnitten.
message.ist dannstop_ reason "max_tokens"statt"end_turn". - Bei DeepSeek-V4-Flash kannst du für lange Antworten wie vollständige Dateien oder Berichte bis zu 32.768 gehen.
- Du zahlst für tatsächlich generierte Tokens, nicht für das von dir gesetzte Limit.
Wenn eine Antwort mitten im Satz abbricht, lies "Warum bricht eine KI-Antwort mitten im Satz ab?" für die vollständige Erklärung.
Modelle wechseln#
Nur der String model ändert sich; der Rest des Skripts bleibt gleich. Wähle nach Aufgabe:
- DeepSeek-V4-Flash: lange Antworten und Agent-Schleifen, ein Preis zu jeder Stunde, bis zu 32.768 Ausgabe-Tokens.
- GLM-5.3-Flash: günstiger Alltags-Chat und Coding-Aufrufe, 390K Kontext, bis zu 8.192 Ausgabe-Tokens.
- MiniMax-M2.7: kostengünstige Agent- und Coding-Arbeit, 180K Kontext, bis zu 8.192 Ausgabe-Tokens.
Die Liste der verfügbaren IDs wird von GET https:/ zurückgegeben, zum Beispiel zai- und MiniMaxAI/.
Die aktuellen Preise pro 1M Tokens für MiniMax-M2.7 liegen bei $0.05 für die Eingabe und $0.15 für die Ausgabe. MiniMax-M2.7 ist insgesamt günstiger als OpenRouter, wenn man Eingabe und Ausgabe zusammenrechnet. Hier ist, was eine Anfrage mit 2.000 Eingabe- und 500 Ausgabe-Tokens bei jedem Modell kostet, live aus der Preisliste:
| Modell | Input $/1M | Output $/1M | Kosten | OpenRouter |
|---|---|---|---|---|
| GLM-5.3-Flash | $0.02 | $0.04 | $0.00006 | $0.00012 |
| DeepSeek-V4-Flash | $0.015 | $0.10 | $0.00008 | $0.00017 |
| MiniMax-M2.7 | $0.05 | $0.15 | $0.00018 | $0.0012 |
2.000 Input- und 500 Output-Tokens insgesamt. Die Preise pro 1 Mio. Tokens sind aktuell und ändern sich zusammen mit unseren Tarifen; die OpenRouter-Spalte zeigt Referenzpreise für dieselbe Arbeitslast.
GLM-5.3-Flash und MiniMax-M2.7 sind insgesamt günstiger als OpenRouter, wenn man Eingabe und Ausgabe zusammenrechnet.
Nächster Schritt#
Erstelle einen Schlüssel und führe das Skript aus dem Abschnitt Erste Anfrage aus. Wenn es eine Antwort ausgibt, tausche den String model aus, um Modelle an deiner eigenen Aufgabe zu vergleichen.



