API 参考
基础信息
- Base URL:
https://open.dieyuyun.com - 认证方式: Bearer Token 或
x-api-key头(在控制台获取 API Key) - 协议: HTTPS
文本生成接口,支持多轮对话、流式输出。
请求
POST /v1/chat/completions请求参数
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| model | string | 是 | 模型代码,如 deepseek-v4-flash |
| messages | array | 是 | 消息列表 |
| messages.role | string | 是 | 角色:system、user、assistant |
| messages.content | string | 是 | 消息内容 |
| temperature | number | 否 | 温度参数,0-2,默认 1 |
| max_tokens | integer | 否 | 最大生成 Token 数 |
| top_p | number | 否 | 核采样参数,0-1,默认 1 |
| stream | boolean | 否 | 是否流式输出,默认 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>
请求参数
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| model | string | 是 | 模型代码,如 deepseek-v4-flash |
| messages | array | 是 | 消息列表 |
| messages.role | string | 是 | 角色:user、assistant |
| messages.content | string/array | 是 | 消息内容,支持字符串或 content block 数组 |
| system | string/array | 否 | 系统提示词,支持字符串或 content block 数组 |
| max_tokens | integer | 是 | 最大生成 Token 数 |
| temperature | number | 否 | 温度参数,0-1,默认 1 |
| top_p | number | 否 | 核采样参数,0-1,默认 1 |
| stream | boolean | 否 | 是否流式输出,默认 false |
| stop_sequences | array | 否 | 停止序列列表 |
请求示例
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_reason | OpenAI finish_reason | 说明 |
|---|---|---|
| end_turn | stop | 正常结束 |
| max_tokens | length | 达到最大长度 |
Search Completions(联网搜索)
联网搜索接口,结合实时搜索结果生成回答。
请求
POST /v1/search/completions请求参数
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| model | string | 是 | 固定值 web-search |
| messages | array | 是 | 消息列表,同 Chat Completions |
| stream | boolean | 否 | 是否流式输出,默认 false |
请求示例
json
{
"model": "deepseek-v4-flash",
"messages": [{ "role": "user", "content": "今天的科技新闻有哪些?" }]
}响应
响应格式与 Chat Completions 一致,回答中会包含搜索来源引用。
Images Generations(图片生成)
根据文本描述生成图片。
请求
POST /v1/images/generations请求参数
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| model | string | 是 | 图片生成模型代码 |
| prompt | string | 是 | 图片描述文本 |
| n | integer | 否 | 生成图片数量,默认 1 |
| size | string | 否 | 图片尺寸,如 1024x1024 |
| response_format | string | 否 | 返回格式: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 状态码 | 错误码 | 说明 |
|---|---|---|
| 400 | INVALID_PARAMS | 请求参数错误 |
| 401 | UNAUTHORIZED | API Key 无效或已过期 |
| 403 | FORBIDDEN | 无权限访问该资源 |
| 404 | MODEL_NOT_FOUND | 模型不存在或已下架 |
| 429 | RATE_LIMIT | 请求频率超过限制 |
| 500 | INTERNAL_ERROR | 服务器内部错误 |
| 502 | UPSTREAM_ERROR | 上游模型服务异常 |
| 504 | GATEWAY_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:建议重试等待时间(秒)