DeepSeek V4 Vision: What Flash-Class Image Input Means for Builders
DeepSeek’s V4 line was already a workhorse for cheap, long-context text and agents. The missing piece for a lot of builders was eyes: screenshots, charts, UI dumps, and document pages in the same loop as reasoning and tools. That gap started to close on August 21, 2026, when DeepSeek put a vision-capable Flash model on the public API.
This page is a living guide to DeepSeek V4 vision — what it is good for, how it is billed, and how to call it without surprises. We will update the current snapshot below as DeepSeek ships later vision SKUs (stable Flash, Pro, etc.). For text-only Pro vs Flash routing, see our earlier piece DeepSeek V4: How to Choose Between V4-Pro and V4-Flash.
On this platform the current gateway id is deepseek/deepseek-v4-flash-vision-exp. Confirm live retail on Pricing.
Current snapshot (August 2026)
| Item | Status |
|---|---|
| Current public vision SKU | DeepSeek-V4-Flash-Vision (experimental API name deepseek-v4-flash-vision-exp) |
| Official launch | 2026-08-21 (DeepSeek changelog) |
| Role in the family | Flash-class image + text understanding; not a separate image-to-text microservice |
| Text ability | DeepSeek states it is on par with official V4-Flash on agent, reasoning, and world knowledge |
| Vision / multimodal agents | DeepSeek states a significant leap over text-only V4-Flash on agent tasks that need visual understanding, and that multimodal agent capability is close to Opus-4.8 (vendor claim; treat as directional) |
| Modalities | Image in (JPEG, PNG, GIF, WebP) + text in → text out. No video input in the official vision guide |
| Status | Experimental — DeepSeek may change behavior before a stable name |
Why this matters if you ship products
You no longer have to bolt a second “captioning” model onto a V4-Flash agent just to read a screenshot. The same cheap Flash stack can:
- Read UI screenshots and error dialogs in a coding or ops agent
- Parse charts, tables, and dashboards without a dedicated OCR pipeline for many jobs
- Ground answers in photos of products, whiteboards, or handwritten notes
- Keep the 1M-class Flash context story for long threads that mix text and images (Flash family context is documented on DeepSeek’s V4 Flash line; vision inherits that product positioning)
The experimental tag is the honest tradeoff: you get API access now, and you should pin evals because the SKU can move.
How images actually get in (official)
DeepSeek’s Vision guide documents three input methods on the OpenAI-compatible Chat Completions shape (content as an array of blocks, not a plain string). The same three methods exist on the Responses API via input_image parts.
- Base64 data URL — simplest for local files; counts toward the 48 MiB request body cap.
- Public
http(s)URL — DeepSeek fetches it (URL ≤ 8192 characters; file ≤ 32 MiB; download ≤ 60s). - Files API
file_id— upload once, reuse across turns. Best when the same image appears in many requests, or when a file is >32 MiB (Files API images may be up to 64 MiB).
Optional detail on image_url: low downscales to 512×512 (faster/cheaper); high / original keep the original (high is documented as equivalent to original); auto is currently equivalent to original. detail is ignored for file_id.
Restrictions that bite in production: images are allowed in user messages only on Chat Completions (system/assistant images → 400). Non-vision DeepSeek models reject images with “This model does not support image.” Format is detected from file bytes, not the filename.
Token cost: the 384-token cap
Official billing: images are resized, then converted to tokens and billed with text tokens. DeepSeek rescales so large photos do not explode the bill:
- Small images (~below 384×384 pixels) are scaled up (aspect ratio kept).
- Larger images are scaled down toward roughly 800×800 total pixels.
Result: an upper bound of 384 tokens per image. A 2000×2000 and a 5000×5000 image cost the same token count after resize. Multi-image requests: each image is counted separately under the same rule.
That is the main economic story: vision is not a mystery surcharge SKU in DeepSeek’s docs — it is Flash token rates + a hard per-image token cap. Gateway retail can still differ; always check this platform’s quote. Use detail=low when you only need layout, not fine print.
Limits worth designing for
| Limit | Official value |
|---|---|
| Formats | JPEG, PNG, GIF, WebP |
| Request body | 48 MiB |
| Single image (base64 / URL) | 32 MiB |
Single image (file_id) |
64 MiB |
| Images per request | 600 |
| Total image payload | 64 MiB without file_id; up to 200 MiB including file_id images |
| Max edge length | 8192 px; 4096 px when a request has 15+ images |
For screenshot-heavy agents, prefer Files API reuse over re-base64’ing the same PNG every turn.
What DeepSeek published on quality (do not over-read)
From the 2026-08-21 changelog, DeepSeek posted these scores for the vision Flash SKU (their harness notes: DeepSeek Harness minimal mode, max effort, top_p=0.95, temperature=1.0 on code-agent public sets; on ApexBench and Agents’ Last Exam, text-only V4-Flash ignores multimodal elements):
| Benchmark | Reported score |
|---|---|
| Terminal Bench 2.1 | 83.9 |
| NL2Repo | 57.7 |
| DeepSWE | 59.3 |
| DSBench-Hard | 63.6 |
| AutomationBench (Public) | 25.7 |
| ApexBench (Pass@1) | 36.5 |
| Agents' Last Exam | 27.3 |
| Chartography | 64.3 |
| ZeroBench (Pass@5) | 35.0 |
Use these as vendor-reported numbers, not as a guarantee of your screenshot corpus. The useful product claim is simpler: text ≈ Flash, vision-needed agents >> text-only Flash.
When to pick vision Flash vs text Flash vs Pro
| Job | Pick |
|---|---|
| Pure code/chat, no pixels | Text deepseek/deepseek-v4-flash (or Pro if you already standardized on it) |
| Agent must see screens, charts, docs | V4 vision (current: deepseek/deepseek-v4-flash-vision-exp) |
| Highest DeepSeek agent headroom, text-only | V4-Pro — see Pro vs Flash |
| Strict SLA / frozen behavior | Wait for a non-experimental vision name, or pin evals weekly while you use Exp |
How to try it here
curl https://openfluxhub.com/v1/chat/completions \
-H "Authorization: Bearer $YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"deepseek/deepseek-v4-flash-vision-exp","messages":[{"role":"user","content":[{"type":"text","text":"Read this screenshot and list the failing test names."},{"type":"image_url","image_url":{"url":"https://example.com/ci-failure.png"}}]}]}'
Swap in a data:image/png;base64,... URL for local files. Keep content as a list of parts.
Bottom line
DeepSeek V4 vision is Flash with native image understanding, not a new product family. The current public SKU is experimental, priced like Flash tokens with a 384-token-per-image ceiling, and aimed at agents that must look at the screen. deepseek/deepseek-v4-flash-vision-exp is listed on this platform — run one real screenshot or chart job, compare quality and spend to text-only Flash, and we will refresh this article when DeepSeek graduates or adds more V4 vision models.
Sources: DeepSeek changelog (2026-08-21), Vision guide. Gateway quotes can differ from DeepSeek list prices.