# 预算与限额

https://modelportal.ai/docs/budgets?lang=zh

控制花费和调用速度有四层手段，从账户到单次请求：

| 层级 | 手段 | 超出时 |
| --- | --- | --- |
| 账户 | 预付费余额 | 402 `insufficient_balance` |
| 密钥 | 每日、每月消费上限 | 402 `budget_exceeded` |
| 账户与密钥 | 每分钟请求数、同时进行的请求数 | 429 `rate_limited`，带 `Retry-After` |
| 单次请求 | `provider.max_price` 单价上限 | 超过上限的报价被排除，全部排除时 422 `no_eligible_endpoint` |

## 余额

每次调用前，平台按「输入估算 + 允许的最大输出」预估最高费用，可用余额覆盖不了时拒绝。没填最大输出时，平台会按可用余额把它收紧到付得起的值。计费规则见[计费](/docs/billing)。

## 密钥消费上限

在控制台「密钥」页给每把密钥设每日、每月上限，日与月按 UTC 切换（北京时间每天 8 点进入新的一天）。平台在调用前按预估费用判断，单次调用可能让实际花费略超上限，之后的调用会被拒绝。详见[密钥管理](/docs/api-keys)。

## 限流

账户每分钟请求数、单个密钥每分钟请求数、同时进行的请求数三项限额，默认值随账户累计充值分档提高，分档表见[常见错误](/docs/errors#限流)。

## 单价上限

```json
{"provider": {"max_price": {"prompt": 1, "completion": 4}}}
```

`prompt`、`completion` 的单位是 USD / 百万 tokens，`request` 是 USD / 次，`image` 是 USD / 张，填不带指数的非负数字（JSON 数值，不是字符串）。任一维度超过上限的报价不参与这次请求。
