> ## Documentation Index
> Fetch the complete documentation index at: https://ppio.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# LLM API 计费说明

> 了解 PPIO LLM API 的计费方式、HTTP 状态码对应计费规则，以及 499 断连场景的全额计费说明。

## 计费方式

PPIO LLM API 采用 **按 Token 用量计费** 的方式。每次 API 调用的费用由以下两部分组成：

* **输入 Token（Input Tokens）**：您发送给模型的 prompt 内容所消耗的 token 数
* **输出 Token（Output Tokens）**：模型生成的响应内容所消耗的 token 数

最终费用 = 输入 Token 数 × 输入单价 + 输出 Token 数 × 输出单价

<Info>
  不同模型的 Token 单价不同，请参阅 [模型定价页面](https://ppio.com/pricing) 查看各模型的具体价格。
</Info>

## HTTP 状态码

以下为 API 请求可能返回的 HTTP 状态码及对应说明：

| HTTP 状态码 | 名称                    | 说明                        | 是否计费                  |
| :------- | :-------------------- | :------------------------ | :-------------------- |
| 200      | 请求成功                  | 请求正常处理并返回结果               | **计费**                |
| 400      | Bad Request           | 请求参数不正确，请检查请求格式、字段名称或取值范围 | 不计费                   |
| 401      | Unauthorized          | API Key 设置不正确或未设置         | 不计费                   |
| 403      | Forbidden             | 权限不足，账户可能无权访问特定模型或需完成身份认证 | 不计费                   |
| 429      | Rate Limited          | 触发了速率限制（TPM 或 RPM 超限）     | 不计费                   |
| 499      | Client Disconnected   | 用户主动断开连接                  | [**计费**](#499-断连计费规则) |
| 500      | Internal Server Error | 服务器内部错误                   | 不计费                   |
| 503      | Service Unavailable   | 服务不可用，服务端过载或下游服务故障        | 不计费                   |
| 504      | Gateway Timeout       | 网关超时                      | 不计费                   |

**计费原则：**

* 请求未到达模型（如参数错误、认证失败、限流等）：**不计费**
* 平台原因返回报错（500/503/504）：**不计费**，平台承担
* 请求成功到达模型并开始推理（200/499）：**全额计费**

## 499 断连计费规则

当用户主动断开连接（HTTP 499）时，模型可能已在服务端执行推理并产生了资源消耗。计费规则如下：

| 请求模式            | 计费规则        |
| :-------------- | :---------- |
| Non-Stream（非流式） | 全额计费，不论何时断开 |
| Stream（流式）      | 全额计费，不论何时断开 |

当请求已发送至模型并开始推理后，无论用户在何时断开连接，均按**全额计费**。

<Tip>
  **最佳实践**

  * 合理设置 `max_tokens` 参数控制最大生成长度，避免不必要的 token 消耗
  * 如需中途停止生成，建议使用 `max_tokens` 做预先控制，而非直接断开连接
  * 合理设置客户端超时时间（建议 ≥ 60 秒），避免因超时导致的意外断连
</Tip>

## 常见问题

<AccordionGroup>
  <Accordion title="为什么断开连接后还会被收费？">
    当请求到达模型后，模型在服务端执行推理会消耗计算资源。即使客户端断开连接，已经产生的计算消耗仍然存在，因此按全额计费。
  </Accordion>

  <Accordion title="如何避免产生 499 费用？">
    建议通过 `max_tokens` 参数预先限制生成长度，而不是中途断开连接。如果您的业务场景需要灵活控制输出长度，这是最有效的方式。
  </Accordion>

  <Accordion title="账单中如何查看 499 请求的费用？">
    499 请求会和正常请求一样出现在您的用量明细中，标记为消耗的 token 数量。
  </Accordion>
</AccordionGroup>
