DeepSeek API изначально сделан совместимым с форматом OpenAI. Поэтому перевести проект с OpenAI на DeepSeek часто можно за несколько минут: заменить адрес, ключ и имя модели. Но «часто» не значит «всегда». У DeepSeek свои правила для режима рассуждений, инструментов и параметров генерации, а цены зависят от времени суток.
Разберём переход по шагам: что поменять обязательно, что лучше проверить и на каких мелочах чаще всего спотыкаются. Все данные ниже — из официальной документации DeepSeek на начало октября 2026 года.
Шаг 1. Адрес, ключ и модель
Если вы используете официальный SDK OpenAI для Python или Node.js, менять библиотеку не нужно. Достаточно трёх правок:
- Получите API-ключ в кабинете DeepSeek Platform и пополните баланс: оплата списывается с баланса по количеству токенов.
- Укажите
base_url="https://api.deepseek.com". - Замените имя модели.
Сейчас в API две модели:
| Модель | Версия | Особенности |
|---|---|---|
| deepseek-flash | DeepSeek-V4.1-Flash | быстрая и дешёвая, понимает изображения |
| deepseek-v4-pro | DeepSeek-V4-Pro-0813 | флагман, только текст |
У обеих контекст 1 млн токенов и максимальный ответ до 384 тысяч токенов. Старые имена deepseek-v4-flash и deepseek-v4-flash-vision-exp пока принимаются и перенаправляются на V4.1-Flash. А вот deepseek-chat и deepseek-reasoner, которые встречаются в старых туториалах, по объявлению DeepSeek должны были перестать работать после 24 июля 2026 года и в актуальной документации уже не упоминаются. Если копируете пример из интернета, проверьте имя модели.
Минимальный пример на Python выглядит так: создаёте клиент OpenAI(api_key=..., base_url="https://api.deepseek.com") и вызываете client.chat.completions.create(model="deepseek-flash", messages=[...]). Всё остальное — как в OpenAI.
Шаг 2. Разберитесь с режимом рассуждений
Главное отличие от привычной работы с OpenAI: у моделей DeepSeek режим мышления включён по умолчанию, с уровнем усилий high. Модель сначала генерирует цепочку рассуждений, затем ответ. Это повышает качество на сложных задачах, но для простых запросов (классификация, короткие ответы) может быть лишним.
Что важно знать:
- Отключить мышление можно параметром
thinkingсо значением{"type": "disabled"}. В SDK OpenAI его передают черезextra_body. - Уровень усилий задаётся параметром
reasoning_effort: low, high или max. Значения OpenAI вроде minimal, medium или xhigh тоже принимаются и сопоставляются с ближайшими уровнями. - Рассуждения возвращаются отдельным полем
reasoning_content, рядом с обычнымcontent. Если ваш код ожидает толькоcontent, он продолжит работать. - В режиме мышления параметры
temperature,presence_penaltyиfrequency_penaltyне действуют. Ошибки не будет, но и эффекта тоже.top_pработает только в диапазоне 0,95–1,0.
Подробно о том, как DeepSeek пришёл к такой схеме — от отдельной модели R1 к режиму основной модели, — рассказано в материале о судьбе DeepSeek R1 и режиме рассуждений.
Шаг 3. Проверьте вызов инструментов
Function calling поддерживается и работает в формате OpenAI. Но есть правило, которое ломает многие готовые агенты: если в запросе есть параметр tools, то reasoning_content всех предыдущих ответов модели нужно передавать обратно в истории сообщений. Даже на тех шагах, где модель не вызывала инструмент. Если этого не сделать, API вернёт ошибку 400.
Без tools правило обратное: рассуждения из прошлых ходов передавать не нужно, API их проигнорирует.
Шаг 4. Изображения, JSON и другие возможности
| Возможность | deepseek-flash | deepseek-v4-pro |
|---|---|---|
| JSON Output | да | да |
| Tool Calls | да | да |
| Responses API | да | да |
| Формат Anthropic API | да | да |
| Изображения на входе | да | нет |
| FIM-дополнение (бета) | только без мышления | только без мышления |
Изображения передаются так же, как в OpenAI: блоком image_url с base64 или ссылкой. Форматы — JPEG, PNG, GIF и WebP. Практические сценарии работы с картинками и документами на стороне пользователя разобраны в гиде как анализировать файлы и фото в DeepSeek.
Если ваш проект построен на Responses API (например, вы работаете с Codex), DeepSeek поддерживает и его — с тем же base_url. Для проектов на SDK Anthropic есть отдельный адрес https://api.deepseek.com/anthropic. Как выглядит работа с этим SDK в оригинале, можно посмотреть в инструкции про первый запрос к Claude API на Python.
Шаг 5. Посчитайте стоимость с учётом часов пик
С августа 2026 года DeepSeek использует тарифы «пик» и «вне пика». Цены за 1 млн токенов:
| Тариф | flash, вне пика | flash, пик | v4-pro, вне пика | v4-pro, пик |
|---|---|---|---|---|
| Вход (попадание в кэш) | $0,003 | $0,006 | $0,022 | $0,044 |
| Вход (без кэша) | $0,15 | $0,30 | $0,66 | $1,32 |
| Выход | $0,60 | $1,20 | $1,98 | $3,96 |
Пиковые часы — с 01:00 до 04:00 и с 06:00 до 10:00 по UTC, с понедельника по пятницу, кроме китайских праздников. По московскому времени это 04:00–07:00 и 09:00–13:00 в будни. Выходные целиком считаются непиковыми. Если у вас есть фоновые задачи — пакетная обработка, генерация описаний, разметка, — их выгодно переносить на вечер или выходные: цена в два раза ниже.
Как вообще считаются токены и почему один и тот же текст стоит по-разному в разных моделях, мы разбирали в статье о токенах в API и их подсчёте. У DeepSeek есть собственный офлайн-токенизатор для точной оценки, а фактический расход всегда приходит в поле usage ответа.
Шаг 6. Лимиты и ошибки
Вместо привычных лимитов запросов в минуту DeepSeek ограничивает число одновременных запросов на аккаунт: 2500 для deepseek-flash и 500 для deepseek-v4-pro. При превышении API возвращает ошибку 429. Увеличение лимита можно запросить через форму, по словам DeepSeek, бесплатно.
Если в вашем сервисе много конечных пользователей, передавайте параметр user_id: он изолирует кэш и проверку контента между пользователями. Персональные данные в него класть нельзя — только условный идентификатор.
Чек-лист перед переключением
- base_url и ключ заменены, имя модели — deepseek-flash или deepseek-v4-pro;
- решено, нужен ли режим мышления; для простых задач он отключён;
- код с
toolsпередаётreasoning_contentобратно; - настройки
temperatureне являются критичными для логики (в режиме мышления они игнорируются); - фоновые задачи перенесены на непиковые часы;
- обработка ошибки 429 с повтором запроса настроена;
- старые имена deepseek-chat и deepseek-reasoner нигде не остались.
Частые вопросы
Нужно ли переписывать код с OpenAI SDK?
Обычно нет. Меняются base_url, ключ и имя модели. Дополнительная работа нужна, если вы используете инструменты или полагаетесь на temperature.
Чем deepseek-flash отличается от deepseek-v4-pro?
Flash — более новая, быстрая и дешёвая модель с поддержкой изображений. V4-Pro — флагман предыдущего поколения, работает только с текстом и стоит дороже. В сентябре DeepSeek сообщила, что, по тестам нескольких сторон, V4.1-Flash опережает V4-Pro по качеству, цене и скорости. Тем не менее по просьбам пользователей компания продолжила обслуживать V4-Pro в API.
Почему ответы стали медленнее, чем в OpenAI?
Скорее всего, работает режим мышления: модель сначала рассуждает. Для коротких задач отключите его или поставьте reasoning_effort в low.
Можно ли использовать DeepSeek в Claude Code или Codex?
Да. DeepSeek поддерживает формат Anthropic API и Responses API и публикует инструкции для подключения популярных агентов, включая Claude Code и Codex.
Где смотреть актуальные цены?
На странице Models & Pricing в документации DeepSeek. Компания оставляет за собой право менять цены, поэтому перед запуском крупного проекта сверяйтесь с ней.