- Старые примеры с deepseek-chat и deepseek-reasoner использовать для нового проекта не стоит.
- curl https://api.deepseek.com/chat/completions \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $DEEPSEEK_API_KEY" \ -d '{ "model": "deepseek-flash", "messages": [ {"ro…
- DeepSeek поддерживает форматы, совместимые с OpenAI и Anthropic API.
- В API thinking включён по умолчанию.
- deepseek-flash умеет принимать изображения.
DeepSeek API нужен, когда модель должна работать внутри сайта, бота, приложения, IDE или внутренней системы. Для обычного общения на сайте DeepSeek API не нужен.
Что понадобится
- аккаунт на платформе DeepSeek;
- API key;
- положительный баланс для платных вызовов; если вы платите из России, отдельно смотрите как пополнить DeepSeek API;
- серверное приложение или локальный скрипт, где ключ можно хранить безопасно.
Актуальные модели
- deepseek-flash — V4.1 Flash;
- deepseek-v4-pro — V4 Pro.
Старые примеры с deepseek-chat и deepseek-reasoner использовать для нового проекта не стоит. Разница моделей разобрана в статье про DeepSeek V4.
Первый запрос через curl
curl https://api.deepseek.com/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $DEEPSEEK_API_KEY" \
-d '{
"model": "deepseek-flash",
"messages": [
{"role": "user", "content": "Объясни REST и GraphQL в пяти пунктах"}
]
}'
Ключ лучше хранить в переменной окружения. Не вставляйте его в JavaScript на публичной странице, мобильное приложение или открытый репозиторий.
Совместимость с OpenAI и Anthropic
DeepSeek поддерживает форматы, совместимые с OpenAI и Anthropic API. Это удобно, если существующее приложение уже использует один из распространённых SDK: часто достаточно изменить base URL, ключ и модель.
Thinking Mode
В API thinking включён по умолчанию. Можно использовать уровни low, high и max. Для простых задач высокий effort не всегда оправдан: он увеличивает объём вычислений и может сделать ответ длиннее.
Логику выбора режима смотрите в статье про режимы DeepSeek.
Изображения
deepseek-flash умеет принимать изображения. Их можно передавать напрямую либо загрузить через Files API и повторно использовать по file_id.
Примеры задач — в материале DeepSeek Vision.
Веб-поиск
Для приложений доступны отдельные Search и Fetch API, а в Responses API модель Pro может работать с web_search. Не добавляйте интернет в каждый запрос автоматически: это увеличивает сложность и нужен он только для свежих данных.
Подробнее — DeepSeek Search API.
Как контролировать расходы
- логируйте токены по каждой задаче;
- не отправляйте всю историю чата без необходимости;
- используйте кэш повторяющегося контекста;
- для массовых задач начинайте с Flash;
- учитывайте peak/off-peak тарифы.
Текущие цены и пример расчёта — в статье «Сколько стоит DeepSeek API».
Как убедиться, что первый запрос действительно сработал
В примере выше используется переменная окружения DEEPSEEK_API_KEY. Задайте её в терминале перед выполнением команды (синтаксис для bash/zsh):
export DEEPSEEK_API_KEY="вставьте_ваш_ключ"
curl -sS https://api.deepseek.com/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $DEEPSEEK_API_KEY" \
-d '{"model":"deepseek-flash","messages":[{"role":"user","content":"Назови столицу Франции одним словом"}]}'
В корректном JSON-ответе найдите choices[0].message.content и блок usage. Содержимое ответа формирует модель, поэтому точная формулировка может отличаться.
Диагностика вместо бесконечных попыток
| HTTP | Что проверить |
|---|---|
| 400 | Корректность JSON, имя модели и обязательные поля |
| 401 | Ключ, заголовок Bearer и пробелы при копировании |
| 402 | Доступность средств через GET /user/balance |
| 429 | Частоту и конкурентность запросов, повтор с задержкой |
| 5xx | Временный сбой сервиса; фиксируйте код и время, повторяйте с backoff |
Ключ храните только в переменных окружения серверной части, не вставляйте его в публичный JavaScript, HTML или GitHub. При утечке отзовите старый ключ и выпустите новый. Официальный quick start DeepSeek; проверка баланса.
Коротко
Начните с deepseek-flash и одного минимального серверного вызова. После того как базовая интеграция работает, добавляйте thinking, поиск, изображения и инструменты по одному — так проще отлаживать ошибки и контролировать стоимость.
