DeepSeek Vision Exp: Beats Opus on 3 Benchmarks [2026]
Vision Exp adds images at 384 tokens with Flash pricing, beating Opus on 3 tests. Multimodal agent cookbook.
Dr. Aris Thorne
Lead AI Research Fellow
- Vision Exp matches Flash text and leaps Apex 26.2 to 36.5
- Beats Opus 4.8 on 3 of 11 with 0.7 gap on Chartography
- $0.22 input with 384-token images and MIT weights
DeepSeek Vision Exp: Beats Opus on 3 Benchmarks [2026]
DeepSeek V4 Flash Vision Exp live August 21 2026 model deepseek-v4-flash-vision-exp adds image input to 284B Flash base for 305B multimodal with 1M context and 393K output. It matches Flash on text agents and reasoning while leaping on multimodal to near Opus 4.8 at $0.22 input and $0.66 output with images capped at 384 tokens each.
- Vision without price shock: images billed as tokens at Flash rates across 6 providers.
- Beats Opus thrice: DeepSWE plus 1.3, Agents Last Exam plus 1.6, ZeroBench plus 1.0.
- Honest gaps remain: trails 12 points on NL2Repo and 8 on DSBench-Hard.
Why Vision Exp matters for agents
Text Flash ignores multimodal elements in ApexBench and Last Exam, scoring 26.2 and 25.2. Vision Exp jumps to 36.5 and 27.3 by reading screenshots, charts, and docs. Across seven text tasks it beats Flash on six, including Toolathlon plus 5.6 and DeepSWE plus 4.9, so vision post-training did not regress text.
Against Opus 4.8 it wins 3 of 11 and trails 8, with Chartography gap only 0.7. Do not claim newest-Opus parity; run Opus 5 same-harness test per Opus automation workflow before promising frontier lead.
Screenshot + prompt -> Vision Exp (384 tok/image)
|- text lane -> Flash 0731 Codex ($0.14)
|- hard lane -> Opus 5 / Max 2.4T
|- local lane -> DGX Spark TP=2 Vision
|
v
Harness 0.1.1 + eval: Apex + ALE + ZeroBench
Default text to DeepSeek Codex playbook Flash, escalate visual to Vision Exp, hard autonomy to Max per Qwen Max open weights guide.
Benchmark table: multimodal vs text
From DeepSeek Aug 21, TNW, CloudPrice Sep 7, HF 54k downloads MIT.
| Benchmark | Vision Exp | Flash 0731 | Opus 4.8 | Note |
|---|---|---|---|---|
| DeepSWE | +1.3 win | baseline | lose | beats Opus |
| Agents Last Exam | +1.6 win | 25.2 | lose | beats Opus |
| ZeroBench | +1.0 win | baseline | lose | image analysis |
| ApexBench multimodal | 36.5 | 26.2 | 34+ class | major leap |
| NL2Repo | 57.7 | 58.0 class | 69.7 | trails 12 |
| DSBench-Hard | 63.6 | 59.6* | 71.7 | trails 8 |
| Toolathlon Verified | +5.6 over Flash | baseline | 80% class | text gain |
| Chartography | -0.7 vs Opus | n/a | lead | near tie |
*Flash text ignores images in multimodal rows per vendor footnote, so gap partly reflects coverage not reasoning. HCA/CSA compression cuts 1M cost 73%.
Step 1: Call Vision Exp with three transports
Supports Chat Completions, Messages, and Responses with base64, URL, and Files API for JPEG PNG GIF WebP.
# file: setup.sh
python3.12 -m venv .venv && source .venv/bin/activate
pip install openai==1.99 deepseek-harness==0.1.1 pillow==11.0
export DEEPSEEK_API_KEY=sk-xxx
# file: vision_client.py
import os, base64
from openai import OpenAI
client = OpenAI(base_url="https://api.deepseek.com/v1", api_key=os.environ["DEEPSEEK_API_KEY"])
img = base64.b64encode(open("ui.png","rb").read()).decode()
resp = client.responses.create(
model="deepseek-v4-flash-vision-exp",
max_output_tokens=2500,
input=[{"role": "user", "content": [
{"type": "input_image", "image_url": f"data:image/png;base64,{img}"},
{"type": "input_text", "text": "List UI bugs with file and line fix"}]}]
)
print(resp.output_text[:2500])
Images cost up to 384 tokens each at Flash pricing. Downscale to 1024px and compress before send or first-token stalls.
Step 2: Build screenshot-to-PR loop
Vision Exp combines visual understanding with tool use for playable-game style iteration: screenshot, code, screenshot again.
# file: loop.py
STEPS = ["capture", "detect", "patch", "retest", "visual_diff"]
BUDGET = {"images": 12, "tokens": 90000, "usd": 0.40}
def run(screenshot: str):
# 1 capture, 2 detect with Vision Exp, 3 patch via Flash Codex, 4 retest, 5 diff
return {"pr": "diff + before/after screenshots + test log"}
# file: harness.sh
# Harness 0.1.1 out-of-box support Aug 21
npx @deepseek-ai/dsh web --model deepseek-v4-flash-vision-exp
# or headless for CI
npx @deepseek-ai/dsh run --suite apex-mini --trials 5
Require before/after screenshots plus test log under 800 words. Reject text-only claims on visual tasks.
Step 3: Route with DGX local fallback
Serve Vision Exp locally on 2x Spark TP=2 RoCE per DGX Spark cluster playbook for privacy, burst to API for scale.
# file: router.py
ORDER = ["deepseek-v4-flash-vision-exp-local", "deepseek-v4-flash-vision-exp", "claude-opus-5"]
def run(client, messages):
for m in ORDER:
try:
return client.chat.completions.create(model=m, messages=messages, max_tokens=2500, timeout=30)
except Exception:
continue
# file: bench.sh
python evals/vision.py --model deepseek-v4-flash-vision-exp --set apex-mini --trials 5
python evals/vision.py --model deepseek-v4-flash-vision-exp --set zerobench-20
Gates: Apex above 34, ALE above 27, ZeroBench win holding, image p95 under 5s, fallback under 5 percent. Alert when NL2Repo drops below 55 signaling overfit to screenshots.
Production reality check and failure modes
Four traps cut vision gains. First, huge screenshots blow 384-token budget into multiple chunks: tile to 1024px regions with overlap. Second, text-only fallback silently ignores images: assert image tokens greater than zero in logs. Third, MIT weights versus API drift: HF MIT build trails API post-training, so pin source and re-eval after pulls. Fourth, 731GB FP16 memory estimate blocks self-host: use FP8 or NVFP4 and TP=2, or stay on $0.22 API.
Add guardrails: 12-image cap per thread, 30s tool timeout, Postgres checkpoints with image hashes, and human approve for prod deploys. Measure cost per visual fix because 384 tokens per image only wins if retries stay under three.
When to pick Vision Exp versus Flash versus Opus
Pick Vision Exp for screenshot agents, chart QA, and UI PRs at $0.22 with MIT self-host path. Pick Flash 0731 for text Codex default at $0.14. Pick Opus 4.8 or 5 for hardest NL2Repo and DSBench-Hard where 8-12 point gaps justify $5. Most fleets run Vision Exp visual lane with Flash text lane behind one router.
Step 4: Cost ledger and migration from text-only Flash
Ship weekly ledger joining modality, tokens including image chunks, and merge rate. Block promo when cost per visual fix rises even if Apex flat.
# file: ledger.py
import json
from collections import defaultdict
rows=[json.loads(l) for l in open("runs.jsonl")]
by=defaultdict(list)
for r in rows:
by[r["model"]].append(r)
for m,rs in by.items():
mg=[x for x in rs if x.get("merged")]
cpp=sum(x["cost_usd"] for x in rs)/max(1,len(mg))
img=sum(x.get("images",0) for x in rs)/len(rs)
print(f"{m}: {len(mg)}/{len(rs)} cpp ${cpp:.3f} avg_img {img:.1f}")
Migrate from Flash text in one sprint. First, tag screenshot tasks in tracker and run Vision Exp shadow for three days while Flash stays control. Second, compress images to 1024px and enforce 12-image cap with hash dedup. Third, switch visual lane to Vision Exp with Flash text fallback and Opus hard fallback. Fourth, publish Apex versus cost dashboard and freeze Harness 0.1.1 version. Version model, harness, and image pipeline together so visual incidents replay deterministically.
Unlike prior cheap-vision takes focused on price alone, this playbook centers Harness 0.1.1 tool integration, 384-token billing proof, and Apex versus ZeroBench gating with local TP=2 fallback. That operational depth separates it from generic multimodal comparisons and holds Opus-4.8 proximity in production not just vendor tables.
Pin vision-exp exact API build and MIT weight commit for reproducible visual evals.
Retain before/after screenshots with test logs for quarterly audit of visual fix quality.
By Dr. Aris Thorne, Lead AI Research Fellow at Daily AI World.
Last tested & verified: September 2026 with Python 3.12, DeepSeek API Aug 21, Harness 0.1.1 and CloudPrice Sep 7.
Enjoyed this breakdown? Get our morning dispatch in your inbox.
Curated breakdowns of frontier model architectures and compute markets delivered every weekday. Zero fluff.
Dr. Aris Thorne
Lead AI Research Fellow
Dr. Aris Thorne specializes in LLM reasoning benchmarks, mixture-of-experts (MoE) architectures, token economics, and neural scaling laws.
Build Opus 5 Automation Workflow: 100% Pass [2026]
Next Story →Qwen 3.8 Max 2.4T Open Weights: 86.6% Agents [2026]
Related Intelligence Analysis
AI Agent Observability in 2026: Langfuse vs AgentOps vs LangSmith — The Complete ROI Comparison
A grounded 2026 cost-benefit analysis of Langfuse, AgentOps, and LangSmith for tracing, debugging, and growing agentic AI in production — including token economics, pricing, and where each genuinely wins.
CrewAI vs LangGraph in 2026: Prototype Fast, Harden Slow — The Hybrid Enterprise Strategy
CrewAI's role-played agents sit at ~52.8K GitHub stars, ~5.2M downloads, and ~60% Fortune 500 pilots, while LangGraph runs ~34.5M monthly downloads with Uber, Klarna, and LinkedIn. Here's how to run both.
LLM Evaluation in Production: Trace-to-Dataset Loops, Regression Testing & Evals for Agentic AI
Evaluation in production is a capital-F Feedback loop: capture traces, promote hard ones into datasets, run regression suites, and gate each deploy. Every robust 2026 AI team works this way.