API 文档

dingyue.app API Key 使用说明

本文面向已经拿到 API Key 的客户,说明如何配置基础地址、发送请求、查看模型列表、查询余额用量和处理常见错误。 API Key 属于敏感凭证,请只保存在你自己的服务端、终端环境变量或可信配置中。

基础配置

客户调用入口固定为:

https://dingyue.app/api/proxy

API Key 格式通常如下:

dy_sk_your_api_key

请求时可以任选一种鉴权方式:

  • x-api-key: dy_sk_your_api_key
  • Authorization: Bearer dy_sk_your_api_key
  • anthropic-auth-token: dy_sk_your_api_key

Claude Code

在终端设置两个环境变量后启动 Claude Code:

ANTHROPIC_AUTH_TOKEN="dy_sk_your_api_key" \
ANTHROPIC_BASE_URL="https://dingyue.app/api/proxy" \
claude

Anthropic SDK

Python

import anthropic

client = anthropic.Anthropic(
    api_key="dy_sk_your_api_key",
    base_url="https://dingyue.app/api/proxy",
)

message = client.messages.create(
    model="claude-sonnet-4-6",
    max_tokens=1024,
    messages=[{"role": "user", "content": "Hello!"}],
)

print(message.content[0].text)

Node.js

import Anthropic from "@anthropic-ai/sdk";

const client = new Anthropic({
  apiKey: process.env.ANTHROPIC_AUTH_TOKEN,
  baseURL: "https://dingyue.app/api/proxy",
});

const message = await client.messages.create({
  model: "claude-sonnet-4-6",
  max_tokens: 1024,
  messages: [{ role: "user", content: "Hello!" }],
});

console.log(message.content[0].text);

HTTP / cURL

非流式请求

curl https://dingyue.app/api/proxy/v1/messages \
  -H "x-api-key: dy_sk_your_api_key" \
  -H "content-type: application/json" \
  -H "anthropic-version: 2023-06-01" \
  -d '{
    "model": "claude-sonnet-4-6",
    "max_tokens": 1024,
    "messages": [{"role": "user", "content": "Hello!"}]
  }'

流式请求

curl https://dingyue.app/api/proxy/v1/messages \
  -H "x-api-key: dy_sk_your_api_key" \
  -H "content-type: application/json" \
  -H "anthropic-version: 2023-06-01" \
  -d '{
    "model": "claude-sonnet-4-6",
    "max_tokens": 1024,
    "stream": true,
    "messages": [{"role": "user", "content": "Hello!"}]
  }'

Token 预估

可以使用 count_tokens 在正式生成前预估输入 token。

curl https://dingyue.app/api/proxy/v1/messages/count_tokens \
  -H "x-api-key: dy_sk_your_api_key" \
  -H "content-type: application/json" \
  -H "anthropic-version: 2023-06-01" \
  -d '{
    "model": "claude-sonnet-4-6",
    "messages": [{"role": "user", "content": "Hello!"}]
  }'

模型列表

查询当前可用模型:

curl https://dingyue.app/api/proxy/v1/models \
  -H "x-api-key: dy_sk_your_api_key"
模型
claude-opus-4-6
claude-sonnet-4-6
claude-haiku-4-5
claude-opus-4-7
gpt-5.3-codex
gpt-5.4
gpt-5.5

余额与用量

余额和调用记录接口使用同一个 API Key 鉴权,只返回当前 key 所属账户的数据。金额字段单位为microcents,即 1 USD = 100,000,000 microcents。

查询账户余额

curl https://dingyue.app/api/proxy/v1/me \
  -H "x-api-key: dy_sk_your_api_key"

响应中的 available_microcents等于余额减去正在预留中的金额。

{
  "account": {
    "id": "acct_xxx",
    "status": "active",
    "balance_microcents": 1000000000,
    "reserved_microcents": 0,
    "available_microcents": 1000000000
  },
  "key": {
    "id": "key_xxx",
    "key_preview": "dy_sk_xx...xxxxxx",
    "status": "active"
  }
}

查询调用记录

limit可选,默认 50,范围 1-200。

curl "https://dingyue.app/api/proxy/v1/usage?limit=50" \
  -H "x-api-key: dy_sk_your_api_key"

查询余额流水

流水包含充值调整和调用扣费,扣费记录的amount_microcents为负数。

curl "https://dingyue.app/api/proxy/v1/ledger?limit=50" \
  -H "x-api-key: dy_sk_your_api_key"

错误处理

错误响应使用 JSON 格式:

{
  "type": "error",
  "error": {
    "type": "billing_error",
    "message": "insufficient balance"
  }
}
状态码类型说明
401authentication_errorAPI Key 缺失、错误、已撤销或账户不可用
402billing_error余额不足,请充值后重试
400invalid_request_error请求格式错误、模型不可用或使用了暂不支持的功能
429rate_limit_error请求过于频繁,请稍后重试
5xxapi_error服务暂时不可用,请稍后重试

如果返回 402 billing_error, 表示账户余额不足,需要充值后再继续调用。

安全建议

  • 不要把 API Key 写入前端网页、公开仓库、截图或日志。
  • 如果怀疑 API Key 泄露,请联系管理员撤销旧 key 并重新生成。
  • 生产环境建议通过环境变量读取 API Key,不要硬编码在源码里。