KostenoptimierungAnalyse
Wie viele Tokens verbraucht eine API-Anfrage? Gemessen an 3 Aufgaben
Echte Usage-Zahlen von DeepSeek-V4-Flash: eine kurze Frage, eine Absatz-Zusammenfassung und E-Mail-zu-JSON, mit den Kosten für 1.000 Anfragen und einem Skript für deine eigenen Prompts.

Auf dieser Seite
Fragt man, was eine Anfrage an eine KI-API kostet, hört man meistens „es kommt darauf an“. Das stimmt, aber darauf lässt sich kein Budget planen. Also haben wir drei alltägliche Aufgaben genommen, sie am 23. Oktober 2026 über die CheapTokens API an DeepSeek-V4-Flash geschickt und jedes Mal notiert, was im Feld usage stand.
Die Kurzfassung: Eine kurze Frage kam auf 110 Tokens, eine Absatz-Zusammenfassung auf 396 und das Umwandeln einer E-Mail in JSON auf 299. Unten steht, wie jede Anfrage aussah, was zurückkam und was sie kostet.
Eine kurze Frage#
Wir haben mit etwas begonnen, das Leute Chat-Assistenten ständig fragen: den Unterschied zwischen git merge und git rebase, in zwei oder drei Sätzen.

Die Frage brauchte 23 Tokens, die Antwort 87. Das ist das erste, was auffällt: Die Antwort ist fast viermal länger als die Frage, und Output ist die teurere Seite – bei MiniMax-M2.7 derzeit $0.15 pro 1M Output-Tokens gegenüber $0.05 für Input. Zu diesen Preisen kostet eine solche Anfrage $0.000014. Tausend davon: $0.0142.
Hier ist genau diese Anfrage, falls du die Zahlen auf deinem eigenen Bildschirm sehen möchtest:
curl https://api.cheaptokens.dev/v1/chat/completions \
-H "Authorization: Bearer $CHEAPTOKENS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "MiniMaxAI/MiniMax-M2.7",
"messages": [
{"role": "user", "content": "What is the difference between git merge and git rebase? Answer in two or three sentences."}
],
"max_tokens": 2048,
"temperature": 0.2
}'Die Zählungen stehen im Block usage am Ende der Antwort: prompt_tokens ist das, was du gesendet hast, completion_ ist das, was das Modell geschrieben hat, total_tokens ist beides zusammen.
Eine Zusammenfassung und die Tokens, die du nicht liest#
Zweite Aufgabe: einen kurzen Vorfallbericht auf zwei Sätze eindampfen. Teams schicken so etwas den ganzen Tag durch ein Modell: Tickets, Berichte, lange E-Mail-Threads. Hier ist der Prompt:
Summarize this incident report in two sentences.
On Tuesday between 14:05 and 14:50 UTC the checkout API returned errors for about 6% of requests. The cause was a configuration change deployed at 13:58 that lowered the database connection pool from 50 to 5 connections per instance. Under normal load nobody noticed, but when the afternoon traffic peak arrived, requests queued for a free connection and timed out after 30 seconds. The on-call engineer saw the growing p99 latency at 14:12, found the change in the deploy log at 14:31 and rolled it back at 14:44. To prevent a repeat, the pool size is now validated in CI against a minimum value, and an alert fires when more than 20 requests wait for a connection for two minutes.Und die Antwort:
Am Dienstag führte eine Konfigurationsänderung, die den Datenbank-Verbindungspool von 50 auf 5 reduzierte, während der Nachmittagsspitze bei etwa 6 % der Anfragen zu Fehlern der Checkout-API, bis sie um 14:44 zurückgerollt wurde. Um eine Wiederholung zu verhindern, wird die Poolgröße jetzt in der CI validiert, und ein Alarm wird ausgelöst, wenn die Wartezeiten auf Verbindungen Schwellenwerte überschreiten.
Zwei Sätze, 331 Zeichen und 146 Output-Tokens. Das wirkte viel für so wenig Text, und die Antwort erklärte warum: usage hatte ein weiteres Feld, reasoning_. Vor dem Antworten verbrauchte das Modell 76 Tokens damit, nachzudenken. Sie sind Teil der 146 (250 in + 146 out = 396 insgesamt), also ging etwa die Hälfte des Outputs in Reasoning, das nicht Teil des Antworttexts ist, und es wird wie jedes andere Output-Token abgerechnet.
Gut zu wissen, wenn du ein Budget planst: Bei Aufgaben, bei denen das Modell innehalten und nachdenken muss, kann der Output deutlich größer sein als der Text, den du zurückbekommst. Tausend solche Zusammenfassungen kosten $0.0344.
Eine E-Mail rein, sauberes JSON raus#
Dritte Aufgabe: eine Bestellbestätigung, die zu einem Datenbankeintrag werden soll.

Das Modell gab genau die Schlüssel zurück, nach denen wir gefragt hatten, und nichts drumherum, kein „Hier ist dein JSON“. Die Summe stimmt mit der E-Mail überein, und das Lieferdatum kam als 2026-11-03 zurück, bereits im gewünschten Format. 199 Tokens rein, 100 raus.
Auffällig ist die Dichte: 100 Tokens für 276 Zeichen JSON, während die git-Antwort 87 Tokens für 421 Zeichen Klartext brauchte. Anführungszeichen, Klammern und Kommas sind auch Tokens, also kostet strukturierter Output pro Zeichen mehr als Prosa. Tausend solche E-Mails: $0.025.
Alle drei im Vergleich#
Tabelle nach rechts scrollen →
| Aufgabe | Tokens in | Tokens out | 1.000 Anfragen |
|---|---|---|---|
| Kurze Frage | 23 | 87 | $0.0142 |
| Zusammenfassung | 250 | 146 | $0.0344 |
| E-Mail zu JSON | 199 | 100 | $0.025 |
Die Kosten sind aus diesen Token-Zahlen zum aktuellen MiniMax-M2.7-Preis berechnet, bleiben also richtig, wenn sich die Preise ändern.
Output gewinnt bei jeder Aufgabe, sogar bei der Zusammenfassung, bei der wir mehr gesendet als zurückbekommen haben. Der einfachste Hebel für deine Rechnung ist also die Länge der Antwort: „in zwei oder drei Sätzen“ oder „gib nur JSON zurück“ bewirkt wirklich etwas.
Zur Einordnung: Ein Support-Bot, der 2.000 kurze Fragen pro Tag beantwortet, jede wie die erste, gibt auf MiniMax-M2.7 etwa $0.852 pro Monat aus. Ein echter Chat sendet bei jedem Turn seinen Verlauf erneut, also wächst der Input mit jeder Nachricht, aber bei einmaligen Fragen ist das die ganze Rechnung.
Probier es mit deinen eigenen Prompts#
Deine Prompts werden bei anderen Zahlen landen, und es dauert eine Minute, das herauszufinden. Dieses Skript sendet jeden Prompt, überspringt abgeschnittene Antworten und gibt die Tokens und die Kosten für 1.000 Anfragen aus:
import os
from openai import OpenAI
client = OpenAI(base_url="https://api.cheaptokens.dev/v1", api_key=os.environ["CHEAPTOKENS_API_KEY"])
MODEL = "MiniMaxAI/MiniMax-M2.7"
PRICE_IN, PRICE_OUT = 1.00, 4.00 # USD per 1M tokens: example values, use the current ones from the price list
PROMPTS = [
"What is the difference between git merge and git rebase? Answer in two or three sentences.",
# add your own prompts here
]
for prompt in PROMPTS:
r = client.chat.completions.create(
model=MODEL,
messages=[{"role": "user", "content": prompt}],
max_tokens=2048,
temperature=0.2,
)
if r.choices[0].finish_reason != "stop":
print("cut off at max_tokens, raise the limit:", prompt[:40])
continue
tin, tout = r.usage.prompt_tokens, r.usage.completion_tokens
per_1000 = (tin * PRICE_IN + tout * PRICE_OUT) * 1000 / 1_000_000
print(f"{tin} in, {tout} out, 1,000 requests = ${per_1000:.4f} | {prompt[:40]}")Setze die aktuellen Preise in PRICE_IN und PRICE_OUT ein: für MiniMax-M2.7 sind das $0.05 pro 1M Input-Tokens und $0.15 pro 1M Output-Tokens. Der erste Prompt ist der aus unserem Test; die Token-Zahlen unterscheiden sich zwischen Modellen ein wenig, also erwarte Werte im selben Bereich wie 23 rein und 87 raus. Du brauchst das Paket openai (pip install openai) und deinen Key in CHEAPTOKENS_.
Falls eine Zahl seltsam aussieht: finish_ bedeutet, dass die Antwort max_tokens erreicht hat (warum Antworten mitten im Satz abbrechen); ein großes reasoning_tokens erklärt Output, der größer ist als der Text; und die vollständige Formel für Input- und Output-Preise steht in Input vs. Output-Tokens.
Wo du anfangen solltest#
Insgesamt, Input und Output zusammengerechnet, ist MiniMax-M2.7 auf CheapTokens für alle drei Aufgaben oben günstiger als OpenRouters Referenzpreis. Es hat 180K Kontext, Antworten von bis zu 8.192 Tokens und einen Preis zu jeder Stunde. Lade dein Guthaben auf, erstelle einen Key und sende die curl-Anfrage vom Anfang dieser Seite: Die Docs behandeln den Key und die Base-URL, die DeepSeek-Seite hat den Modellkatalog, und Pricing hat die aktuelle Preisliste.



