连接中断计费逻辑
Last updated: Nov 4, 2026
对于HTTP同步对话接口,往往耗时较长,会发生网络中断、客户端断开等意外情况。下面表格详述这些意外情况如何处理和计费:
| HTTP状态 | 场景 | 客户收到的结果 | 输入计费 | 输出计费 |
|---|---|---|---|---|
| 正常 | 模型正常返回完整响应,并带有用量 | 完整响应 | 按模型返回的用量 | 按模型返回的用量 |
| 正常 | 模型正常返回完整响应,但没有用量 | 完整响应 | 估算 | 按返回内容估算,没有输出内容时不计 |
| 客户中断 | 请求还没发给模型时,客户端就断开或超时 | 连接已断开;超时时收到 408 | 不计费 | 不计费 |
| 客户中断 | 请求已发给模型,还没收到任何响应时断开或超时 | 连接已断开;超时时收到 408 | 估算 | 不计费 |
| 客户中断 | 非流式请求,响应接收到一半时断开或超时 | 连接已断开;超时时收到 408,不返回半截内容 | 估算 | 不计费 |
| 客户中断 | 非流式请求,模型响应已完整返回,平台还没处理完时断开或超时(极少见) | 连接已断开;超时时收到 408 | 按响应中能识别的用量;识别不到时估算 | 按响应中能识别的用量;识别不到时按内容估算 |
| 客户中断 | 流式请求,输出过程中断开或超时 | 已收到的部分内容 | 模型返回过用量时按其计费,否则估算 | 模型返回过用量时按其计费,否则按已返回的内容估算 |
| 客户中断 | 响应已完整收到后才断开 | 完整响应 | 与正常情况相同 | 与正常情况相同 |
| 模型响应异常 | 非流式请求,模型响应中途断流,客户端仍在等待 | 500 错误,不返回内容 | 不计费 | 不计费 |
| 模型响应异常 | 非流式请求,平台无法处理模型的响应 | 500 错误,不返回内容 | 不计费 | 不计费 |
| 模型响应异常 | 非流式请求,模型返回成功状态,但内容格式异常 | 原样收到模型返回的内容 | 不计费 | 不计费 |
| 模型响应异常 | 流式请求,模型输出中途断流,或最后一段数据不完整 | 已收到的部分内容,可能包含最后一段不完整的数据 | 模型返回过用量时按其计费,否则估算 | 模型返回过用量时按其计费,否则按完整收到的内容估算,不完整的最后一段不计 |
| 模型响应异常 | 模型明确返回错误,例如限流、服务异常、参数错误 | 模型的错误信息 | 不计费,模型在错误中明确返回了用量的除外 | 不计费,模型在错误中明确返回了用量的除外 |
对于token用量“估算”,计算标准是:
| 内容类型 | 估算方式 |
|---|---|
| 文字(提示词、回答、工具参数、代码等) | 用 o200k_base 分词器计数;空内容计 0 |
| 图片 | 每张固定 520 tokens |
| 音频 | 每段固定 256 tokens |
| 视频 | 每段固定 8192 tokens |
| 文件 / 文档(非纯文字) | 每个固定 4096 tokens |

