DeepSeek V4.1 Flash
DeepSeek V4.1 Flash über die offizielle Chat-Completions-, Responses- oder Anthropic-Messages-API aufrufen: Kontext mit 1M Token, Denken an oder aus und Bildeingabe.
DeepSeek V4.1 Flash ist das schnelle, günstige Modell von DeepSeek (DeepSeeks eigene API nennt es deepseek-flash). Standardmäßig denkt es nach, bevor es antwortet, und du kannst das Denken pro Anfrage abschalten oder seine Reasoning-Stufe festlegen. Sende die offizielle DeepSeek-Anfrage an SeedRouter: Ändere die Basis-URL und den API-Schlüssel, behalte den Body bei.
Modell-ID
| Modell-ID | Kontextfenster | Maximale Ausgabe | Reasoning-Stufe | Standard |
|---|---|---|---|---|
deepseek-v4.1-flash | 1M Token | 384K Token (393,216) | none, low, high, max | Denken an, high |
Eingabe: Text und Bilder. Ausgabe: Text. Die aktuellen Preise findest du auf der Modellseite.
Kurzbeispiel
curl https://api.seedrouter.ai/v1/chat/completions \
-H "Authorization: Bearer $SEEDROUTER_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "deepseek-v4.1-flash",
"messages": [{"role": "user", "content": "Give me three names for a coffee shop."}]
}'Endpunkte
| Format | Methode und Pfad | Authentifizierung |
|---|---|---|
| Chat Completions | POST https://api.seedrouter.ai/v1/chat/completions | Authorization: Bearer <key> |
| Responses | POST https://api.seedrouter.ai/v1/responses | Authorization: Bearer <key> |
| Anthropic Messages | POST https://api.seedrouter.ai/v1/messages | x-api-key: <key> oder Authorization: Bearer <key>, plus anthropic-version |
Alle drei geben das offizielle Antwortformat von DeepSeek zurück, mit oder ohne Streaming. Bewahre den API-Schlüssel in serverseitigem Code auf.
Parameter
Felder für Chat Completions:
| Name | Typ | Erforderlich | Standard | Hinweise |
|---|---|---|---|---|
model | string | Ja | — | deepseek-v4.1-flash. |
messages | object[] | Ja | — | Textnachrichten; Bilder als image_url-Teile (siehe Bildeingabe). |
thinking.type | enum | Nein | enabled | enabled oder disabled. |
reasoning_effort | enum | Nein | high | none (Denken aus), low, high oder max. minimal läuft als low, medium und xhigh als high. |
max_tokens | integer | Nein | 8K, mit Denken 64K (128K bei Reasoning-Stufe max) | 1–393216. Umfasst das Reasoning. |
stop | string or string[] | Nein | — | Stoppsequenzen. |
response_format | object | Nein | {"type": "text"} | text oder json_object. json_schema gibt 400 zurück. |
tools | object[] | Nein | — | Function-Tools; strict wird akzeptiert. |
tool_choice | string or object | Nein | none ohne Tools, auto mit Tools | auto und none werden angewendet. required und eine benannte Funktion werden akzeptiert, erzwingen aber keinen Aufruf. |
stream | boolean | Nein | false | Streamt Server-Sent Events. |
stream_options.include_usage | boolean | Nein | false | Jeder Chunk enthält usage, außer beim letzten null. |
temperature | number | Nein | 1 | 0–2. Im Denkmodus ohne Wirkung. |
top_p | number | Nein | 1 | 0–1. Im Denkmodus laufen Werte unter 0.95 als 0.95; ohne Denken bleibt es bei 1. |
user_id | string | Nein | — | Kennung deines Endnutzers. |
logprobs, top_logprobs | — | Nein | — | Werden akzeptiert (top_logprobs 0–20), aber es werden keine Log-Wahrscheinlichkeiten zurückgegeben. |
frequency_penalty, presence_penalty | — | Nein | — | Von DeepSeek als veraltet markiert: werden akzeptiert, ohne Wirkung. |
Denken und Reasoning-Stufe
Das Denken ist standardmäßig mit der Reasoning-Stufe high aktiv. Schalte es mit "thinking": {"type": "disabled"} oder "reasoning_effort": "none" ab; die Antwort kommt dann sofort und kostet weniger Output-Token. max wendet bei schwierigen Problemen das meiste Reasoning auf. Das Reasoning kommt in reasoning_content zurück, neben content, und wird als Output-Token berechnet.
Wenn eine Anfrage tools enthält, sende jede frühere Assistant-Nachricht mit ihrem reasoning_content zurück, wie es DeepSeek bei Konversationen mit Tool-Aufrufen verlangt.
Bildeingabe
Bilder gehören in den content einer Benutzernachricht, als image_url-Teile, entweder als öffentliche http(s)-URL oder als base64-Data-URI:
{"role": "user", "content": [
{"type": "image_url", "image_url": {"url": "https://example.com/chart.png"}},
{"type": "text", "text": "What does this chart show?"}
]}Eine URL darf höchstens 8192 Zeichen lang sein und auf ein Bild von höchstens 32 MiB verweisen. Ersetze die Beispiel-URL durch ein eigenes, öffentlich erreichbares Bild.
Abrechnungsdimensionen
Siehe die aktuellen Tarife auf der Modellseite. Eine Anfrage wird nach den Token berechnet, die sie verbraucht:
- Input-Token, die den Cache verfehlen (
prompt_cache_miss_tokens), - Input-Token, die den Cache treffen (
prompt_cache_hit_tokens), - Output-Token, einschließlich Reasoning.
Die Tarife hängen davon ab, wann die Anfrage läuft. Die Hauptzeit ist montags bis freitags von 01:00–04:00 und 06:00–10:00 UTC; alle anderen Stunden, auch am Wochenende, sind Nebenzeit zum halben Hauptzeit-Tarif. Die Gebühr wird der usage entnommen, die mit der fertigen Antwort gemeldet wird. Eine fehlgeschlagene Anfrage wird nicht berechnet. Die Nutzungsdatensätze deines Kontos zeigen die genaue Gebühr für jede Anfrage.
Ausgabe
Eine Non-Streaming-Anfrage an Chat Completions gibt Folgendes zurück:
{
"id": "bc86988e-...",
"object": "chat.completion",
"created": 1790585983,
"model": "deepseek-v4.1-flash",
"choices": [{
"index": 0,
"finish_reason": "stop",
"logprobs": null,
"message": {"role": "assistant", "reasoning_content": "...", "content": "..."}
}],
"usage": {
"prompt_tokens": 36,
"completion_tokens": 39,
"total_tokens": 75,
"prompt_cache_hit_tokens": 0,
"prompt_cache_miss_tokens": 36,
"prompt_tokens_details": {"cached_tokens": 0},
"completion_tokens_details": {"reasoning_tokens": 0}
}
}Mit "stream": true enthält jeder Chunk ein delta mit reasoning_content oder content, und der letzte Chunk vor data: [DONE] liefert die Nutzung.
Responses API und Codex
POST /v1/responses nimmt den Responses-Body entgegen: input, instructions, max_output_tokens, reasoning.effort (wie reasoning_effort oben), text.format (text oder json_object; json_schema wird akzeptiert, aber nicht durchgesetzt), tools (function und das benutzerdefinierte Tool apply_patch), tool_choice, temperature, top_p, top_logprobs, user und stream. Das Reasoning kommt als reasoning-Item mit reasoning_text-Inhalt zurück, und ein Stream liefert nummerierte Events von response.created bis response.completed, mit dem Reasoning in response.reasoning_text.delta-Events. Die API ist zustandslos: previous_response_id, conversation und eingebaute Tools wie web_search werden ignoriert, sende also die gesamte Konversation in input.
Um DeepSeek V4.1 Flash in Codex zu verwenden, füge in ~/.codex/config.toml einen Provider hinzu und setze SEEDROUTER_API_KEY:
model = "deepseek-v4.1-flash"
model_provider = "seedrouter"
show_raw_agent_reasoning = true
[model_providers.seedrouter]
name = "SeedRouter"
base_url = "https://api.seedrouter.ai/v1"
env_key = "SEEDROUTER_API_KEY"
wire_api = "responses"Anthropic-Messages-Format
Auch Code, der für die Anthropic Messages API geschrieben wurde, kann DeepSeek V4.1 Flash aufrufen: Sende den Messages-Body an /v1/messages mit "model": "deepseek-v4.1-flash". system, max_tokens, tools, tool_choice (auto, none), thinking (enabled, disabled) und temperature (0–2) werden angewendet; output_config.effort und metadata.user_id werden akzeptiert; top_k, stop_sequences und tool_choice any haben keine Wirkung. Das Reasoning kommt als thinking-Blöcke zurück. Bilder werden als base64- oder url-Quellen übergeben.
Fehler
Fehler verwenden {"error": {"code": ..., "message": "..."}} (der Messages-Endpunkt verwendet das Fehlerformat von Anthropic). Der code ist ein Code aus dem gemeinsamen Fehlerkatalog. Fehlgeschlagene Anfragen werden nicht berechnet.
Tipps
- Schalte das Denken für einfache, schnelle Schritte wie Klassifizierung oder Extraktion ab; lass es für Reasoning, Mathematik und Code an.
- Platziere langen, wiederverwendeten Kontext am Anfang des Prompts: Gecachte Eingabe wird zu einem Bruchteil des Input-Tarifs berechnet.
- Führe große Batch-Jobs in der Nebenzeit aus, wenn jeder Tarif halbiert ist.
