Understand DeepSeek parameter differences and usage across compatible protocols.
For DeepSeek models, adjust your chosen protocol's parameters using this page. See Chat Completions, Responses and Messages for full request and response structures.
Both models enable thinking by default and support enabled/disabled
reasoning_effort
none disables thinking; low/high/max enables it, defaulting to high. Compatibility levels map minimal to low, medium/xhigh to high, and ultra to max
temperature
Range: 0~2; supplied values are ignored in thinking mode
top_p
Flash: effective thinking-mode range 0.95~1; values below 0.95 become 0.95. Non-thinking mode fixes it at 1. Pro: supplied values are ignored in thinking mode, fixed at 0.95 with tools, otherwise 1; effective in non-thinking mode
max_tokens
DeepSeek still uses this field and has not deprecated it; range: 1~393216. Default: 8192 without thinking, 65536 with thinking, or 131072 at effort max
presence_penalty, frequency_penalty
Officially deprecated; supplied values have no effect
stop
String or string array; at most 16 stop strings
response_format.type
Supports text/json_object; JSON mode also requires explicitly requesting JSON in the prompt
tools, tool_choice
Function Tools only; required or a named function returns 400 in thinking mode. Disable thinking first
Historical reasoning_content
With thinking enabled and tools supplied, replay all historical assistant thinking, including turns without tool calls. Without tools, historical thinking is ignored
stream_options.include_usage
Only usable with stream: true. Either way, the last content chunk contains full usage, with no separate choices: [] usage chunk. When enabled, earlier chunks have usage set to null
user_id
DeepSeek extension: up to 512 characters; only letters, digits, underscores and hyphens. Isolates users, caches and scheduling; exclude personal information
Provide at least one; instructions becomes the first system message, and role developer is treated as user
reasoning.effort
Default: high; supports none/low/high/max, with compatibility mappings from the table above; none disables thinking
temperature, top_p
Values and thinking-mode behavior follow the table above; note Flash / Pro differences
previous_response_id, conversation, store
Stateless API; values are ignored. Replay historical input and output. Responses are fixed at previous_response_id: null and store: false
text.format
Supports text/json_object/json_schema; JSON Schema requires name and schema
text.verbosity, reasoning.summary
The former has no effect; the latter produces no summary. Historical reasoning only supports plaintext content, not summary/encrypted_content
tools
Supports Function Tools; Custom Tools must be named apply_patch, otherwise 400. web_search works only on Pro and is ignored by Flash; file_search, code_interpreter, computer_use and mcp are ignored
tool_choice
Supports none/auto/required and a named Function Tool
parallel_tool_calls, max_tool_calls
Values are ignored; parallel tool calls are always enabled, and response parallel_tool_calls is fixed at true
truncation
Ignored; no automatic truncation. Input exceeding the context limit returns 400
DeepSeek ignores this Header; Anthropic version dates do not change its field rules
thinking, output_config.effort
Thinking is enabled by default; thinking.type supports enabled/disabled, while budget_tokens is ignored. Effort uses low/high/max, defaulting to high, with Chat's compatibility mappings; output_config only supports effort
temperature, top_p
Values and thinking-mode behavior follow the Chat table; top_k is ignored
tool_choice.type
Supports none/auto/any/tool; disable_parallel_tool_use is ignored
metadata
Only user_id is supported; other fields are ignored
container, mcp_servers, service_tier
Values are ignored
Text and tool results
Text-block citations and tool-result is_error are ignored; see the cache table for markers
Content blocks
Does not support document, search_result, redacted_thinking, code_execution_tool_result, mcp_tool_use, mcp_tool_result or container_upload
Only deepseek-flash supports images; deepseek-v4-pro does not.
Input
Protocol content block
Difference
Image
image_url
Chat: image_url.url uses a public URL or Base64 Data URL
Image
input_image
Responses: image_url uses a public URL or Base64 Data URL in user / developer messages or tool outputs. Images in system / assistant messages return 400
Image
image
Messages: provide url for source.type=url; provide media_type and data for source.type=base64
Field
Difference
detail
Chat uses image_url; Responses uses the content block. Supports low/high/original/auto; low scales to 512×512; the other three values are currently equivalent
Image format and size
JPEG, PNG, GIF or WebP; maximum 32 MiB per URL / Base64 image and 48 MiB per request body, including Base64 encoding
Image URL
Up to 8192 characters; must finish downloading within 60 seconds