curl --request POST \
--url https://direct.evolink.ai/v1/chat/completions \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"model": "deepseek-v4-flash",
"messages": [
{
"role": "user",
"content": "Please introduce yourself"
}
]
}
'{
"id": "837f529d-00f9-4731-b2e1-4a54fc31790a",
"object": "chat.completion",
"created": 1777026806,
"model": "deepseek-v4-flash",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "Hello! I am the DeepSeek assistant, always ready to answer your questions and help you out."
},
"logprobs": null,
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 7,
"completion_tokens": 31,
"total_tokens": 38,
"prompt_tokens_details": {
"cached_tokens": 0
},
"prompt_cache_hit_tokens": 0,
"prompt_cache_miss_tokens": 7
},
"system_fingerprint": "fp_evolink_v4_20260402"
}DeepSeek V4 - OpenAI-Compatible API
- Call the DeepSeek V4 model using the OpenAI Chat Completions protocol
- Supports three models:
deepseek-v4-flash(fast general-purpose),deepseek-v4-pro(deep reasoning), anddeepseek-v4-flash-vision-exp(image understanding) - Plain text conversation: Single- or multi-turn contextual dialogue with 1M ultra-long context
- Image understanding:
deepseek-v4-flash-vision-expaccepts mixed text and images in one message and supports multiple images - System prompts: Customize the AI’s role and behavior
- Thinking mode: Control deep reasoning via
thinking.type;deepseek-v4-proreturns thinking content throughreasoning_content - Streaming output: SSE streaming returns are supported
- Tool calling: Supports Function Calling (up to 128 tools)
- JSON mode: Enabled via
response_format - Context caching: Requests with identical prefixes automatically hit the cache, substantially lowering input cost
Unknown parameter behavior: Unrecognized top-level fields in the request body are silently ignored by the upstream without an error. Misspelled parameter names produce no warning, so use only the fields listed in this reference.
curl --request POST \
--url https://direct.evolink.ai/v1/chat/completions \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"model": "deepseek-v4-flash",
"messages": [
{
"role": "user",
"content": "Please introduce yourself"
}
]
}
'{
"id": "837f529d-00f9-4731-b2e1-4a54fc31790a",
"object": "chat.completion",
"created": 1777026806,
"model": "deepseek-v4-flash",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "Hello! I am the DeepSeek assistant, always ready to answer your questions and help you out."
},
"logprobs": null,
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 7,
"completion_tokens": 31,
"total_tokens": 38,
"prompt_tokens_details": {
"cached_tokens": 0
},
"prompt_cache_hit_tokens": 0,
"prompt_cache_miss_tokens": 7
},
"system_fingerprint": "fp_evolink_v4_20260402"
}https://direct.evolink.ai, which has better support for text models and long-lived connections. https://api.evolink.ai is the primary endpoint for multimodal services and serves as a fallback address for text models.Authorizations
##All APIs require Bearer Token authentication##
Get API Key:
Visit the API Key Management Page to obtain your API Key
Add to request header:
Authorization: Bearer YOUR_API_KEY
Body
Chat model name
deepseek-v4-flash: Fast general-purpose model, 1M contextdeepseek-v4-pro: Deep reasoning model, excels at math, programming, and complex logicdeepseek-v4-flash-vision-exp: Experimental model with native image understanding based on Flash; its text capabilities, parameters, and pricing match Flash
Tip: All three models have thinking enabled by default, and responses include reasoning_content. Set thinking.type="disabled" to turn it off and reduce output token cost.
Images are supported only by deepseek-v4-flash-vision-exp: Sending images to deepseek-v4-flash / deepseek-v4-pro returns HTTP 400 with This model does not support image.
Experimental notice: -exp marks an experimental upstream release. The model name and availability may change, so implement a fallback for production use.
deepseek-v4-flash, deepseek-v4-pro, deepseek-v4-flash-vision-exp "deepseek-v4-flash"
List of conversation messages, supports multi-turn dialogue
Messages with different roles have different field structures; select the corresponding role to view details
1- System Message
- User Message
- Assistant Message
- Tool Message
Show child attributes
Show child attributes
Thinking mode control (new in V4)
Notes:
- Controls the deep thinking (Chain of Thought) feature
- Enabled by default on both models (
type=enabled) - When enabled, the reasoning process is returned through
choices[].message.reasoning_contentand billed as output tokens
Multi-turn / tool-calling caveat: If the current response includes reasoning_content, the corresponding assistant message in the messages history of the next request must echo that field verbatim, otherwise the API returns 400 The reasoning_content in the thinking mode must be passed back to the API. If you would rather not handle it, set thinking.type="disabled" explicitly for the whole session.
Show child attributes
Show child attributes
Sampling temperature, controls randomness of output
Notes:
- Lower values (e.g., 0.2): More deterministic, more focused output
- Higher values (e.g., 1.5): More random, more creative output
- Default: 1
0 <= x <= 21
Nucleus sampling parameter
Notes:
- Controls sampling from tokens with cumulative probability
- For example, 0.9 means sampling from tokens whose cumulative probability reaches 90%
- Default: 1.0 (considers all tokens)
Suggestion: Do not adjust temperature and top_p simultaneously
0 <= x <= 11
Limits the maximum number of tokens generated
Notes:
- The V4 series can reach up to 384,000 tokens
- When thinking is enabled, reasoning_tokens also count toward the max_tokens limit
- If not set, the model decides the generation length on its own
1 <= x <= 3840004096
Specifies the response format
Notes:
- Set to
{"type": "json_object"}to enable JSON mode - In JSON mode the model outputs valid JSON content
- For best results, explicitly ask for JSON output in your system or user message
Show child attributes
Show child attributes
Stop sequences; generation stops when the model encounters any of these strings
Notes:
- Can be a single string or an array of strings
- Up to 16 stop sequences are supported
Whether to stream the response
true: Stream response; returns content chunk by chunk in real time via SSE (Server-Sent Events)false: Wait for the full response and return it at once (default)
false
Streaming response options
Only effective when stream=true
Show child attributes
Show child attributes
List of tool definitions for Function Calling
Notes:
- Up to 128 tool definitions are supported
- Each tool must define a name, description, and parameter schema
128Show child attributes
Show child attributes
Controls tool-calling behavior
Options:
none: Do not call any toolauto: Let the model decide whether to call a tool (default when tools are provided)required: Force the model to call one or more tools- Object form
{"type":"function","function":{"name":"xxx"}}: Call the specified tool
Default: none when no tools are provided, auto when tools are provided
none, auto, required Whether to return token log probabilities
Notes:
- When set to
true, the response includes log probability information for each token
Return log probabilities of the top N tokens
Notes:
- Requires
logprobsto betrue - Range:
[0, 20]
0 <= x <= 20Response
Chat completion successful
Unique identifier for the chat completion
"53c548dc-ec02-4a2f-bbb6-eca4184630b8"
Model name actually used
"deepseek-v4-flash"
Response type
chat.completion "chat.completion"
Creation timestamp (Unix seconds)
1777021417
List of completion choices
Show child attributes
Show child attributes
Token usage statistics (including cache and reasoning breakdowns)
Show child attributes
Show child attributes
System fingerprint identifier
"fp_evolink_v4_20260402"