Skip to content

API 参考

基础信息

  • Base URL: https://open.dieyuyun.com
  • 认证方式: Bearer Token 或 x-api-key 头(在控制台获取 API Key)
  • 协议: HTTPS

文本生成接口,支持多轮对话、流式输出。

请求

POST /v1/chat/completions

请求参数

参数类型必填说明
modelstring模型代码,如 deepseek-v4-flash
messagesarray消息列表
messages.rolestring角色:systemuserassistant
messages.contentstring消息内容
temperaturenumber温度参数,0-2,默认 1
max_tokensinteger最大生成 Token 数
top_pnumber核采样参数,0-1,默认 1
streamboolean是否流式输出,默认 false

请求示例

json
{
  "model": "deepseek-v4-flash",
  "messages": [
    { "role": "system", "content": "You are a helpful assistant." },
    { "role": "user", "content": "Hello!" }
  ],
  "temperature": 0.7,
  "max_tokens": 1024
}

响应

json
{
  "id": "chatcmpl-xxx",
  "object": "chat.completion",
  "created": 1700000000,
  "model": "deepseek-v4-flash",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "Hello! How can I help you today?"
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 20,
    "completion_tokens": 10,
    "total_tokens": 30
  }
}

流式响应

设置 stream: true 时,返回 Server-Sent Events 格式:

data: {"id":"chatcmpl-xxx","object":"chat.completion.chunk","choices":[{"delta":{"content":"Hello"},"finish_reason":null}]}

data: {"id":"chatcmpl-xxx","object":"chat.completion.chunk","choices":[{"delta":{"content":"!"},"finish_reason":null}]}

data: [DONE]

流式响应的最后一个 chunk 包含 usage 字段,用于统计 Token 用量。

Messages(Anthropic 兼容)

兼容 Anthropic Messages API 的文本生成接口,支持使用 Anthropic SDK 直接调用。

请求

POST /v1/messages

认证方式

支持以下两种方式:

  • x-api-key: <your-api-key>(推荐,Anthropic SDK 默认方式)
  • Authorization: Bearer <your-api-key>

请求参数

参数类型必填说明
modelstring模型代码,如 deepseek-v4-flash
messagesarray消息列表
messages.rolestring角色:userassistant
messages.contentstring/array消息内容,支持字符串或 content block 数组
systemstring/array系统提示词,支持字符串或 content block 数组
max_tokensinteger最大生成 Token 数
temperaturenumber温度参数,0-1,默认 1
top_pnumber核采样参数,0-1,默认 1
streamboolean是否流式输出,默认 false
stop_sequencesarray停止序列列表

请求示例

json
{
  "model": "deepseek-v4-flash",
  "max_tokens": 1024,
  "system": "You are a helpful assistant.",
  "messages": [{ "role": "user", "content": "Hello!" }]
}

使用 Anthropic Python SDK:

python
import anthropic

client = anthropic.Anthropic(
    base_url="https://open.dieyuyun.com",
    api_key="your-api-key"
)

message = client.messages.create(
    model="deepseek-v4-flash",
    max_tokens=1024,
    messages=[
        {"role": "user", "content": "Hello!"}
    ]
)
print(message.content[0].text)

响应

json
{
  "id": "msg_xxx",
  "type": "message",
  "role": "assistant",
  "model": "deepseek-v4-flash",
  "stop_reason": "end_turn",
  "stop_sequence": null,
  "content": [
    {
      "type": "text",
      "text": "Hello! How can I help you today?"
    }
  ],
  "usage": {
    "input_tokens": 10,
    "output_tokens": 10
  }
}

流式响应

设置 stream: true 时,返回 Server-Sent Events 格式,事件序列为:

event: message_start
data: {"type":"message_start","message":{"id":"msg_xxx","type":"message","role":"assistant","model":"deepseek-v4-flash","stop_reason":null,"usage":{"input_tokens":10,"output_tokens":0}}}

event: content_block_start
data: {"type":"content_block_start","index":0,"content_block":{"type":"text","text":""}}

event: content_block_delta
data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"Hello"}}

event: content_block_delta
data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"!"}}

event: content_block_stop
data: {"type":"content_block_stop","index":0}

event: message_delta
data: {"type":"message_delta","delta":{"stop_reason":"end_turn"},"usage":{"output_tokens":10}}

event: message_stop
data: {"type":"message_stop"}

finish_reason 映射

Anthropic stop_reasonOpenAI finish_reason说明
end_turnstop正常结束
max_tokenslength达到最大长度

Search Completions(联网搜索)

联网搜索接口,结合实时搜索结果生成回答。

请求

POST /v1/search/completions

请求参数

参数类型必填说明
modelstring固定值 web-search
messagesarray消息列表,同 Chat Completions
streamboolean是否流式输出,默认 false

请求示例

json
{
  "model": "deepseek-v4-flash",
  "messages": [{ "role": "user", "content": "今天的科技新闻有哪些?" }]
}

响应

响应格式与 Chat Completions 一致,回答中会包含搜索来源引用。

Images Generations(图片生成)

根据文本描述生成图片。

请求

POST /v1/images/generations

请求参数

参数类型必填说明
modelstring图片生成模型代码
promptstring图片描述文本
ninteger生成图片数量,默认 1
sizestring图片尺寸,如 1024x1024
response_formatstring返回格式:url(默认)或 b64_json

请求示例

json
{
  "model": "gpt-image-2",
  "prompt": "A white cat sitting on a windowsill",
  "n": 1,
  "size": "1024x1024"
}

响应

json
{
  "created": 1700000000,
  "data": [
    {
      "url": "https://cdn.dieyuyun.com/images/xxx.png"
    }
  ]
}

Balance(余额查询)

用于查询当前 API Key 所属租户的可用余额,以及该 Key 的日/月预算使用情况。适用于 CC Switch 等第三方工具的"用量查询"功能。

请求

http
GET /v1/balance HTTP/1.1
Host: open.dieyuyun.com
Authorization: Bearer sk-xxxxxxxxxxxxxxxx

无 query 参数、无请求体。

响应

json
{
  "object": "balance",
  "currency": "CNY",
  "balance": 138.5,
  "api_key": {
    "id": "1923456789012345678",
    "name": "claude-code",
    "daily_budget": 20.0,
    "daily_used": 3.25,
    "daily_remaining": 16.75,
    "daily_reset_at": "2026-06-09T00:00:00+08:00",
    "monthly_budget": null,
    "monthly_used": null,
    "monthly_remaining": null,
    "monthly_reset_at": null
  }
}
字段说明
currency固定 CNY(人民币)。
balance可用总额(元) = 充值余额 + 赠金余额。
api_key.id / api_key.name当前 API Key 的 ID 与名称。
api_key.daily_budget该 Key 的日预算(元),未设置则为 null
api_key.daily_used / daily_remaining当日已消费 / 剩余预算(元)。
api_key.daily_reset_at下一次日预算重置时间(ISO8601)。
api_key.monthly_*月预算相关字段,语义同上。

详见 接入 CC Switch 获取完整的第三方工具配置示例。

错误码

HTTP 状态码错误码说明
400INVALID_PARAMS请求参数错误
401UNAUTHORIZEDAPI Key 无效或已过期
403FORBIDDEN无权限访问该资源
404MODEL_NOT_FOUND模型不存在或已下架
429RATE_LIMIT请求频率超过限制
500INTERNAL_ERROR服务器内部错误
502UPSTREAM_ERROR上游模型服务异常
504GATEWAY_TIMEOUT请求超时

所有错误响应体均为 JSON 格式:

json
{
  "error": {
    "code": "RATE_LIMIT",
    "message": "Rate limit exceeded. Please retry after 60s.",
    "request_id": "req-xxx"
  }
}

request_id 可用于在控制台请求日志中追踪问题。

速率限制

  • 默认 RPM(每分钟请求数):60
  • 默认 TPM(每分钟 Token 数):100,000
  • 可在控制台为每个 API Key 单独配置限制

触发限流时返回 429 状态码,响应头中包含以下信息:

  • X-RateLimit-Limit:当前窗口总限制
  • X-RateLimit-Remaining:当前窗口剩余次数
  • Retry-After:建议重试等待时间(秒)