跳转到主要内容

获取系统令牌(AccessToken)

在调用余额查询接口之前,您需要先获取系统令牌(AccessToken)。 1 进入账户设置页面 登录后访问 账户设置页面,点击「系统令牌」选项。系统令牌入口 2 验证账户密码 在弹出的对话框中输入您的账户密码进行身份验证。输入密码验证 3 获取 AccessToken 验证成功后,系统会显示您的 AccessToken。请立即复制保存。获取Token结果 安全警告
  • AccessToken 具有账户完全权限,请妥善保管
  • Token 只在创建时显示一次,无法再次查询
  • 生成新 Token 会使旧 Token 立即失效
  • 切勿在代码中硬编码或提交到公开仓库

接口说明

接口信息

项目说明
接口 URLhttps://api.yelinai.com/api/user/self
请求方法GET
认证方式Authorization Header
响应格式JSON (gzip 压缩)

请求 Headers

Header 名称必填说明
Authorization系统令牌,直接填写 Token 字符串
Accept建议设置为 application/json
Content-Type建议设置为 application/json

响应字段说明

成功响应示例:
{
  "success": true,
  "message": null,
  "data": {
    "username": "your_username",
    "display_name": "Your Name",
    "quota": 24997909,
    "used_quota": 10027091,
    "request_count": 339,
    "group": "svip"
  }
}
核心字段:
字段名类型说明
successBoolean请求是否成功
messageString错误信息(成功时为 null)
data.quotaInteger剩余额度(当前可用余额)
data.used_quotaInteger已使用额度
data.request_countInteger总请求次数
data.groupString用户所属组

额度换算公式

换算规则:500,000 额度 = $1.00 USD
  • 美金金额 = 额度 ÷ 500,000
  • 示例:quota: 24997909$49.99 USD(当前剩余余额)

代码示例

  • cURL
  • cURL 快速测试
  • Python
基础请求(必须添加 --compressed 选项):
curl --compressed 'https://api.yelinai.com/api/user/self' \
  -H 'Accept: application/json' \
  -H 'Authorization: YOUR_ACCESS_TOKEN' \
  -H 'Content-Type: application/json'
重要提示:必须添加 --compressed 选项,因为 API 返回 gzip 压缩内容,否则会得到乱码。 使用环境变量和 jq 提取核心信息:
export LAOZHANG_TOKEN='YOUR_ACCESS_TOKEN'

curl --compressed -s 'https://api.yelinai.com/api/user/self' \
  -H 'Accept: application/json' \
  -H "Authorization: $LAOZHANG_TOKEN" \
  -H 'Content-Type: application/json' | \
  jq '.data | {quota, used_quota, request_count}'
-s 选项隐藏进度条,--compressed 自动解压 gzip 响应。
import requests

# 配置
url = "https://api.yelinai.com/api/user/self"
access_token = "YOUR_ACCESS_TOKEN"  # 替换为你的令牌

# 请求头
headers = {
    'Accept': 'application/json',
    'Authorization': access_token,
    'Content-Type': 'application/json'
}

# 发送请求
response = requests.get(url, headers=headers, timeout=10)

# 检查响应
if response.status_code == 200:
    data = response.json()
    user_data = data['data']

    # 提取核心信息
    quota = user_data['quota']
    used_quota = user_data['used_quota']
    request_count = user_data['request_count']

    # 计算美金金额(500,000 额度 = $1.00 USD)
    remaining_usd = quota / 500000
    used_usd = used_quota / 500000

    # 打印结果
    print(f"剩余额度:\`$\{remaining_usd:.2f} USD ({quota:,} 额度)")
    print(f"已使用:\`$\{used_usd:.2f} USD ({used_quota:,} 额度)")
    print(f"请求次数:{request_count:,} 次")
else:
    print(f"请求失败:HTTP {response.status_code}")
    print(response.text)
Python 的 requests 库会自动处理 gzip 解压,无需额外配置。

错误处理

HTTP 401 - 认证失败

{
  "success": false,
  "message": "Unauthorized"
}
原因:Authorization 令牌无效或已过期 解决方法:检查并更新系统令牌

HTTP 403 - 权限不足

{
  "success": false,
  "message": "Forbidden"
}
原因:当前令牌无权访问该接口 解决方法:联系管理员确认权限配置

常见问题

quota 字段代表什么? quota 字段就是当前的剩余额度(可用余额)。如果 quota 为 0 或接近 0,说明账户余额不足,需要及时充值。 如何计算剩余美金金额? 使用公式:剩余美金 = quota ÷ 500,000例如:quota: 24997909 → $49.99 USD curl 命令返回乱码怎么办? 原因:API 返回 gzip 压缩内容,curl 没有自动解压。解决方案:添加 --compressed 选项:
# 正确
curl --compressed 'https://api.yelinai.com/api/user/self' -H 'Authorization: YOUR_TOKEN'

# 错误(会乱码)
curl 'https://api.yelinai.com/api/user/self' -H 'Authorization: YOUR_TOKEN'
jq 报错 Invalid numeric literal 怎么办? 这通常是因为 curl 没有解压 gzip 内容。添加 --compressed 选项即可解决。 ModelFixedPrice 字段有什么用? 该字段返回各个 AI 模型的定价信息。如果您只关心余额信息,可以忽略该字段。 如何实现余额告警? 可以编写定时脚本定期查询余额,当 quota 低于设定阈值时发送告警通知(如邮件、Slack、企业微信等)。

注意事项

安全性

  • 使用环境变量管理 Token
  • 不要提交到公开仓库
  • 定期更换 Token

请求限制

  • 设置合理超时时间(推荐 10 秒)
  • 避免过于频繁的查询
  • 建议查询间隔 ≥ 1 分钟

异常处理

  • 处理网络异常和超时
  • 处理认证失败情况
  • 记录错误日志便于排查

响应格式

  • API 返回 gzip 压缩内容
  • curl 必须添加 --compressed
  • requests 库自动处理