Die Rechnung für die DeepSeek API ist nicht einfach „Anzahl der Aufrufe mal Stückpreis“. Sie ergibt sich aus Input-Token, Output-Token und der Frage, ob ein Cache-Treffer vorliegt. Viele Teams kalkulieren mit dem Listenpreis und stellen nach dem Livegang fest, dass die tatsächlichen Kosten deutlich höher liegen. Die Ursache ist meist nicht ein geänderter Stückpreis, sondern eine andere Input-Struktur, Cache-Trefferquote oder Anzahl an Wiederholungsversuchen als bei der Schätzung.
Dieser Artikel zerlegt die Abrechnung der DeepSeek API in berechenbare Teile: welche Token abgerechnet werden, warum der Cache manchmal greift und manchmal nicht, wie Sie mit dem usage-Feld der Antwort kalkulieren und in welcher Reihenfolge Sie Kosten senken sollten. Konkrete Stückpreise entnehmen Sie der Preisübersicht und der offiziellen DeepSeek-Dokumentation.
Hinweis: DeepSeek ist eine Marke des jeweiligen Rechteinhabers. Dieser Artikel beschreibt die übliche Schnittstellenform im Oktober 2026. Preise, Modellnamen und Abrechnungsregeln können sich ändern; prüfen Sie vor dem Einkauf erneut die offiziellen Seiten.
1. Die Rechnung in vier Positionen zerlegen
| Abrechnungsposition | Wann sie entsteht | Wesentliche Einflussfaktoren | Optimierungsansatz |
|---|---|---|---|
| Input (Cache-Fehlgriff) | Neue Inhalte gelangen erstmals in den Kontext | Dokumentlänge, Verlauf, Tool-Definitionen | Retrieval, Zusammenfassung, Kürzen |
| Input (Cache-Treffer) | Die Anfrage nutzt einen zuvor gespeicherten Präfix | Stabilität des Präfix, Trefferquote | Fester Präfix, weniger dynamische Inhalte |
| Output | Das Modell erzeugt Text und strukturierte Ergebnisse | Ausgabelänge, Formatvorgaben | max_tokens, JSON-Vorgaben |
| Reasoning-Inhalt | Ein Reasoning-Modell erzeugt Denkschritte | Schwierigkeit der Aufgabe, Reasoning-Stufe | Einfache Aufgaben ohne Reasoning-Modell |
Der Kontext-Cache von DeepSeek wirkt sich üblicherweise auf die Input-Seite aus: Ein getroffener Präfix wird zu einem niedrigeren Input-Preis abgerechnet, der nicht getroffene Teil zum Standard-Input-Preis. Ob Speicherkosten für den Cache anfallen und wie lange ein Cache erhalten bleibt, regelt die aktuelle offizielle Dokumentation. Übernehmen Sie keine Regeln aus älteren Artikeln.
Eine einzelne Anfrage lässt sich als Kostenformel darstellen:
Kosten pro Anfrage =
Input-Token mit Cache-Treffer × Trefferpreis
+ Input-Token ohne Cache-Treffer × Input-Preis
+ Output-Token × Output-Preis
Erst wenn diese Formel in den Logs landet, lässt sich die Frage beantworten, was ein Feature pro Monat kostet. Die Gesamtrechnung in der Konsole zeigt nicht, welches Projekt oder welche Art von Anfrage die Kosten treibt.
2. Warum der Cache spart und warum er oft nicht greift
Die Grundidee des Kontext-Caches: Wenn der Anfang zweier Anfragen vollständig übereinstimmt, kann der Server die frühere Berechnung wiederverwenden und nur den neuen Teil neu berechnen. Besonders wirksam ist der Cache daher für:
- feste System-Prompts und Rollenbeschreibungen;
- stabile Tool-Definitionen und Funktions-Schemas;
- wiederkehrende Ausschnitte aus Wissensdatenbanken, Produkthandbüchern und Vertragsvorlagen;
- den unveränderten ersten Teil mehrstufiger Dialoge.
Umgekehrt führen diese Muster häufig dazu, dass der Cache verfällt:
- aktuelle Uhrzeit, Zufalls-IDs oder Benutzernamen am Anfang des System-Prompts;
- bei jeder Anfrage neu sortierte Tools oder Dokumente;
- das vollständige Dokument am Anfang und die eigentliche Frage erst danach;
- Wechsel zwischen Modellen oder Endpunkten innerhalb desselben Geschäftsprozesses;
- ein zu kurzer Präfix, der die wiederverwendbare Granularität nicht erreicht.
Änderbare Inhalte an das Ende der Anfrage und stabile Inhalte an den Anfang zu stellen, ist die einfachste und wirksamste Maßnahme. Caching ist meist eine Best-Effort-Funktion ohne Treffergarantie. Kalkulieren Sie daher mit teilweisen Treffern und nicht mit einer vollständigen Trefferquote.
3. Mit dem usage-Feld eine realistische Schätzung erstellen
Raten Sie Token nicht anhand der Zeichenzahl. Erfassen Sie nach jedem Aufruf das usage-Feld der Antwort. Nach einer Woche Beobachtung erhalten Sie die tatsächliche Struktur Ihres Geschäftsprozesses.
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["DEEPSEEK_API_KEY"],
base_url="https://api.deepseek.com",
)
resp = client.chat.completions.create(
model="deepseek-chat", # Modellname gemäß Preisübersicht
messages=[
{"role": "system", "content": "Du bist ein Kundendienstassistent. Antworte in höchstens drei Sätzen."},
{"role": "user", "content": "Kann die Lieferadresse nach dem Versand noch geändert werden?"},
],
max_tokens=256,
)
usage = resp.usage
hit = getattr(usage, "prompt_cache_hit_tokens", 0) or 0
miss = getattr(usage, "prompt_cache_miss_tokens", 0) or 0
print("Input", usage.prompt_tokens)
print("Cache-Treffer", hit, "Fehlgriff", miss)
print("Output", usage.completion_tokens)
Falls die Antwort keine getrennten Cache-Felder enthält, erfassen Sie den gesamten Input und Output und leiten Sie die Aufteilung aus Rechnung oder Nutzungsseite ab. Entscheidend ist, dass die Definitionen konsistent bleiben und Daten unterschiedlicher Tage oder Endpunkte nicht miteinander vermischt werden.
Erfassen Sie bei der Schätzung mindestens: Zeitpunkt, Projekt, Modell, Input-Token, Output-Token, Cache-Treffer, Wiederholungsversuche und ob gestreamt wurde. Die Geldbeträge ergeben sich am Monatsende durch Multiplikation mit dem Stückpreis; die Prozesskennzahlen sollten täglich betrachtet werden.
4. Warum die Rechnung bei gleichem Volumen um ein Vielfaches abweicht
| Szenario | Typische Token-Struktur | Kostentreiber | Optimierungsschwerpunkt |
|---|---|---|---|
| Kundenservice-Bot | viel Input, kurzer Output | Verlauf wird wiederholt übertragen | Zusammenfassung, Cache, nur die letzten Runden |
| Dokumentextraktion | mittlerer Input, strukturierter Output | dasselbe Dokument wird mehrfach gelesen | Präfix cachen, Batch-Verarbeitung |
| Code-Assistent | Input und Output gleichermaßen hoch | Tool-Ergebnisse und lange Dateien | Retrieval, Chunking, Output begrenzen |
| Langtext-Erzeugung | kurzer Input, langer Output | Output-Token summieren sich | Abschnittsweise erzeugen, max_tokens |
| Reasoning-Aufgabe | mittlerer Input, Output mit Denkschritten | Denkprozess zählt zum Output | Einfache Aufgaben auf ein Nicht-Reasoning-Modell verlagern |
Die Unterschiede entstehen meist an fünf Stellen:
- Anderes Verhältnis von Input zu Output: Kundenservice und Langtext-Erzeugung haben völlig gegensätzliche Kostenstrukturen und lassen sich nicht mit demselben Durchschnittswert schätzen.
- Unterschiedliche Cache-Trefferquote: Ein fester Präfix wird wiederverwendet, dynamische Inhalte lassen den Cache verfallen.
- Unterschiedliche Kontextlänge: Wird in jeder Runde das gesamte Dokument mitgesendet, summieren sich die Input-Kosten mit der Anzahl der Runden.
- Unterschiedliche Wiederholungsversuche: Erneute Anfragen nach 429 oder Zeitüberschreitungen erhöhen das Volumen; ob fehlgeschlagene Anfragen abgerechnet werden, zeigt die Rechnung.
- Unterschiedliche Modellstufen: Reasoning- und Nicht-Reasoning-Modelle haben andere Stückpreise und Ausgabelängen; eine falsche Zuordnung sprengt das Budget.
5. Reihenfolge der Kostensenkung nicht umkehren
- Zuerst quantifizieren: Ermitteln Sie mit
usageund Logs die tatsächliche Token-Struktur jeder Funktion, nicht nach Gefühl. - Dann Cache-Treffer erhöhen: System-Prompt, Tool-Definitionen und Wissenspräfix fixieren und dynamische Inhalte am Anfang reduzieren.
- Dann Input verringern: RAG nur relevante Ausschnitte zurückgeben lassen, Verläufe zusammenfassen, Tool-Ausgaben auf notwendige Felder beschränken.
- Output begrenzen: Ein sinnvolles
max_tokenssetzen, JSON oder feste Felder verlangen und wiederholte Erklärungen vermeiden. - Modelle aufteilen: Klassifikation, Extraktion und Umschreibung auf leichte Modelle geben, komplexe Reasoning-Aufgaben höher stufen.
- Asynchron und in Batches arbeiten: Annotationen, Zusammenfassungen und Offline-Analysen, die nicht in Echtzeit vorliegen müssen, in Warteschlangen ausführen.
- Überwachen und alarmieren: Verbrauch nach Projekt, Modell und Szenario betrachten und Budgetobergrenzen setzen.
Kehrt man die Reihenfolge um, endet es oft so: Ein günstigeres Modell wird gewählt, aber Input bleibt ungezügelt und der Cache trifft nicht. Die Rechnung sinkt nicht, und die Qualität leidet zusätzlich.
6. Budget und Rechnung verwalten
- Ein Key pro Projekt, Test und Produktion getrennt, damit sie sich nicht gegenseitig das Kontingent entziehen.
- Ausgabenlimits und Alarme pro Key setzen, um bei auffälligen Aufrufen automatisch zu bremsen.
- Wöchentlich nach Projekt, Modell und Szenario abstimmen und die am schnellsten wachsenden Aufrufe identifizieren.
- Einsparungen durch Cache und Modellaufteilung separat erfassen; sonst lässt sich der Optimierungserfolg nicht belegen.
- Teams, die in chinesischen Yuan zahlen und Rechnungen benötigen, können über ein inländisches AI-Gateway eine einheitliche Rechnung erhalten; Preise, Wechselkurse und Rechnungsregeln entnehmen Sie der Preisübersicht.
Häufige Fragen
Muss der DeepSeek-Cache manuell aktiviert werden?
Üblicherweise müssen Cache-Abschnitte nicht ausdrücklich markiert werden; der Server entscheidet anhand des Präfixes über eine Wiederverwendung. Die genauen Mechanismen und Aufbewahrungszeiten entnehmen Sie der offiziellen Dokumentation. Ihre Aufgabe ist es, den Präfix stabil zu halten, nicht zusätzliche Konfiguration anzuhäufen.
Warum schwankt die Cache-Trefferquote?
Häufige Ursachen sind Zeitstempel, Zufalls-IDs oder Benutzerinformationen im Präfix oder Wechsel zwischen Modellen und Endpunkten. Verschieben Sie zuerst die veränderlichen Inhalte ans Ende und beobachten Sie dann eine Woche lang.
Werden Denkschritte von Reasoning-Modellen abgerechnet?
Die Denk-Token eines Reasoning-Modells zählen üblicherweise zum Output; die genaue Definition entnehmen Sie der offiziellen Dokumentation und der Rechnung. Für einfache Klassifikations- und Extraktionsaufgaben ist ein Reasoning-Modell nicht die Standardwahl.
Ist Input oder Output teurer?
Bei den meisten Modellen liegt der Output-Preis über dem Input-Preis, während der Input-Preis bei einem Cache-Treffer meist niedriger ist. Vergleichen Sie nicht nur zwei Stückpreise, sondern berechnen Sie die Kosten pro Anfrage anhand Ihres eigenen Input-Output-Verhältnisses.
Warum stimmen Schätzung und Rechnung nicht überein?
Häufig vergessene Posten sind Verlauf, Tool-Definitionen, Wiederholungsanfragen, Cache-Fehlgriffe und lange Ausgaben. Gleichen Sie Request-IDs mit dem Nutzungsprotokoll ab, um die Abweichung zu lokalisieren.
Nächste Schritte
Erstellen Sie zunächst im ZSQH AI Gateway einen Test-Key, führen Sie eine Woche lang echte Aufgaben aus und erfassen Sie Input, Output und Cache-Treffer. Rechnen Sie anschließend mit der Preisübersicht das Budget hoch. Modellverfügbarkeit und Preise entnehmen Sie der Preisseite.
Weitere Artikel:
