Die Visionsunterstützung von DeepSeek hörte am 10. September 2026 auf, ein Nebenprojekt zu sein. Mit der GA-Veröffentlichung von DeepSeek-V4.1-Flash ist die Bildeingabe im Hauptmodell hinter einer ID, deepseek-flash, untergebracht. Es gibt keinen separaten Vision-Build und kein „Exp“-Suffix. Die Versionshinweise setzen sowohl deepseek-v4-flash als auch deepseek-v4-flash-vision-exp außer Betrieb; Anfragen an einen der Namen landen nun auf V4.1-Flash.
Das ist wichtig, wenn Sie vor drei Wochen auf dem experimentellen Endpunkt aufgebaut haben. Das Anfrageformat, das Sie für V4-Flash-Vision-Exp geschrieben haben, funktioniert weiterhin, aber das Modell, das Ihre Bilder liest, ist neu: 763B Parameter, mit einem Vision-Encoder, der von Grund auf zusammen mit dem Text-Backbone trainiert wurde. Dieser Leitfaden behandelt, was „native multimodal“ in der Praxis bedeutet, die drei Arten, ein Bild zu liefern, den detail-Parameter, was Bilder kosten und wie man einen wiederholbaren Vision-Test in Apidog erstellt, der beweist, dass der alte und der neue Name sich auf die gleiche Weise verhalten.
TL;DR
- Modell-ID:
deepseek-flash. Der veraltete Namedeepseek-v4-flash-vision-expwird weiterhin aufgelöst, wird aber von V4.1-Flash bedient. - Bilder gehören in das
content-Array der Benutzernachricht: eine base64-Daten-URL (bis zu 32 MiB), eine externe URL (bis zu 8.192 Zeichen) oder eine Datei-ID. - Optionales
detail-Feld:low,high(Aliasoriginal) oderauto. - Vision-Benchmarks, wie von DeepSeek berichtet: MMMU-Pro 56.5, CVBench 77.9, DocVQA 95.6, RefCOCO 86.0.
- Die Preisgestaltung entspricht dem Standard-Flash-Tarif: 0,15 $ pro 1 Million Cache-Fehlzugriff-Eingabetokens außerhalb der Spitzenzeiten, 0,30 $ in Spitzenzeiten.
- Der Kontext beträgt 1 Million Tokens, maximale Ausgabe 384K, identisch mit reinen Textaufrufen.
Was „native multimodal“ hier bedeutet
Vision-Exp fügte einem fertigen Textmodell einen Bild-Encoder hinzu. V4.1-Flash macht es umgekehrt. Laut der Modellkarte waren Bilder von Anfang an Teil des 45T-Token-Vortrainingskorpus, und der Encoder ist ein neues DeepSeek-ViT, das von Grund auf neu trainiert wurde, anstatt von einem bestehenden Vision-Modell übernommen zu werden. Das Rückgrat ist eine 552B-Parameter-Mischung aus Experten; mit dem angeschlossenen Encoder erreicht die Summe 763B. Nur 8B Parameter sind während des Prefill und 16B während des Decodes aktiv, wodurch ein so großes Modell immer noch mit Flash-Geschwindigkeit und Flash-Preisen läuft. V4-Flash, das reine Textmodell im V4-Flash API-Leitfaden, war die Basis, die Vision-Exp erweiterte.
DeepSeek berichtet diese vier Vision-Scores in der Modellkarte. Es handelt sich um die eigenen Messungen des Anbieters, behandeln Sie sie also als Behauptungen, bis Sie Ihre eigenen Dokumente durch die API geschickt haben.
| Benchmark | Was es misst | V4.1-Flash |
|---|---|---|
| MMMU-Pro | Fragen auf College-Niveau, die sowohl das Bild als auch den Text zur Beantwortung benötigen | 56.5 |
| CVBench | Zählen, Tiefensortierung und räumliche Beziehungen in natürlichen Fotos | 77.9 |
| DocVQA | Fragebeantwortung über gescannte Dokumente und Formulare | 95.6 |
| RefCOCO | Auffinden des Objekts, auf das sich eine Phrase in einem Bild bezieht | 86.0 |
Für API-Benutzer sind DocVQA und RefCOCO die Zeilen, die man beachten sollte. Dokumenten-QA ist der Wert hinter der Rechnungs- und Formularerkennung. RefCOCO ist die Verankerung (Grounding): Wenn man „den Senden-Button unter dem E-Mail-Feld“ angibt, kann das Modell ihn finden? Diese Fähigkeit verwandelt Screenshots in Agentenaktionen. Die Architekturübersicht behandelt die Textseite und den technischen Bericht ausführlicher.
Das Anfrageformat: drei Wege zur Bildübermittlung
Am Wire-Format hat sich nichts geändert. Rufen Sie den Chat Completions-Endpunkt unter https://api.deepseek.com mit dem OpenAI SDK auf, legen Sie Text- und Bildteile in dasselbe content-Array und setzen Sie das Modell auf deepseek-flash. Hier ist ein vollständiger Aufruf, der eine Rechnung in JSON umwandelt:
import base64, json
from openai import OpenAI
client = OpenAI(api_key="YOUR_DEEPSEEK_KEY", base_url="https://api.deepseek.com")
with open("invoice-2026-0912.png", "rb") as f:
image_b64 = base64.b64encode(f.read()).decode()
schema_hint = (
"Return only JSON with keys: invoice_number (string), issue_date (YYYY-MM-DD), "
"vendor (string), currency (string), line_items (array of {description, quantity, "
"unit_price, amount}), subtotal, tax, total (numbers)."
)
response = client.chat.completions.create(
model="deepseek-flash",
messages=[{
"role": "user",
"content": [
{"type": "text", "text": schema_hint},
{
"type": "image_url",
"image_url": {
"url": f"data:image/png;base64,{image_b64}",
"detail": "high",
},
},
],
}],
temperature=1.0,
max_tokens=2048,
)
invoice = json.loads(response.choices[0].message.content)
print(invoice["invoice_number"], invoice["total"])
print(response.usage.prompt_tokens, "prompt tokens")
Das ist Option eins, base64 inline: eigenständig, auf 32 MiB pro Bild begrenzt und richtig für einmalige Aufrufe oder Dateien, die Ihr Netzwerk nie verlassen.
Option zwei ist eine externe URL. Wenn das Bild bereits einen öffentlichen Link auf einem CDN oder in einem Objektspeicher hat, überspringen Sie die Kodierung und übergeben Sie den Link (bis zu 8.192 Zeichen). Diese Curl-Anfrage liest ein gehostetes Preisdiagramm:
curl https://api.deepseek.com/chat/completions \
-H "Authorization: Bearer $DEEPSEEK_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "deepseek-flash",
"messages": [{
"role": "user",
"content": [
{"type": "text", "text": "List every plan name and its monthly price from this chart as a JSON array."},
{"type": "image_url", "image_url": {"url": "https://assets.example-saas.com/pricing/plans-q3.png", "detail": "auto"}}
]
}]
}'
Option drei ist eine Datei-ID. Laden Sie das Bild einmal über die DeepSeek Files API hoch und verweisen Sie dann mit einem file-Teil darauf, anstatt die Bytes erneut zu senden:
{"type": "file", "file": {"file_id": "file-api-xxxxxxxxxxxxxxxx"}}
Wählen Sie Datei-IDs, wann immer dasselbe Bild in mehr als einer Anfrage erscheint, z. B. ein Referenz-Screenshot, mit dem jeder Test in einer Suite verglichen wird. Die vollständige Parameterbeschreibung finden Sie im V4.1-Flash API-Leitfaden.
Der Detail-Parameter und Anfragelimits
detail ist optional und befindet sich im image_url-Objekt. Die drei von Vision-Exp übernommenen Werte:
"low"skaliert auf 512x512 herunter. Am günstigsten und schnellsten; gut für Fragen wie „Ist das ein Dashboard oder eine Quittung“."high"(Alias"original") behält die Quellauflösung bei. Verwenden Sie es für dichte Dokumente, Kleingedrucktes und UI-Screenshots, bei denen ein 12px-Label wichtig ist."auto"lässt die API wählen.
Die Grenzen, auf die Sie zuerst stoßen werden:
| Einschränkung | Wert |
|---|---|
| Inline base64 Bild | bis zu 32 MiB |
| Länge der externen URL | bis zu 8.192 Zeichen |
| Dateireferenz | unterstützt durch die Files API |
| Kontextfenster | 1 Million Tokens |
| Maximale Ausgabe | 384K Tokens |
detail-Werte |
low, high/original, auto |
Der Vision-Exp-Leitfaden listete weitere Obergrenzen für die Bildanzahl, die Body-Größe und die Pixelabmessungen auf. Diese wurden für das experimentelle Modell veröffentlicht; überprüfen Sie den API-Änderungsprotokoll, bevor Sie sich für V4.1-Flash auf sie verlassen. Eine Regel hat sich nicht geändert: Bilder gehören in Benutzernachrichten. Legen Sie eines in eine System- oder Assistentennachricht, und Sie erhalten einen 400er-Fehler.
Was Bilder auf deepseek-flash kosten
Es gibt keinen separaten Vision-Preis. Bilder werden als Eingabe-Tokens zum Flash-Tarif von der Preisseite abgerechnet, gültig ab dem 10. September 2026 um 04:00 UTC:
| deepseek-flash, pro 1 Million Tokens | Außerhalb der Spitzenzeiten | Spitzenzeiten |
|---|---|---|
| Eingabe, Cache-Treffer | 0,003 $ | 0,006 $ |
| Eingabe, Cache-Fehlzugriff | 0,15 $ | 0,30 $ |
| Ausgabe | 0,60 $ | 1,20 $ |
Spitzenzeiten sind Montag bis Freitag, 01:00 bis 04:00 und 06:00 bis 10:00 UTC; außerhalb der Spitzenzeiten ist der Preis halbiert. Bei Vision-Exp wurde jedes Bild mit nicht mehr als 384 Eingabe-Tokens abgerechnet. Ob diese Obergrenze unverändert auf V4.1-Flash übertragen wird, ist [ÜBERPRÜFEN] anhand der Dokumentation. usage.prompt_tokens jeder Antwort meldet die tatsächliche Anzahl, weshalb das Python-Beispiel sie ausgibt.
Wenn die 384-Token-Obergrenze Bestand hat, kostet ein Bild bei Spitzen-Cache-Fehlzugriffsraten etwa 0,000115 $ und die Hälfte davon außerhalb der Spitzenzeiten, sodass tausend Rechnungen ungefähr 0,12 $ an Bildeingaben kosten. Die Ausgabe dominiert jede echte Pipeline: 400 Tokens JSON pro Rechnung kosten in Spitzenzeiten etwa viermal mehr als das Bild selbst. Der Hebel ist ein straffes Antwortschema, nicht die Bildverkleinerung. Die Berechnung für Spitzen-, Nebenzeiten- und Cache-Treffer wird in DeepSeek-V4.1-Flash Preisgestaltung erklärt durchgearbeitet; die Kurzversion ist, dass Cache-Fehlzugriff-Eingaben 32 % billiger sind als das, was Vision-Exp im August berechnet hat.
Drei Anwendungsfälle, die einen Piloten wert sind
- Dokumentenextraktion. Rechnungen, Belege, Lieferscheine, Versicherungsformulare. Fordern Sie ein festes JSON-Schema an, senden Sie mit
detail: "high"und überprüfen Sie, ob sich die Posten zur Zwischensumme addieren, bevor Sie einen Datensatz vertrauen. - UI-Screenshots zum Testen von Zusicherungen. Erfassen Sie eine Seite nach einer Bereitstellung, fragen Sie, ob die erwarteten Elemente vorhanden sind und wo, und wandeln Sie die Antwort in ein Bestanden/Nicht bestanden um. RefCOCO ist der relevante Benchmark: Die Aufgabe besteht darin, benannte Elemente zu finden.
- Diagrammlesen. Extrahieren Sie Reihennamen, Achsenbeschriftungen und geplottete Werte aus einem Diagrammbild in eine Tabelle. Überlappende Linien oder unbeschriftete Achsen erfordern eine manuelle Überprüfung.
Testen des Vision-Endpunkts in Apidog
Vision-Anfragen sind mühsam manuell zu iterieren: Ein base64-Blob macht den JSON-Body unlesbar, und der Vergleich von detail-Einstellungen bedeutet, nahezu identische Payloads jonglieren zu müssen. Hier ist eine Schleife, die lesbar bleibt und mit einem Klick neu ausgeführt wird.

- Eine Umgebung einrichten. Erstellen Sie Variablen für
base_url,api_key,model(deepseek-flash) unddetail(high). Das spätere Ändern des Detailgrads ist eine Änderung in einem Dropdown-Menü, keine Bearbeitung der Payload. - Das Bild in einem Pre-Request-Skript kodieren. Anstatt base64 in den Body einzufügen, lassen Sie ein Pre-Request-Skript die Beispieldatei kodieren und das Ergebnis in eine
image_b64-Variable schreiben. Der sichtbare Body bleibt wenige Zeilen lang, und das Austauschen des Testbildes bedeutet, nur einen Pfad zu ändern. - Den Request-Body mit Variablen speichern. Verwenden Sie
"model": "{{model}}","detail": "{{detail}}"und"url": "data:image/png;base64,{{image_b64}}". Speichern Sie es als Testfall, damit es wiederverwendbar ist. - Die JSON-Struktur überprüfen (Assert). Überprüfen Sie, dass die Antwort als JSON geparst wird,
invoice_numberein nicht-leerer String ist,line_itemsein nicht-leeres Array ist,totaleine Zahl ist undusage.prompt_tokensunter einem von Ihnen gewählten Schwellenwert liegt. Das verwandelt „sieht gut aus“ in ein Bestanden/Nicht bestanden. - Bestätigen, dass der alte Name auf dasselbe Modell weiterleitet. Duplizieren Sie die gespeicherte Anfrage, setzen Sie
modelaufdeepseek-v4-flash-vision-expund führen Sie beide in einem Testszenario mit demselben Bild aus. Vergleichen Sie die extrahierten Felder und die Anzahl derusage.prompt_tokens. Übereinstimmende Ergebnisse bestätigen die Aussage in den Versionshinweisen: Beide Namen landen auf V4.1-Flash, sodass Sie Ihre Konfiguration mit Zuversicht umbenennen können. - Führen Sie es in CI aus. Führen Sie das Szenario mit
apidog-clibei jeder Prompt-Änderung aus, damit eine Schema-Regression vor der Produktion erkannt wird.
Laden Sie Apidog herunter, und die Einrichtung dauert etwa fünfzehn Minuten. Apidog testet die API-Schicht, nicht den Modell-Host, sodass dasselbe Szenario für jeden OpenAI-kompatiblen Endpunkt funktioniert, den Sie später verwenden.
Was das für Sie bedeutet
Der experimentelle Endpunkt hat das Anfrageformat und den Preispunkt bewiesen. V4.1-Flash behält beides bei und tauscht ein Modell ein, das Bilder von seinem ersten Trainings-Token an gesehen hat. Richten Sie Ihren Client auf deepseek-flash aus, halten Sie detail in einer Variablen, überprüfen Sie das zurückgegebene JSON und führen Sie den alten Namen einmal durch dasselbe Apidog-Szenario aus, um die Weiterleitung zu bestätigen. Danach bleibt nur noch die Frage der Genauigkeit bei Ihren eigenen Dokumenten, und Sie haben nun einen Test, der diese beantwortet.
