curl --request POST \
--url https://direct.evolink.ai/v1/responses \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"model": "kimi-k3.1-pro",
"input": "Reply with OK.",
"reasoning": {
"effort": "low"
},
"max_output_tokens": 1024
}
'{
"id": "resp_68f0c1c2d3e4f5a6b7c8d9e0",
"object": "response",
"created_at": 123,
"completed_at": 123,
"status": "in_progress",
"model": "<string>",
"output": [
{
"type": "reasoning",
"id": "rs_68f0c1c2d3e4f5a6b7c8d9e0",
"summary": [
{
"type": "summary_text",
"text": "<string>"
}
],
"encrypted_content": "<string>",
"status": "in_progress"
}
],
"usage": {
"input_tokens": 123,
"input_tokens_details": {
"cached_tokens": 123,
"cache_write_tokens": 123
},
"output_tokens": 123,
"output_tokens_details": {
"reasoning_tokens": 123
},
"total_tokens": 123
},
"incomplete_details": {
"reason": "max_output_tokens"
},
"error": {
"code": "<string>",
"message": "<string>"
},
"instructions": "<string>",
"reasoning": {},
"text": {},
"tools": [
{
"type": "function",
"name": "<string>",
"description": "<string>",
"parameters": {},
"strict": true
}
],
"tool_choice": "auto",
"max_output_tokens": 123,
"temperature": 123,
"top_p": 123,
"parallel_tool_calls": true,
"service_tier": "<string>",
"store": true,
"background": true,
"previous_response_id": "<string>",
"conversation": {},
"prompt_cache_options": {
"mode": "implicit",
"ttl": "5m"
}
}{
"error": {
"message": "<string>",
"type": "<string>",
"code": "<string>"
}
}{
"error": {
"message": "<string>",
"type": "<string>",
"code": "<string>"
}
}{
"error": {
"message": "<string>",
"type": "<string>",
"code": "<string>"
}
}{
"error": {
"message": "<string>",
"type": "<string>",
"code": "<string>"
}
}{
"error": {
"message": "<string>",
"type": "<string>",
"code": "<string>"
}
}Kimi API (All Models) - Responses Full Reference
Set reasoning effort with reasoning.effort and caching with prompt_cache_options. Search appears as web_search_call output items. For streaming, handle response.completed / response.incomplete / response.failed; hitting the output limit returns incomplete. Multi-turn requests must include the full output history, including reasoning, tool calls, and results.
curl --request POST \
--url https://direct.evolink.ai/v1/responses \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"model": "kimi-k3.1-pro",
"input": "Reply with OK.",
"reasoning": {
"effort": "low"
},
"max_output_tokens": 1024
}
'{
"id": "resp_68f0c1c2d3e4f5a6b7c8d9e0",
"object": "response",
"created_at": 123,
"completed_at": 123,
"status": "in_progress",
"model": "<string>",
"output": [
{
"type": "reasoning",
"id": "rs_68f0c1c2d3e4f5a6b7c8d9e0",
"summary": [
{
"type": "summary_text",
"text": "<string>"
}
],
"encrypted_content": "<string>",
"status": "in_progress"
}
],
"usage": {
"input_tokens": 123,
"input_tokens_details": {
"cached_tokens": 123,
"cache_write_tokens": 123
},
"output_tokens": 123,
"output_tokens_details": {
"reasoning_tokens": 123
},
"total_tokens": 123
},
"incomplete_details": {
"reason": "max_output_tokens"
},
"error": {
"code": "<string>",
"message": "<string>"
},
"instructions": "<string>",
"reasoning": {},
"text": {},
"tools": [
{
"type": "function",
"name": "<string>",
"description": "<string>",
"parameters": {},
"strict": true
}
],
"tool_choice": "auto",
"max_output_tokens": 123,
"temperature": 123,
"top_p": 123,
"parallel_tool_calls": true,
"service_tier": "<string>",
"store": true,
"background": true,
"previous_response_id": "<string>",
"conversation": {},
"prompt_cache_options": {
"mode": "implicit",
"ttl": "5m"
}
}{
"error": {
"message": "<string>",
"type": "<string>",
"code": "<string>"
}
}{
"error": {
"message": "<string>",
"type": "<string>",
"code": "<string>"
}
}{
"error": {
"message": "<string>",
"type": "<string>",
"code": "<string>"
}
}{
"error": {
"message": "<string>",
"type": "<string>",
"code": "<string>"
}
}{
"error": {
"message": "<string>",
"type": "<string>",
"code": "<string>"
}
}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 API Key Management Page to get your API Key
Add to request header:
Authorization: Bearer YOUR_API_KEY
Body
Model to call:
| Model ID | Positioning | Reasoning effort |
|---|---|---|
kimi-k3.1-pro | Latest-generation model (recommended) | low / high / max, default max |
kimi-k3.1-pro-highspeed | Same parameters as Pro, faster generation | Same as kimi-k3.1-pro |
kimi-k3 | Previous-generation model | Only max |
All three models have a context window of 1,048,576 tokens and always have reasoning enabled.
Structured output (text.format) and cache write TTL (prompt_cache_options) are supported only by the K3.1 series, not by kimi-k3.
kimi-k3.1-pro, kimi-k3.1-pro-highspeed, kimi-k3 Request input. A string is equivalent to one user message. An array contains typed items in order and may include conversation history, tool calls, and tool results.
Top-level system instructions, applied before all other instructions.
When true, returns the response as an SSE stream.
Maximum generated tokens, including reasoning and the final answer. Default: 131072; maximum: 1048576, also limited by the remaining context.
1 <= x <= 1048576Reasoning configuration.
Show child attributes
Show child attributes
Output text configuration.
Show child attributes
Show child attributes
Tools that the model may call.
Tool definition, distinguished by type. Supports function, custom (only apply_patch), namespace, and web_search; other tool types are unsupported.
- Function tool
- Custom tool
- Namespace tool
- Web search tool
Show child attributes
Show child attributes
Controls tool use. With auto, the model decides whether to call a tool.
auto Additional fields to return, only for web_search. web_search_call.action.sources includes matched web sources; web_search_call.results includes image search results.
web_search_call.results, web_search_call.action.sources Context cache write options, supported only by kimi-k3.1-pro / kimi-k3.1-pro-highspeed; kimi-k3 does not support this parameter. When omitted, a 5m cache is written automatically by default. Writes and reads are billed separately.
Show child attributes
Show child attributes
Sampling temperature, fixed by the model at 1; omit this field. kimi-k3.1-pro / kimi-k3.1-pro-highspeed automatically ignore it; kimi-k3 returns an error for unsupported values.
Nucleus sampling threshold, fixed by the model at 0.95; omit this field. kimi-k3.1-pro / kimi-k3.1-pro-highspeed automatically ignore it; kimi-k3 returns an error for unsupported values.
Response
Response created successfully
A model response.
Unique response identifier.
"resp_68f0c1c2d3e4f5a6b7c8d9e0"
response Unix timestamp when the response was created.
Unix timestamp when the response ended. Present when status is completed or incomplete; null for in_progress or failed.
Response status. The initial streaming snapshot has status in_progress.
in_progress, completed, incomplete, failed Model that generated this response.
Output item array, ordered as web_search_call (if any), reasoning, message, and tool calls.
An output-array element, distinguished by type.
- Reasoning
- Message
- Function Call
- Custom tool call
- Web search call
Show child attributes
Show child attributes
input_tokens includes cache reads and writes. For the K3.1 series, subtract cached_tokens and cache_write_tokens to obtain regular input; for kimi-k3, subtract only cached_tokens. output_tokens already includes reasoning.
Show child attributes
Show child attributes
Reason provided when status is incomplete.
Show child attributes
Show child attributes
Error details provided when status is failed.
Show child attributes
Show child attributes
Tool definition, distinguished by type. Supports function, custom (only apply_patch), namespace, and web_search; other tool types are unsupported.
- Function tool
- Custom tool
- Namespace tool
- Web search tool
Show child attributes
Show child attributes
Controls tool use. With auto, the model decides whether to call a tool.
auto Always false.
Always false.
Always null.
Always null.
Context cache-write options actually applied by the server. If prompt_cache_options was omitted, use the mode and ttl returned here.
Show child attributes
Show child attributes