# 积分与计费

<a id="user-balance"></a>

<a id="账户余额"></a>

## 账户余额

先确认账户可用积分

GET `/v1/user/balance` 查询账户余额

使用 API Key，获取账户余额与累计成功消费。

请求示例

```
curl 'https://y.junlistudio.com/v1/user/balance' \
  -H 'Authorization: Bearer YOUR_API_KEY'
```

响应示例200 OK

```
{
  "object": "user.balance",
  "balance": 120.5,
  "used": 30,
  "total": 150.5
}
```

`balance` 为可用积分；`used` 为累计成功消费，失败退款不计入；`total` 为两者之和，不代表累计充值。生成中的预扣费已从余额扣除，成功后才计入消费。

<a id="billing-rules"></a>

## 计费与退款

 **计费** 

生成前预扣积分；图像或视频生成失败会自动退回。视频计费方式由模型的 `video_billing_mode` 指定：`per_request` 按所选分辨率每条收费一次；`per_second`（默认）按单价乘以 `seconds` 计算。

 **文本** 

支持按次或按实际 token 结算，返回模型支持协议的原生 JSON / SSE。输入、输出和缓存分别计价；调用结束后未取得用量时自动释放预留，不扣费。

文本支持按 token 或按次计费，积分保留八位小数。按 token 请求会先预留额度，再按实际输入、输出、缓存用量结算；预留不是最终费用。停止或中断的请求自动按已收到的用量结算；未返回用量时自动释放预留、不扣费，可在“积分流水”查看明细并按密钥筛选。原生文本请求可传 `Idempotency-Key`；重复提交返回 409 和已有请求编号，不会重复扣费。
