Skip to main content
POST
Chat completion with vision: DeepSeek V4 Flash Vision
Проверьте, что ваш token находится в группе default перед тестированием.token ClaudeCode всё ещё возвращает здесь 200, но detail, переключатель режима рассуждения и logprobs все перестают работать, а из ответа пропадает поле completion_tokens_details —— кажется, что вы неправильно задали параметры, хотя на самом деле неверна группа. Для формата Anthropic используйте вместо этого песочницу сообщений.
Используйте песочницу справа для прямого тестирования: поместите Bearer sk-your-api-key в Authorization. В примере используется публичное изображение, а режим рассуждения отключён, поэтому вы можете нажать отправить и сразу увидеть ответ. Для локального файла замените image_url.url на data:image/jpeg;base64,<BASE64>.

Краткая справка по параметрам

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

image_url с base64 data URL

image_url с публичной ссылкой

URL может содержать не более 8192 символов и должен загружаться за 60 секунд.

Блок file с file_data

Стоимость token одинакова для канала image_url (303 token для одного и того же изображения в любом случае).
detail в блоке file игнорируется без предупреждения —— без ошибки и без сохранения. Чтобы использовать detail: "low", отправьте изображение через канал image_url.Также, file_id (Files API) недоступен на этой платформе; при передаче одного возвращается invalid file_id.

Сколько экономит detail

Одно и то же изображение 1600×1200 на всех четырёх уровнях: low достаточно для определения типа изображения, распознавания объекта или грубой классификации. original оставляйте для чтения мелкого текста или значений на диаграммах. Значение вне перечисления вызывает явную ошибку: unknown variant 'ultra', expected one of 'low', 'high', 'original', 'auto'.

Как изображения становятся token

384 на изображение — это верхний предел; несколько изображений учитываются независимо и суммируются линейно. Предварительное сжатие перед загрузкой экономит трафик, но не token —— 2000² и 4000² преобразуются в точно одно и то же число. Полные правила — в обзоре.

Два способа отключить рассуждение

Оба варианта проверены (по три прогона каждый: prompt_tokens снижается с 303 до 223, а reasoning_content исчезает). reasoning: {"effort": "none"} и enable_thinking: false не работают.
Слишком маленький max_tokens возвращает пустой content. При включённом рассуждении даже вопрос в одну строку может сначала выдать несколько сотен tokens рассуждения; когда бюджет заканчивается, вы получаете finish_reason: "length" и пустую строку —— это легко принять за то, что модель не смогла ответить. Используйте 2000 или больше при включённом рассуждении или просто отключите его.

Нужен структурированный вывод? Используйте инструменты

response_format: {"type": "json_schema"} возвращает This response_format type is unavailable now (ограничение модели выше по цепочке). json_object работает, но не ограничивает поля. Для принудительного применения используйте Вызов функции:
Аргументы tools также корректно собираются из инкрементов потоковой передачи.

Распространённые ошибки

Авторизации

Authorization
string
header
обязательно

The API Key from the APIYI console; the token must be in the default group

Тело

application/json
model
enum<string>
по умолчанию:deepseek-v4-flash-vision-exp
обязательно

Model ID, always deepseek-v4-flash-vision-exp

Доступные опции:
deepseek-v4-flash-vision-exp
messages
object[]
обязательно

Message array. content is either a plain string or an array of content parts for mixed text and images

max_tokens
integer
по умолчанию:800

Output token budget, hard ceiling 393,216. Thinking text counts against it, so use 2000 or more with thinking on, otherwise content may come back empty

Требуемый диапазон: x <= 393216
thinking
object

Thinking toggle. Pass {"type": "disabled"} to turn it off, saving 80 input tokens and all reasoning output. Only effective in the default group

reasoning_effort
enum<string>

Reasoning depth. In testing none reliably disables thinking; low/high/max showed no stable difference. Only effective in the default group

Доступные опции:
none,
low,
medium,
high,
max
stream
boolean
по умолчанию:false

Stream the response over SSE. Pair with stream_options.include_usage to get usage in the final chunk

response_format
object

Output format. Only {"type": "json_object"} works; json_schema returns This response_format type is unavailable now

temperature
number

Sampling temperature

top_p
number

Nucleus sampling threshold

stop
string[]

Stop sequences

seed
integer

Random seed

logprobs
boolean

Return token log probabilities; populated in testing (default group only)

top_logprobs
integer

Number of candidates per position, range 0-20

Требуемый диапазон: 0 <= x <= 20
tools
object[]

Function Call tool list in OpenAI format. Use it instead of json_schema when you need structured output

Ответ

Chat completion succeeded

id
string

Request ID

object
string
model
string
choices
object[]

Completion results. Besides content, message carries reasoning_content when thinking is on

usage
object

Usage. Tokens converted from images are included in prompt_tokens