
TL;DR
DeepSeek shipped experimental vision for V4 Flash as deepseek-v4-flash-vision-exp. JPEG, PNG, GIF, and WebP; three input methods; 384 tokens per image. Here is the API contract and how to run it in OpenCode today.
DeepSeek gave V4 Flash eyes. The experimental model id is deepseek-v4-flash-vision-exp, the docs went up on August 21, 2026, and the Hacker News thread filled in within hours. This is not a new flagship. It is Flash with image input, and DeepSeek's release note says the text side (agents, reasoning, world knowledge) matches V4 Flash 0731.
Screenshot-in-the-loop work no longer needs a second vision model bolted on. The catch is the contract: every image is resized toward an 800x800 pixel budget, billed at most 384 tokens, and rejected if you send it to any other DeepSeek model. Here is the official limit sheet and the fastest way to try it: through OpenCode.
| Resource | Description |
|---|---|
| DeepSeek Vision guide | Formats, three input methods, token math, limits, and API shapes |
| DeepSeek-V4-Flash-Vision-Exp release note | Experimental status, text-parity claim, Files API note |
| Hacker News: DeepSeek-v4-flash-vision-exp | Developer reaction the day it shipped |
| OpenCode docs | Install and configuration for the coding agent used below |
| OpenCode Go | The catalog entry we ran opencode models --verbose against |
The model accepts images alongside text so you can describe pictures, read screenshots, and analyze charts. DeepSeek is explicit that this is experimental. Use deepseek-v4-flash-vision-exp. Do not send images to deepseek-v4-flash or deepseek-v4-pro: those return a 400 ("This model does not support image").
Three API surfaces, same model:
https://api.deepseek.com/messages at https://api.deepseek.com/anthropicinput_image partsThe V4 developer guide still covers auth, caching, and the rest of the family. This post is only the vision add-on.
DeepSeek's release note claims a "major leap" on multimodal agent benchmarks versus text-only Flash, "bringing multimodal agent performance close to Opus-4.8." That is vendor framing. The vision guide does not publish a score table, and we are not reading numbers off the announcement chart.
Supported formats: JPEG, PNG, GIF, and WebP. Format is detected from file content, not from the file name or the declared MIME type. That is a useful detail if your pipeline lies about Content-Type.
Three ways to send an image:
data:image/jpeg;base64,... in the request. Simplest for local files. The encoded bytes count toward the 48 MiB request body limit.file_id. Upload once, reuse the id. Images referenced this way may be up to 64 MiB and skip the 32 MiB per-image check. The release note says the Files API is free to use.Use Files API when a request would blow the 48 MiB body, when the image is larger than 32 MiB, or when you reuse the same screenshot across turns.
Hard limits from the vision guide:
| Limit | Value |
|---|---|
| Request body | 48 MiB |
| Max images per request | 600 |
| Max dimension | 8192 px per side; 4096 px per side when the request has 15 or more images |
| Max single image (base64 / URL) | 32 MiB |
Max single image (file_id) | 64 MiB |
Images belong in user messages only. Images in system or assistant messages return 400. User text that contains the reserved image placeholder token is also a 400.
For image_url inputs you can set detail:
| Value | Behavior |
|---|---|
low | Downscale to 512x512 before inference. Faster and cheaper when fine detail is not the point. |
high | Keeps the original. Provided for compatibility; equivalent to original. |
original | Keeps the original. |
auto | Automatic selection. Currently equivalent to original. |
"Keeps the original" is the field's wording. Inference still runs the resize described next.
From the archive
Aug 21, 2026 • 8 min read
Aug 21, 2026 • 7 min read
Aug 21, 2026 • 8 min read
Aug 21, 2026 • 7 min read
Images become tokens and those tokens are billed with the text. Before inference, every image is resized while preserving aspect ratio. Below roughly 384x384 pixels it is scaled up. Larger images are scaled down so the pixel count is roughly that of an 800x800 image.
Upper bound: 384 tokens per image. A 2000x2000 image and a 5000x5000 image cost the same after resize. Multi-image requests count each image independently.
That 800x800 budget is the honest constraint. A full-page screenshot or a schematic with small labels will lose detail. Crop the region you care about before you send it. detail: low is a further downscale to 512x512, so use it when you only need "what is on this screen," not "read the 11px caption."
The vision guide does not list dollar prices. DeepSeek's release note only says images are billed "at V4-Flash pricing" with the 384-token cap. For a number you can budget against today, the OpenCode catalog (opencode models --verbose, fetched August 21, 2026) lists opencode-go/deepseek-v4-flash-vision-exp at:
| OpenCode catalog (per 1M tokens) | |
|---|---|
| Input | $0.22 |
| Output | $0.66 |
| Cache read | $0.007 |
| Cache write | $0 |
Context is 1,000,000 tokens with 384,000 max output. Family is deepseek-flash. Text-only opencode-go/deepseek-v4-flash is the same catalog rate; the vision build adds attachment: true and image input. Those are OpenCode's numbers, not DeepSeek's first-party sheet.
Install from the OpenCode docs:
curl -fsSL https://opencode.ai/install | bash
The model is opencode-go/deepseek-v4-flash-vision-exp. Variants are low, high, and max:
# One-shot at max reasoning
opencode run --model opencode-go/deepseek-v4-flash-vision-exp --variant max \
"inspect the screenshot at ./ui.png and list the layout bugs"
# Interactive session with the model preselected
opencode --model opencode-go/deepseek-v4-flash-vision-exp
max is for multi-step loops: plan, look at a screenshot, edit, look again. high is enough for a single screenshot question. low is the cost lever when you are triaging a pile of images.
Same OpenCode path as Ox Alpha and cheap GLM-5.3 access. If you already have Go credits, you do not need a second account.
Same shape as the official vision guide. Base64 inline is the local-file path:
import base64
from openai import OpenAI
client = OpenAI(api_key="<DeepSeek API Key>", base_url="https://api.deepseek.com")
with open("image.jpg", "rb") as f:
b64 = base64.b64encode(f.read()).decode("utf-8")
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": f"data:image/jpeg;base64,{b64}"},
},
],
}
],
)
print(response.choices[0].message.content)
Swap the data URL for "url": "https://example.com/image.jpg" to use method 2, or a {"type": "file", "file_id": "file-api-..."} block for method 3.
Anthropic /messages uses an image block with source.type of base64, url, or file instead of image_url. Responses API uses input_image. Limits are the same across all three.
Use deepseek-v4-flash-vision-exp when:
That last point is the same idea as Kimi K3's vision-in-the-loop websites: the screenshot is an evaluation surface, not a substitute for tests. Vision will not tell you whether a button has the right type.
Stay on text-only Flash when the task is code and logs with no pixels, or you do not want an experimental (-exp) id in the path. Sending images to deepseek-v4-flash is a 400. OpenCode prices the two Flash ids the same today, so the reason to keep the text-only id is caution, not catalog cost.
An experimental multimodal API model DeepSeek shipped on August 21, 2026. It accepts images with text. DeepSeek says its text capabilities match V4 Flash. Other DeepSeek models reject images with HTTP 400.
Install OpenCode (curl -fsSL https://opencode.ai/install | bash), then opencode run --model opencode-go/deepseek-v4-flash-vision-exp --variant max "your task". Variants are low, high, and max. Family is deepseek-flash. The vision id is on OpenCode Go.
JPEG, PNG, GIF, and WebP, detected from file bytes. Request body 48 MiB. Up to 600 images per request. Max 8192 px per side, or 4096 px per side at 15 or more images. External URLs: 8192 characters, 32 MiB, 60 second download. Files API file_id images: up to 64 MiB.
The vision guide does not publish dollar rates. Images are resized toward an 800x800 pixel count and billed with text, capped at 384 tokens per image. OpenCode's catalog on August 21, 2026 lists $0.22 input / $0.66 output per million tokens for opencode-go/deepseek-v4-flash-vision-exp.
Not in system or assistant messages: those 400. Images go in user messages. The Responses API also allows input_image on function_call_output / custom_tool_call_output items. If your harness only speaks Chat Completions, keep screenshots on the user turn.
| Source | URL | Fetched |
|---|---|---|
| DeepSeek API: Vision | https://api-docs.deepseek.com/guides/vision/ | August 21, 2026 |
| DeepSeek-V4-Flash-Vision-Exp release note | https://api-docs.deepseek.com/news/news260821/ | August 21, 2026 |
| DeepSeek: Your First API Call (model list) | https://api-docs.deepseek.com/quick_start/pricing | August 21, 2026 |
| Hacker News item 49386163 | https://news.ycombinator.com/item?id=49386163 | August 21, 2026 |
OpenCode catalog (opencode models --verbose) | opencode-go/deepseek-v4-flash-vision-exp | August 21, 2026 |
| OpenCode Go | https://opencode.ai/go?ref=M6HEHM4JM5 | August 21, 2026 |
| OpenCode docs | https://opencode.ai/docs/ | August 21, 2026 |
Last updated: August 21, 2026
Some links to tools above are referral links - see our affiliate disclosure.
Read next
DeepSeek shipped the official V4 Flash release on July 31, 2026. The re-post-trained 0731 build beats V4-Pro-Preview on agent benchmarks at $0.14/$0.28 per million tokens. Here is what changed and how to run it through OpenCode today.
7 min readDeepSeek V4 splits into Flash and Pro, ships a 1M context window, and undercuts every closed model on price. Here's how to wire it up with the OpenAI SDK, when to pick it over Claude or GPT, and what changed since V3 and R1.
10 min readA Kimi-generated macOS 27 concept shows the promise and limits of screenshot-driven website creation. Here is how K3's vision-in-the-loop workflow changes frontend agents.
6 min readTechnical content at the intersection of AI and development. Building with AI agents, Claude Code, and modern dev tools - then showing you exactly how it works.
Open-source OpenAI API replacement. Runs LLMs, vision, voice, image, and video models on any hardware - no GPU require...
View ToolDeepSeek's open-weights frontier family, previewed April 24, 2026. V4-Pro is 1.6T total / 49B active params; V4-Flash is...
View ToolOpen-source terminal agent runtime with approval modes, rollback snapshots, MCP servers, LSP diagnostics, and a headless...
View ToolOpen-source reasoning models from China. DeepSeek-R1 rivals o1 on math and code benchmarks. V3 for general use. Fully op...
View Tool
Repo: https://git.new/ai-pin Building an AI Assistant similar to the Humane AI Pin, the Rabbit R1 with Advanced Functionality from Scratch This video details the process of creating an AI...

DeepSeek V4: 1M Context, 10x KV Cache Savings, and Ultra-Low Pricing DeepSeek released V4, highlighting major long-context efficiency gains: at a 1M-token context, V4 Pro uses 27% of FLOPs and 10% of...

Check out NVIDIA's Llama Nemotron Nano 8B Vision Language Model here; https://nvda.ws/3HApYJ6 Exploring NVIDIA's Llama Nemotron Nano Vision Language Model: Benchmarks and Use Cases In this...

DeepSeek shipped the official V4 Flash release on July 31, 2026. The re-post-trained 0731 build beats V4-Pro-Preview on...

DeepSeek V4 splits into Flash and Pro, ships a 1M context window, and undercuts every closed model on price. Here's how...

A Kimi-generated macOS 27 concept shows the promise and limits of screenshot-driven website creation. Here is how K3's v...

OpenCode dropped Ox Alpha as a free stealth model on August 20, 2026: 1M context, multimodal, near-unlimited for about a...

GLM-5.3 launched on August 14, 2026 with open weights promised in about two weeks - so the access picture is narrower th...

A companion guide to the GLM 5.2 video: an open-weight model positioned against GPT-5.5, walked through with benchmarks,...

New tutorials, open-source projects, and deep dives on coding agents - delivered weekly.