Zurück zum Blog

KI für EinsteigerAnleitung

Input- vs. Output-Tokens: Wofür eine KI-API dich abrechnet

Warum eine KI-API Input- und Output-Tokens getrennt zählt, wo du sie im Usage-Feld abliest und wie du die Kosten einer Anfrage berechnest.

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

Cover mit dem Titel „Input vs output tokens“ und der Zeile „What you pay for in an API request“ auf dunklem Rasterhintergrund
Auf dieser Seite
  1. Was als Input und was als Output zählt
  2. Wo du die Zahlen abliest: der Usage-Block
  3. Warum die beiden Seiten unterschiedliche Preise haben
  4. Die Formel
  5. Ein durchgerechnetes Beispiel mit einem echten Modell
  6. Verwendung im Code
  7. Wie du weniger Tokens verbrauchst
  8. Was du dir merken solltest

Wenn du gerade deinen ersten API-Aufruf an ein Sprachmodell gemacht hast, hast du in der Antwort wahrscheinlich einen usage-Block gesehen und dich gefragt, was genau er zählt. Die kurze Antwort: Jede Anfrage hat zwei Zähler. Der eine zählt die Tokens, die du sendest (Input), der andere die Tokens, die das Modell zurückschreibt (Output). Jeder Zähler hat seinen eigenen Preis, und die Kosten einer Anfrage sind die Summe beider.

Dieser Leitfaden zeigt, wo du die Zahlen findest, wie du sie in Dollar umrechnest und was du ändern kannst, um weniger auszugeben. Wenn dir das Wort „Token“ noch unklar ist, beginne mit Was ist ein Token in der KI?.

Was als Input und was als Output zählt#

Input-Tokens sind alles, was das Modell lesen muss, um dir zu antworten:

  • deine letzte Nachricht;
  • der System-Prompt (Anweisungen wie „antworte kurz, auf Deutsch“);
  • die früheren Nachrichten der Unterhaltung, wenn du sie erneut sendest;
  • Dokumente, Code oder Suchergebnisse, die du in die Anfrage einfügst.

Output-Tokens sind alles, was das Modell als Antwort generiert. Im OpenAI-kompatiblen Format ist das der Text in choices[0].message.content. Manche Modelle im Thinking-Modus generieren vor der endgültigen Antwort auch Reasoning-Tokens; prüfe auf der Preisseite eines Modells, ob diese als Output abgerechnet werden.

Der wichtige Punkt für Einsteiger: Das Modell erinnert sich nicht zwischen den Anfragen an deinen Chat. Eine Chat-App sendet jedes Mal den gesamten Verlauf erneut, also wächst der Input einer langen Unterhaltung mit jeder Runde, selbst wenn deine neue Nachricht nur eine Zeile lang ist.

Wo du die Zahlen abliest: der Usage-Block#

Jede nicht gestreamte Antwort einer OpenAI-kompatiblen API endet mit einem usage-Objekt. Dies ist ein didaktisches Beispiel für seine Form:

json
{
  "choices": [
    { "message": { "role": "assistant", "content": "..." }, "finish_reason": "stop" }
  ],
  "usage": {
    "prompt_tokens": 2000,
    "completion_tokens": 500,
    "total_tokens": 2500
  }
}
Feld Bedeutung Abgerechnet als
prompt_tokens Tokens in allem, was du gesendet hast Input
completion_tokens Tokens, die das Modell generiert hat Output
total_tokens prompt_tokens + completion_tokens Kein separater Preis: es ist nur die Summe

Ein häufiger Anfängerfehler ist, total_tokens mit einem einzigen Preis zu multiplizieren. Da Input und Output unterschiedliche Preise haben, brauchst du die beiden Zahlen getrennt.

Manche Anbieter fügen zusätzliche Felder hinzu. Zum Beispiel teilt die eigene API von DeepSeek prompt_tokens zusätzlich in prompt_cache_hit_tokens und prompt_cache_miss_tokens auf und meldet im Thinking-Modus reasoning_tokens (Quelle: DeepSeek API docs, geprüft am 21. Oktober 2026). Die drei Felder in der Tabelle sind diejenigen, auf die du dich in jeder OpenAI-kompatiblen Antwort verlassen kannst.

Wenn du die Antwort streamst, ist die Usage zu Beginn nicht bekannt. In der eigenen API von DeepSeek kommt sie im letzten Content-Chunk vor data: [DONE] (DeepSeek API docs, geprüft am 21. Oktober 2026); andere APIs senden sie möglicherweise anders oder nur auf Anfrage, prüfe also, was dein Client empfängt. Streaming selbst wird in Streaming-Antworten in Python behandelt.

Warum die beiden Seiten unterschiedliche Preise haben#

Deinen Prompt zu lesen und eine Antwort zu schreiben sind unterschiedliche Arten von Arbeit. Das Modell verarbeitet den gesamten Prompt in einem Durchgang, aber es muss die Antwort Token für Token erzeugen, und jedes neue Token hängt von den vorherigen ab. Deshalb bepreisen Anbieter Output in der Regel höher als Input, und deshalb siehst du in jeder Preisliste zwei Zahlen pro Modell.

Das Modell, das wir unten als Beispiel verwenden, MiniMax-M2.7 (id minimax-m2.7), folgt diesem Muster. Die aktuellen Preise pro 1M Tokens sind $0.05 für Input und $0.15 für Output.

Die Formel#

Preise werden pro 1 Million Tokens angegeben, die Kosten einer Anfrage sind also:

text
cost = input_tokens × input_price ÷ 1,000,000
     + output_tokens × output_price ÷ 1,000,000

Hier mit erfundenen runden Preisen, nur um die Arithmetik zu zeigen (Beispiel, ersetze die aktuellen Preise aus der Tabelle unten):

python
# example, substitute current prices from the table
price_in = 0.20    # USD per 1M input tokens
price_out = 0.80   # USD per 1M output tokens

prompt_tokens = 2000
completion_tokens = 500

cost = (prompt_tokens * price_in + completion_tokens * price_out) / 1_000_000
# 2000 × 0.20 ÷ 1,000,000 = 0.0004 (input)
# 500 × 0.80 ÷ 1,000,000 = 0.0004 (output)
# 0.0004 + 0.0004 = 0.0008 USD

Ein durchgerechnetes Beispiel mit einem echten Modell#

Nimm die Anfrage aus dem obigen usage-Beispiel: 2.000 Input-Tokens und 500 Output-Tokens. Auf MiniMax-M2.7 über CheapTokens kostet sie $0.00018. Die Zahl wird bei jedem Anzeigen der Seite aus der aktuellen Preisliste berechnet.

Eine einzelne Anfrage ist winzig, daher hilft es, hochzurechnen. Eine kleine App, die 10.000 Anfragen dieser Größe sendet, verbraucht 20.000.000 Input-Tokens und 5.000.000 Output-Tokens, was $1.75 ergibt.

Dieselbe Anfrage auf anderen Modellen aus unserer Liste:

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.

Beachte, dass Output hier ein kleiner Teil der Token-Zahl ist (500 von 2.500), aber ein größerer Teil der Rechnung als sein Token-Anteil, weil Output-Tokens höher bepreist sind (siehe Tabelle). Bei diesem Modell zeigt sich auf der Output-Seite auch die Ersparnis gegenüber dem Referenzpreis von OpenRouter, was nützlich ist, wenn deine App lange Antworten schreibt.

Verwendung im Code#

Du kannst usage aus dem offiziellen openai-Python-Paket lesen, indem du es auf die CheapTokens-Base-URL zeigst:

python
from openai import OpenAI

client = OpenAI(
    base_url="https://api.cheaptokens.dev/v1",
    api_key="YOUR_API_KEY",
)

response = client.chat.completions.create(
    model="MiniMaxAI/MiniMax-M2.7",
    messages=[{"role": "user", "content": "Explain input and output tokens in two sentences."}],
)

usage = response.usage
print("input:", usage.prompt_tokens)
print("output:", usage.completion_tokens)
print("total:", usage.total_tokens)

# example, substitute current prices from the table above
price_in, price_out = 0.20, 0.80
cost = (usage.prompt_tokens * price_in + usage.completion_tokens * price_out) / 1_000_000
print(f"approx. cost: ${cost:.6f}")

Wenn du noch keine Anfrage gesendet hast, folge zuerst Deine erste API-Anfrage mit CheapTokens.

Wie du weniger Tokens verbrauchst#

  • Kürze den Prompt. Kürze den System-Prompt und entferne Anweisungen, die das Modell nicht braucht. Jedes Token, das du sendest, wird bei jeder Anfrage abgerechnet.
  • Kürze den Verlauf. In einem langen Chat behalte die letzten paar Runden oder eine kurze Zusammenfassung statt der ganzen Unterhaltung.
  • Sende nur den relevanten Teil eines Dokuments. Eine Seite Text ist günstiger als eine ganze Datei.
  • Verlange das Format, das du brauchst. „Antworte in drei Stichpunkten“ erzeugt weniger Output-Tokens als ein offener Essay.
  • Setze max_tokens bewusst. Es begrenzt nur den Output. Zu niedrig, und die Antwort wird abgeschnitten; die Details stehen in Warum bricht eine KI-Antwort mitten im Satz ab? MiniMax-M2.7 auf CheapTokens erlaubt bis zu 8.192 Output-Tokens pro Antwort und hat ein Kontextfenster von 180K.

Zur Schätzung der Kosten eines größeren Workflows siehe Wie man die Kosten eines KI-Agenten schätzt.

Was du dir merken solltest#

  1. Jede Anfrage hat Input-Tokens (prompt_tokens) und Output-Tokens (completion_tokens).
  2. Sie haben getrennte Preise, wobei Output meist höher liegt.
  3. Kosten = Input-Tokens × Input-Preis + Output-Tokens × Output-Preis, mit Preisen pro 1M Tokens.
  4. Lies die Zahlen aus usage in der Antwort, statt zu raten.

Bei CheapTokens deckt ein Prepaid-Guthaben alle Modelle ab, die Preise pro Modell sind fest ohne Stoßzeiten-Aufschlag, und die API ist kompatibel mit OpenAI Chat Completions und Anthropic Messages. Um das obige Beispiel auszuprobieren, hole dir einen API-Schlüssel und sende deine erste Anfrage.

Aktuelle Preise für jedes Modell: CheapTokens-Preise.