DeepSeek pushed a new experimental model live on August 21, 2026: deepseek-v4-flash-vision-exp, its first vision-capable entry in the V4-Flash line. The pitch, straight from DeepSeek's own announcement, is unusually specific — match V4-Flash on everything text-based, and close most of the multimodal gap to Anthropic's Opus-4.8. DeepSeek shipped DeepSeek Harness 0.1.1 on the same day with out-of-the-box support, and the model is live now via model='deepseek-v4-flash-vision-exp'.
This follows a pattern explainx.ai has tracked all August: DeepSeek shipping V4 Pro 0813, a 50-1,100% API price increase, and verified ARC-AGI numbers for V4 Flash 0731 in rapid succession. Vision support is the next capability gap DeepSeek is closing against the frontier labs.
TL;DR
| Question | Answer |
|---|---|
| Model ID? | deepseek-v4-flash-vision-exp |
| Released? | August 21, 2026 |
| What's new? | Adds image understanding on top of existing V4-Flash text/agent/reasoning capability |
| Text performance vs. V4-Flash? | Matches it — same reasoning, agents, world knowledge |
| Multimodal performance? | Large jump over V4-Flash, close to Opus-4.8 on several benchmarks |
| Pricing? | Billed at existing V4-Flash token rates — images cost up to 384 tokens each, no vision surcharge |
| APIs supported? | Chat Completions, Anthropic-compatible Messages, OpenAI-compatible Responses |
| Harness support? | DeepSeek Harness 0.1.1, released the same day |
The benchmark numbers

Source: DeepSeek's official launch thread on X, August 21, 2026.
DeepSeek split its own reporting into two evaluation groups, and the split matters — it's the clearest evidence for the "text stays flat, multimodal jumps" claim in the announcement:
Text-based agent evaluation (V4-Flash-Vision-Exp vs. V4-Flash-0731 vs. Opus-4.8):
| Benchmark | V4-Flash-Vision-Exp | V4-Flash-0731 | Opus-4.8 |
|---|---|---|---|
| Terminal Bench 2.1 | 83.9 | 82.7 | 85.0 |
| NL2Repo | 57.7 | 54.2 | 69.7 |
| Cybergym | 75.3 | 76.7 | 78.3 |
| DeepSWE | 59.3 | 54.4 | 58.0 |
| Toolathlon-Verified | 75.9 | 70.3 | 76.2 |
| DSBench-Hard | 63.6 | 59.6 | 71.7 |
| AutomationBench (Public) | 25.7 | 25.1 | 27.2 |
Multimodal agent evaluation:
| Benchmark | V4-Flash-Vision-Exp | V4-Flash-0731 | Opus-4.8 |
|---|---|---|---|
| ApexBench (Pass@1) | 36.5 | 26.2* | 39.4 |
| Agents' Last Exam | 27.3 | 25.2* | 25.7 |
| Chartography | 64.3 | — | 65.0 |
| ZeroBench (Pass@5) | 35.0 | — | 34.0 |
*On ApexBench and Agents' Last Exam, the text-only V4-Flash-0731 simply ignores the multimodal elements in the task — its scores there aren't a fair vision comparison, just a baseline for what a blind model gets by guessing from text alone.
Two things stand out. First, the text-based numbers barely move — V4-Flash-Vision-Exp is within a point or two of V4-Flash-0731 on six of seven text benchmarks, confirming DeepSeek didn't trade text quality for vision. Second, on the multimodal side V4-Flash-Vision-Exp actually beats Opus-4.8 on two of four benchmarks (Agents' Last Exam and ZeroBench Pass@5), while trailing on ApexBench and Chartography by a few points. DeepSeek ran all public benchmark evaluations through its own DeepSeek Harness in minimal mode, with max reasoning tier, top_p=0.95, and temperature=1.0 — worth knowing since harness choice and sampling settings can shift scores a few points either way.
What "multimodal agent" actually means here
The benchmark categories are the useful signal: ApexBench, Agents' Last Exam, Chartography, and ZeroBench aren't simple image-captioning tests — they're agentic tasks that happen to require reading a screenshot, chart, or diagram as part of a longer tool-use loop. That framing matches DeepSeek's own description of the release: "multimodality unlocks more agent use cases" by letting a single model combine visual understanding with the tool-calling stack it already had, rather than bolting a separate vision model onto an agent pipeline.
Practically, this is the gap that forced a lot of agent harnesses into ugly workarounds — routing screenshot-reading steps to a vision-specific model and everything else to a cheaper text model, then stitching results back together. A model that scores close to Opus-4.8 on the vision-agent benchmarks and matches V4-Flash on the text-agent ones removes that routing complexity, at least for teams willing to run an experimental model in production.
API details: sending images
DeepSeek's Vision API guide documents three ways to send an image, mirroring the OpenAI-compatible image_url content-block pattern used elsewhere in the API:
- Inline base64 — embed the image as a
data:URL directly in the request. Simplest for local files, but counts toward the 48 MiB request body limit. - External URL — pass a public
http(s)link; DeepSeek downloads it server-side. Capped at 8192 characters for the URL and 32 MiB for the fetched image, with a 60-second download timeout. - Files API reference — upload once via the Files API, then reference the returned
file_id(file-api-...) in any request. This is the only path that supports images up to 64 MiB, and it avoids re-uploading the same image across repeated calls.
from openai import OpenAI
client = OpenAI(api_key="<DeepSeek API Key>", base_url="https://api.deepseek.com")
response = client.chat.completions.create(
model="deepseek-v4-flash-vision-exp",
messages=[
{
"role": "user",
"content": [
{"type": "text", "text": "What is in this image?"},
{"type": "image_url", "image_url": {"url": "https://example.com/image.jpg"}},
],
}
],
)
print(response.choices[0].message.content)
An optional detail field controls preprocessing: low downsamples to 512×512 before inference (cheaper, faster, worse for fine detail), while high, original, and auto all currently keep the image at its original resolution.
Anthropic and Responses API compatibility
Teams already standardized on Claude's Messages API format, or OpenAI's Responses API, don't need a separate integration. DeepSeek's /anthropic-compatible endpoint accepts the same three image sources through an image content block with a source.type of base64, url, or file — see explainx.ai's guide to MCP and tool-use patterns for how that fits into a broader agent stack. The Responses API carries images in input_image parts instead, with the same detail semantics and the same three delivery methods.
Both compatibility layers matter for the same reason DeepSeek's Responses API support for V4 Pro mattered in August: a model that only speaks one dialect forces a routing/adapter layer in front of it. A model that speaks three removes it.
Pricing: no vision surcharge, but a token cap that matters
The most important pricing detail is what's absent: DeepSeek is not charging a separate rate for image tokens. Images bill at the existing V4-Flash per-million-token rate — the same schedule covered in explainx.ai's breakdown of DeepSeek's August price increase:
| Token type (V4-Flash) | Off-peak | Peak |
|---|---|---|
| Input, cache hit | $0.007/M | $0.014/M |
| Input, cache miss | $0.22/M | $0.44/M |
| Output | $0.66/M | $1.32/M |
What changes the math is the per-image token cap. DeepSeek resizes every image before inference — anything below roughly 384×384 pixels gets scaled up, anything larger gets scaled down to approximately an 800×800-pixel budget — and the resulting token cost tops out at 384 tokens per image, no matter the original resolution. A 2000×2000 screenshot and a 5000×5000 photo cost the same number of tokens. For a request with multiple images, that 384-token ceiling applies to each one independently — DeepSeek explicitly notes there's no bulk discount or separate calculation for multi-image requests, so ten images is roughly ten times the token cost of one, not less.
Limits worth knowing before you build against it
| Limit | Value |
|---|---|
| Supported image formats | JPEG, PNG, GIF, WebP (detected from file content, not filename) |
| External URL length | 8,192 characters |
| Request body size | 48 MiB |
| Max single image (inline/URL) | 32 MiB |
| Max single image (Files API) | 64 MiB |
| Max images per request | 600 |
| Max image dimension | 8,192 px/side; drops to 4,096 px/side at 15+ images per request |
| Where images are allowed | User messages only — system/assistant messages with images return a 400 error |
| Model restriction | Only deepseek-v4-flash-vision-exp accepts images; other models 400 |
That last restriction is easy to trip over in a multi-model routing setup: if your fallback chain silently drops from the vision model to a text-only DeepSeek model on retry, the retry will fail outright rather than degrading gracefully, since a plain-text model rejects any request carrying an image block.
What this means for what you build or pay
If you're already running DeepSeek V4-Flash for text-agent work, adding vision costs nothing extra per token and requires no separate contract or rate card — just a model-ID swap and, per DeepSeek's own numbers, a real jump in how well the model handles screenshot- or chart-reading steps inside an agent loop. That's a meaningfully lower bar than standing up a separate vision-specific model and routing logic between the two, which is what most teams do today when a text-first agent occasionally needs to read a UI screenshot or a chart.
The caveat is the "exp" in the model name. This is an experimental release, not a GA production model — DeepSeek has a track record of iterating fast on these (V4-Flash itself went through a 0731 revision before V4 Pro's 0813 GA), so treat production use accordingly and watch for a non-experimental follow-up.
Related reading
- DeepSeek V4 Pro Launch: Codex, Responses API, and New Pricing
- DeepSeek's August Price Increase vs. GPT-5.6 Comparison
- DeepSeek V4 Flash 0731 Scores 89% on ARC-AGI at $0.02/Task
- Roboflow's GPT-5.6/Gemini 3.5 Flash VLM Benchmark
- What Is MCP? Model Context Protocol Guide
- Official docs: DeepSeek Vision API Guide
Model specs, pricing, and benchmark figures are accurate as of the publication date and sourced from DeepSeek's own announcement and API documentation — verify current figures against DeepSeek's live docs before making production decisions.
