DeepSeek V4 Flash Vision: картинка — максимум 384 токена
У V4 Flash появился вариант с картинками, и стоит он ровно столько же, сколько текстовый. Одно изображение — не больше 384 входных токенов: 800×800 и 3000×3000 дали одинаковые 348.
У DeepSeek V4 Flash появился вариант с поддержкой изображений, и стоит он ровно столько же, сколько текстовый. ID модели — deepseek-v4-flash-vision-exp, на ofox это deepseek/deepseek-v4-flash-vision-exp.
Тот же контекст 1M, тот же потолок вывода 384K, те же 2500 параллельных запросов, та же цена в каждой строке прайса. Интересный вопрос — сколько на самом деле стоит картинка, когда она превращается в токены. У этого ответа есть жёсткий потолок.
Модель: deepseek/deepseek-v4-flash-vision-exp
Цена: $0.44 вход / $1.32 выход за 1M в пик
$0.22 / $0.66 вне пика (пик: 01:00-04:00 и 06:00-10:00 UTC)
Кэш-хит: $0.014 в пик / $0.007 вне пика за 1M
Контекст: 1M вход / 384K выход
Картинки: до 384 токенов на изображение, 600 картинок на запрос
Thinking: включён по умолчанию, effort high, выключается через thinking.type
Замерено: 800×800 и 3000×3000 дают одинаковые 348 входных токенов
Срез: 2026-08-21, по 5 прогонов на конфигурацию
Последнее обновление: 2026-08-21. В ID модели стоит суффикс -exp, так что доступность стоит считать экспериментальной и перепроверять, прежде чем строить на ней зависимость.
Что такое DeepSeek V4 Flash Vision Exp
Это V4 Flash, который умеет принимать картинки, по той же цене. Страница цен DeepSeek ставит три модели рядом, и колонка с картинками совпадает с колонкой flash ячейка в ячейку.
deepseek-v4-flash | deepseek-v4-flash-vision-exp | deepseek-v4-pro | |
|---|---|---|---|
| Вход, промах кэша (пик) | $0.44 | $0.44 | $1.32 |
| Вход, попадание в кэш (пик) | $0.014 | $0.014 | $0.044 |
| Выход (пик) | $1.32 | $1.32 | $3.96 |
| Контекст | 1M | 1M | 1M |
| Максимум вывода | 384K | 384K | 384K |
| Лимит параллельных запросов | 2500 | 2500 | 500 |
Внепиковые ставки — половина пиковых по всем строкам. Пик приходится на 01:00–04:00 и 06:00–10:00 UTC, три часа плюс четыре, так что семнадцать часов в сутки работают по низкой ставке. Когда DeepSeek ввёл это разделение, мы разбирали, как оно меняет реальный счёт.
Одна вещь всё же ухудшилась. В таблице возможностей FIM-дополнение у V4 Flash и V4 Pro значится как «только в режиме без thinking», а у варианта с картинками — «не поддерживается». Всё остальное на месте: JSON-вывод, вызов инструментов, Responses API, API в формате Anthropic и дополнение с префиксом отмечены галочками.
Сколько стоит одно изображение
348 токенов за картинку 800×800 — и ровно столько же за 3000×3000.
Каждое изображение масштабируется до вывода. Картинки, у которых суммарное число пикселей меньше примерно 384×384, увеличиваются, более крупные уменьшаются, в обоих случаях с сохранением пропорций, а целевое суммарное число пикселей близко к изображению 800×800. Задокументированное следствие — потолок в 384 токена на картинку, поэтому фотография 2000×2000 и фотография 5000×5000 стоят одинаково.
2026-08-21 мы отправили однотонные тестовые изображения через маршрут ofox, вычтя базовую линию в 91 токен, измеренную на том же промпте без картинки:
| Изображение | prompt_tokens | Токенов на картинку | Стоимость по пиковому входу |
|---|---|---|---|
| нет (только текст) | 91 | 0 | — |
| 200×200 | 207 | 116 | $0.000051 |
| 800×800 | 439 | 348 | $0.000153 |
| 3000×3000 | 439 | 348 | $0.000153 |
| 6000×3000 | 395 | 304 | $0.000134 |
Из таблицы следуют две вещи. Строки 800×800 и 3000×3000 совпадают — правило масштабирования работает ровно так, как написано в документации. А строка 6000×3000 оказывается дешевле квадратных: картинка с соотношением 2:1, ужатая в тот же бюджет пикселей, разбивается на меньшее число патчей, чем квадратная.
При $0.44 за миллион входных токенов тысяча картинок обходится примерно в 15 центов в пик и вдвое дешевле вне пика. Вход картинками на этой модели — не та статья, которую нужно закладывать в расчёты. Закладывать нужно следующую.
Влияет ли режим thinking на счёт
Он снимает лишние 80 входных токенов ещё до того, как модель посмотрела на картинку. Режим thinking включён по умолчанию, effort равен high. Мы прогнали одно и то же изображение с одним и тем же промптом по пять раз на каждую конфигурацию:
prompt_tokens | Медиана completion | Медиана reasoning | Медиана времени | |
|---|---|---|---|---|
| По умолчанию (thinking включён) | 439 | 114 (68–425) | 91 | 1.9 с |
thinking: {"type": "disabled"} | 359 | 19 (18–20) | 0 | 1.0 с |
Значение prompt_tokens не дрогнуло ни разу за десять вызовов: 439 с включённым thinking и 359 с выключенным, каждый раз. Эти 80 токенов разницы — шаблон, который API добавляет при включённом thinking, и вы платите за него по входной ставке независимо от того, стала модель рассуждать или нет.
На стороне вывода разрыв шире и предсказуем куда хуже. С включённым thinking пять одинаковых вызовов на «опиши это изображение одним предложением» дали completion от 68 до 425 токенов. С выключенным те же пять вызовов вернули от 18 до 20. Для такой задачи рассуждение покупает разброс, а не точность.
Сложим по пиковым ставкам. Thinking включён: 439 входных плюс 114 выходных — около $0.000343 за вызов. Выключен: 359 плюс 19 — около $0.000183. Почти половина счёта, при том что видимый ответ одинаковый.
Выключить можно любым из двух способов:
{"thinking": {"type": "disabled"}}
{"reasoning_effort": "none"}
Оба сработали на нашем маршруте, и оба заставили поле reasoning_tokens исчезнуть из объекта usage, а не просто уменьшиться. Если thinking нужен, но подешевле, сначала прочитайте таблицу соответствия effort: DeepSeek отображает low в low, max в max, а medium, high и xhigh — все в high. Три из пяти значений, которые вы могли бы отправить, оказываются одной и той же настройкой — та же ловушка, что GLM 5.3 расставляет недокументированными значениями effort.
Как отправить изображение
Обычными content-блоками формата OpenAI. Способов три: inline base64, внешний URL и file_id из Files API.
import base64
from openai import OpenAI
client = OpenAI(api_key="sk-...", base_url="https://api.ofox.ai/v1")
with open("chart.png", "rb") as f:
b64 = base64.b64encode(f.read()).decode()
r = client.chat.completions.create(
model="deepseek/deepseek-v4-flash-vision-exp",
messages=[{"role": "user", "content": [
{"type": "text", "text": "What is the trend in this chart?"},
{"type": "image_url", "image_url": {"url": f"data:image/png;base64,{b64}"}},
]}],
extra_body={"thinking": {"type": "disabled"}},
)
print(r.usage)
При прямом обращении к DeepSeek base URL становится https://api.deepseek.com, а строка модели теряет префикс deepseek/. Эндпоинт в формате Anthropic — https://api.deepseek.com/anthropic, а в Responses API картинки передаются частями input_image.
Два ограничения возвращают HTTP 400, а не деградируют: картинки принимаются только в сообщениях user, и принимает их только модель с поддержкой изображений. Отправьте картинку в deepseek-v4-flash — получите «This model does not support image».
Какие есть ограничения
| Ограничение | Значение |
|---|---|
| Форматы | JPEG, PNG, GIF, WebP (определяются по содержимому, не по имени файла) |
| Картинок на запрос | 600 |
| Тело запроса | 48 MiB |
| Одна картинка, base64 или URL | 32 MiB |
Одна картинка, file_id из Files API | 64 MiB |
| Все картинки на запрос | 64 MiB без file_id, до 200 MiB с ним |
| Максимальная сторона | 8192 px, но 4096 px, если в запросе 15 картинок и больше |
| Длина внешнего URL | 8192 символа |
Именно правило про сторону кусается в проде. Пакетная задача, отправляющая четырнадцать скриншотов по 6000 px, проходит; пятнадцатый молча меняет потолок для всего запроса.
Стоит ли переходить с V4 Flash
Если вы вообще отправляете картинки — да, потому что переход ничего не стоит. Ставки одинаковые, потолки контекста и вывода одинаковые, лимит параллельных запросов тоже. Теряется только FIM-дополнение, а оно нужно исключительно для inline-дополнения кода.
| Нагрузка | Решение |
|---|---|
| Массовый OCR скриншотов и документов | Переходить. 384 токена на страницу трудно побить |
| Чтение графиков и схем | Переходить, но для многошагового разбора оставить thinking |
| Только текст: чат и классификация | Без разницы, цены совпадают |
| Inline-дополнение кода через FIM | Остаться на deepseek-v4-flash, здесь FIM нет |
| Долгоживущие агенты по картинкам | Сначала протестировать, суффикс -exp не обещает стабильности |
Более широкую картину по мультимодальным эндпоинтам даёт наш гид по мультимодальным API, где зрение разобрано вместе с речью, а стоимость задачи на текстовой стороне той же модели — в сравнении V4 Flash с Gemini 3.6 Flash.
References
Часто задаваемые вопросы
- Что такое DeepSeek V4 Flash Vision Exp?
- Это вариант DeepSeek V4 Flash с поддержкой изображений, ID модели — deepseek-v4-flash-vision-exp. Он принимает картинки вместе с текстом в сообщениях user и тарифицируется так же, как текстовый V4 Flash: $0.44 за миллион входных токенов и $1.32 за миллион выходных в пик, вдвое меньше вне пика. Контекст 1M и потолок вывода 384K — тоже как у V4 Flash.
- Сколько стоит одно изображение?
- Очень мало. Перед выводом картинку масштабируют так, чтобы суммарное число пикселей было около 800×800, и это ограничивает одно изображение 384 входными токенами. На одном и том же маршруте мы намерили 348 токенов и для 800×800, и для 3000×3000 — около $0.000153 за картинку по пиковой входной ставке и вдвое меньше вне пика. На эту цифру влияет длина промпта, а не разрешение.
- Версия с картинками дороже, чем V4 Flash?
- Нет. На странице цен DeepSeek у deepseek-v4-flash и deepseek-v4-flash-vision-exp совпадают все строки: попадание в кэш, промах кэша и выход, причём и в пик, и вне пика. Лимит параллельных запросов тоже одинаковый — 2500. Это тот же прайс текстовой модели, к которому добавили вход картинками.
- Поддерживает ли эта модель режим thinking?
- Да, и он включён по умолчанию с effort равным high. Выключается через thinking с type disabled либо через reasoning_effort со значением none. В наших прогонах выключение опустило медиану completion со 114 токенов до 19, а медианное время вызова — с 1.9 секунды до 1.0.
- Сколько картинок помещается в один запрос?
- До 600. Остальные потолки: тело запроса 48 MiB, одна картинка через base64 или внешний URL — 32 MiB, одна картинка через file_id из Files API — 64 MiB, суммарно картинок без file_id — 64 MiB. Максимальная сторона 8192 пикселя, но падает до 4096, если в запросе 15 изображений или больше.
- Какие форматы изображений принимаются?
- JPEG, PNG, GIF и WebP. Формат определяется по содержимому файла, а не по имени и не по заявленному MIME-типу, так что неверное расширение вызов не ломает. Картинки допустимы только в сообщениях user: изображение в system или assistant возвращает HTTP 400.
- Что теряется по сравнению с V4 Flash?
- Одна строка в таблице возможностей. FIM-дополнение, которое V4 Flash поддерживает в режиме без thinking, у варианта с картинками помечено как неподдерживаемое. JSON-вывод, вызов инструментов, Responses API, API в формате Anthropic и дополнение с префиксом переносятся без изменений.


