Skip to main content
deepseek-v4-flash-vision-exp — это экспериментальная vision-модель DeepSeek, построенная на базе V4 Flash с добавленным вводом изображений: описывайте картинки, извлекайте текст из скриншотов, считывайте значения с графиков, сравнивайте несколько изображений. Всё в текстовой части (контекст 1M, thinking mode, function calling, кэширование контекста) сохранено, а тарификация идентична V4 Flash только для текста —— vision не требует доплаты; изображения преобразуются в input tokens по своим размерам. APIYI уже завершила 124 тест-кейса примерно за 1 100 вызовов, охватив три канала ввода изображений, четыре формата изображений, два протокола и две группы.
Прочитайте это перед вызовом: эта модель обслуживается двумя группами на APIYI с разными возможностями. Выберите группу, которая соответствует вашему протоколу.Выбор неправильной группы не вызывает ошибку «неверная группа». Это проявляется так: параметры тихо не срабатывают, на втором ходе возникает 400 или /v1/responses жалуется на messages. Обе группы имеют одинаковую тарификацию —— группа влияет только на возможности, но никогда не на тарификацию. См. ниже «Выбор группы».

Основные моменты

Без надбавки за vision

Та же цена, что и у текстового V4 Flash: $0.44 за input, $1.32 за output на 1M tokens. Изображения становятся input tokens, с ограничением 384 на одно изображение.

Надёжное распознавание в тестировании

Значения OCR со скриншота все верны, диаграмма из 5 столбцов распознана 5/5, подсчёт определённой фигуры среди 36 фигур — 24/24. На отрицательных вопросах галлюцинаций нет.

Не нужно предварительно сжимать

2000×2000 и 4000×4000 преобразуются ровно в одинаковое число tokens (346). Upstream масштабирует за вас —— сжатие экономит только трафик, но не деньги.

Оба протокола работают

Формат OpenAI (chat/completions + responses) и формат Anthropic (/v1/messages) оба проверены, каждый через свою группу.

Информация о модели

Поскольку с 2026-08-17 поставщик тарифицирует эту модель в два уровня в зависимости от времени суток (часы пик — 01:00-04:00 и 06:00-10:00 (UTC)). APIYI всегда взимает тариф пикового периода, поэтому ваша стоимость не меняется в зависимости от часа.

Выбор группы

Две группы на APIYI направляют запросы к разным вышестоящим эндпоинтам, поэтому их возможности не эквивалентны. Таблица ниже измерена 2026-08-21, по три повтора в каждой ячейке:

Формат OpenAI → используйте группу default

Создайте token для группы default, затем:

Формат Anthropic → используйте группу ClaudeCode

Создайте token для группы ClaudeCode, затем:
Одна учетная запись может одновременно содержать несколько tokens в разных группах, и они не мешают друг другу —— держать по одному на каждый протокол — рекомендуемая схема. См. Что такое группы и Tokens и группы, чтобы понять, как их создать, и Codex против ClaudeCode против групп по умолчанию чтобы понять, чем они отличаются.
Никогда не используйте группу default для формата Anthropic. Там накладываются две проблемы:
  1. Если не указывать top_p, каждый раз возвращается 400 Invalid top_p value
  2. Даже если top_p указан, повторная отправка блока thinking из первого хода во второй ход возвращает unknown variant 'thinking' —— а стандартные клиенты, такие как Claude Code и Anthropic SDK, всегда повторно отправляют его, поэтому многоходовый режим всегда ломается
Переключитесь на группу ClaudeCode, и ни одной из этих проблем не будет; полный цикл вызова tools тоже работает.

Три способа отправить изображение

1. Встроенный base64 (наиболее распространённый)

2. Общедоступный URL изображения

URL может содержать не более 8192 символов, а загрузка должна завершиться в течение 60 секунд. Нерабочая ссылка возвращает Failed to download image.

3. Блок содержимого file (эквивалентен встроенному base64)

Измеренная стоимость token идентична каналу image_url (303 за одно и то же изображение в любом случае).
API файлов (загрузка в /v1/files, затем ссылка по file_id) недоступен в APIYI, что нормально для сторонних шлюзов. Два лимита, которые поставщик оставляет для file_id —— 64 MiB на изображение и 200 MiB на запрос —— поэтому недостижимы.Фактически применяются лимиты 32 MiB на изображение и 48 MiB на тело запроса. При их превышении возвращается image file size exceeds limit 32 MB.

Как тарифицируются изображения

Изображение преобразуется во входные tokens на основе его размеров после изменения размера, и тарифицируется вместе с вашими текстовыми tokens по $0.44 / 1M. Приведённые ниже числа измерены в APIYI с использованием фиксированного prompt и с вычитанием базового уровня только для текста: Три правила, в точности соответствующие описанию поставщика:
  • 384 tokens на изображение — это жёсткий предел. Наибольшее измеренное значение было 354; ни одно изображение его не превышает
  • Большие изображения уменьшаются примерно до эквивалента 800×800. Именно поэтому 2000² и 4000² стоят одинаково, и именно поэтому предварительное сжатие перед загрузкой экономит трафик, но не деньги
  • Изображения меньше 384×384 увеличиваются. Поэтому 64×64 стоит столько же, сколько 384×384 —— не нужно дополнительно уменьшать маленькие изображения

Экономия tokens: detail: "low"

Когда мелкие детали не важны (определение типа изображения, распознавание объекта, грубая классификация), добавьте detail: "low", чтобы уменьшить изображение до 512×512 перед inference:
Все четыре уровня, измеренные на одном и том же изображении 1600×1200:
detail вступает в силу только при выполнении обоих условий: он задан в блоке image_url (в блоке file он молча игнорируется), а ваш token находится в группе default (в группе ClaudeCode он ничего не делает).Недопустимое значение приводит к явной ошибке: unknown variant 'ultra', expected one of 'low', 'high', 'original', 'auto'.

Controlling thinking mode

Thinking mode is on by default, and the thinking text counts against your max_tokens budget. For pure image-reading tasks, turn it off: with thinking disabled our tests scored 24/24, ran faster, saved the entire thinking output, and cut 80 input tokens as well (the thinking system prompt costs exactly that much). Every syntax, three runs each:
Do not set max_tokens too low. With thinking on, even a one-line question can emit several hundred tokens of thinking first; too small a budget yields finish_reason: "length" with an empty content —— which looks like the model failed to answer. Use 2000 or more with thinking on, or simply disable thinking.

Кэширование контекста

Для кэширования не нужны параметры: повторяющийся длинный префикс автоматически попадает в кэш, а попавшая в кэш часть тарифицируется по $0.014 / 1M. Но запросы с изображениями отличаются от только текстовых по двум пунктам: Измерено на текстовом префиксе в 2304 token плюс одном изображении 800×800: Попадание — это ровно тот текст, который находится перед изображением; изображение и все, что идет после него, каждый раз тарифицируются по полной цене. Поэтому помещайте фиксированные длинные инструкции перед изображением, чтобы они попадали в кэш —— все, что размещено после изображения, никогда не сможет попасть в кэш.
В формате Anthropic эти поля называются cache_read_input_tokens и cache_creation_input_tokens, и работают так же. Обратите внимание, что явные cache_control маркеры не влияют (upstream использует автоматическое кэширование префикса), а два протокола по-разному отображают использование: у OpenAI prompt_tokens всегда показывает полное количество, тогда как у Anthropic input_tokens после попадания снижается до некэшированного остатка —— их нельзя напрямую сопоставить.

Поддерживаемые форматы изображений

Все четыре поддерживаемых формата преобразуются в одинаковое число token, поэтому контейнер никогда не влияет на стоимость.
Формат определяется по содержимому файла, а не по объявленному вами MIME type. При тестировании PNG, объявленный как image/jpeg, работал без проблем — неправильное расширение или неверный MIME не имеют значения, если сам файл относится к одному из четырёх поддерживаемых форматов.

Проверенная матрица возможностей

Измерено APIYI 2026-08-21:

Выборочные проверки точности

Ограничения и распространённые ошибки

Предел контекста 1,048,576 измеряется, и сообщение об ошибке показывает, что max_tokens засчитывается в этот же общий объём (… in the messages, … in the completion). При упаковке длинного контекста оставляйте место для вашего бюджета вывода, иначе вы достигнете предела.
Другие распространённые ошибки 400:
  • You have uploaded an unsupported image —— формат не один из четырёх, либо base64 повреждён
  • Failed to download image —— URL недоступен или ответ не был получен более 60 секунд
  • Image in assistant message is unsupported —— изображения могут появляться только в сообщениях user
Во время тестирования примерно 1%-3% запросов соединение молча закрывалось (на стороне клиента это проявлялось как SSL EOF или timeout на этапе handshake). Это не связано с изображениями и не связано с группой —— это периодическое событие на уровне транспорта. Всегда задавайте read timeout и повторяйте попытку, иначе один запрос может зависнуть более чем на две минуты. См. Настройка тайм-аута.

Полные примеры

Формат OpenAI (default группа)

Формат Anthropic (ClaudeCode группа)

Связанная документация

Vision Understanding API

Общие схемы вызова и сравнение между vision-моделями

DeepSeek V4 Flash

Текстовая версия на той же базе, с контекстом 1M и двумя эндпоинтами

Выбор группы

Чем отличаются группы Codex, ClaudeCode и Default и какую выбрать

Настройка тайм-аута

Рекомендуемые настройки тайм-аута чтения на клиенте и повторных попыток