Skip to main content
Workflows Library MCP Directory Realtime AI News Sponsor Tier Subscribe
Front Page / Coding / Deep Dive

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

Dr. Aris Thorne

Lead AI Research Fellow

Sep 14, 2026 Published
|
Sep 14, 2026 Updated
|
7 Minutes Reading Time
Core Takeaways for Founders & Builders
  • 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 , 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.

Executive Briefing

Enjoyed this breakdown? Get our morning dispatch in your inbox.

Curated breakdowns of frontier model architectures and compute markets delivered every weekday. Zero fluff.

🎉 Thank You for Subscribing!

Frequently Asked Questions
305B multimodal on Flash base with 1M context, 393K output, and image billing capped at 384 tokens. Matches Flash text while leaping on Apex and ALE toward Opus 4.8.
$0.22 input and $0.66 output cheapest versus $0.14 Flash text and $5 Opus. 73% 1M cost cut via HCA/CSA makes visual agents affordable when images stay compressed.
Oversized screenshots, silent text fallback, weights versus API drift, and 731GB FP16 self-host block. Tile images, assert tokens, pin source, and use FP8 TP=2.
Dr. Aris Thorne
Author Profile

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.

Related Intelligence Analysis

Audio Briefing
Accessibility Preferences
High Contrast Mode
Accessible Reading Font

Keyboard Shortcuts

Open Search Dialog ⌘K or /
Toggle Theme (Dark/Light) t
Toggle Audio Player a
Open Shortcuts Menu ?
Close Active Dialog Esc

Cookie & Privacy Preferences

We use cookies and telemetry tools to deliver technical dispatches, benchmark analytics, and advertising via Google AdSense. Review our Privacy Policy.