通过余额查询 API,你可以获取当前 DeepSeek API 账户的余额信息,包括可用总额、赠送余额和充值余额。在运行长时间任务或批量调用前检查余额,可以避免因余额不足导致的中断。
通过模型实例的 balance() 方法获取账户余额:
import { createModel } from 'deepseek-kit'
const model = createModel({ model: 'deepseek-v4-flash' })
const response = await model.balance()
console.log(response.is_available)
console.log(response.balance_infos)
返回结果包含 is_available 和 balance_infos 两个字段:
const response = await model.balance()
if (response.is_available) {
for (const info of response.balance_infos) {
console.log(`货币: ${info.currency}`)
console.log(`总余额: ${info.total_balance}`)
console.log(`赠送余额: ${info.granted_balance}`)
console.log(`充值余额: ${info.topped_up_balance}`)
}
}
else {
console.log('账户余额不足,无法进行 API 调用')
}
| 字段 | 说明 |
|---|
currency | 货币类型,'CNY'(人民币)或 'USD'(美元) |
total_balance | 总可用余额,包含赠送余额和充值余额 |
granted_balance | 未过期的赠送余额 |
topped_up_balance | 充值余额 |
在执行批量任务前检查余额,确保有足够的额度:
import { createModel } from 'deepseek-kit'
const model = createModel({ model: 'deepseek-v4-flash' })
async function checkBalanceBeforeRun() {
const response = await model.balance()
if (!response.is_available) {
throw new Error('余额不足,请充值后再试。')
}
const cnyInfo = response.balance_infos.find(b => b.currency === 'CNY')
if (cnyInfo) {
const total = Number.parseFloat(cnyInfo.total_balance)
if (total < 1) {
console.warn(`警告:余额仅剩 ${cnyInfo.total_balance} ${cnyInfo.currency},建议及时充值。`)
}
}
return response
}
await checkBalanceBeforeRun()
balance() 方法支持传入自定义配置,覆盖默认的 API Key、Base URL 或超时时间:
const response = await model.balance({
timeout: 10000,
})
balance_infosBalanceInfo[]
余额信息列表,按货币类型分别展示。