# 积分与计费

SocialToAI 用预付积分付费，积分都是整数。多数调用 2 积分（范围 1–24），失败的调用不扣，每个返回都写明这次扣了多少、还剩多少。积分不过期，没有订阅。

- 页面：https://socialtoai.com/zh/docs/credits-and-billing/
- 最近更新：2026-10-17

## 购买积分

注册送 100 积分，不用绑卡。之后以美元购买，支持银行卡或支付宝，金额是 $10 到 $2,000 之间的任意整数。单笔金额越大，每美元换到的积分越多。购买后不退款。

| 单笔金额 | 每美元积分 | 每积分价格 |
| --- | --- | --- |
| $10 – $49 | 300 | $0.0033 |
| $50 – $199 | 400 | $0.0025 |
| $200 – $2,000 | 500 | $0.002 |

[价格页](https://socialtoai.com/zh/pricing.md) 有每个调用的积分和一个计算器。

## 什么时候扣

扣不扣看调用怎么结束。返回里的 `status` 说明是下面哪一种：

| status | 扣费 | 含义 |
| --- | --- | --- |
| `ok` | 扣 | 调用成功，结果在 `items` 里。 |
| `empty` | 扣 | 调用成功，但没有结果。搜索正常执行、只是没搜到，照常扣费。 |
| `error` | 不扣 | 调用失败。`error` 说明原因，`fix` 说明怎么办。 |
| `not_supported` | 不扣 | 这个平台没有这个动作。 |
| `timeout` | 不扣 | 结果不确定。我们不会自动重试。 |
| `skipped` | 不扣 | 这一部分没有执行。 |

[错误表](https://socialtoai.com/zh/docs/api/errors.md) 里的每一行也都不扣费。

## 每个返回里的 billing

只要带了 Key，每个返回都有 `billing`。失败时本次积分为 0。

| 字段 | 类型 | 说明 |
| --- | --- | --- |
| `billing.cost_credits` | integer | 整个请求扣了多少积分。 |
| `billing.balance_credits` | integer | 扣完之后的余额。 |
| `billing.today_spend_credits` | integer | 今天（UTC）已经花掉的积分。 |
| `billing.daily_limit_credits` | integer \| null | 每日上限；没设时为 null。 |
| `billing.daily_remaining_credits` | integer \| null | 每日上限还剩多少；没设时为 null。 |
| `billing.display` | string | 一句可以直接复述给你的话。 |

## 你能设的上限

- **单次**：请求里带上 `max_cost_credits`。这次调用如果更贵，会被免费拒绝，返回 `max_cost_exceeded` 和报价。没有默认值。
- **账户每日**：新账户的每日上限是 100,000 积分，可以在控制台修改或关闭。
- **单把 Key 每日**：可选。没有单独设上限的 Key，受账户上限约束。
- 一天按 UTC 计。超出时返回 `daily_limit_reached`，`reason` 说明是谁的上限，`resets_at` 是重新开始的时间。

## 频率限制

分档看账户有没有买过积分。超出时返回 `rate_limited`，带 `Retry-After` 响应头，不扣费。

| 档位 | 每把 Key 每秒调用数 | 每个账户同时在跑的调用 |
| --- | --- | --- |
| 首次购买前 | 1 | 2 |
| 首次购买后 | 5 | 10 |

## 重试不会重复扣费

`Idempotency-Key`：1 到 255 个可见 ASCII 字符。同一个键加同样的参数会返回第一次的结果，不会重复扣费。

出现 `timeout` 时我们无法确定调用是否执行过，所以不会自动重试，也不扣费。还需要数据的话，请发起一次新请求。
