8 月 21 日,DeepSeek 在 API 平台悄悄上线了一个后缀带 Exp 的新模型:DeepSeek-V4-Flash-Vision-Exp。这是 DeepSeek 第一次让自家 API 原生接收图片——在此之前,想让 DeepSeek 看图,只能先用别的视觉模型把图转成文字再喂过去,链路又长又损信息。现在设置 model='deepseek-v4-flash-vision-exp' 就能直接图文混输。
官方给的定位很清楚:文本能力与 V4-Flash 正式版持平,需要视觉理解的 Agent Benchmark 上大幅跃升,多模态 Agent 能力接近 Claude Opus-4.8(注意,这是 DeepSeek 自测数据,尚无独立实验室复现)。价格与 V4-Flash 完全一致,图片按 token 折算计费,单张最多 384 tokens。这篇文章按"先搞清能力边界、再接入、再算账"的顺序走一遍全流程。
一、先看清楚:这个模型能做什么、不能做什么
上手前先用一张表把边界画出来,避免带着错误预期写代码:
| 项目 | 说明 |
|---|---|
| 模型 ID | deepseek-v4-flash-vision-exp |
| 上下文 / 输出 | 1M 上下文,最大输出 384K |
| 图片格式 | JPEG、PNG、GIF、WebP |
| 图片传入方式 | 外部 URL、base64 内联、Files API(file_id 复用) |
| 接口兼容 | Chat Completions、Messages、Responses 三种格式 |
| 计费 | 图片转 token 后与文本同价,单张最多按 384 tokens 计 |
| 思考模式 | 支持(默认开启),Tool Calls / JSON Output 均支持 |
| 不支持 | FIM 补全;网页端和 App 端暂未开放识图 |
两个隐性约束要特别注意。第一,所有图片会被自动缩放到约 800×800 像素等效,超过这个分辨率的细节会丢失——别指望它读高清设计稿里的小字。第二,Exp 后缀意味着实验性质,官方明确不建议直接上生产关键场景,能力可能随后续迭代调整;另外与 V4-Flash、V4-Pro 不同,这个模型的权重没有开源。
二、接入准备与最小调用
接入前只需要两样东西:DeepSeek 开放平台的 API Key,以及 OpenAI SDK(兼容格式,不用装新包)。
最小的"URL 传图"调用长这样:
from openai import OpenAI
client = OpenAI(
api_key="YOUR_API_KEY",
base_url="https://api.deepseek.com",
)
resp = client.chat.completions.create(
model="deepseek-v4-flash-vision-exp",
messages=[
{
"role": "user",
"content": [
{"type": "text", "text": "这张图表里哪个季度增速最快?给出数据依据。"},
{
"type": "image_url",
"image_url": {"url": "https://example.com/q-report.png"},
},
],
}
],
)
print(resp.choices[0].message.content)
如果你已有的代码用的是 Anthropic Messages 格式或 OpenAI Responses 格式,改 base_url 和 model 两个参数就能平移,不需要重写消息结构。
三、三种传图方式怎么选
三种方式功能等价,但适用场景差别很大:
1. 外部 URL:最省事,适合公开可访问的图。 服务器端抓取,你的请求体最小。缺点是图片必须先有个公网地址,且每次请求 DeepSeek 都要重新拉取。
2. base64 内联:适合本地图片、一次性任务。 把图片读进来编码后塞进 image_url 的 data URI 里:
import base64
def to_data_uri(path: str) -> str:
with open(path, "rb") as f:
b64 = base64.b64encode(f.read()).decode()
return f"data:image/png;base64,{b64}"
# content 里把 image_url 的 url 换成 to_data_uri("./screenshot.png") 即可
缺点很明显:base64 会让请求体膨胀约 33%,大图或高频调用时带宽浪费严重。
3. Files API:同一张图要反复用时的正解。 与模型同步上线的 Files API 免费开放,流程是"先上传拿 file_id,后续请求按 id 引用",同一张图无需重复传输:
# 第一步:上传图片(不收费)
curl https://api.deepseek.com/files \
-H "Authorization: Bearer YOUR_API_KEY" \
-F "file=@./product-screenshot.png"
# 返回 {"id": "file-xxxx", ...},之后请求中引用该 file_id 即可
经验法则:一次性任务用 URL 或 base64;同一张图会被多个请求、多轮对话反复引用(比如 Agent 持续分析同一份文档扫描件),一律走 Files API。
四、两个值得先跑的场景
视觉模型最容易踩的坑是"为了用而用"。从官方示例和社区反馈看,有两类场景是 V4-Flash-Vision-Exp 的甜区,建议先拿它们验证:
场景一:截图与图表理解接入 Agent 工作流。 这是官方主打的"多模态 Agent"方向。模型看懂截图后可以直接衔接 Tool Calls——比如扔给它一张竞品落地页截图,让它输出结构化拆解(JSON Output),再触发后续的比价或归档动作。文本部分与 V4-Flash 持平意味着:你已经跑在 V4-Flash 上的 Agent,换成这个模型不会退化,白赚一个识图能力。
场景二:文档页面的结构化抽取。 扫描件、合同页、财报图表这类"图里有字"的输入,是它替代"OCR + 文本模型"两段式链路的地方。配合 1M 上下文,可以一次塞进多页文档让它跨页对照。但要记住 800×800 等效缩放这条线:字号太小的密集文档,建议先按区域切图再分别送。
五、成本测算:看图到底有多贵
图片按 token 计费,单张最多 384 tokens,价格与 V4-Flash 文本一致。按当前官方定价折算:
| 项目 | 高峰时段 | 空闲时段 |
|---|---|---|
| 输入(缓存未命中) | 3.0 元/百万 tokens | 1.5 元/百万 tokens |
| 输入(缓存命中) | 0.10 元/百万 tokens | 0.05 元/百万 tokens |
| 输出 | 9.0 元/百万 tokens | 4.5 元/百万 tokens |
| 单张图片成本(按 384 tokens 上限估) | 约 0.0012 元 | 约 0.0006 元 |
高峰时段是北京时间工作日 9:00–12:00、14:00–18:00,其余时间半价。算一笔账:一个每天处理 1 万张商品图的审核类任务,光图片输入每天最多约 12 元(高峰全量未命中),加上提示词和输出,日成本大概率压在几十元以内。批量任务尽量排进空闲时段,能直接砍掉一半费用。
六、注意事项与常见问题
- 能直接上生产吗? 不建议。Exp 模型官方定位是技术验证,行为可能随迭代变化,关键业务等正式版。
- 为什么小字识别不准? 图片被缩放到约 800×800 等效,小字细节物理上就不存在了,先切图放大局部再送。
- GIF 会动吗? 支持 GIF 格式输入,但本质是抽帧理解,不是视频理解,别拿它分析连贯动作。
- 并发够用吗? 该模型并发限制 2500,与 V4-Flash 同档,远高于 V4-Pro 的 500,中小团队基本撞不到上限。
- 网页版能用吗? 目前仅 API 开放,网页端和 App 端识图尚未上线,正式版时间未定。
小结
V4-Flash-Vision-Exp 的意义不在于 benchmark 接近谁,而在于 DeepSeek 把视觉能力按 V4-Flash 的原价塞进了同一个 API:已在用 V4-Flash 的应用改一个 model 参数就能获得识图能力,图片单张最多 384 tokens 的计费上限也让成本极易估算。接入路径就三条——公开图用 URL,本地一次性图用 base64,反复复用的图走免费的 Files API。趁着 Exp 阶段把它接进你的 Agent 工作流做验证,等正式版落地时你就是最早跑通的那批人。
