计费模型
ttttt.ai 的扣费完全透明、按用计价、没有月最低消费。一行公式:
单次扣费 = 单价(model) × 实际 token 数公式简单,但围绕它有几个值得一开始就理解的概念:Credit 桶、告警与对账。
1. 单价从哪里来?
每个模型在模型清单里有透明定价:
| 计价维度 | 单位 | 示例(gpt-5.5) |
|---|---|---|
inputPer1M | USD / 100 万 input token | $2.50 |
outputPer1M | USD / 100 万 output token | $10.00 |
cacheReadPer1M | USD / 100 万 cache 命中 token | $0.25 |
cacheWritePer1M | USD / 100 万 cache 写入 token | $3.75 |
webSearchPerCall | USD / 次 web search 工具调用 | $0.03 |
imagePerImage | USD / 张图(图像生成 / 视觉理解输入图) | $0.04 |
实际单价以控制台 → 账单 → 模型价格为准。本页与代码里的所有数字都仅作示例,避免与真实价格漂移。
价格变更会至少提前 7 天在控制台公告,并发送邮件给所有 admin / owner。
2. 付款方式:按量付费
ttttt.ai 当前采用按量付费 (Pay-as-you-go):
- 通过 Stripe 充值任意金额到组织余额
- 余额按微美元粒度精确扣减
- 没有”月费”概念;不用就不扣
- 首次充值赠送 $3 体验金(标记为
bonus桶) - 适合所有规模:个人开发、团队稳定生产、波动大的实验项目
充值与发票详见 充值与发票。
3. Credit 桶 — 三类余额的扣费优先级
组织余额并不是一个数字,而是三个 bucket:
gift (赠金) ← 管理员发放、邀请奖励、活动赠送、兑换码
│
▼ 优先消耗
bonus (奖励) ← 首充赠金、推荐奖励
│
▼ 接着消耗
topup (充值) ← 你真金白银充进来的钱每次请求扣费按 gift → bonus → topup 的顺序消耗,目的是:
- 保护用户实付资金:免费赠送的额度先用掉,不会让你”赠金白白过期”。
- 可审计:每条 usage 记录在
credit_ledger里都对应一笔分桶扣减。
控制台 账单 → 余额 会分别显示三类余额的当前值与流水。
赠金可能有有效期——例如活动赠送的额度通常 30 / 60 天到期。到期未消耗会被回收并写入
credit_ledger(描述为gift_expired)。充值(topup)永久有效。
4. 缓存计费(Anthropic / OpenAI 通用)
主流模型都支持 prompt cache——重复发送的长 system prompt 在上游被缓存后,第二次起按”缓存命中价”扣费(通常 < 10% 的输入价)。ttttt.ai 把上游的缓存字段原样透传 + 入账:
| 上游字段 | 入账字段 | 计价 |
|---|---|---|
usage.cache_read_input_tokens (Anthropic) / prompt_tokens_details.cached_tokens (OpenAI) | cache_read_tokens | cacheReadPer1M |
usage.cache_creation_input_tokens (Anthropic) | cache_write_tokens | cacheWritePer1M |
usage.input_tokens (扣除缓存命中) | input_tokens | inputPer1M |
usage.output_tokens | output_tokens | outputPer1M |
含义:用 prompt cache 后,账单里的 input_cost 会显著低于 token 数估算——这是好事。
5. 流式 (Streaming) 的计费时机
流式请求有两个时间点和计费相关:
- 请求开始:网关根据估算预占余额(保守估)。
- 响应结束(最后一个 SSE chunk 发完,上游汇报
usage):根据真实 token 数补差或退款。
中途断流不会扣费——上游没给 usage 字段时,网关会按”已传输的 chunk 估算 output tokens”,这个估算值带入账时被标记为 estimated,运营会按月对账修正。
6. 失败请求的计费
| 上游响应 | 计费策略 |
|---|---|
2xx(成功) | 按真实 usage 扣 |
4xx(客户端错误,例如 model not found) | 不扣费 |
5xx(上游故障) | 触发重试 / 渠道降级;最终 5xx 返回不扣费 |
客户端中断(disconnect) | 流式按已估算扣,非流式不扣 |
| 网关本身限速 / 鉴权失败 | 不扣费 |
7. 低余额告警
admin / owner 可以在 账单 → 余额告警 配置:
- 触发阈值(例如 $10、$50、$200)
- 通知方式(邮件给所有
admin) - 触发后冷却——直到下一次充值后阈值才会被重新激活,避免反复打扰
详见 余额告警。
8. 发票与开票
充值会自动生成 Stripe 收据(PDF)。需要中文发票(增值税普票 / 专票 / 收据):
控制台 账单 → 发票管理 → 选择充值流水 → 提交开票申请,填写:
- 抬头(公司全称)
- 税号
- 邮寄方式(电子发票邮件 / 纸质寄送)
电子发票通常 1 个工作日内开出,纸质寄送 3-5 个工作日。
9. 退款策略
| 场景 | 处理 |
|---|---|
| 充错金额 / 重复充值 | 7 天内联系工单全额退款(按充值原路退回) |
| 被错扣(API 故障 / 上游 bug 导致重复扣) | 工单提交,运营核对 request_id 后人工补偿到 gift 桶 |
| 余额清算(关停账号) | 仅 topup 桶可退;gift / bonus 桶余额按规定不退 |
10. 对账:如何复核扣费
每条 usage 记录附带:
request_id(同时回写到X-Request-ID响应头)- 扣费明细(哪个桶扣了多少)
- 上游返回的原始
usage字段
复核步骤:
- 控制台 用量 页找到目标记录(按时间 / 模型 / 密钥过滤)。
- 点击展开看 raw usage 与三桶扣减明细。
- 跟你的客户端日志里的
X-Request-ID对齐确认。 - 有疑问发 工单 附上
request_id,运营会人工复盘。
常见问题
Q: 余额可以共用吗?多个团队按比例扣费?
A: 不能跨组织共用。但可以在同一组织内开多个密钥,按密钥用量做事后分账(用 tag 字段标记成本中心,导出 usage 报表后用 SQL/Excel 分摊)。
Q: 有月最低消费吗? A: 没有。按量模式下”零调用就零扣费”。
Q: 价格变动会影响已经发起的请求吗? A: 不会。每条 usage 记录用请求当时的价格快照入账。价格变动至少提前 7 天公告。
Q: 我能在控制台看到我”花了多少钱在 OpenAI 上、多少在 Claude 上”吗? A: 能。用量 → 按模型 视图按模型聚合 token / cost;用量 → 按客户端 按调用方聚合(Cursor / Claude Code / 自建后端)。详见 用量分析。