AGTCloud API Docs
GuidesAPI ReferenceIntegrations and resourcesUpdate and help
Vendor parameter differences

DeepSeek parameter and protocol differences

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.

Applicable models

ModelApplies to
deepseek-flashChat, Responses and Messages; image input supported
deepseek-v4-proChat, Responses and Messages; no image input; Responses supports server-side search

Chat Completions differences

FieldDifference
thinking.typeBoth models enable thinking by default and support enabled/disabled
reasoning_effortnone disables thinking; low/high/max enables it, defaulting to high. Compatibility levels map minimal to low, medium/xhigh to high, and ultra to max
temperatureRange: 0~2; supplied values are ignored in thinking mode
top_pFlash: 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_tokensDeepSeek 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_penaltyOfficially deprecated; supplied values have no effect
stopString or string array; at most 16 stop strings
response_format.typeSupports text/json_object; JSON mode also requires explicitly requesting JSON in the prompt
tools, tool_choiceFunction Tools only; required or a named function returns 400 in thinking mode. Disable thinking first
Historical reasoning_contentWith thinking enabled and tools supplied, replay all historical assistant thinking, including turns without tool calls. Without tools, historical thinking is ignored
stream_options.include_usageOnly 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_idDeepSeek extension: up to 512 characters; only letters, digits, underscores and hyphens. Isolates users, caches and scheduling; exclude personal information

Responses differences

FieldDifference
input, instructionsProvide at least one; instructions becomes the first system message, and role developer is treated as user
reasoning.effortDefault: high; supports none/low/high/max, with compatibility mappings from the table above; none disables thinking
temperature, top_pValues and thinking-mode behavior follow the table above; note Flash / Pro differences
previous_response_id, conversation, storeStateless API; values are ignored. Replay historical input and output. Responses are fixed at previous_response_id: null and store: false
text.formatSupports text/json_object/json_schema; JSON Schema requires name and schema
text.verbosity, reasoning.summaryThe former has no effect; the latter produces no summary. Historical reasoning only supports plaintext content, not summary/encrypted_content
toolsSupports 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_choiceSupports none/auto/required and a named Function Tool
parallel_tool_calls, max_tool_callsValues are ignored; parallel tool calls are always enabled, and response parallel_tool_calls is fixed at true
truncationIgnored; no automatic truncation. Input exceeding the context limit returns 400
background, metadata, include, promptValues are ignored
service_tier, safety_identifier, context_management, stream_optionsValues are ignored

Messages differences

FieldDifference
anthropic-versionDeepSeek ignores this Header; Anthropic version dates do not change its field rules
thinking, output_config.effortThinking 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_pValues and thinking-mode behavior follow the Chat table; top_k is ignored
tool_choice.typeSupports none/auto/any/tool; disable_parallel_tool_use is ignored
metadataOnly user_id is supported; other fields are ignored
container, mcp_servers, service_tierValues are ignored
Text and tool resultsText-block citations and tool-result is_error are ignored; see the cache table for markers
Content blocksDoes not support document, search_result, redacted_thinking, code_execution_tool_result, mcp_tool_use, mcp_tool_result or container_upload

Cache differences

FieldDifference
Automatic prefix cachingEnabled by default without cache configuration; later requests can hit fully matching cached prefix units, not arbitrary matching fragments
Responses prompt_cache_key and prompt_cache_retentionValues are ignored; caching is managed automatically
Messages cache_controlMarkers in content blocks and tool definitions are ignored
Cache usageChat: inspect usage.prompt_cache_hit_tokens and usage.prompt_cache_miss_tokens; Responses: inspect usage.input_tokens_details.cached_tokens

Media input differences

Only deepseek-flash supports images; deepseek-v4-pro does not.

InputProtocol content blockDifference
Imageimage_urlChat: image_url.url uses a public URL or Base64 Data URL
Imageinput_imageResponses: image_url uses a public URL or Base64 Data URL in user / developer messages or tool outputs. Images in system / assistant messages return 400
ImageimageMessages: provide url for source.type=url; provide media_type and data for source.type=base64
FieldDifference
detailChat 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 sizeJPEG, PNG, GIF or WebP; maximum 32 MiB per URL / Base64 image and 48 MiB per request body, including Base64 encoding
Image URLUp to 8192 characters; must finish downloading within 60 seconds

Request examples

Replace MODEL_ID with the full platform model ID and use your own API Key.

curl 'https://api.agtcloud.ai/v1/chat/completions' \
  -H 'Authorization: Bearer your-api-key' \
  -H 'Content-Type: application/json' \
  --data '{
    "model": "MODEL_ID",
    "messages": [{"role": "user", "content": "Explain how to troubleshoot an API timeout in three points"}],
    "thinking": {"type": "enabled"},
    "reasoning_effort": "high",
    "max_tokens": 4096
  }'

Official references

On this page