DeepSeek V4 wurde mit der API am ersten Tag live geschaltet. Die Modell-IDs sind deepseek-v4-pro und deepseek-v4-flash, der Endpunkt ist OpenAI-kompatibel und die Basis-URL ist https://api.deepseek.com. Das bedeutet, dass jeder Client, den Sie bereits mit GPT-5.5 oder anderen OpenAI-ähnlichen APIs verwenden, mit einem einfachen Austausch der Basis-URL auch mit V4 funktioniert.

Dieser Leitfaden behandelt die Authentifizierung, jeden wichtigen Parameter, Python- und Node-Beispiele, Denkmuster-Mathematik, Tool-Aufrufe, Streaming und einen Apidog-basierten Workflow, der die Kosten sichtbar hält, während Sie iterieren.
Eine Produktübersicht finden Sie unter Was ist DeepSeek V4. Für den kostenlosen Weg, siehe Wie man DeepSeek V4 kostenlos nutzt.
TL;DR
- DeepSeek V4 wird über den OpenAI-kompatiblen Endpunkt unter
https://api.deepseek.com/v1/chat/completionsund den Anthropic-kompatiblen Endpunkt unterhttps://api.deepseek.com/anthropicbereitgestellt. - Modell-IDs:
deepseek-v4-pro(1.6T gesamt, 49B aktiv) unddeepseek-v4-flash(284B gesamt, 13B aktiv). - Beide Varianten unterstützen einen 1M-Token-Kontext und drei Denkmodi:
non-thinking,thinking,thinking_max. - Verwenden Sie
temperature=1.0, top_p=1.0, wie von DeepSeek empfohlen; übernehmen Sie keine GPT-5.5- oder Claude-Standardwerte. - Die älteren IDs
deepseek-chatunddeepseek-reasonerwerden am 24. Juli 2026 eingestellt; migrieren Sie vorher. - Laden Sie Apidog herunter, um Anfragen wiederzugeben, Denkmodi zu vergleichen und den Schlüssel aus Ihrer Shell-Historie fernzuhalten.

Voraussetzungen
Bevor Sie die erste Anfrage stellen, bereiten Sie vier Dinge vor.
- Ein DeepSeek-Entwicklerkonto unter platform.deepseek.com mit mindestens einer $2-Aufladung. Ohne Guthaben geben Anrufe
402 Insufficient Balancezurück. - Ein API-Schlüssel, der auf das Projekt beschränkt ist, für das Sie abrechnen möchten. Projektbezogene Schlüssel sind sicherer als Kontoschlüssel für den Produktionseinsatz.
- Ein SDK, das eine OpenAI-kompatible Basis-URL aufrufen kann. Python
openai>=1.30.0und Nodeopenai@4.xfunktionieren beide ohne Änderung. - Ein API-Client, der Anfragen wiederholen kann, ohne das Terminal zu überfluten. curl funktioniert für einen Aufruf; danach verwenden Sie Apidog.
Exportieren Sie den Schlüssel einmal:
export DEEPSEEK_API_KEY="sk-..."
Endpunkt und Authentifizierung
Zwei Basis-URLs decken zwei Anfragetypen ab.
POST https://api.deepseek.com/v1/chat/completions # OpenAI-Format
POST https://api.deepseek.com/anthropic/v1/messages # Anthropic-Format
Wählen Sie das OpenAI-kompatible Format, es sei denn, Sie haben eine bestehende Anthropic-Codebasis. Der Rest dieses Leitfadens verwendet das OpenAI-Format.
Die Authentifizierung erfolgt über einen Bearer-Token im standardmäßigen Authorization-Header. Die minimal funktionierende Anfrage:
curl https://api.deepseek.com/v1/chat/completions \
-H "Authorization: Bearer $DEEPSEEK_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "deepseek-v4-pro",
"messages": [
{"role": "user", "content": "Explain MoE routing in two sentences."}
]
}'
Erfolgreiche Antworten geben einen JSON-Body mit einem choices-Array, einem usage-Block, aufgeteilt in Eingabe- und Ausgabe-Tokens (und reasoning_tokens, wenn der Denkmodus aktiv war), und einer id, die Sie zur Rückverfolgung verwenden können, zurück. Fehler geben den standardmäßigen OpenAI-Umschlag mit error.code und error.message zurück.
Anfrageparameter
Jedes Feld wirkt sich auf Kosten oder Verhalten aus. Hier ist die Zuordnung für deepseek-v4-pro und deepseek-v4-flash.
| Parameter | Typ | Werte | Hinweise |
|---|---|---|---|
model |
String | deepseek-v4-pro, deepseek-v4-flash |
Erforderlich. |
messages |
Array | Rollen-/Inhaltspaare | Erforderlich. Gleiches Schema wie OpenAI. |
thinking_mode |
String | non-thinking, thinking, thinking_max |
Standard ist non-thinking. |
temperature |
Float | 0 bis 2 | DeepSeek empfiehlt 1.0. |
top_p |
Float | 0 bis 1 | DeepSeek empfiehlt 1.0. |
max_tokens |
Integer | 1 bis 131.072 | Begrenzt die Ausgabelänge. |
stream |
Boolesch | true oder false | Aktiviert SSE-Streaming. |
tools |
Array | OpenAI Tool-Spezifikation | Für Funktionsaufrufe. |
tool_choice |
String oder Objekt | auto, required, none oder spezifisches Tool |
Steuert die Tool-Nutzung. |
response_format |
Objekt | {"type": "json_object"} |
JSON-Modus-Ausgabe. |
seed |
Integer | beliebige Integer-Zahl | Für Reproduzierbarkeit. |
presence_penalty |
Float | -2 bis 2 | Bestraft wiederholte Themen. |
frequency_penalty |
Float | -2 bis 2 | Bestraft wiederholte Tokens. |
thinking_mode ist der größte Kostenhebel. non-thinking überspringt die Argumentationsspur vollständig und gibt Tokens ungefähr mit V3.2-Geschwindigkeit zurück. thinking aktiviert einen Argumentationsblock, der zusätzliche Tokens kostet, aber die Genauigkeit bei Code und Mathematik verbessert. thinking_max erzeugt die Werte in der Überschriftstabelle von DeepSeek; es verbraucht auch die meisten Tokens und ist der einzige Modus, der ein Kontextbudget von 384K+ erfordert.
Python-Client
Das offizielle openai-SDK funktioniert mit einer Überschreibung der Basis-URL. Jeder bestehende OpenAI-kompatible Wrapper, einschließlich LangChain, LlamaIndex und DSPy, funktioniert ebenfalls.
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["DEEPSEEK_API_KEY"],
base_url="https://api.deepseek.com/v1",
)
response = client.chat.completions.create(
model="deepseek-v4-pro",
messages=[
{"role": "system", "content": "Reply in code only."},
{"role": "user", "content": "Write a Rust function that debounces events."},
],
extra_body={"thinking_mode": "thinking"},
temperature=1.0,
top_p=1.0,
max_tokens=2048,
)
choice = response.choices[0]
print("Content:", choice.message.content)
print("Reasoning tokens:", response.usage.reasoning_tokens)
print("Total tokens:", response.usage.total_tokens)
Der extra_body-Trick ermöglicht es Ihnen, DeepSeek-spezifische Parameter über das OpenAI-SDK zu übergeben, ohne die Bibliothek zu patchen.
Node-Client
Gleiche Struktur in Node:
import OpenAI from "openai";
const client = new OpenAI({
apiKey: process.env.DEEPSEEK_API_KEY,
baseURL: "https://api.deepseek.com/v1",
});
const response = await client.chat.completions.create({
model: "deepseek-v4-flash",
messages: [
{ role: "user", content: "Explain the Muon optimizer in plain English." },
],
thinking_mode: "thinking",
temperature: 1.0,
top_p: 1.0,
});
console.log(response.choices[0].message.content);
console.log("Usage:", response.usage);
Das Node-SDK akzeptiert unbekannte Felder stillschweigend, so dass thinking_mode auf oberster Ebene ohne extra_body durchgeleitet wird.
Streaming-Antworten
Setzen Sie stream: true und iterieren Sie die SSE-Blöcke. Das Format entspricht genau OpenAI.
stream = client.chat.completions.create(
model="deepseek-v4-pro",
messages=[{"role": "user", "content": "Stream a 300-word essay on MoE."}],
stream=True,
extra_body={"thinking_mode": "non-thinking"},
)
for chunk in stream:
delta = chunk.choices[0].delta.content or ""
print(delta, end="", flush=True)
Denkspuren werden separat gestreamt, wenn der Denkmodus aktiviert ist; das Feld delta.reasoning_content enthält sie, und Sie können sie in der Benutzeroberfläche anzeigen oder verwerfen.
Tool-Aufruf
V4 unterstützt das standardmäßige OpenAI Tool-Call-Schema. Funktionen, die im tools-Array definiert sind, werden aufrufbar, und das Modell entscheidet, wann sie aufgerufen werden sollen.
tools = [{
"type": "function",
"function": {
"name": "get_weather",
"description": "Return the current weather for a city.",
"parameters": {
"type": "object",
"properties": {
"city": {"type": "string"},
"unit": {"type": "string", "enum": ["c", "f"]},
},
"required": ["city"],
},
},
}]
response = client.chat.completions.create(
model="deepseek-v4-pro",
messages=[{"role": "user", "content": "Weather in Lagos in Celsius?"}],
tools=tools,
tool_choice="auto",
extra_body={"thinking_mode": "thinking"},
)
tool_call = response.choices[0].message.tool_calls[0]
print(tool_call.function.name, tool_call.function.arguments)
Danach rufen Sie die Funktion auf, fügen das Ergebnis als role: "tool"-Nachricht hinzu und rufen die API erneut auf, um die Schleife fortzusetzen. Das Muster ist identisch mit den OpenAI- und Anthropic-Tool-Nutzungsschleifen.
JSON-Modus
Für strukturierte Ausgaben fordern Sie explizit JSON an und legen das Antwortformat fest.
response = client.chat.completions.create(
model="deepseek-v4-flash",
messages=[
{"role": "system", "content": "Reply with a single JSON object."},
{"role": "user", "content": "Summarize this release note as {title, date, bullets}: ..."},
],
response_format={"type": "json_object"},
extra_body={"thinking_mode": "non-thinking"},
)
Der JSON-Modus erzwingt gültiges JSON, aber kein spezifisches Schema. Für die Schema-Validierung kombinieren Sie ihn mit Pydantic oder Zod auf Client-Seite.
Sammlung in Apidog erstellen
Das Wiederholen von Anfragen vom Terminal verbraucht Guthaben und verbirgt die Unterschiede zwischen den Ausführungen. Der Workflow, der den realen Einsatz überlebt:
- Laden Sie Apidog herunter und erstellen Sie ein Projekt.
- Fügen Sie eine Umgebung mit
{{DEEPSEEK_API_KEY}}als geheimer Variable hinzu. - Speichern Sie eine POST-Anfrage an
{{BASE_URL}}/chat/completionsmit dem HeaderAuthorization: Bearer {{DEEPSEEK_API_KEY}}. - Parametrisieren Sie
modelundthinking_mode, damit Sie A/B-Tests über Varianten hinweg durchführen können, ohne Anfragen zu duplizieren. - Verwenden Sie den Antwort-Viewer, um
usage.reasoning_tokensbei jeder Ausführung zu überprüfen. Dies ist das klarste Signal dafür, ob Sie für einen Denkmodus bezahlen, den Sie nicht benötigen.
Teams, die bereits die passende GPT-5.5 API-Sammlung in Apidog verwenden, können diese duplizieren, die Basis-URL auf https://api.deepseek.com/v1 ändern, die Modell-ID tauschen und Vergleichsabfragen für beide Anbieter in wenigen Minuten ausführen.
Fehlerbehandlung
Der Umschlag folgt genau OpenAI. Diejenigen, auf die Sie zuerst stoßen werden:
| Code | Bedeutung | Behebung |
|---|---|---|
| 400 | Ungültige Anfrage | Überprüfen Sie das JSON-Schema, insbesondere messages und tools. |
| 401 | Ungültiger Schlüssel | Neu generieren unter platform.deepseek.com. |
| 402 | Ungenügendes Guthaben | Konto aufladen. |
| 403 | Modell nicht erlaubt | Überprüfen Sie den Gültigkeitsbereich des Schlüssels und die Schreibweise der Modell-ID. |
| 422 | Parameter außerhalb des Bereichs | max_tokens oder thinking_mode stimmen wahrscheinlich nicht überein. |
| 429 | Ratenbegrenzung | Warten Sie ab und versuchen Sie es dann mit exponentiellem Jitter erneut. |
| 500 | Serverfehler | Einmal wiederholen; falls es sich wiederholt, Statusseite prüfen. |
| 503 | Überlastet | Auf V4-Flash zurückgreifen oder in 30 Sekunden erneut versuchen. |
Umschließen Sie Aufrufe in einen Wiederholungshelfer, der 429 und 5xx mit exponentiellem Backoff behandelt. Versuchen Sie 4xx-Fehler nicht automatisch erneut; sie sind Logikfehler, keine vorübergehenden Ausfälle.
Muster zur Kostenkontrolle
Vier Muster halten die Ausgaben vorhersehbar.
- Standardmäßig V4-Flash verwenden. Wechseln Sie nur dann zu V4-Pro, wenn Sie eine Qualitätssteigerung gemessen haben.
thinking_maxhinter einem Flag sperren. Es ist der bei weitem teuerste Modus; leiten Sie nur dann dorthin, wenn Korrektheit wichtiger ist als Latenz.max_tokensbegrenzen. Die meisten Antworten passen in 2.000 Ausgabe-Tokens. Der 1M-Kontext ist für die Eingabe, nicht für die Ausgabe.usagebei jedem Aufruf protokollieren. Senden Sie die Eingabe-, Ausgabe- und Reasoning-Zahlen an Ihr Observability-Stack; ein Alarm bei einem plötzlichen Anstieg der Reasoning-Tokens fängt Prompts ab, die abgewichen sind.
Migration von älteren DeepSeek-Modellen
Die älteren IDs deepseek-chat und deepseek-reasoner werden am 24. Juli 2026 eingestellt. Die Migration erfordert eine Zeile Unterschied pro Aufrufstelle; die Anfrage- und Antwortformen bleiben unverändert.
- model="deepseek-chat"
+ model="deepseek-v4-pro"
Bevor Sie die Produktion umstellen, führen Sie Side-by-Side-A/B-Vergleiche in Apidog durch. Der Qualitätssprung bei der Antwort belohnt den Wechsel normalerweise; die Abkündigungsfrist erzwingt ihn so oder so.
FAQ
Ist die DeepSeek V4 API produktionsreif? Ja. Die API ging am 23. April 2026 zusammen mit den Gewichten live. DeepSeek V3 und V3.2 liefen über ein Jahr lang auf derselben Infrastruktur im großen Maßstab, so dass die API-Oberfläche ausgereift ist.
Unterstützt V4 das Anthropic-Nachrichtenformat? Ja. Zeigen Sie auf https://api.deepseek.com/anthropic/v1/messages und senden Sie die Anthropic-förmige Nutzlast. Beide Formate treffen auf dasselbe zugrunde liegende Modell.
Was ist das Kontextfenster? 1 Million Tokens sowohl bei V4-Pro als auch bei V4-Flash. Beachten Sie, dass der Think-Max-Modus ein Mindestarbeitsfenster von 384K empfiehlt.
Wie zähle ich Eingabe-Tokens vor dem Senden? Verwenden Sie den Standard-OpenAI-Tokenizer für Annäherungen; DeepSeek veröffentlicht genaue Zählungen im usage-Block jeder Antwort. Für die Produktionsbudgetierung vertrauen Sie der zählerseitigen Zählung.
Kann ich über die API fine-tuning durchführen? Nicht zum Start. Fine-tuning erfolgt derzeit über die selbst gehosteten Base-Checkpoints auf Hugging Face.
Ist die API kostenlos testbar? Es gibt keine kostenlose Stufe auf Kontoebene, aber Neuanmeldungen erhalten gelegentlich ein Testguthaben.
