DeepSeek v4 Flash Vision Experimental Model – API Guide and Community Insights
TL;DR
DeepSeek 发布了 deepseek‑v4‑flash‑vision‑exp 模型,该模型通过兼容 OpenAI 的端点接受图像(JPEG、PNG、GIF、WebP)和文本,提供三种上传方式、基于 token 的计价模式,以及明确的大小/尺寸限制。
模型功能
- 支持在单个请求中同时接收图像和文本,可用于图像描述、OCR、图表分析等任务。
- 支持 JPEG、PNG、GIF、WebP 格式;检测基于文件内容,而非文件名或 MIME 类型。
如何发送图像
所有方法均使用兼容 OpenAI 的 chat.completions.create 请求体,其中 content 为一个块数组。
1. 内联 Base64 数据 URL
import base64, openai
client = openai.OpenAI(api_key="<key>", base_url="https://api.deepseek.com")
with open("image.jpg", "rb") as f:
b64 = base64.b64encode(f.read()).decode()
resp = client.chat.completions.create(
model="deepseek-v4-flash-vision-exp",
messages=[{"role":"user","content":[{"type":"text","text":"这张图片里有什么?"},{"type":"image_url","image_url":{"url":f"data:image/jpeg;base64,{b64}"}}]}],
)
print(resp.choices[0].message.content)
计入 48 MiB 的请求体限制。
2. 外部 URL
{"type":"image_url","image_url":{"url":"https://example.com/image.jpg"}}
- URL 长度 ≤ 8192 字符。
- 图像文件 ≤ 32 MiB。
- 下载必须在 60 秒内完成。
3. Files API 引用
通过 Files API 上传一次,然后使用返回的 file_id:
{"type":"file","file_id":"file-api-xxxxxxxx"}
- 支持最大 64 MiB 的图像。
- 可绕过 48 MiB 的内联限制,适合在多个请求中复用。
内联文件数据替代方案
{"type":"file","file_data":"data:image/jpeg;base64,<BASE64>","filename":"image.jpg"}
(file_data 和 file_id 互斥。)
控制图像细节
对于 image_url 块,可设置 detail 字段:
| 值 | 效果 |
|---|---|
low |
推理前缩放到 512×512(更便宜,更快)。 |
high / original |
保持原始分辨率。 |
auto |
当前等同于 original。 |
示例:
{"type":"image_url","image_url":{"url":"https://example.com/img.jpg","detail":"low"}}
何时优先使用 Files API
- 请求体将超过 48 MiB。
- 图像大小 > 32 MiB(仅可通过 Files API 实现)。
- 同一张图像在多个调用中使用。
Token 使用与计价
- 图像根据像素数在自动缩放后转换为 token。
- 小于 384×384 像素的图像会被放大;较大的图像将缩放到约 800×800 像素(≈ 640 kpx)。
- 每张图像最多 384 个 token,与原始分辨率无关。
- 可使用 DeepSeek 的在线图像 token 计算器估算 token 成本。
限制汇总
| 限制 | 值 |
|---|---|
| 支持的格式 | JPEG、PNG、GIF、WebP |
| 外部 URL 长度 | 8192 字符 |
| 请求体大小 | 48 MiB |
| 最大图像大小(内联/URL) | 32 MiB |
| 最大图像大小(Files API) | 64 MiB |
| 每请求最大图像数量 | 600 |
无 file_id 时最大总图像大小 |
64 MiB |
使用 file_id 时最大总图像大小 |
200 MiB |
| 每边最大尺寸 | 8192 像素(若 ≥15 张图像则降至 4096 像素) |
限制说明
- 图像仅允许出现在
user消息中;system或assistant消息中的图像块会返回 400 错误。 - 仅视觉模型(
deepseek‑v4‑flash‑vision‑exp)接受图像;其他模型会以 400 错误和“此模型不支持图像”拒绝。 - 包含预留图像占位符 token 的文本也会被拒绝。
使用 Anthropic 兼容端点
DeepSeek 还提供了 Anthropic 风格的 /messages 端点(https://api.deepseek.com/anthropic),图像块结构不同:
{"type":"image","source":{"type":"base64","media_type":"image/jpeg","data":"<BASE64>"}}
source.type |
OpenAI 对应项 |
|---|---|
base64 |
内联 Base64 数据 URL |
url |
外部图像 URL |
file |
Files API file_id(需请求头 anthropic-beta: files-api-2025-04-14) |
使用 Responses API
相同的三种输入方式适用于 Responses API,但图像需放在 input_image 部分:
{"type":"input_image","image_url":"https://example.com/img.jpg","detail":"low"}
detail 对 file_id 输入无效,且 image_url 和 file_id 不能混用。
社区反馈(Hacker News 精选)
- 成本效率:用户指出 384 token 的上限相当于每美元约 2,500 张图像,使该模型在大规模视觉任务中极具成本优势。(ciberado)
- 分辨率担忧:部分评论者指出,默认的 800×800 有效分辨率可能不足以满足 OCR 或详细文档扫描需求。(zmmmmm)
- 基准性能:早期基准测试显示该模型优于之前的 DeepSeek 版本,并在与其他多模态模型对比中表现具有竞争力,但部分用户报告在特定图像识别任务上准确率参差不齐。(ttul, jerksate)
- 功能对齐:用户好奇该视觉增强模型是否会取代纯文本的 flash 模型,还是因延迟/成本原因保持独立。(cjg007)
- 工具链缺口:该模型目前不支持将图像输出作为工具调用的结果,限制了其在需要截图或视觉验证的代理工作流中的实用性。(RobertLong)
- 积极情绪:许多社区成员对长期等待后终于加入视觉能力表示庆祝。(BrucecarlL, prtmnth)
快速入门检查清单
- 从 DeepSeek 获取 API 密钥。
- 选择一种上传方式(内联 Base64、外部 URL 或 Files API)。
- 如需低分辨率处理,请设置
detail。 - 确保图像仅出现在
user消息中。 - 监控 token 使用情况——每张图像最多消耗 384 token。
- 使用 OpenAI 兼容端点测试,或根据偏好使用 Anthropic 端点。
总结
DeepSeek 的 deepseek‑v4‑flash‑vision‑exp 模型通过简洁的 OpenAI 兼容 API 将图像理解能力引入 Flash 系列,提供灵活的图像传输选项和基于 token 化图像大小的清晰计价模型。尽管有效分辨率限制在约 800×800 像素,但其低廉的单图像成本和宽松的限制使其成为众多视觉增强应用的有力选择。
Sources
相关
- Dispatch
- Dispatch
- Dispatch
- Dispatch