Skip to main content
POST
/
chat
/
completions
Create chat completion
curl --request POST \
  --url https://dimilinks.com/v1/chat/completions \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "model": "claude-sonnet-4-6",
  "messages": [
    {
      "content": "<string>",
      "name": "<string>",
      "tool_call_id": "<string>"
    }
  ],
  "stream": false,
  "temperature": 123,
  "top_p": 123,
  "max_tokens": 123,
  "stop": "<string>",
  "presence_penalty": 123,
  "frequency_penalty": 123,
  "tools": [
    {}
  ],
  "tool_choice": "<string>",
  "response_format": {},
  "user": "<string>"
}
'
{
  "id": "chatcmpl_xxx",
  "object": "chat.completion",
  "created": 1777080000,
  "model": "claude-sonnet-4-6",
  "choices": [
    {
      "index": 123,
      "message": {
        "content": "<string>",
        "name": "<string>",
        "tool_call_id": "<string>"
      },
      "finish_reason": "<string>"
    }
  ],
  "usage": {
    "prompt_tokens": 123,
    "completion_tokens": 123,
    "total_tokens": 123
  }
}
/v1/chat/completions 是 DimiLinks 推荐的对话入口。请求与响应结构与 OpenAI 官方接口保持一致,可直接使用 OpenAI SDK;只要把 model 换成对应名称,就可以调用 Claude、GPT、Grok 等所有文本模型。

请求地址

POST https://dimilinks.com/v1/chat/completions
Content-Type: application/json
Authorization: Bearer <DIMILINKS_API_KEY>

简单示例

curl "https://dimilinks.com/v1/chat/completions" \
  -H "Authorization: Bearer $DIMILINKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "claude-sonnet-4-6",
    "messages": [
      {"role": "system", "content": "你是一位简洁的中文助手。"},
      {"role": "user", "content": "用一句话解释什么是冥王星。"}
    ]
  }'
返回(节选):
{
  "id": "chatcmpl_xxx",
  "object": "chat.completion",
  "created": 1777080000,
  "model": "claude-sonnet-4-6",
  "choices": [
    {
      "index": 0,
      "message": { "role": "assistant", "content": "..." },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 32,
    "completion_tokens": 24,
    "total_tokens": 56
  }
}

流式输出

请求加上 "stream": true,服务端会以 text/event-stream 推回增量片段,最后以 data: [DONE] 结束。
curl "https://dimilinks.com/v1/chat/completions" \
  -H "Authorization: Bearer $DIMILINKS_API_KEY" \
  -H "Content-Type: application/json" \
  -N \
  -d '{
    "model": "gpt-5.5",
    "stream": true,
    "messages": [
      {"role": "user", "content": "写一首关于深海的四行小诗"}
    ]
  }'
每个事件结构:
data: {"id":"chatcmpl_xxx","object":"chat.completion.chunk","model":"gpt-5.5",
"choices":[{"index":0,"delta":{"content":"深"},"finish_reason":null}]}

参数

仅列出常用字段,未列出的字段如果模型支持则原样透传给上游。
参数类型默认值说明
modelstring必填模型 ID,例如 claude-sonnet-4-6claude-opus-4-7gpt-5.5gpt-5.4-minigrok-4.20-fast 等。
messagesarray必填消息数组,至少包含一条 role=userrole 支持 system / user / assistant / tool
streambooleanfalsetrue 时返回 SSE 流式片段。
temperaturenumber模型默认采样温度,0–2。
top_pnumber模型默认核采样概率,0–1。
max_tokensinteger模型默认单次输出最大 token;调用 Claude 系模型时建议显式设置。
stopstring | string[]命中即停止生成。
presence_penaltynumber0重复主题惩罚,-2 到 2。
frequency_penaltynumber0重复词惩罚,-2 到 2。
toolsarray工具调用定义,结构兼容 OpenAI Tool Calling。
tool_choicestring | objectauto控制是否强制调用某个工具。
response_formatobject请求 JSON 输出,例如 { "type": "json_object" }
userstring终端用户标识,用于审计与限流。

推荐模型

场景模型
通用对话 / 长文档claude-sonnet-4-6claude-opus-4-7gpt-5.5
复杂推理 / 编码claude-opus-4-7gpt-5.3-codexgpt-5.4
思考模式claude-opus-4-7-thinkingclaude-sonnet-4-6-thinkinggrok-4.20-0309-reasoning
低成本批量claude-haiku-4-5-20251001gpt-5.4-minideepseek-v4-flash
多模态视觉gpt-image-2(图片生成专用);视觉对话能力随模型而定,请先看 /v1/modelsinput_modalities

用 OpenAI SDK 调用

Python:
from openai import OpenAI

client = OpenAI(
    api_key="sk-...",
    base_url="https://dimilinks.com/v1",
)

response = client.chat.completions.create(
    model="claude-sonnet-4-6",
    messages=[
        {"role": "system", "content": "你是一位严谨的中文助手。"},
        {"role": "user", "content": "解释下傅里叶变换。"},
    ],
    max_tokens=1024,
)

print(response.choices[0].message.content)
Node.js:
import OpenAI from 'openai'

const client = new OpenAI({
  apiKey: process.env.DIMILINKS_API_KEY,
  baseURL: 'https://dimilinks.com/v1',
})

const response = await client.chat.completions.create({
  model: 'gpt-5.5',
  messages: [{ role: 'user', content: '你好' }],
})

工具调用 (Tool calling)

curl "https://dimilinks.com/v1/chat/completions" \
  -H "Authorization: Bearer $DIMILINKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "claude-sonnet-4-6",
    "messages": [
      {"role": "user", "content": "帮我查 Tokyo 现在的天气"}
    ],
    "tools": [
      {
        "type": "function",
        "function": {
          "name": "get_weather",
          "description": "查询某个城市的当前天气",
          "parameters": {
            "type": "object",
            "properties": {
              "city": {"type": "string"}
            },
            "required": ["city"]
          }
        }
      }
    ]
  }'
模型返回 tool_calls 后,再把工具执行结果以 role=tool 的消息放回 messages 继续调用即可。

错误处理

请求失败时返回 OpenAI 风格的 error 包装,详见 Errors。流式请求中如果上游断开,最后一个事件可能不是 [DONE],建议把「连接断开」也当作可重试错误。

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json
model
string
required
Example:

"claude-sonnet-4-6"

messages
object[]
required
stream
boolean
default:false
temperature
number
top_p
number
max_tokens
integer
stop
presence_penalty
number
frequency_penalty
number
tools
object[]
tool_choice
response_format
object
user
string

Response

Chat completion result. When stream is true the response is text/event-stream.

id
string
Example:

"chatcmpl_xxx"

object
string
Example:

"chat.completion"

created
integer
Example:

1777080000

model
string
Example:

"claude-sonnet-4-6"

choices
object[]
usage
object