DeepSeek V4 Pro
DeepSeek V4 Pro is the larger model in the DeepSeek V4 family, served on Sarvam infrastructure as an open-weight model. It supports text input and output with a 1,000,000-token context window.
DeepSeek V4 Pro is in beta. Its behaviour, limits, and availability may change before general availability. Beta models must be enabled for your API key; without access, requests return 400 invalid_request_error (“This model is currently in beta”). Contact us to request access. See Beta models.
At a glance
Key capabilities
Moving from OpenRouter, Fireworks AI, or Together AI? The migration guides map model IDs and request fields to Sarvam.
Quickstart
Supported parameters
model: "deepseekv4-pro" on Chat Completion V2
and Responses. Full request/response schemas live on
those API reference pages; this table covers what’s actually accepted for this model.
On POST /v2/responses, logprobs is only populated when the request includes
"include": ["message.output_text.logprobs"]. Without it, output[].content[].logprobs
is always an empty array even if top_logprobs is set. Verified against the live API on
2026-10-22.
Reasoning
DeepSeek V4 Pro thinks by default at high effort.
Set the value with reasoning_effort on Chat Completion V2
or reasoning.effort on Responses. You can also turn thinking
off with thinking: {"type": "disabled"}, sent through extra_body in the SDKs:
Read the reasoning trace from choices[].message.reasoning_content on chat. On Responses,
output starts with a reasoning item; read its content[0].text (summary is empty).
Reasoning tokens are billed as output tokens and count against max_tokens /
max_output_tokens.
Tool calling
Pass OpenAI-compatible tools. tool_choice accepts "auto", "none", "required", or a
named function ({"type": "function", "function": {"name": "..."}}). Tool calling works with thinking on or off. The model
can return several tool calls in one turn; set parallel_tool_calls: false to get at most one.
Known limitations
- Text input only. Image, audio, and video parts return
400. - Reasoning and the final answer share the
max_tokens/max_output_tokensbudget. stopstrings apply to the answer only; a match inside the reasoning doesn’t end the response.- Structured output (
response_formaton chat,text.formaton Responses) turns reasoning off, even when you set an effort level. - Set
max_tokensexplicitly. When it’s omitted, generation isn’t capped at a small default and long answers can run to tens of thousands of tokens.