Перейти к навигации

DeepSeek Responses

Вызывайте DeepSeek V4.1 Flash, V4 Pro и их версии с повышенным кэшированием через OpenAI Responses API с ключом BeatAPI.

  • Все актуальные модели DeepSeek доступны через POST /v1/responses. Для переключения меняйте model.
  • Текст на входе и выходе, потоковая передача, вызовы функций и контекст на 1M токенов у моделей из таблицы ниже.
  • Совместимо с OpenAI SDK: измените базовый URL и используйте ключ BeatAPI. Для существующей интеграции Chat Completions см. Chat Completions.
  • Состояние диалога не сохраняется на сервере: при каждом обращении передавайте всю историю в input.

Для текстовых запросов используйте базовый URL https://direct.beatapi.io. Этот адрес не ограничен 100-секундным тайм-аутом Cloudflare, который может прервать долгий запрос без потоковой передачи. Если ваша сеть не может подключиться к нему, используйте https://api.beatapi.io. Ключи, модели и цены одинаковы. API изображений и видео используют только https://api.beatapi.io.

POST/v1/responsesПопробовать

Открывает эндпоинт в API Explorer. Если ввести ключ BeatAPI и отправить запрос, будет выполнен реальный вызов с оплатой из вашего баланса.

Модели

Передайте один из этих ID в model. Каждый ID обозначает отдельную модель; не считайте их псевдонимами друг друга.

ID моделиКонтекст (токены)Максимальный вывод (токены)НазначениеВвод, USD за миллион токеновВывод, USD за миллион токеновПримечания
deepseek-v4.1-flash——V4.1 Flash для повседневных задач и больших объёмов обработки$0.075$0.30V4.1 Flash для повседневных и массовых задач. Рассуждает перед ответом.
deepseek-v4-pro-08131 000 000128 000Флагман для сложных рассуждений и длительных задач агентов$0.33$0.99Флагманская модель с рассуждениями для сложных задач и длительной работы агентов.
deepseek-v4.1-flash-hc——V4.1 Flash на маршруте с усиленным кэшированием для вызовов с общими длинными префиксами$0.105*$0.42*V4.1 Flash с повышенным кэшированием. В пиковые часы по будням тарифы удваиваются.
deepseek-v4-pro-0813-hc1 000 000128 000V4 Pro на маршруте с усиленным кэшированием для агентов и диалогов с повторяющимися префиксами$0.462*$1.386*V4 Pro с повышенным кэшированием. В пиковые часы по будням тарифы удваиваются.
  • Указаны базовые цены со скидкой. Не включены тарифы для длинного контекста, кэшированного ввода и записи в кэш. См. страницу цен.
  • — означает, что каталог не публикует это значение.
  • * В часы пик модели действует множитель. Показаны базовые тарифы вне часов пик.

Старые ID этого семейства остаются доступны. См. старые модели.

Быстрый старт

Установите пакет openai на сервере и сохраните ключ в BEATAPI_API_KEY. Не помещайте ключ в код браузерного приложения. Свойство SDK output_text позволяет получить текст ответа без обхода блоков. Ниже показаны примеры запросов, а не записанные ответы модели.

Прочитайте ответ в output_text (или в частях output типа output_text), затем проверьте status и usage. Сам по себе HTTP 200 не означает, что ответ решает вашу задачу: проверяйте результат в приложении. Текстовые запросы возвращают ответ напрямую; опрашивать /v1/tasks для них не нужно.

curl --request POST \
--url https://direct.beatapi.io/v1/responses \
--header "Authorization: Bearer $BEATAPI_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
"model": "deepseek-v4.1-flash",
"max_output_tokens": 2000,
"input": "Design a resilient webhook retry strategy for a payments API."
}'

Бесплатные версии

У этих моделей есть бесплатные версии. Они вызываются через тот же эндпоинт с отдельным ID, без платы за токены и с отдельными минутными лимитами. До первого пополнения баланса каждому аккаунту доступен один успешный запрос в минуту, после — до десяти. Стабильность не гарантируется: доступ может быть ограничен или прекращён в любой момент. См. бесплатные модели.

ID моделиПлатная версияЦена
deepseek-v4.1-flash-freedeepseek-v4.1-flashБесплатно

deepseek-v4.1-flash-free

curl --request POST \
--url https://direct.beatapi.io/v1/responses \
--header "Authorization: Bearer $BEATAPI_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
"model": "deepseek-v4.1-flash-free",
"input": "Say hello in one sentence."
}'

Эндпоинт и аутентификация

POST https://direct.beatapi.io/v1/responses

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

Bearer <BEATAPI_API_KEY>. Ключ работает как с префиксом sk-, так и без него.

Параметры запроса

Поддерживаются стандартные поля OpenAI Responses. Совместимость формата запроса не означает поддержку всех параметров конкретной модели и встроенных инструментов сервиса. Проверьте возможности, от которых зависит ваше приложение.

model string Обязательно

Точный ID модели.

Допустимые значения: deepseek-v4.1-flash, deepseek-v4-pro-0813, deepseek-v4.1-flash-hc, deepseek-v4-pro-0813-hc

  • Каждый ID обозначает отдельную модель, а не псевдоним другой модели.
  • Вызовите GET /v1/models со своим ключом, чтобы проверить, какие модели ему доступны.
  • Прежний ID deepseek-v4-flash-0731 продолжает работать и указан в разделе Старые модели.

input string | object[] Обязательно

Промпт: строка либо массив входных элементов, например сообщений, вызовов функций и их результатов.

Состояние диалога не сохраняется на сервере. previous_response_id, conversation, prompt и context_management не поддерживаются: при каждом обращении передавайте всю историю в input.

instructions string Необязательно

Системная инструкция, добавляемая перед input.

max_output_tokens integer Необязательно

Максимальное число генерируемых токенов, включая токены рассуждений.

  • Шлюз не сравнивает указанное значение с максимальным объёмом вывода модели из таблицы выше. Не превышайте этот предел.
  • Значение также используется для оценки необходимого баланса. Слишком большое значение может привести к 402 insufficient_credits, даже если фактический ответ был бы коротким. Указывайте столько токенов, сколько требуется задаче.

Модель с рассуждениями сначала генерирует рассуждения. Если max_output_tokens слишком мал, весь лимит может быть потрачен на них, и текст ответа будет пустым или обрезанным. Оставляйте запас и для рассуждений, и для ответа. В таком случае увеличьте лимит.

stream boolean НеобязательноПо умолчанию: false

Передавать ответ потоком событий SSE. См. раздел о потоковой передаче ниже.

По умолчанию: false

temperature number Необязательно

Температура семплирования. Меняйте либо этот параметр, либо top_p, но не оба одновременно.

top_p number Необязательно

Порог суммарной вероятности для выборки (nucleus sampling).

tools object[] Необязательно

Функции-инструменты, которые может вызвать модель. Модель возвращает элемент function_call; передайте результат как входной элемент function_call_output с тем же call_id. Встроенные инструменты сервиса, например поиск в интернете или файлах, в этот список не входят.

tool_choice string | object Необязательно

Разрешает, требует или запрещает вызовы инструментов. Проверьте нужное значение с выбранной моделью.

Модели с повышенным кэшированием (HC)

deepseek-v4-pro-0813-hc и deepseek-v4.1-flash-hc — те же две модели, но с повышенным кэшированием. Если запросы используют общий префикс, например длинный системный промпт, список инструментов или постепенно растущую историю диалога, повторяющаяся часть оплачивается по тарифу кэшированного входа. В обычных версиях цена за токен ниже, но попадание в кэш не гарантируется.

Выбирайте HC, если большую часть каждого промпта составляет многократно отправляемый префикс. Если повторений мало, обычная модель дешевле. Формат запроса тот же: меняется только ID модели. Проверяйте число кэшированных входных токенов в usage, а не предполагайте попадание в кэш.

Тарифы в зависимости от времени суток

Обычные модели deepseek-v4.1-flash и deepseek-v4-pro-0813 оплачиваются по одному тарифу в любое время суток и день недели.

У двух моделей HC есть пиковые периоды. Все тарифы удваиваются по будням в периоды 09:00–12:00 и 14:00–18:00 по пекинскому времени (GMT+8): на вход, кэшированный вход и выход. В остальное время, а также весь день в субботу и воскресенье действуют непиковые тарифы, указанные в таблице моделей выше и в таблице цен.

Ответ

Без потоковой передачи запрос возвращает один JSON-объект. Ниже приведён сокращённый пример.

{
"id": "resp_example",
"object": "response",
"model": "deepseek-v4.1-flash",
"status": "completed",
"output": [
{
"type": "message",
"role": "assistant",
"content": [
{
"type": "output_text",
"text": "Retry with exponential backoff and jitter, and make every handler idempotent."
}
]
}
],
"usage": {
"input_tokens": 19,
"output_tokens": 16,
"total_tokens": 35
}
}

Поля ответа

ПолеТипОписание
idstringID ответа. Сохраняйте его вместе с ID запроса для обращений в поддержку и сверки расходов.
modelstringМодель, сформировавшая ответ.
statusstringcompleted означает, что ответ завершён.
output[]object[]Выходные элементы: message, reasoning и function_call. Свойство SDK output_text объединяет текстовые части ответа.
output[].content[].textstringТекст ответа из элемента message, в части типа output_text.
usageobjectКоличество токенов. Стоимость рассчитывается по фактическому использованию.

Потоковая передача

Установите "stream": true. Поток начинается с response.created, передаёт текст событиями response.output_text.delta и заканчивается response.completed.

  • Тип ответа — text/event-stream; без потоковой передачи — application/json.
  • Вызов функции поступает отдельным выходным элементом, а его аргументы передаются событиями response.function_call_arguments.delta.
  • Ошибка до вызова модели возвращается обычным JSON-ответом с HTTP-кодом, а не событием потока.
  • Явно задайте тайм-ауты и предусмотрите безопасное восстановление соединения при потоковой передаче.
event: response.created
data: {"type":"response.created","response":{"id":"resp_example","status":"in_progress"}}
event: response.output_text.delta
data: {"type":"response.output_text.delta","delta":"Retry"}
event: response.output_text.delta
data: {"type":"response.output_text.delta","delta":" with backoff"}
event: response.completed
data: {"type":"response.completed","response":{"id":"resp_example","status":"completed"}}

Устранение ошибок

Ошибка или симптомПричинаРешение
Текст ответа пустой или обрезанМодель потратила весь лимит max_output_tokens на рассуждения.Увеличьте max_output_tokens, не превышая максимальный объём вывода модели.
Ошибка с упоминанием previous_response_id, conversation, prompt или context_managementЭти поля для сохранения состояния не поддерживаются.Удалите их и передавайте всю историю в input.
402 insufficient_creditsБаланс меньше оценочной стоимости запроса, часто из-за слишком большого max_output_tokens.Пополните баланс или уменьшите max_output_tokens.
403 forbiddenНа аккаунте только регистрационный бонус, а модель не входит в разрешённый список, либо она недоступна группе ключа.Пополните баланс, выберите бесплатную модель или используйте ключ с доступом к нужной модели.
404 not_foundНеизвестный ID модели либо модель недоступна этому ключу.Получите список доступных моделей через GET /v1/models.
429 rate_limit_exceededДостигнут лимит запросов аккаунта или бесплатной модели.Подождите время, указанное в Retry-After, затем повторите запрос.

Обзор HTTP-ошибок

Ошибки до вызова модели используют поля BeatAPI error.code, error.message, retryable и request_id. Остальные сохраняют формат OpenAI SDK {"error": {"message", "type", "code"}}. Код находится в error.code, ID запроса — в конце message. См. ошибки.

HTTP-статусКодыЧто делать
400bad_request, content_policy_violationИсправьте запрос или ввод. Не отправляйте его повторно без изменений.
401missing_api_key, invalid_api_keyПроверьте ключ. Не повторяйте запрос без исправления.
402insufficient_creditsПополните баланс или увеличьте лимит ключа. Слишком высокий max_tokens может вызвать эту ошибку.
403forbiddenПроверьте группу ключа, список разрешённых IP и доступность модели за бесплатные кредиты.
404not_foundНеизвестная модель. Проверьте активные модели через GET /v1/models.
429rate_limit_exceededПодождите согласно Retry-After или retry_after_seconds, затем повторите запрос с увеличивающимися интервалами.
500internal_error, temporary_errorПовторите запрос один-два раза с увеличивающимися интервалами.
503model_unavailable, upstream_timeout, temporary_errorПовторите запрос с увеличивающимися интервалами или выберите другую модель.

Все коды и правила повторных запросов: ошибки.

Примечания

  • Модели DeepSeek также доступны через Chat Completions и Anthropic Messages.
  • Эти модели рассуждают перед ответом. Токены рассуждений входят в выходные токены и оплачиваются как вывод, поэтому оставляйте в max_output_tokens запас и для рассуждений, и для ответа.
  • Вход только текстовый: эти модели не принимают изображения.
  • Храните ключи на доверенных серверах, записывайте ID запроса из ответа и повторяйте запросы только при ошибках 429, 500 и 503.

Аутентификация

AuthorizationBearer

Передавайте API-ключ в виде Authorization: Bearer <BEATAPI_API_KEY>.

Запрос

This endpoint expects an object.
modelenumОбязательный

Точный ID модели.

Каждый ID обозначает отдельную модель, а не псевдоним другой модели.

Вызовите GET /v1/models со своим ключом, чтобы проверить, какие модели ему доступны.

Прежний ID deepseek-v4-flash-0731 продолжает работать и указан в разделе Старые модели.

deepseek-v4.1-flash, deepseek-v4-pro-0813, deepseek-v4.1-flash-hc, deepseek-v4-pro-0813-hc

Допустимые значения:
inputstring or list of objectsОбязательный

Промпт: строка либо массив входных элементов, например сообщений, вызовов функций и их результатов.

Состояние диалога не сохраняется на сервере. previous_response_id, conversation, prompt и context_management не поддерживаются: при каждом обращении передавайте всю историю в input.

instructionsstringОпциональный

Системная инструкция, добавляемая перед input.

max_output_tokensintegerОпциональный

Максимальное число генерируемых токенов, включая токены рассуждений.

Шлюз не сравнивает указанное значение с максимальным объёмом вывода модели из таблицы выше. Не превышайте этот предел.

Значение также используется для оценки необходимого баланса. Слишком большое значение может привести к 402 insufficient_credits, даже если фактический ответ был бы коротким. Указывайте столько токенов, сколько требуется задаче.

Модель с рассуждениями сначала генерирует рассуждения. Если max_output_tokens слишком мал, весь лимит может быть потрачен на них, и текст ответа будет пустым или обрезанным. Оставляйте запас и для рассуждений, и для ответа. В таком случае увеличьте лимит.

streambooleanОпциональныйПо умолчанию false

Передавать ответ потоком событий SSE. См. раздел о потоковой передаче ниже.

temperaturedoubleОпциональный

Температура семплирования. Меняйте либо этот параметр, либо top_p, но не оба одновременно.

top_pdoubleОпциональный

Порог суммарной вероятности для выборки (nucleus sampling).

toolslist of objectsОпциональный

Функции-инструменты, которые может вызвать модель. Модель возвращает элемент function_call; передайте результат как входной элемент function_call_output с тем же call_id. Встроенные инструменты сервиса, например поиск в интернете или файлах, в этот список не входят.

tool_choicestring or map from strings to anyОпциональный

Разрешает, требует или запрещает вызовы инструментов. Проверьте нужное значение с выбранной моделью.

Ответ

Без потоковой передачи запрос возвращает один JSON-объект. Ниже приведён сокращённый пример.

idstringОпциональный

ID ответа. Сохраняйте его вместе с ID запроса для обращений в поддержку и сверки расходов.

modelstringОпциональный

Модель, сформировавшая ответ.

statusstringОпциональный

completed означает, что ответ завершён.

outputlist of objectsОпциональный

Выходные элементы: message, reasoning и function_call. Свойство SDK output_text объединяет текстовые части ответа.

usageobjectОпциональный

Количество токенов. Стоимость рассчитывается по фактическому использованию.

Ошибки

400
Bad Request Error
401
Unauthorized Error
402
Payment Required Error
403
Forbidden Error
404
Not Found Error
429
Too Many Requests Error
500
Internal Server Error
503
Service Unavailable Error