DeepSeek V4.1 Flash
Используйте DeepSeek V4.1 Flash через официальный API Chat Completions, Responses или Anthropic Messages: контекст 1M токенов, рассуждение можно включать и выключать, есть ввод изображений.
DeepSeek V4.1 Flash — быстрая и недорогая модель DeepSeek (в собственном API DeepSeek она называется deepseek-flash). По умолчанию она рассуждает перед ответом, а вы можете отключить рассуждение или задать его уровень в каждом запросе. Отправьте официальный запрос DeepSeek в SeedRouter: измените базовый URL и API-ключ, тело оставьте прежним.
ID модели
| ID модели | Контекстное окно | Максимальный вывод | Уровень рассуждения | По умолчанию |
|---|---|---|---|---|
deepseek-v4.1-flash | 1M токенов | 384K токенов (393,216) | none, low, high, max | Рассуждение включено, high |
Вход: текст и изображения. Выход: текст. Актуальные цены смотрите на странице модели.
Краткий пример
curl https://api.seedrouter.ai/v1/chat/completions \
-H "Authorization: Bearer $SEEDROUTER_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "deepseek-v4.1-flash",
"messages": [{"role": "user", "content": "Give me three names for a coffee shop."}]
}'Конечные точки
| Формат | Метод и путь | Аутентификация |
|---|---|---|
| Chat Completions | POST https://api.seedrouter.ai/v1/chat/completions | Authorization: Bearer <key> |
| Responses | POST https://api.seedrouter.ai/v1/responses | Authorization: Bearer <key> |
| Anthropic Messages | POST https://api.seedrouter.ai/v1/messages | x-api-key: <key> или Authorization: Bearer <key>, плюс anthropic-version |
Все три возвращают официальный формат ответа DeepSeek, со стримингом или без. Храните API-ключ в коде на серверной стороне.
Параметры
Поля Chat Completions:
| Имя | Тип | Обязательный | По умолчанию | Примечания |
|---|---|---|---|---|
model | string | Да | — | deepseek-v4.1-flash. |
messages | object[] | Да | — | Текстовые сообщения; изображения передаются как части image_url (см. Входные изображения). |
thinking.type | enum | Нет | enabled | enabled или disabled. |
reasoning_effort | enum | Нет | high | none (рассуждение выключено), low, high или max. minimal выполняется как low, medium и xhigh — как high. |
max_tokens | integer | Нет | 8K, или 64K с рассуждением (128K при уровне max) | 1–393216. Включает рассуждение. |
stop | string or string[] | Нет | — | Стоп-последовательности. |
response_format | object | Нет | {"type": "text"} | text или json_object. json_schema возвращает 400. |
tools | object[] | Нет | — | Инструменты-функции; strict принимается. |
tool_choice | string or object | Нет | none без инструментов, auto с инструментами | auto и none применяются. required и именованная функция принимаются, но не принуждают к вызову. |
stream | boolean | Нет | false | Транслировать серверные события. |
stream_options.include_usage | boolean | Нет | false | Каждый чанк содержит usage, равный null везде, кроме последнего. |
temperature | number | Нет | 1 | 0–2. В режиме рассуждения не действует. |
top_p | number | Нет | 1 | 0–1. В режиме рассуждения значения ниже 0.95 выполняются как 0.95; без рассуждения остаётся 1. |
user_id | string | Нет | — | Идентификатор вашего конечного пользователя. |
logprobs, top_logprobs | — | Нет | — | Принимаются (top_logprobs от 0 до 20), но логарифмические вероятности не возвращаются. |
frequency_penalty, presence_penalty | — | Нет | — | Устарели в DeepSeek: принимаются, но не действуют. |
Рассуждение и уровень рассуждения
По умолчанию рассуждение включено на уровне high. Отключите его через "thinking": {"type": "disabled"} или "reasoning_effort": "none"; тогда ответ приходит сразу и расходует меньше выходных токенов. max тратит больше всего рассуждения на сложные задачи. Рассуждение возвращается в reasoning_content, рядом с content, и тарифицируется как выходные токены.
Если запрос содержит tools, отправляйте каждое предыдущее сообщение assistant обратно вместе с его reasoning_content, как того требует DeepSeek в диалогах с вызовами инструментов.
Входные изображения
Изображения передаются в content пользовательского сообщения как части image_url: публичный URL http(s) или base64 data URI:
{"role": "user", "content": [
{"type": "image_url", "image_url": {"url": "https://example.com/chart.png"}},
{"type": "text", "text": "What does this chart show?"}
]}URL может содержать не более 8192 символов и указывать на изображение размером не более 32 MiB. Замените пример URL собственным общедоступным изображением.
Измерения стоимости
Смотрите актуальные тарифы на странице модели. Запрос тарифицируется по используемым токенам:
- входные токены, не найденные в кэше (
prompt_cache_miss_tokens), - входные токены, найденные в кэше (
prompt_cache_hit_tokens), - выходные токены, включая рассуждение.
Тарифы зависят от того, когда выполняется запрос. Часы пик — с 01:00 до 04:00 и с 06:00 до 10:00 UTC, с понедельника по пятницу; все остальные часы, включая выходные, — непиковые часы с тарифами вдвое ниже пиковых. Сумма берётся из usage, возвращённого с завершённым ответом. Неудачный запрос не тарифицируется. Записи использования вашей учётной записи показывают точную сумму для каждого запроса.
Вывод
Нестриминговый запрос Chat Completions возвращает:
{
"id": "bc86988e-...",
"object": "chat.completion",
"created": 1790585983,
"model": "deepseek-v4.1-flash",
"choices": [{
"index": 0,
"finish_reason": "stop",
"logprobs": null,
"message": {"role": "assistant", "reasoning_content": "...", "content": "..."}
}],
"usage": {
"prompt_tokens": 36,
"completion_tokens": 39,
"total_tokens": 75,
"prompt_cache_hit_tokens": 0,
"prompt_cache_miss_tokens": 36,
"prompt_tokens_details": {"cached_tokens": 0},
"completion_tokens_details": {"reasoning_tokens": 0}
}
}При "stream": true каждый чанк содержит delta с reasoning_content или content, а последний чанк перед data: [DONE] передаёт данные об использовании.
Responses API и Codex
POST /v1/responses принимает тело Responses: input, instructions, max_output_tokens, reasoning.effort (как reasoning_effort выше), text.format (text или json_object; json_schema принимается, но не применяется), tools (function и пользовательский инструмент apply_patch), tool_choice, temperature, top_p, top_logprobs, user и stream. Рассуждение возвращается как элемент reasoning с содержимым reasoning_text, а поток передаёт пронумерованные события от response.created до response.completed, с рассуждением в событиях response.reasoning_text.delta. API не хранит состояние: previous_response_id, conversation и встроенные инструменты вроде web_search игнорируются, поэтому отправляйте весь диалог в input.
Чтобы использовать DeepSeek V4.1 Flash в Codex, добавьте provider в ~/.codex/config.toml и задайте SEEDROUTER_API_KEY:
model = "deepseek-v4.1-flash"
model_provider = "seedrouter"
show_raw_agent_reasoning = true
[model_providers.seedrouter]
name = "SeedRouter"
base_url = "https://api.seedrouter.ai/v1"
env_key = "SEEDROUTER_API_KEY"
wire_api = "responses"Формат Anthropic Messages
Код, написанный для Anthropic Messages API, тоже может вызывать DeepSeek V4.1 Flash: отправьте тело Messages на /v1/messages с "model": "deepseek-v4.1-flash". system, max_tokens, tools, tool_choice (auto, none), thinking (enabled, disabled) и temperature (0–2) применяются; output_config.effort и metadata.user_id принимаются; top_k, stop_sequences и tool_choice any не имеют эффекта. Рассуждение возвращается блоками thinking. Изображения передаются как источники base64 или url.
Ошибки
Ошибки используют форму {"error": {"code": ..., "message": "..."}} (конечная точка Messages использует формат ошибок Anthropic). Поле code — это код из общего каталога ошибок. Неудачные запросы не тарифицируются.
Советы
- Отключайте рассуждение для простых быстрых шагов, таких как классификация или извлечение; оставляйте его включённым для рассуждений, математики и кода.
- Помещайте длинный, повторно используемый контекст в начало промпта: кэшированный вход тарифицируется по доле от входного тарифа.
- Запускайте крупные пакетные задания в непиковые часы, когда все тарифы вдвое ниже.
