Zurück zum Blog

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.

Von CheapTokens TeamVeröffentlicht am Aktualisiert am 3 Min. Lesezeit

Python-Code, der das Anthropic SDK über base_url mit CheapTokens verbindet
Auf dieser Seite
  1. Was du brauchst
  2. SDK installieren
  3. Client erstellen
  4. Erste Anfrage
  5. max_tokens ist erforderlich
  6. Modelle wechseln
  7. Nächster Schritt

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.messages.create(...) 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#

bash
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.

python
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://api.cheaptokens.dev/v1, ist derjenige, den du mit dem OpenAI SDK verwendest; siehe "Deine erste API-Anfrage mit CheapTokens".)

Erste Anfrage#

python
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.stop_reason ist dann "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://api.cheaptokens.dev/v1/models zurückgegeben, zum Beispiel zai-org/GLM-5.3-Flash und MiniMaxAI/MiniMax-M2.7.

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 Kosten OpenRouter
GLM-5.3-Flash $0.00006 $0.00012
DeepSeek-V4-Flash $0.00008 $0.00017
MiniMax-M2.7 $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.